Sync with portage [Tue Nov 16 09:03:35 MSK 2021].

akrasnyh 2130
root 2 years ago
parent d6aeb3a940
commit 540d55f74e

Binary file not shown.

Binary file not shown.

@ -7,4 +7,4 @@ inherit acct-group
DESCRIPTION="A group for app-metrics/burrow_exporter"
ACCT_GROUP_ID="96"
ACCT_GROUP_ID="502"

@ -7,4 +7,4 @@ inherit acct-group
DESCRIPTION="A group for app-metrics/elasticsearch_exporter"
ACCT_GROUP_ID="98"
ACCT_GROUP_ID="501"

@ -7,4 +7,4 @@ inherit acct-group
DESCRIPTION="A group for app-admin/fluentd"
ACCT_GROUP_ID="93"
ACCT_GROUP_ID="504"

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,10 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-group
DESCRIPTION="A group for net-im/prosody"
ACCT_GROUP_ID="115"

@ -7,4 +7,4 @@ inherit acct-group
DESCRIPTION="A group for app-emulation/reg"
ACCT_GROUP_ID="94"
ACCT_GROUP_ID="503"

Binary file not shown.

@ -6,7 +6,7 @@ inherit acct-user
DESCRIPTION="A user for app-metrics/burrow_exporter"
ACCT_USER_ID=96
ACCT_USER_ID=502
ACCT_USER_GROUPS=( burrow_exporter )
acct-user_add_deps

@ -4,9 +4,9 @@
EAPI=7
inherit acct-user
DESCRIPTION="A user for app-metrics/burrow_exporter"
DESCRIPTION="A user for app-metrics/elasticsearch_exporter"
ACCT_USER_ID=98
ACCT_USER_ID=501
ACCT_USER_GROUPS=( elasticsearch_exporter )
acct-user_add_deps

@ -6,7 +6,7 @@ inherit acct-user
DESCRIPTION="A user for app-admin/fluentd"
ACCT_USER_ID=93
ACCT_USER_ID=504
ACCT_USER_GROUPS=( fluentd )
acct-user_add_deps

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,13 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-user
DESCRIPTION="A user for net-im/prosody"
ACCT_USER_GROUPS=( "prosody" )
ACCT_USER_ID="115"
acct-user_add_deps

@ -6,7 +6,7 @@ inherit acct-user
DESCRIPTION="A user for app-emulation/reg"
ACCT_USER_ID=94
ACCT_USER_ID=503
ACCT_USER_GROUPS=( reg )
ACCT_USER_HOME=/var/lib/reg

Binary file not shown.

@ -2,3 +2,4 @@ DIST awscli-1.20.65.tar.gz 2091702 BLAKE2B e8295cf4e859c1e642077f4014fdea333292e
DIST awscli-1.21.12.tar.gz 2097963 BLAKE2B e752cb1369be9ee26b517ba1226d3e16fad0a075c7f82eb1fcce3a3076aa67c5dcf4bdefcc6c29166ac7a96a2aa59da24636ddf1d3eb9bd21f3f05e665581de3 SHA512 90f39476b86ce97c0b47910b2d5cf5c512f142c1bf1620d0fa2384bfb40e54f812269e7f1ff72951ee13f37e6c918061c2d592b4e96e46116032810e1eb6bcb1
DIST awscli-1.21.5.tar.gz 2095418 BLAKE2B 152d0ac70e9e0120fb9b10451904af52035bce84168c055695e7dc93e56648bd7689f20ac0ecdbdfc54ccb846d51b33027d2e9ee09c5e5d1e915c0ec05b0fbfe SHA512 e3063252a50fc6033669a0ff80f82d73764a6728d623d75a27f0652e779cbeb452454d887bf5bd70199a7394df40f9758b14619778c6428a164d590e6c8aaa89
DIST awscli-1.22.5.tar.gz 2111679 BLAKE2B 970e472e8de43664d060023fdab9f54ce848c5655d8aa417efeae1b1efb52989fd021817521db9dc9cd64580cabbf0c30f3d0178034bdb1edf41feebbc690f46 SHA512 9177fe9da0fb8e9e28777bbf8f2c3fe089a08851b57a49fecefab43417fff187584638d17394289bf6df3d18d9052fd958bd3fbc8064327120af04a0cbe30494
DIST awscli-1.22.6.tar.gz 2112080 BLAKE2B 5fffb3d5d0cbbcea813114bbfc89df64f58e83135c88ab914ac4327185310075e7e19e34a51e6cf85f9d2e804fb75cc69e2f7967ea69c67ff1987e054b5756c1 SHA512 3bf7cf59f947708c0d8e6ec992498d0e58a1a2ccb6a330bced0e2eece9989ef9097e08034354a6c265da08346e37611862f3dbb96d35d9787d3013f6220b7de2

@ -0,0 +1,56 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit bash-completion-r1 distutils-r1
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="https://pypi.org/project/awscli/"
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/aws-cli-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
# botocore is x.(y+1).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(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.4.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
"
distutils_enable_tests --install 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
distutils-r1_src_prepare
}
python_test() {
distutils_install_for_testing
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit}
}
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
}

Binary file not shown.

@ -1,4 +1,3 @@
DIST clamav-0.103.3.tar.gz 13389239 BLAKE2B 1846cceed39fbd48fcf973d05a57901cf6f9ccdbb4d7eae501e712d84ab4d0a662e4477696aa6a1446116db85a89603428d7092a55e18f7acb805016d3cd5431 SHA512 c2ee24a6f63735c064140aa5baa347d51e8240b2f7eced3480d05435202aedd481fa7057fd40ecbc2e93a62fe8b0cefb574d8accdf9acede643ffbe0d396686f
DIST clamav-0.103.4.tar.gz 16425023 BLAKE2B beca05941ce462bd98473a5ac72b36e63afeef5dea3e591fd8c9426c2077e550139b198ea7d0d12ac2be311d18c0170b94255c07df3e9a0defd3646ba4879bc7 SHA512 422a8cb98d355be098b0a0c575e4f08cf964e992d10ee02e7600eb9db6dfa943efbd988489f268e81e4d2ef29cfe582b236688ea209d6d2e46467f3c08eb475e
DIST clamav-0.104.0.tar.gz 11896747 BLAKE2B c3ca32c1277052301a8bff94fec66a2df8f589bc9a673a00d0f45aaf9d8fd23e8bb87dde787d4188a6318d6677c3364e377ccec16d8e44667430713ce7e2a78d SHA512 7a052e6310ef92068acc384d10a64eed6d54d2d408d203dab92defbb1a276e8a193a2096a8028c8982323ba0be83d25602f026aeffa056878ce36aa325c0046c
DIST clamav-0.104.1.tar.gz 11953064 BLAKE2B 9ec419349674cd50ca6fed1167eb6bad8eebc5a4d949041da628ebc32426b826769a292c901c2c255cfa3516e398e4ca60f6338ef3780a93e6246561fe695c5d SHA512 2cd4f73de73a2bbc002e1aa85326ea30cce0073fc1a2d5d7d220465217a84eb97fac759010ae0af54d2f0ed725112a51a65a486491fa52388cd7652d7b5cfa5a

@ -1,240 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools flag-o-matic systemd tmpfiles
DESCRIPTION="Clam Anti-Virus Scanner"
HOMEPAGE="https://www.clamav.net/"
SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
IUSE="bzip2 doc clamonacc clamdtop clamsubmit iconv ipv6 libclamav-only milter metadata-analysis-api selinux systemd test uclibc xml"
REQUIRED_USE="libclamav-only? ( !clamonacc !clamdtop !clamsubmit !milter !metadata-analysis-api )"
RESTRICT="!test? ( test )"
# Require acct-{user,group}/clamav at build time so that we can set
# the permissions on /var/lib/clamav in src_install rather than in
# pkg_postinst; calling "chown" on the live filesystem scares me.
CDEPEND="acct-group/clamav
acct-user/clamav
dev-libs/libltdl
dev-libs/libmspack
|| ( dev-libs/libpcre2 >dev-libs/libpcre-6 )
dev-libs/tomsfastmath
>=sys-libs/zlib-1.2.2:=
bzip2? ( app-arch/bzip2 )
clamdtop? ( sys-libs/ncurses:0 )
clamsubmit? ( net-misc/curl dev-libs/json-c:= )
elibc_musl? ( sys-libs/fts-standalone )
iconv? ( virtual/libiconv )
!libclamav-only? ( net-misc/curl )
dev-libs/openssl:0=
milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )
xml? ( dev-libs/libxml2 )"
# We need at least autoconf-2.69-r5 because that's the first (patched)
# version of it in Gentoo that supports ./configure --runstatedir.
BDEPEND=">=sys-devel/autoconf-2.69-r5
virtual/pkgconfig"
DEPEND="${CDEPEND}
metadata-analysis-api? ( dev-libs/json-c:* )
test? ( dev-libs/check )"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-clamav )"
PATCHES=(
"${FILESDIR}/${PN}-0.102.1-libxml2_pkgconfig.patch" #661328
"${FILESDIR}/${PN}-0.102.2-fix-curl-detection.patch" #709616
"${FILESDIR}/${PN}-0.103.0-system-tomsfastmath.patch" # 649394
"${FILESDIR}/${PN}-0.103.1-upstream-openrc.patch"
)
src_prepare() {
default
# Be extra sure that we're using the system copy of tomsfastmath
einfo "removing bundled copy of dev-libs/tomsfastmath"
rm -r libclamav/tomsfastmath || \
die "failed to remove bundled tomsfastmath"
AT_NO_RECURSIVE="yes" eautoreconf
}
src_configure() {
use elibc_musl && append-ldflags -lfts
use ppc64 && append-flags -mminimal-toc
use uclibc && export ac_cv_type_error_t=yes
# according to configure help it should be
# $(use_enable xml)
# but that does not work
# do not add this, since --disable-xml seems to override
# --without-xml
JSONUSE="--without-libjson"
if use clamsubmit || use metadata-analysis-api; then
# either of those 2 requires libjson.
# clamsubmit will be built as soon as libjson and curl are found
# but we only install the binary if requested
JSONUSE="--with-libjson=${EPREFIX}/usr"
fi
local myeconfargs=(
$(use_enable bzip2)
$(use_enable clamonacc)
$(use_enable clamdtop)
$(use_enable ipv6)
$(use_enable milter)
$(use_enable test check)
$(use_with xml)
$(use_with iconv)
${JSONUSE}
$(use_enable libclamav-only)
$(use_with !libclamav-only libcurl)
--with-system-libmspack
--cache-file="${S}"/config.cache
--disable-experimental
--disable-static
--disable-zlib-vcheck
--enable-id-check
--with-dbdir="${EPREFIX}"/var/lib/clamav
# Don't call --with-zlib=/usr (see bug #699296)
--with-zlib
--disable-llvm
--enable-openrc
--runstatedir=/run
)
econf "${myeconfargs[@]}"
}
src_install() {
default
rm -rf "${ED}"/var/lib/clamav || die
if ! use libclamav-only ; then
if use systemd; then
# The tmpfiles entry is behind USE=systemd because the
# upstream OpenRC service files should (and do) ensure that
# the directories they need exist and have the correct
# permissions without the help of opentmpfiles. There are
# years-old root exploits in opentmpfiles, the design is
# fundamentally flawed, and the maintainer is not up to
# the task of fixing it.
dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf"
systemd_newunit "${FILESDIR}/clamd_at.service" "clamd@.service"
systemd_dounit "${FILESDIR}/clamd.service"
systemd_newunit "${FILESDIR}/freshclamd.service-r1" \
"freshclamd.service"
fi
insinto /etc/logrotate.d
newins "${FILESDIR}/clamd.logrotate" clamd
newins "${FILESDIR}/freshclam.logrotate" freshclam
use milter && \
newins "${FILESDIR}/clamav-milter.logrotate-r1" clamav-milter
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
sed -i -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(LocalSocket .*\)/\1/" \
-e "s/^#\(User .*\)/\1/" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
-e "s:^\#\(LogTime\).*:\1 yes:" \
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
"${ED}"/etc/clamd.conf.sample || die
sed -i -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(DatabaseOwner .*\)/\1/" \
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamd.conf:" \
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
"${ED}"/etc/freshclam.conf.sample || die
if use milter ; then
# Note: only keep the "unix" ClamdSocket and MilterSocket!
sed -i -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(ClamdSocket unix:.*\)/\1/" \
-e "s/^#\(User .*\)/\1/" \
-e "s/^#\(MilterSocket unix:.*\)/\1/" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
"${ED}"/etc/clamav-milter.conf.sample || die
cat >> "${ED}"/etc/conf.d/clamd <<-EOF
MILTER_NICELEVEL=19
START_MILTER=no
EOF
systemd_newunit "${FILESDIR}/clamav-milter.service-r1" clamav-milter.service
fi
local i
for i in clamd freshclam clamav-milter
do
if [[ -f "${ED}"/etc/"${i}".conf.sample ]]; then
mv "${ED}"/etc/"${i}".conf{.sample,} || die
fi
done
# These both need to be writable by the clamav user.
# TODO: use syslog by default; that's what it's for.
diropts -o clamav -g clamav
keepdir /var/lib/clamav
keepdir /var/log/clamav
fi
if use doc ; then
local HTML_DOCS=( docs/html/. )
einstalldocs
if ! use libclamav-only ; then
doman docs/man/*.[1-8]
fi
fi
find "${ED}" -name '*.la' -delete || die
}
src_test() {
if use libclamav-only ; then
ewarn "Test target not available when USE=libclamav-only is set, skipping tests ..."
return 0
fi
emake quick-check
}
pkg_postinst() {
if ! use libclamav-only ; then
if use systemd ; then
tmpfiles_process clamav.conf
fi
fi
if use milter ; then
elog "For simple instructions how to setup the clamav-milter read the"
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
fi
local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d )
if [[ ! -f "${databases}" ]] ; then
ewarn "You must run freshclam manually to populate the virus database"
ewarn "before starting clamav for the first time."
fi
ewarn "This version of ClamAV provides separate OpenRC services"
ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The"
ewarn "clamd service now starts only the clamd daemon itself. You"
ewarn "should add freshclam (and perhaps clamav-milter) to any"
ewarn "runlevels that previously contained clamd."
}

Binary file not shown.

@ -11,7 +11,7 @@ if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
else
SRC_URI="http://doxygen.nl/files/${P}.src.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Documentation system for most programming languages"

Binary file not shown.

@ -1,67 +0,0 @@
From 3b4800ed5b24cea7af00aa868964e3d46e81364e Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Thu, 3 Sep 2020 19:59:36 +0200
Subject: [PATCH] setup.py: Drop generic upper version boundaries
---
setup.py | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/setup.py b/setup.py
index e0d4340..648a736 100644
--- a/setup.py
+++ b/setup.py
@@ -25,33 +25,33 @@ def find_version(*file_paths):
install_requires = [
- 'cached-property >= 1.2.0, < 2',
- 'docopt >= 0.6.1, < 1',
- 'PyYAML >= 3.10, < 6',
- 'requests >= 2.20.0, < 3',
- 'texttable >= 0.9.0, < 2',
- 'websocket-client >= 0.32.0, < 1',
- 'distro >= 1.5.0, < 2',
- 'docker[ssh] >= 4.3.1, < 5',
- 'dockerpty >= 0.4.1, < 1',
- 'jsonschema >= 2.5.1, < 4',
- 'python-dotenv >= 0.13.0, < 1',
+ 'cached-property >= 1.2.0',
+ 'docopt >= 0.6.1',
+ 'PyYAML >= 3.10',
+ 'requests >= 2.20.0',
+ 'texttable >= 0.9.0',
+ 'websocket-client >= 0.32.0',
+ 'distro >= 1.5.0',
+ 'docker[ssh] >= 4.3.1',
+ 'dockerpty >= 0.4.1',
+ 'jsonschema >= 2.5.1',
+ 'python-dotenv >= 0.13.0',
]
tests_require = [
- 'ddt >= 1.2.2, < 2',
- 'pytest < 6',
+ 'ddt >= 1.2.2',
+ 'pytest',
]
if sys.version_info[:2] < (3, 4):
- tests_require.append('mock >= 1.0.1, < 4')
+ tests_require.append('mock >= 1.0.1')
extras_require = {
- ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'],
- ':sys_platform == "win32"': ['colorama >= 0.4, < 1'],
- 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'],
+ ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5'],
+ ':sys_platform == "win32"': ['colorama >= 0.4'],
+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'],
'tests': tests_require,
}
--
2.27.0

@ -1,67 +0,0 @@
From 7a5520d0b478e9bb20c9c3ff2614a8afd392b020 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Mon, 4 Jan 2021 17:36:44 +0100
Subject: [PATCH] setup.py: Drop generic upper version boundaries
---
setup.py | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/setup.py b/setup.py
index 57e1313..94a3337 100644
--- a/setup.py
+++ b/setup.py
@@ -25,33 +25,33 @@ def find_version(*file_paths):
install_requires = [
- 'cached-property >= 1.2.0, < 2',
- 'docopt >= 0.6.1, < 1',
- 'PyYAML >= 3.10, < 6',
- 'requests >= 2.20.0, < 3',
- 'texttable >= 0.9.0, < 2',
- 'websocket-client >= 0.32.0, < 1',
- 'distro >= 1.5.0, < 2',
- 'docker[ssh] >= 4.4.3, < 5',
- 'dockerpty >= 0.4.1, < 1',
- 'jsonschema >= 2.5.1, < 4',
- 'python-dotenv >= 0.13.0, < 1',
+ 'cached-property >= 1.2.0',
+ 'docopt >= 0.6.1',
+ 'PyYAML >= 3.10',
+ 'requests >= 2.20.0',
+ 'texttable >= 0.9.0',
+ 'websocket-client >= 0.32.0',
+ 'distro >= 1.5.0',
+ 'docker[ssh] >= 4.4.3',
+ 'dockerpty >= 0.4.1',
+ 'jsonschema >= 2.5.1',
+ 'python-dotenv >= 0.13.0',
]
tests_require = [
- 'ddt >= 1.2.2, < 2',
- 'pytest < 6',
+ 'ddt >= 1.2.2',
+ 'pytest',
]
if sys.version_info[:2] < (3, 4):
- tests_require.append('mock >= 1.0.1, < 4')
+ tests_require.append('mock >= 1.0.1')
extras_require = {
- ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'],
- ':sys_platform == "win32"': ['colorama >= 0.4, < 1'],
- 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'],
+ ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5'],
+ ':sys_platform == "win32"': ['colorama >= 0.4'],
+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'],
'tests': tests_require,
}
--
2.30.0.rc2

@ -1,67 +0,0 @@
From 7a5520d0b478e9bb20c9c3ff2614a8afd392b020 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Mon, 4 Jan 2021 17:36:44 +0100
Subject: [PATCH] setup.py: Drop generic upper version boundaries
---
setup.py | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/setup.py b/setup.py
index 57e1313..94a3337 100644
--- a/setup.py
+++ b/setup.py
@@ -25,33 +25,33 @@ def find_version(*file_paths):
install_requires = [
- 'cached-property >= 1.2.0, < 2',
- 'docopt >= 0.6.1, < 1',
- 'PyYAML >= 3.10, < 6',
- 'requests >= 2.20.0, < 3',
- 'texttable >= 0.9.0, < 2',
- 'websocket-client >= 0.32.0, < 1',
- 'distro >= 1.5.0, < 2',
- 'docker[ssh] >= 4.4.4, < 5',
- 'dockerpty >= 0.4.1, < 1',
- 'jsonschema >= 2.5.1, < 4',
- 'python-dotenv >= 0.13.0, < 1',
+ 'cached-property >= 1.2.0',
+ 'docopt >= 0.6.1',
+ 'PyYAML >= 3.10',
+ 'requests >= 2.20.0',
+ 'texttable >= 0.9.0',
+ 'websocket-client >= 0.32.0',
+ 'distro >= 1.5.0',
+ 'docker[ssh] >= 4.4.4',
+ 'dockerpty >= 0.4.1',
+ 'jsonschema >= 2.5.1',
+ 'python-dotenv >= 0.13.0',
]
tests_require = [
- 'ddt >= 1.2.2, < 2',
- 'pytest < 6',
+ 'ddt >= 1.2.2',
+ 'pytest',
]
if sys.version_info[:2] < (3, 4):
- tests_require.append('mock >= 1.0.1, < 4')
+ tests_require.append('mock >= 1.0.1')
extras_require = {
- ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'],
- ':sys_platform == "win32"': ['colorama >= 0.4, < 1'],
- 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'],
+ ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5'],
+ ':sys_platform == "win32"': ['colorama >= 0.4'],
+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'],
'tests': tests_require,
}
--
2.30.0.rc2

@ -1,2 +1,2 @@
DIST fs-uae-launcher-3.0.5.tar.gz 9633819 BLAKE2B 8ce627302244bbd7d174f28c0dad345699942429c1109a7408c88412f6bb0e3e5d765e6c51abf2b95837a83261023b4f9c58d65892e58043889be8dc5e4cb759 SHA512 1a6700c56a14edce86ffbefee7494117af067da8b1dbc22937a36641ccb90927a3bbb011d15a891388bf08378aa623e00a2d45dbc49e822a5a569e110843add5
DIST fs-uae-launcher-3.1.26.tar.gz 9656516 BLAKE2B 1b8d12ef91631dedf412976e81529ac7138b7f688ad6ae1ad55bfd3625590ee00aab89d229d2aa64eec577d291a6e634362c557428534c355fdb39e878f40253 SHA512 0e4e542bebfe2d8f862005c016fe70319dd6c5e1e413be9b0ce0421bb95253ba6eb92337989cc86210094b9b02a6ad86da4725f1a65d50673703fa6c6cb58f37
DIST fs-uae-launcher-3.1.43.tar.xz 7785544 BLAKE2B 504d97dbc2bff7bc6abe065854e51b1ce51d40aec582586473629a77626c750510b4f885d3679a734d2dc7c889e9b18f41c27ea924ea7134641de2df16a0b404 SHA512 df19c4a3897b089daaee869226dfe2adfa990e0f8e30772e482e27a21c64f7d9d3369e8d6b0c72ac6119e207e9978f2052a7d681fe4f40b99e5ec48161e2a0fe

@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{8,9} )
DISTUTILS_SINGLE_IMPL=1
@ -11,7 +11,7 @@ inherit distutils-r1 xdg
DESCRIPTION="PyQt5-based launcher for FS-UAE"
HOMEPAGE="https://fs-uae.net/"
SRC_URI="https://fs-uae.net/stable/${PV}/${P}.tar.gz"
SRC_URI="https://fs-uae.net/files/FS-UAE-Launcher/Stable/${PV}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
@ -36,15 +36,6 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.0.0-ROMs.patch
)
src_prepare() {
default
# Unbundle OpenGL library. Keep oyoyo IRC library because upstream
# is long dead and it's not worth packaging separately.
rm -r OpenGL/ || die
sed -i -r "/OpenGL/d" setup.py || die
}
python_compile_all() {
emake
}

@ -1,2 +1,2 @@
DIST fs-uae-3.1.35.tar.gz 4817547 BLAKE2B 5f75a1e262ba8d642401a03ac5b2494be37b8bab8f014a48208cc6e0b2e33373a7ce6146065f41404d8fcbd60fe71582319abe51521336c2d7c04668c3adacd9 SHA512 96bec936f867fc42eb9f61058887c027da0bab1c8df196ab62a714b1f28c92aafe6c4a61d441e5c7b5d8aee28c90d68812d0f6049c610e2ef9eebdd7e3edf013
DIST fs-uae-3.1.47.tar.xz 3564072 BLAKE2B e65a4cac601f9785ad44aeb427ad5dfbefd5412e8b12a06aafabe0e25b9ef1ba9387304eb613685632f5fab98f29494901866057e37c8e45f5aa6085d5e477f3 SHA512 a8ec3321d10ab98945149289311062f918f143082e1e1d0b3429d783c4ce965c9f6115e3b23add6983f12aa30067f03e3250941056a1dbd1317a3a12b6e1a68e
DIST fs-uae-3.1.48.tar.xz 3562468 BLAKE2B 99bcf1a7b4def97802ee1ce243aef7687d38c9e343e9c730f929e632916f3f36d6089ad289efda445c904f8fda1b75592f255fa77ee2b2687b0d32a95c996857 SHA512 05e56043f03225fd1ae71d1deade8807a8ae443068087914167fded8cc4a26cf8bb4209b5af3c609d41d001c42033ded7560e9ec642cb2ecfee99025c1f54c2f

@ -1,20 +0,0 @@
[Unit]
Description=LXD - main daemon
After=network-online.target lxcfs.service lxd.socket
Requires=network-online.target lxcfs.service lxd.socket
Documentation=man:lxd(1)
[Service]
EnvironmentFile=-/etc/environment
ExecStart=/usr/sbin/lxd --group lxd --logfile=/var/log/lxd/lxd.log
ExecStartPost=/usr/sbin/lxd waitready --timeout=600
KillMode=process
TimeoutStartSec=600s
TimeoutStopSec=30s
Restart=on-failure
LimitNOFILE=1048576
LimitNPROC=infinity
TasksMax=infinity
[Install]
Also=lxd-containers.service lxd.socket

@ -1,21 +0,0 @@
[Unit]
Description=LXD - main daemon
After=network-online.target lxcfs.service lxd.socket
Requires=network-online.target lxcfs.service lxd.socket
Documentation=man:lxd(1)
[Service]
EnvironmentFile=-/etc/environment
ExecStartPre=/usr/libexec/lxc/lxc-apparmor-load
ExecStart=/usr/sbin/lxd --group lxd --logfile=/var/log/lxd/lxd.log
ExecStartPost=/usr/sbin/lxd waitready --timeout=600
KillMode=process
TimeoutStartSec=600s
TimeoutStopSec=30s
Restart=on-failure
LimitNOFILE=1048576
LimitNPROC=infinity
TasksMax=infinity
[Install]
Also=lxd-containers.service lxd.socket

@ -1,3 +1,2 @@
DIST snapd-2.52.1.tar.xz 4142764 BLAKE2B aaeebe91ef5d009deae37258cfcdbdcb415d5a2d5f954d01f277d6c4911449c80c49c486f6af71d4a2abc6a1d73f49f54d506dcb178adc33e1d685f1dc3c6b01 SHA512 ae829ff898708843e56688e2c1bd189c765cced11146a504ae8badd1acb1559536e13cec101e57ac4ffed2a3d1fa51323b87785b93290db7a1eec2e1579d1c6c
DIST snapd-2.52.tar.xz 4146496 BLAKE2B 49b952503c60b589fe7ddea9ded135139243da34b35b39d9e309df6854109fb3a99f52ca324737fa7f5773221d453f7093047dcdcb1114d0389e20ba24c3d2c3 SHA512 56d3a2c5048d2ffde5b34f63e6a99dc74a7c6e4637f36250f674a68863c4b997cf940689529eca9d3bf58b0148cc18a0b4033d93aa06375a5f12c552d40472da
DIST snapd-2.53.1.tar.xz 4713180 BLAKE2B 8c46c7257eeb7794d082833448ea30dbeee5ebec3b36dcec1e3d6c9e8b00121319829ceaf354c055a0edd9032f3d74b66823be0f640860b931c461e607b89485 SHA512 167c84fdf5df151c9d06774677649c365a6fd1fbbc68900c060c775fffaa51bf7bfee5a62900035fae3bd5ad1d637bb381fe15e8277a93acc6409028b36ef780
DIST snapd-2.53.2.tar.xz 4714868 BLAKE2B 8ce0358a31c095e90c17b01a0229b665655949f91b4094b6b426f6df07794c1633497ee9edbb9d175aa920e7ac3b39316631a985b1e57f6cb15ef2fa56fd3321 SHA512 414f819b1590e6324c3f5141ccfa60141fd42f0e0160ad78d1937ad57bc2313de54af9b7718d956a9db9981954fcbe75e80556c6544bff99ac6da9db5142c014

@ -1,180 +0,0 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EGO_PN="github.com/snapcore/${PN}"
inherit autotools bash-completion-r1 golang-vcs-snapshot linux-info readme.gentoo-r1 systemd xdg-utils
DESCRIPTION="Service and tools for management of snap packages"
HOMEPAGE="http://snapcraft.io/"
MY_S="${S}/src/github.com/snapcore/${PN}"
SRC_URI="https://github.com/snapcore/${PN}/releases/download/${PV}/${PN}_${PV}.vendor.tar.xz -> ${P}.tar.xz"
MY_PV=${PV}
KEYWORDS="~amd64"
LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT"
SLOT="0"
IUSE="apparmor +cgroup-hybrid +forced-devmode gtk kde systemd"
REQUIRED_USE="!forced-devmode? ( apparmor cgroup-hybrid ) systemd"
CONFIG_CHECK="~CGROUPS
~CGROUP_DEVICE
~CGROUP_FREEZER
~NAMESPACES
~SQUASHFS
~SQUASHFS_ZLIB
~SQUASHFS_LZO
~SQUASHFS_XZ
~BLK_DEV_LOOP
~SECCOMP
~SECCOMP_FILTER"
RDEPEND="
sys-libs/libseccomp:=
apparmor? (
sec-policy/apparmor-profiles
sys-apps/apparmor:=
)
dev-libs/glib
virtual/libudev
systemd? ( sys-apps/systemd[cgroup-hybrid(+)?] )
sys-libs/libcap:=
sys-fs/squashfs-tools[lzma]"
DEPEND="${RDEPEND}"
BDEPEND="
>=dev-lang/go-1.9
dev-python/docutils
sys-devel/gettext
sys-fs/xfsprogs"
PDEPEND="sys-auth/polkit[gtk?,kde?]"
README_GENTOO_SUFFIX=""
pkg_setup() {
if use apparmor; then
CONFIG_CHECK+=" ~SECURITY_APPARMOR"
fi
linux-info_pkg_setup
}
src_prepare() {
default
# Update apparmor profile to allow libtinfow.so*
sed -i 's/libtinfo/libtinfo{,w}/' \
"${MY_S}/cmd/snap-confine/snap-confine.apparmor.in" || die
if ! use forced-devmode; then
sed -e 's#return \(!apparmorFull || cgroupv2\)#//\1\n\tif !apparmorFull || cgroupv2 {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \
-i "${MY_S}/sandbox/forcedevmode.go" || die
grep -q 'panic("USE=forced-devmode is disabled")' "${MY_S}/sandbox/forcedevmode.go" || die "failed to disable forced-devmode"
fi
sed -i 's:command -v git >/dev/null:false:' -i "${MY_S}/mkversion.sh" || die
pushd "${MY_S}" >/dev/null || die
./mkversion.sh "${PV}"
popd >/dev/null || die
pushd "${MY_S}/cmd" >/dev/null || die
eautoreconf
}
src_configure() {
SNAPD_MAKEARGS=(
"BINDIR=${EPREFIX}/usr/bin"
"DBUSSERVICESDIR=${EPREFIX}/usr/share/dbus-1/services"
"LIBEXECDIR=${EPREFIX}/usr/lib"
"SNAP_MOUNT_DIR=${EPREFIX}/var/lib/snapd/snap"
"SYSTEMDSYSTEMUNITDIR=$(systemd_get_systemunitdir)"
)
export CGO_ENABLED="1"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
pushd "${MY_S}/cmd" >/dev/null || die
econf --libdir="${EPREFIX}/usr/lib" \
--libexecdir="${EPREFIX}/usr/lib/snapd" \
$(use_enable apparmor) \
--enable-nvidia-biarch \
--with-snap-mount-dir="${EPREFIX}/var/lib/snapd/snap"
}
src_compile() {
export -n GOCACHE XDG_CACHE_HOME
export GO111MODULE=off GOBIN="${S}/bin" GOPATH="${S}"
local file
for file in "${MY_S}/po/"*.po; do
msgfmt "${file}" -o "${file%.po}.mo" || die
done
emake -C "${MY_S}/data" "${SNAPD_MAKEARGS[@]}"
local -a flags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS}'" -trimpath)
local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath)
local cmd
for cmd in snap snapd snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do
go build -o "${GOBIN}/${cmd}" "${flags[@]}" \
-v -x "github.com/snapcore/${PN}/cmd/${cmd}"
[[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}"
done
for cmd in snapctl snap-exec snap-update-ns; do
go build -o "${GOBIN}/${cmd}" "${staticflags[@]}" \
-v -x "github.com/snapcore/${PN}/cmd/${cmd}"
[[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}"
done
}
src_install() {
emake -C "${MY_S}/data" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}"
emake -C "${MY_S}/cmd" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}"
if use apparmor; then
mv "${ED}/etc/apparmor.d/usr.lib.snapd.snap-confine"{,.real} || die
keepdir /var/lib/snapd/apparmor/profiles
fi
keepdir /var/lib/snapd/{apparmor/snap-confine,cache,cookie,snap,void}
fperms 700 /var/lib/snapd/{cache,cookie}
dobin "${GOBIN}/"{snap,snapctl}
ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die
exeinto /usr/lib/snapd
doexe "${GOBIN}/"{snapd,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \
"${MY_S}/"{cmd/snap-confine/snap-device-helper,cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \
"${MY_S}/data/completion/bash/"{complete.sh,etelpmoc.sh,}
dobashcomp "${MY_S}/data/completion/bash/snap"
insinto /usr/share/zsh/site-functions
doins "${MY_S}/data/completion/zsh/_snap"
insinto "/usr/share/polkit-1/actions"
doins "${MY_S}/data/polkit/io.snapcraft.snapd.policy"
dodoc "${MY_S}/packaging/ubuntu-16.04/changelog"
domo "${MY_S}/po/"*.mo
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
xdg_desktop_database_update
if use apparmor && [[ -z ${ROOT} && -e /sys/kernel/security/apparmor/profiles &&
$(wc -l < /sys/kernel/security/apparmor/profiles) -gt 0 ]]; then
apparmor_parser -r "${EPREFIX}/etc/apparmor.d/usr.lib.snapd.snap-confine.real"
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -70,7 +70,7 @@ src_prepare() {
"${MY_S}/cmd/snap-confine/snap-confine.apparmor.in" || die
if ! use forced-devmode; then
sed -e 's#return \(!apparmorFull || cgroupv2\)#//\1\n\tif !apparmorFull || cgroupv2 {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \
sed -e 's#return !apparmorFull#if !apparmorFull {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \
-i "${MY_S}/sandbox/forcedevmode.go" || die
grep -q 'panic("USE=forced-devmode is disabled")' "${MY_S}/sandbox/forcedevmode.go" || die "failed to disable forced-devmode"
fi
@ -148,7 +148,7 @@ src_install() {
exeinto /usr/lib/snapd
doexe "${GOBIN}/"{snapd,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \
"${MY_S}/"{cmd/snap-confine/snap-device-helper,cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \
"${MY_S}/"{cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \
"${MY_S}/data/completion/bash/"{complete.sh,etelpmoc.sh,}
dobashcomp "${MY_S}/data/completion/bash/snap"

Binary file not shown.

@ -1,4 +1,4 @@
DIST scrcpy-1.18.tar.gz 299497 BLAKE2B aaecb14ea5accf12b23e3b4d07069640e3778d6050dd28c7962ca458645f5e8215b7b7376b809086a3edf98fca1375d935eae429219c1fa5df91088360e46347 SHA512 9cd3841c65cd1f20f277e336b69eec475ea75f403b6761b91639bf6fe876c29d763f056ee2b226f6eabe312b3bdabcad9e72c0384a11fa9f5091ff9587292a6f
DIST scrcpy-1.19.tar.gz 314821 BLAKE2B 526d494efbc90ee23a1adc62e8658e0b7c0d10dc51f7a2ffdb85246afb7b8bae3dce9821cc969f57a52706bfa1829eba6e9505739a3f3c89f26226571085edae SHA512 be6b5a662aa7f0e5f75d9e66298ac0905e296d84cfbf8ff7e34ed20fdbbe14ebd7c759bc5a7bcde1e0a86c990d0f2c2fc5b0155d6dd011371e5ca48bf35d4a03
DIST scrcpy-server-v1.18 37330 BLAKE2B 02c5e58d72825abbc7d5a6e0f0e87f7effb016cc8baf77f975d6519200aee00401a67ea0e284e4f2188623dfd1c0800cc0dbfad25df0b51b3bc9aa5bacc3a7f2 SHA512 fffd06bbd1cae78af2112f0bd59c8da1c0f838206e3141d255a395ee633f52499eb85b5398a8b4d121241dd3e46088c790476061c3da2a12a319791096045454
DIST scrcpy-1.20.tar.gz 343592 BLAKE2B a91a6e360ed708ef9a3da626f6d373739f69115cfc07f37043a8586b92518f1896a49c639403f5e66062ed2e6d21c79fe4b7865784ed4ee1c86508e743b0a27c SHA512 55950e596840676b86239e604784a4eaf759ec2942120e2b8213c781149c049e6cd9bf40392f2dc23679a9fae74d47e2ebae58491b55b6ac6f9b23f83de64fc9
DIST scrcpy-server-v1.19 37330 BLAKE2B 63296a4cab39b55106d0ae9f1df1b7cfa1993f2fdcf937d0fb0fc6b6afd181a1a068f53b6e75b8e80f3e05e7125fb76d57cacd366cfe76113bbb10527dc8a82b SHA512 8befe774fc7caa02c408af57f30b7eaf0009f542d8998363c8fb55c229ff53b2049ed7259404f6262cac4afd5a7077006b1d136fa1b319c8195d0c3ee9ba2dbe
DIST scrcpy-server-v1.20 37139 BLAKE2B d8779c916545c336bc147b5d5f9fd958275eb178e50f00fd68c6504d3cdfd5e7e1fabd8c0f1a27986b786540e396f465bb38602343bc4a0bb1d254181635f799 SHA512 39c8cd7a2879272902c97dc5ec7fba57f8b4b021f44d5f12ab9ee3153056484b0ebe056b7ce55dd9eb7b14a14f2c71604b7eeb6e895ee83d295578b9e096f69f

@ -3,7 +3,7 @@
EAPI=7
inherit meson
inherit meson xdg
DESCRIPTION="Display and control your Android device"
HOMEPAGE="https://github.com/Genymobile/scrcpy"
@ -27,3 +27,16 @@ src_configure() {
)
meson_src_configure
}
pkg_postinst() {
xdg_pkg_postrm
elog "If scrcpy returns an error like"
elog ""
elog "[server] ERROR: Exception on thread Thread[main,5,main]"
elog "java.lang.IllegalArgumentException"
elog "at android.media.MediaCodec.native_configure(Native Method)"
elog ""
elog "Just try with a lower definition:"
elog "scrcpy -m 1920 or scrcpy -m 1024"
}

Binary file not shown.

@ -1,2 +1,3 @@
DIST gnatcoll-core-2020-20200429-19B7C-src.tar.gz 1396475 BLAKE2B 329e7f799ad62dfc6f71ca78a736bfc8c768a576f817d03b0d73e25b6e97ae0de0ad5a055bb800f7b83d7449ef8fe703c2779f73fc13a09bbcc1d3d8cc880fd1 SHA512 320878335f2ea1ce91a7770cc181e9cc228c80b1f7a3926a4e27c3822eb8f58726c62a014e2fa4c3f8699851ea87424be26d619ab4931b2e969e3a2e96e58b73
DIST gnatcoll-core-2021-20210518-19ADF-src.tar.gz 1460647 BLAKE2B 42954ed9dfc41914f34973fcfe950b4415af455d8319e802a213994107c7d7a45a6a42b2d260f165fe5ec6589873a7a2c75665b68b97431b13d7694f48273b8c SHA512 6a58920a057dee656df9f64f610f9f1398bc3cbc4ed74a740e8693f2b45da83628c3ce8f76f624bdb101d348603a24bccb47aa770ade1ffbf24da806f4d1de20
DIST gnatcoll-core-22.0.0.tar.gz 722642 BLAKE2B e9bc6b322866b086f080096457936f66925cb954533acc04265b1e4c7081fe65d420fbc841b9ad5f4932eb43848803c1bf78a37a6fc47c1ac9d30bbb8eb2e0c9 SHA512 ce3aaa90b339a57eedc070e6451ea8782a87d07ece09823c57179a5e44762349458564bf8d007427a7aba795bc05d744056e3defd6b44698bcc0a8af0c5285e9

@ -0,0 +1,74 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
ADA_COMPAT=( gnat_202{0..1} )
inherit ada multiprocessing
DESCRIPTION="GNAT Component Collection Core packages"
HOMEPAGE="http://libre.adacore.com"
SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+shared static-libs static-pic"
RDEPEND="
|| (
>=dev-ada/libgpr-2021[${ADA_USEDEP},shared?,static-libs?,static-pic?]
~dev-ada/libgpr-22.0.0[${ADA_USEDEP},shared?,static-libs?,static-pic?]
)
"
DEPEND="${RDEPEND}
dev-ada/gprbuild[${ADA_USEDEP}]"
REQUIRED_USE="${ADA_REQUIRED_USE}"
PATCHES=( "${FILESDIR}"/${PN}-2018-gentoo.patch )
src_prepare() {
default
sed -i \
-e "s:@GNATLS@:${GNATLS}:g" \
src/gnatcoll-projects.ads \
|| die
}
src_configure() {
emake setup
}
src_compile() {
build () {
gprbuild -p -m -j$(makeopts_jobs) \
-XBUILD=PROD -v -XGNATCOLL_VERSION=${PV} \
-XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$* -XGPR_BUILD=$1 \
gnatcoll.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
}
if use shared; then
build relocatable
fi
if use static-pic; then
build static-pic
fi
if use static-libs; then
build static
fi
}
src_install() {
local GNATCOLL_VERSION=${PV}
if use shared; then
emake GNATCOLL_VERSION=${PV} prefix="${D}"/usr install-relocatable
fi
if use static-pic; then
emake GNATCOLL_VERSION=${PV} prefix="${D}"/usr install-static-pic
fi
if use static-libs; then
emake GNATCOLL_VERSION=${PV} prefix="${D}"/usr install-static
fi
rm -r "${D}"/usr/share/gpr/manifests || die
einstalldocs
}

Binary file not shown.

@ -2,3 +2,4 @@ DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507
DIST mysql-connector-c++-8.0.24-src.tar.gz 3797356 BLAKE2B e509e04f6c93893948c573401188567bcbda91db0e608d53b1795593abf043117e1a525d3abe5c8396068a2ef750582cde15b64412e556e89762d08032abb602 SHA512 5507bc562e8263ee17efb9d4e2f52e471da75e73a1fc4dd1bc0a2ac1c2a593be889c4b042037cf6d3cbff854ae5cc865a8800251da475aed0f31710229af26f1
DIST mysql-connector-c++-8.0.25-src.tar.gz 3800065 BLAKE2B 67546b2d7d9de25ccb440c22bd58ee83e6fae78710e6dfa802cb0446bf5be433c56458424f0ee81c9a899bbfd5f464712d2d0b43dceb4205b492c7b1a79f7858 SHA512 44dd7f4296d666801be55642e53cb5181d9b5c3b080306975a48eb6280e555d9b924b42b14b44dffee4c54fab3f662a7b6bb6584d9a1ed710f0026788611c525
DIST mysql-connector-c++-8.0.26-src.tar.gz 3980027 BLAKE2B 86ce0d94db588ed86ce7b21851f866da26268f7c9059b57697cbe1f5c5d031a3eada2f55042feb7b2888b538277c773215c0d19e8a1968ff70ce363e8f95bd77 SHA512 e3a08551a4245bf886cb7e3775a256fa379bb781b523a84d30e0d0c16cae73c808a3413b08b09998eba9c0ea3ede19e505b6392ed71712a8e9a2df31f07e4c79
DIST mysql-connector-c++-8.0.27-src.tar.gz 4004836 BLAKE2B e581c679d8d9a31d2570b9cf1968b4e793cfccbd4cafdc5a9c9d17a465c16faa1492b2da7bdc1679d97474c27b6353274a390668f77d3cb47f72598eb3a967fa SHA512 3da7109efd2d1af813931b923218de9a85afe20d23e2654eecfa5524431f5b11ebdb8421b14563300b66ab61714e284cc15407a3b28a87922c9a8c79b2804bf3

@ -0,0 +1,92 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e734714..b79ff3a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -474,7 +474,7 @@ set_target_properties(connector PROPERTIES
install(TARGETS connector
- CONFIGURATIONS Release RelWithDebInfo
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
diff --git a/cdk/cmake/DepFindProtobuf.cmake b/cdk/cmake/DepFindProtobuf.cmake
index 414716c..165af4b 100644
--- a/cdk/cmake/DepFindProtobuf.cmake
+++ b/cdk/cmake/DepFindProtobuf.cmake
@@ -52,21 +52,7 @@ if(TARGET ext::protobuf)
return()
endif()
-message(STATUS "Setting up Protobuf.")
-
-# Setup extrnal project that builds protobuf from bundled sources
-
-add_ext(protobuf)
-
-# import targets from the external project
-# Note: The pb_ targets are created by protobuf/exports.cmake
-
-add_ext_targets(protobuf
- pb-lite pb_libprotobuf-lite
- pb-full pb_libprotobuf
- protoc pb_protoc
-)
-
+find_package(Protobuf REQUIRED)
# Standard PROTOBUF_GENERATE_CPP modified to our usage
@@ -95,7 +81,7 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
"${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
COMMAND ${CMAKE_COMMAND}
-E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
- COMMAND ext::protoc
+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
-I ${ABS_PATH} ${ABS_FIL}
#--proto_path=${PROTOBUF_INCLUDE_DIR}
diff --git a/cdk/core/CMakeLists.txt b/cdk/core/CMakeLists.txt
index 10cae33..3907c9b 100644
--- a/cdk/core/CMakeLists.txt
+++ b/cdk/core/CMakeLists.txt
@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
target_link_libraries(cdk
PUBLIC cdk_mysqlx cdk_parser
- PRIVATE ext::pb-lite # required by codecc.cc
+ PRIVATE protobuf # required by codecc.cc
)
add_coverage(cdk)
diff --git a/cdk/protocol/mysqlx/CMakeLists.txt b/cdk/protocol/mysqlx/CMakeLists.txt
index a399401..b04ffa3 100644
--- a/cdk/protocol/mysqlx/CMakeLists.txt
+++ b/cdk/protocol/mysqlx/CMakeLists.txt
@@ -129,11 +129,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
-if(use_full_protobuf)
- target_link_libraries(cdk_proto_mysqlx PRIVATE ext::pb-full)
-else()
- target_link_libraries(cdk_proto_mysqlx PRIVATE ext::pb-lite)
-endif()
+target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
target_link_libraries(cdk_proto_mysqlx
PRIVATE cdk_foundation ext::zlib ext::lz4 ext::zstd
diff --git a/jdbc/CMakeLists.txt b/jdbc/CMakeLists.txt
index f4355ed..f24510b 100644
--- a/jdbc/CMakeLists.txt
+++ b/jdbc/CMakeLists.txt
@@ -299,7 +299,7 @@ endif()
install(TARGETS connector-jdbc
- CONFIGURATIONS Release RelWithDebInfo
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll

@ -0,0 +1,44 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake
DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
URI_DIR="Connector-C++"
SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
IUSE="+legacy"
RDEPEND="
dev-libs/protobuf:=
legacy? (
dev-libs/boost:=
>=dev-db/mysql-connector-c-8.0.27:=
)
dev-libs/openssl:0=
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${P}-src"
PATCHES=(
"${FILESDIR}"/${PN}-8.0.27-fix-build.patch
)
src_configure() {
local mycmakeargs=(
-DWITH_SSL=system
-DWITH_JDBC=$(usex legacy ON OFF)
$(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
$(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
)
cmake_src_configure
}

Binary file not shown.

@ -13,7 +13,7 @@ SRC_URI="https://github.com/google/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="4"
KEYWORDS="amd64 arm64 ~ppc64 x86"
KEYWORDS="amd64 arm64 ppc64 x86"
RESTRICT="test"
CP_DEPEND="dev-java/aopalliance:1

@ -16,7 +16,7 @@ SRC_URI="http://central.maven.org/maven2/javax/inject/${MY_PN}/${PV}/${MY_P}-sou
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 arm64 ~ppc64 ~x86 ~amd64-linux"
KEYWORDS="~amd64 arm64 ppc64 ~x86 ~amd64-linux"
RDEPEND=">=virtual/jre-1.6"
DEPEND=">=virtual/jdk-1.6"

Binary file not shown.

@ -1,397 +0,0 @@
From c600ec7bcf2696882ffe961e7b158c67aa2e7277 Mon Sep 17 00:00:00 2001
From: Jakub Zelenka <bukka@php.net>
Date: Sat, 2 Oct 2021 22:53:41 +0100
Subject: [PATCH] Fix bug #81026 (PHP-FPM oob R/W in root process leading to
priv escalatio)
The main change is to store scoreboard procs directly to the variable sized
array rather than indirectly through the pointer.
---
sapi/fpm/fpm/fpm_children.c | 14 ++---
sapi/fpm/fpm/fpm_request.c | 4 +-
sapi/fpm/fpm/fpm_scoreboard.c | 106 ++++++++++++++++++++-------------
sapi/fpm/fpm/fpm_scoreboard.h | 11 ++--
sapi/fpm/fpm/fpm_status.c | 4 +-
sapi/fpm/fpm/fpm_worker_pool.c | 2 +-
6 files changed, 81 insertions(+), 60 deletions(-)
diff --git a/sapi/fpm/fpm/fpm_children.c b/sapi/fpm/fpm/fpm_children.c
index fd121372f3..912f77c11a 100644
--- a/sapi/fpm/fpm/fpm_children.c
+++ b/sapi/fpm/fpm/fpm_children.c
@@ -246,7 +246,7 @@ void fpm_children_bury() /* {{{ */
fpm_child_unlink(child);
- fpm_scoreboard_proc_free(wp->scoreboard, child->scoreboard_i);
+ fpm_scoreboard_proc_free(child);
fpm_clock_get(&tv1);
@@ -256,9 +256,9 @@ void fpm_children_bury() /* {{{ */
if (!fpm_pctl_can_spawn_children()) {
severity = ZLOG_DEBUG;
}
- zlog(severity, "[pool %s] child %d exited %s after %ld.%06d seconds from start", child->wp->config->name, (int) pid, buf, tv2.tv_sec, (int) tv2.tv_usec);
+ zlog(severity, "[pool %s] child %d exited %s after %ld.%06d seconds from start", wp->config->name, (int) pid, buf, tv2.tv_sec, (int) tv2.tv_usec);
} else {
- zlog(ZLOG_DEBUG, "[pool %s] child %d has been killed by the process management after %ld.%06d seconds from start", child->wp->config->name, (int) pid, tv2.tv_sec, (int) tv2.tv_usec);
+ zlog(ZLOG_DEBUG, "[pool %s] child %d has been killed by the process management after %ld.%06d seconds from start", wp->config->name, (int) pid, tv2.tv_sec, (int) tv2.tv_usec);
}
fpm_child_close(child, 1 /* in event_loop */);
@@ -324,7 +324,7 @@ static struct fpm_child_s *fpm_resources_prepare(struct fpm_worker_pool_s *wp) /
return 0;
}
- if (0 > fpm_scoreboard_proc_alloc(wp->scoreboard, &c->scoreboard_i)) {
+ if (0 > fpm_scoreboard_proc_alloc(c)) {
fpm_stdio_discard_pipes(c);
fpm_child_free(c);
return 0;
@@ -336,7 +336,7 @@ static struct fpm_child_s *fpm_resources_prepare(struct fpm_worker_pool_s *wp) /
static void fpm_resources_discard(struct fpm_child_s *child) /* {{{ */
{
- fpm_scoreboard_proc_free(child->wp->scoreboard, child->scoreboard_i);
+ fpm_scoreboard_proc_free(child);
fpm_stdio_discard_pipes(child);
fpm_child_free(child);
}
@@ -349,10 +349,10 @@ static void fpm_child_resources_use(struct fpm_child_s *child) /* {{{ */
if (wp == child->wp) {
continue;
}
- fpm_scoreboard_free(wp->scoreboard);
+ fpm_scoreboard_free(wp);
}
- fpm_scoreboard_child_use(child->wp->scoreboard, child->scoreboard_i, getpid());
+ fpm_scoreboard_child_use(child, getpid());
fpm_stdio_child_use_pipes(child);
fpm_child_free(child);
}
diff --git a/sapi/fpm/fpm/fpm_request.c b/sapi/fpm/fpm/fpm_request.c
index c80aa14462..0a6f6a7cfb 100644
--- a/sapi/fpm/fpm/fpm_request.c
+++ b/sapi/fpm/fpm/fpm_request.c
@@ -285,7 +285,7 @@ int fpm_request_is_idle(struct fpm_child_s *child) /* {{{ */
struct fpm_scoreboard_proc_s *proc;
/* no need in atomicity here */
- proc = fpm_scoreboard_proc_get(child->wp->scoreboard, child->scoreboard_i);
+ proc = fpm_scoreboard_proc_get_from_child(child);
if (!proc) {
return 0;
}
@@ -300,7 +300,7 @@ int fpm_request_last_activity(struct fpm_child_s *child, struct timeval *tv) /*
if (!tv) return -1;
- proc = fpm_scoreboard_proc_get(child->wp->scoreboard, child->scoreboard_i);
+ proc = fpm_scoreboard_proc_get_from_child(child);
if (!proc) {
return -1;
}
diff --git a/sapi/fpm/fpm/fpm_scoreboard.c b/sapi/fpm/fpm/fpm_scoreboard.c
index 328f999f0c..7e9da4d684 100644
--- a/sapi/fpm/fpm/fpm_scoreboard.c
+++ b/sapi/fpm/fpm/fpm_scoreboard.c
@@ -6,6 +6,7 @@
#include <time.h>
#include "fpm_config.h"
+#include "fpm_children.h"
#include "fpm_scoreboard.h"
#include "fpm_shm.h"
#include "fpm_sockets.h"
@@ -23,7 +24,6 @@ static float fpm_scoreboard_tick;
int fpm_scoreboard_init_main() /* {{{ */
{
struct fpm_worker_pool_s *wp;
- unsigned int i;
#ifdef HAVE_TIMES
#if (defined(HAVE_SYSCONF) && defined(_SC_CLK_TCK))
@@ -40,7 +40,7 @@ int fpm_scoreboard_init_main() /* {{{ */
for (wp = fpm_worker_all_pools; wp; wp = wp->next) {
- size_t scoreboard_size, scoreboard_nprocs_size;
+ size_t scoreboard_procs_size;
void *shm_mem;
if (wp->config->pm_max_children < 1) {
@@ -53,22 +53,15 @@ int fpm_scoreboard_init_main() /* {{{ */
return -1;
}
- scoreboard_size = sizeof(struct fpm_scoreboard_s) + (wp->config->pm_max_children) * sizeof(struct fpm_scoreboard_proc_s *);
- scoreboard_nprocs_size = sizeof(struct fpm_scoreboard_proc_s) * wp->config->pm_max_children;
- shm_mem = fpm_shm_alloc(scoreboard_size + scoreboard_nprocs_size);
+ scoreboard_procs_size = sizeof(struct fpm_scoreboard_proc_s) * wp->config->pm_max_children;
+ shm_mem = fpm_shm_alloc(sizeof(struct fpm_scoreboard_s) + scoreboard_procs_size);
if (!shm_mem) {
return -1;
}
- wp->scoreboard = shm_mem;
+ wp->scoreboard = shm_mem;
+ wp->scoreboard->pm = wp->config->pm;
wp->scoreboard->nprocs = wp->config->pm_max_children;
- shm_mem += scoreboard_size;
-
- for (i = 0; i < wp->scoreboard->nprocs; i++, shm_mem += sizeof(struct fpm_scoreboard_proc_s)) {
- wp->scoreboard->procs[i] = shm_mem;
- }
-
- wp->scoreboard->pm = wp->config->pm;
wp->scoreboard->start_epoch = time(NULL);
strlcpy(wp->scoreboard->pool, wp->config->name, sizeof(wp->scoreboard->pool));
}
@@ -162,28 +155,48 @@ struct fpm_scoreboard_s *fpm_scoreboard_get() /* {{{*/
}
/* }}} */
-struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get(struct fpm_scoreboard_s *scoreboard, int child_index) /* {{{*/
+static inline struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get_ex(
+ struct fpm_scoreboard_s *scoreboard, int child_index, unsigned int nprocs) /* {{{*/
{
if (!scoreboard) {
- scoreboard = fpm_scoreboard;
+ return NULL;
}
- if (!scoreboard) {
+ if (child_index < 0 || (unsigned int)child_index >= nprocs) {
return NULL;
}
+ return &scoreboard->procs[child_index];
+}
+/* }}} */
+
+struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get(
+ struct fpm_scoreboard_s *scoreboard, int child_index) /* {{{*/
+{
+ if (!scoreboard) {
+ scoreboard = fpm_scoreboard;
+ }
+
if (child_index < 0) {
child_index = fpm_scoreboard_i;
}
- if (child_index < 0 || (unsigned int)child_index >= scoreboard->nprocs) {
- return NULL;
- }
+ return fpm_scoreboard_proc_get_ex(scoreboard, child_index, scoreboard->nprocs);
+}
+/* }}} */
- return scoreboard->procs[child_index];
+struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get_from_child(struct fpm_child_s *child) /* {{{*/
+{
+ struct fpm_worker_pool_s *wp = child->wp;
+ unsigned int nprocs = wp->config->pm_max_children;
+ struct fpm_scoreboard_s *scoreboard = wp->scoreboard;
+ int child_index = child->scoreboard_i;
+
+ return fpm_scoreboard_proc_get_ex(scoreboard, child_index, nprocs);
}
/* }}} */
+
struct fpm_scoreboard_s *fpm_scoreboard_acquire(struct fpm_scoreboard_s *scoreboard, int nohang) /* {{{ */
{
struct fpm_scoreboard_s *s;
@@ -234,28 +247,28 @@ void fpm_scoreboard_proc_release(struct fpm_scoreboard_proc_s *proc) /* {{{ */
proc->lock = 0;
}
-void fpm_scoreboard_free(struct fpm_scoreboard_s *scoreboard) /* {{{ */
+void fpm_scoreboard_free(struct fpm_worker_pool_s *wp) /* {{{ */
{
- size_t scoreboard_size, scoreboard_nprocs_size;
+ size_t scoreboard_procs_size;
+ struct fpm_scoreboard_s *scoreboard = wp->scoreboard;
if (!scoreboard) {
zlog(ZLOG_ERROR, "**scoreboard is NULL");
return;
}
- scoreboard_size = sizeof(struct fpm_scoreboard_s) + (scoreboard->nprocs) * sizeof(struct fpm_scoreboard_proc_s *);
- scoreboard_nprocs_size = sizeof(struct fpm_scoreboard_proc_s) * scoreboard->nprocs;
+ scoreboard_procs_size = sizeof(struct fpm_scoreboard_proc_s) * wp->config->pm_max_children;
- fpm_shm_free(scoreboard, scoreboard_size + scoreboard_nprocs_size);
+ fpm_shm_free(scoreboard, sizeof(struct fpm_scoreboard_s) + scoreboard_procs_size);
}
/* }}} */
-void fpm_scoreboard_child_use(struct fpm_scoreboard_s *scoreboard, int child_index, pid_t pid) /* {{{ */
+void fpm_scoreboard_child_use(struct fpm_child_s *child, pid_t pid) /* {{{ */
{
struct fpm_scoreboard_proc_s *proc;
- fpm_scoreboard = scoreboard;
- fpm_scoreboard_i = child_index;
- proc = fpm_scoreboard_proc_get(scoreboard, child_index);
+ fpm_scoreboard = child->wp->scoreboard;
+ fpm_scoreboard_i = child->scoreboard_i;
+ proc = fpm_scoreboard_proc_get_from_child(child);
if (!proc) {
return;
}
@@ -264,18 +277,22 @@ void fpm_scoreboard_child_use(struct fpm_scoreboard_s *scoreboard, int child_ind
}
/* }}} */
-void fpm_scoreboard_proc_free(struct fpm_scoreboard_s *scoreboard, int child_index) /* {{{ */
+void fpm_scoreboard_proc_free(struct fpm_child_s *child) /* {{{ */
{
+ struct fpm_worker_pool_s *wp = child->wp;
+ struct fpm_scoreboard_s *scoreboard = wp->scoreboard;
+ int child_index = child->scoreboard_i;
+
if (!scoreboard) {
return;
}
- if (child_index < 0 || (unsigned int)child_index >= scoreboard->nprocs) {
+ if (child_index < 0 || child_index >= wp->config->pm_max_children) {
return;
}
- if (scoreboard->procs[child_index] && scoreboard->procs[child_index]->used > 0) {
- memset(scoreboard->procs[child_index], 0, sizeof(struct fpm_scoreboard_proc_s));
+ if (scoreboard->procs[child_index].used > 0) {
+ memset(&scoreboard->procs[child_index], 0, sizeof(struct fpm_scoreboard_proc_s));
}
/* set this slot as free to avoid search on next alloc */
@@ -283,41 +300,44 @@ void fpm_scoreboard_proc_free(struct fpm_scoreboard_s *scoreboard, int child_ind
}
/* }}} */
-int fpm_scoreboard_proc_alloc(struct fpm_scoreboard_s *scoreboard, int *child_index) /* {{{ */
+int fpm_scoreboard_proc_alloc(struct fpm_child_s *child) /* {{{ */
{
int i = -1;
+ struct fpm_worker_pool_s *wp = child->wp;
+ struct fpm_scoreboard_s *scoreboard = wp->scoreboard;
+ int nprocs = wp->config->pm_max_children;
- if (!scoreboard || !child_index) {
+ if (!scoreboard) {
return -1;
}
/* first try the slot which is supposed to be free */
- if (scoreboard->free_proc >= 0 && (unsigned int)scoreboard->free_proc < scoreboard->nprocs) {
- if (scoreboard->procs[scoreboard->free_proc] && !scoreboard->procs[scoreboard->free_proc]->used) {
+ if (scoreboard->free_proc >= 0 && scoreboard->free_proc < nprocs) {
+ if (!scoreboard->procs[scoreboard->free_proc].used) {
i = scoreboard->free_proc;
}
}
if (i < 0) { /* the supposed free slot is not, let's search for a free slot */
zlog(ZLOG_DEBUG, "[pool %s] the proc->free_slot was not free. Let's search", scoreboard->pool);
- for (i = 0; i < (int)scoreboard->nprocs; i++) {
- if (scoreboard->procs[i] && !scoreboard->procs[i]->used) { /* found */
+ for (i = 0; i < nprocs; i++) {
+ if (!scoreboard->procs[i].used) { /* found */
break;
}
}
}
/* no free slot */
- if (i < 0 || i >= (int)scoreboard->nprocs) {
+ if (i < 0 || i >= nprocs) {
zlog(ZLOG_ERROR, "[pool %s] no free scoreboard slot", scoreboard->pool);
return -1;
}
- scoreboard->procs[i]->used = 1;
- *child_index = i;
+ scoreboard->procs[i].used = 1;
+ child->scoreboard_i = i;
/* supposed next slot is free */
- if (i + 1 >= (int)scoreboard->nprocs) {
+ if (i + 1 >= nprocs) {
scoreboard->free_proc = 0;
} else {
scoreboard->free_proc = i + 1;
diff --git a/sapi/fpm/fpm/fpm_scoreboard.h b/sapi/fpm/fpm/fpm_scoreboard.h
index 1fecde1d0f..9d5981e1c7 100644
--- a/sapi/fpm/fpm/fpm_scoreboard.h
+++ b/sapi/fpm/fpm/fpm_scoreboard.h
@@ -63,7 +63,7 @@ struct fpm_scoreboard_s {
unsigned int nprocs;
int free_proc;
unsigned long int slow_rq;
- struct fpm_scoreboard_proc_s *procs[];
+ struct fpm_scoreboard_proc_s procs[];
};
int fpm_scoreboard_init_main();
@@ -72,18 +72,19 @@ int fpm_scoreboard_init_child(struct fpm_worker_pool_s *wp);
void fpm_scoreboard_update(int idle, int active, int lq, int lq_len, int requests, int max_children_reached, int slow_rq, int action, struct fpm_scoreboard_s *scoreboard);
struct fpm_scoreboard_s *fpm_scoreboard_get();
struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get(struct fpm_scoreboard_s *scoreboard, int child_index);
+struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get_from_child(struct fpm_child_s *child);
struct fpm_scoreboard_s *fpm_scoreboard_acquire(struct fpm_scoreboard_s *scoreboard, int nohang);
void fpm_scoreboard_release(struct fpm_scoreboard_s *scoreboard);
struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_acquire(struct fpm_scoreboard_s *scoreboard, int child_index, int nohang);
void fpm_scoreboard_proc_release(struct fpm_scoreboard_proc_s *proc);
-void fpm_scoreboard_free(struct fpm_scoreboard_s *scoreboard);
+void fpm_scoreboard_free(struct fpm_worker_pool_s *wp);
-void fpm_scoreboard_child_use(struct fpm_scoreboard_s *scoreboard, int child_index, pid_t pid);
+void fpm_scoreboard_child_use(struct fpm_child_s *child, pid_t pid);
-void fpm_scoreboard_proc_free(struct fpm_scoreboard_s *scoreboard, int child_index);
-int fpm_scoreboard_proc_alloc(struct fpm_scoreboard_s *scoreboard, int *child_index);
+void fpm_scoreboard_proc_free(struct fpm_child_s *child);
+int fpm_scoreboard_proc_alloc(struct fpm_child_s *child);
#ifdef HAVE_TIMES
float fpm_scoreboard_get_tick();
diff --git a/sapi/fpm/fpm/fpm_status.c b/sapi/fpm/fpm/fpm_status.c
index 36d2240635..de8db9d61a 100644
--- a/sapi/fpm/fpm/fpm_status.c
+++ b/sapi/fpm/fpm/fpm_status.c
@@ -498,10 +498,10 @@ int fpm_status_handle_request(void) /* {{{ */
first = 1;
for (i=0; i<scoreboard_p->nprocs; i++) {
- if (!scoreboard_p->procs[i] || !scoreboard_p->procs[i]->used) {
+ if (!scoreboard_p->procs[i].used) {
continue;
}
- proc = *scoreboard_p->procs[i];
+ proc = scoreboard_p->procs[i];
if (first) {
first = 0;
diff --git a/sapi/fpm/fpm/fpm_worker_pool.c b/sapi/fpm/fpm/fpm_worker_pool.c
index d04528f4e0..65a9b226b1 100644
--- a/sapi/fpm/fpm/fpm_worker_pool.c
+++ b/sapi/fpm/fpm/fpm_worker_pool.c
@@ -54,7 +54,7 @@ static void fpm_worker_pool_cleanup(int which, void *arg) /* {{{ */
fpm_worker_pool_config_free(wp->config);
fpm_children_free(wp->children);
if ((which & FPM_CLEANUP_CHILD) == 0 && fpm_globals.parent_pid == getpid()) {
- fpm_scoreboard_free(wp->scoreboard);
+ fpm_scoreboard_free(wp);
}
fpm_worker_pool_free(wp);
}
--
2.25.1

@ -18,6 +18,8 @@ DIST Python-3.9.7.tar.xz 19123232 BLAKE2B 69dfba6974c8c74de1b71977d28cad4d7c2661
DIST Python-3.9.7.tar.xz.asc 833 BLAKE2B 2d9c47e47d9a625e393a8b456dd5b10dd485fc13ca7c236b5fd304c373879bea8ab3c67ff99c3a81350443f6ccba20718466a221a05faada6b82cfe92943fdbf SHA512 7ff9f845f520efab3b4a0e95da3ffe055ee5777a4173a5b2cc1fd2419dc2b4faf30d1e711e372df36e34bc971ecfcde88a7cd815cfe2d8080ccb575a1ae8e101
DIST Python-3.9.8.tar.xz 19149464 BLAKE2B 739eb22bae8b44cf5be9a24ca6ecacb80eaca65684abf1fef18b7adcac9adede2eff60e8a9ac5db2672511d180d6079c39e2ff2901ab454c0876ae8e1bfe96cc SHA512 5d5b46a242525b2e6a7f9c69c63c6d7cd985e1443a7d9b716107e75f14fef7b5c9c2e5e8a90adbbbf5f7a8b90a483d01e18c1732470e6e54b611b5aba9f99fe1
DIST Python-3.9.8.tar.xz.asc 833 BLAKE2B ec94293d0d28398b425a0a6cd502f6540b23f6788874160216d0575fe23a4ad8e5636c5d4deae7bc193d00bd18aff12f935a6ea807786a87f041046d6693fd20 SHA512 1329a8e114feb010bb3618472cddd9fdea59fc38e9583002eb457e1c0cf1716bd7c0d51887e91b9eef09c3977879aa4be9909e5997be7dfdcca08ca04794bfaf
DIST Python-3.9.9.tar.xz 19144372 BLAKE2B 3a144ca5e4b11b2fd09d05a4a40ddf3f622c077338602c519b21ea827c96e0f14ab97563c0a9d306ae4a5c3f44753573a07474dc084fb364d24b2128bb378ddd SHA512 0ab29fb9a7ecb808bd08d84d28908d5a934e0f021853da0f7a9c94670eb30c8dbbc233d461afdb3995b0de59275ef7e1de43e82d7f848802cbd6e6e50b7b25a6
DIST Python-3.9.9.tar.xz.asc 833 BLAKE2B 41d05ee1ec256f0cab4e9d3540877783745f0f30e3f1177d01096b352341a90893c5c9523926bed8176bd304cbb1fd6619be3b4e375103874eac5e5ebc113135 SHA512 84fb739c60216ab9a7a487a0ec4039a7e85c7684ef1f71d8b3bc415ff2ae284f79474103ae05385502bc2510401f8cfb33d84dccf5d0ea9a0dd62528519d935f
DIST python-gentoo-patches-2.7.18_p13.tar.xz 33296 BLAKE2B 91b711458aff4f6337ee1b34aff58d7edda6725644a64c9320076a1e04c816729ed163d82333cfe4dfef379a9ad5ef50ba00abdbbfed4503b0f92c8f0b7ca683 SHA512 97f3657a4a95e8492aa710801b974a56e6dd4636e475aea45cbbe76e7ae32d00f07b05769887f05e49cb0df8584ac9499a7ce842bad77f837a7c869f9b769b07
DIST python-gentoo-patches-3.10.0_p1.tar.xz 10068 BLAKE2B 1c9817b449831559f0a0b722c02a5f55d94b3dfde98e5882c1403fe24a4addf7074ab39c09b91cff6fd7ace2e4b6e8ed899d9a0b9ffd6612ce315c4c192bd309 SHA512 39aa41dbf17b6dc5255491c75031a3dae6962b44125e426dbfdce365a6533c5dae9856b1fff8016a189124b7cff72d2665ce99da344c2f9dff005ba685e8c2c4
DIST python-gentoo-patches-3.11.0a1.tar.xz 9468 BLAKE2B 9bbc0c41d366752d2481c19070d71c27f88fd605e35e62f6b86498cb537051e92972f3c3f7b234485fd07e2a6ac4e4d6701e03e7893897531da58fbaaa609e76 SHA512 a06274c8c1d772121ac9570125eea12a4e53bcac030b8f4f3c5c76d68fc475df3f073a4dffe55614ced9cf031c7581e428b1cee67078c63d4f41e0a51e372e41
@ -28,3 +30,4 @@ DIST python-gentoo-patches-3.7.12_p1.tar.xz 19112 BLAKE2B e9964244af3db544dd6e96
DIST python-gentoo-patches-3.8.12_p1.tar.xz 16632 BLAKE2B cce7a41d020af1ffc55a01ef67b20bcb16c68adbccc1e44ef166d1707e817ed6c3bae70f84c56553f27bca449015e273014c0be73bc2f9b4e25844ddce385486 SHA512 4621727c2e9cc1c5519e021210e16a97e7167ea831445dfdd07f5b0ed642b5919834244111708a971ce098b10b439797e1c76827eccab803f801052c671f1ae6
DIST python-gentoo-patches-3.9.7_p1.tar.xz 14444 BLAKE2B c976beb1205b0b777ff3375f538758bf28443bcf4c953fe161545791763da043e32582c398ec8151478afc40e53f963e080d29420066305c12963c953887e4b8 SHA512 283c8975885f9306e46a0047219f3a70e1000f3401affb0b55cde976be6fb6df2f1c13f4e05a479e72e0731d683fef9b22413f7cd320298295a31b19c8915b3d
DIST python-gentoo-patches-3.9.8.tar.xz 13192 BLAKE2B 995bead7e87b1d2eb9984012065c0f752d51e5a78dd9019270e071f83660cdab71c39e5be0104919f5af9089dede71d9c918a521f76e67c6ef1aeab5ffb58991 SHA512 80dfa3766bb5546924a5fccf4f469ce409cb8a4b0873c3d2fb737b3eb27b7c2b29337e0179624bbe077273b8e475f7921d6479ca7eb8e31ba423d0cea2f3d1cf
DIST python-gentoo-patches-3.9.9.tar.xz 13200 BLAKE2B 672e3b79094cbc791988639a5dde4c9e5622e91bef4310d26838716c65763ca69a12c6afef2f19487f4389974af009896e452c19783b0a491072d13f893af7e9 SHA512 3cd4ddd070ab48d9978e1136d237fc24030fd3ce6704371ce99815702a45d839ee26c7e9552b004661827759edd30222434e4166f9ee16f873ad4783c83f723f

@ -0,0 +1,348 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
)"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="app-arch/bzip2:=
app-arch/xz-utils:=
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )"
# bluetooth requires headers from bluez
DEPEND="${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )"
BDEPEND="
virtual/awk
virtual/pkgconfig
sys-devel/autoconf-archive
verify-sig? ( app-crypt/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]"
RDEPEND+=" !build? ( app-misc/mime-types )"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -fr Modules/expat || die
rm -fr Modules/_ctypes/libffi* || die
rm -fr Modules/zlib || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
# force correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
if [[ "$(gcc-major-version)" -ge 4 ]]; then
append-flags -fwrapv
fi
filter-flags -malign-double
# https://bugs.gentoo.org/show_bug.cgi?id=50309
if is-flagq -O3; then
is-flagq -fstack-protector-all && replace-flags -O3 -O2
use hardened && replace-flags -O3 -O2
fi
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
tc-export CXX
# Fix implicit declarations on cross and prefix builds. Bug #674070.
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
)
OPT="" econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# Skip failing tests.
local skipped_tests="gdb"
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local result=$?
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
elog "and run the tests separately."
if [[ ${result} -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
sed \
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
-e "s/\(PY_LDFLAGS=\).*/\1/" \
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
local -x EPYTHON=python${PYVER}
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
local -x PYTHON=./python
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
else
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
fi
echo "EPYTHON='${EPYTHON}'" > epython.py || die
python_domodule epython.py
# python-exec wrapping support
local pymajor=${PYVER%.*}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" \
"${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" \
"${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" \
"${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" \
"${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" \
"${scriptdir}/idle" || die
fi
}

Binary file not shown.

@ -1,2 +1,4 @@
DIST cudnn-10.2-linux-x64-v8.2.4.15.tgz 1010215841 BLAKE2B 582d06f70e537a28527a5d9a39c7a7d9debf832c972c6a318d70b961aa5402f108234f920512acdcc6a56aa715c2aedd9d6c08ff9469bed05698a6a0431b7b29 SHA512 bc83bb02e53b111486ff5a028f3d4866e47c75c2c0cc3271f6d8c647ca3aad8234c635f4bb24ed4305c67017a64b841be981334c3b08d2ec4f3442180c2dd9f4
DIST cudnn-10.2-linux-x64-v8.3.0.98.tgz 742140405 BLAKE2B 648849c041e2e7d87a8d804a35d9e0fa1d9a454977aaec4545386ee0c8b57c502b98583a357a70b7096905f82c2a8dadc252f8b363a7975d572167f4f7f2f121 SHA512 e0c6967663bdaf0e7539b550f1aa84aaf35efe6192fc524d78f6a1bc980a79b05eeb0693e9548f4d3433864f88137ce2ff1489d7dd0e8cf883000d6c7b9a62bb
DIST cudnn-11.4-linux-x64-v8.2.4.15.tgz 1876975307 BLAKE2B 50ad2f1de631c3e6e476b25283fd7f80382e7c311694512cf0c6e8b52c9d50513dc6179c8e99907200d98e510a77adfa42caf6cf76892977c70347e102f6fe00 SHA512 3a9438952be0396f68703dc5ccb77b38445589e4f2c2ce3fb628533d0a78e425958f7825558086873f93ee8dcdcb31329e2362f6427aec5ec797e78e280f470b
DIST cudnn-11.5-linux-x64-v8.3.0.98.tgz 1477554466 BLAKE2B cd8b7bdca8ef08af971d56b43b80f0fe721f76cb744bfef43a9369f81a2533b00651f2c89e9084026991a1cc1c6db13b55914d966b723edbfc104c3e7626a087 SHA512 46af7d47b40a2c0ee8d5b893514755f803b5a0c7426b8d88b258e71ae6312cb553cba7dd68f63e2060849c70713330d52f93f56121f663213c16030d39b2fc1d

@ -0,0 +1,35 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
HOMEPAGE="https://developer.nvidia.com/cuDNN"
SRC_URI="
cuda10-2? ( cudnn-10.2-linux-x64-v${PV}.tgz )
cuda11-5? ( cudnn-11.5-linux-x64-v${PV}.tgz )"
S="${WORKDIR}"
LICENSE="NVIDIA-cuDNN"
SLOT="0/8"
KEYWORDS="~amd64 ~amd64-linux"
IUSE="cuda10-2 +cuda11-5"
REQUIRED_USE="^^ ( cuda10-2 cuda11-5 )"
RESTRICT="fetch"
RDEPEND="
cuda10-2? ( =dev-util/nvidia-cuda-toolkit-10.2* )
cuda11-5? ( =dev-util/nvidia-cuda-toolkit-11.5* )"
QA_PREBUILT="*"
src_install() {
insinto /opt/cuda
doins cuda/NVIDIA_SLA_cuDNN_Support.txt
insinto /opt/cuda/targets/x86_64-linux
doins -r cuda/include
insinto /opt/cuda/targets/x86_64-linux/lib
doins -r cuda/lib64/.
}

@ -8,5 +8,6 @@
<use>
<flag name="cuda10-2">On Nvidia CUDA 10.2</flag>
<flag name="cuda11-4">On Nvidia CUDA 11.4</flag>
<flag name="cuda11-5">On Nvidia CUDA 11.5</flag>
</use>
</pkgmetadata>

@ -10,7 +10,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then
EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
S="${WORKDIR}/${P}/src"

@ -16,7 +16,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/2.1-7"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="
+clock-gettime debug malloc-replacement +ssl static-libs test
+threads verbose-debug

@ -0,0 +1 @@
DIST libphonenumber-8.12.37.tar.gz 11005274 BLAKE2B 2bcffe898ca7aa667a35e9a7340a54f880cdb9f290e807e9ff7f6ee778df83dd80023703595781a97355a43a8096bdc957a7f79336b5bf9d892ada26e35ae025 SHA512 420ea841679c1ff420289b3fea0bb6d86d4d1e99525fce00cc90025c8ade99e56e2dcbb7fca64190437ff0a889cdc7373f182e7699db20a072c32e984b8dff33

@ -0,0 +1,54 @@
Upstream: no, I probably should, although this patch isn't nice, but
neither is their cmake code
From a0c72f32b3c318f66975400af81b9b44d8a8d9c7 Mon Sep 17 00:00:00 2001
From: Heiko Becker <heirecka@exherbo.org>
Date: Wed, 27 Mar 2019 21:07:22 +0100
Subject: [PATCH] Fix build with BUILD_STATIC_LIB=ON
---
CMakeLists.txt | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 38ce1f50..dd9399be 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -441,7 +441,9 @@ if (${BUILD_GEOCODER} STREQUAL "ON")
list (APPEND GEOCODER_DEPS ${COMMON_DEPS})
# Note that the subset of base/ on which the geocoder relies is implemented
# on top of Boost header-only libraries (e.g. scoped_ptr.hpp).
- target_link_libraries (geocoding ${LIBRARY_DEPS})
+ if (${BUILD_STATIC_LIB} STREQUAL "ON")
+ target_link_libraries (geocoding ${LIBRARY_DEPS})
+ endif()
target_link_libraries (geocoding-shared ${LIBRARY_DEPS})
endif ()
@@ -599,7 +601,9 @@ if (BUILD_SHARED_LIB)
endif ()
if (${BUILD_GEOCODER} STREQUAL "ON")
- install (TARGETS geocoding LIBRARY DESTINATION ${LIBDIR} ARCHIVE DESTINATION ${LIBDIR})
+ if (${BUILD_STATIC_LIB} STREQUAL "ON")
+ install (TARGETS geocoding LIBRARY DESTINATION ${LIBDIR} ARCHIVE DESTINATION ${LIBDIR})
+ endif()
install (TARGETS geocoding-shared LIBRARY DESTINATION ${LIBDIR} ARCHIVE
DESTINATION ${LIBDIR})
endif ()
@@ -611,7 +615,11 @@ if (${BUILD_GEOCODER} STREQUAL "ON")
geocoding_test_program
"test/phonenumbers/geocoding/geocoding_test_program.cc"
)
- target_link_libraries (geocoding_test_program geocoding phonenumber)
+ if (${BUILD_STATIC_LIB} STREQUAL "ON")
+ target_link_libraries (geocoding_test_program geocoding phonenumber)
+ else ()
+ target_link_libraries (geocoding_test_program geocoding-shared phonenumber-shared)
+ endif ()
endif ()
# Build an RPM
--
2.21.0

@ -0,0 +1,66 @@
From b3b0e96e0f62148ee80075fb9d35fe15f4e32612 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Mon, 15 Nov 2021 19:13:37 +0100
Subject: [PATCH] Add BUILD_TESTING option
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
cpp/CMakeLists.txt | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 44db6834..a97da698 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -90,6 +90,7 @@ option ("USE_STD_MAP" "Force the use of std::map" "OFF")
option ("BUILD_STATIC_LIB" "Build static libraries" "ON")
option ("USE_STDMUTEX" "Use C++ 2011 std::mutex for multi-threading" "OFF")
option ("USE_POSIX_THREAD" "Use Posix api for multi-threading" "OFF")
+option ("BUILD_TESTING" "Build unit tests (gtest sources are needed)" "ON")
if (${USE_ALTERNATE_FORMATS} STREQUAL "ON")
add_definitions ("-DI18N_PHONENUMBERS_USE_ALTERNATE_FORMATS")
@@ -121,7 +122,9 @@ if (${USE_BOOST} STREQUAL "OFF" AND ${USE_STDMUTEX} STREQUAL "OFF")
find_package (Threads)
endif()
-find_or_build_gtest ()
+if (BUILD_TESTING)
+ find_or_build_gtest ()
+endif()
if (${USE_RE2} STREQUAL "ON")
find_required_library (RE2 re2/re2.h re2 "Google RE2")
@@ -492,11 +495,13 @@ if (${BUILD_GEOCODER} STREQUAL "ON")
endif ()
# Build a specific library for testing purposes.
+if (BUILD_TESTING)
add_library (phonenumber_testing STATIC ${TESTING_LIBRARY_SOURCES})
if (${BUILD_GEOCODER} STREQUAL "ON")
add_dependencies (phonenumber_testing generate_geocoding_data)
endif ()
target_link_libraries (phonenumber_testing ${LIBRARY_DEPS})
+endif()
if (${BUILD_GEOCODER} STREQUAL "ON")
# Test geocoding data cpp files generation.
@@ -551,6 +556,7 @@ if (${USE_ICU_REGEXP} STREQUAL "ON")
endif ()
# Build the testing binary.
+if (BUILD_TESTING)
include_directories ("test")
add_executable (libphonenumber_test ${TEST_SOURCES})
set (TEST_LIBS phonenumber_testing ${GTEST_LIB})
@@ -575,6 +581,7 @@ else ()
DEPENDS libphonenumber_test
)
endif ()
+endif ()
# Install rules.
install (FILES
--
2.33.1

@ -0,0 +1,48 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_MAKEFILE_GENERATOR="emake" # broken w/ ninja
inherit cmake
DESCRIPTION="Library for parsing, formatting, and validating international phone numbers"
HOMEPAGE="https://github.com/google/libphonenumber"
SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P}/cpp"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
dev-libs/icu:=
dev-libs/protobuf:=
dev-libs/boost:=
"
RDEPEND="${DEPEND}"
BDEPEND="
virtual/pkgconfig
test? ( dev-cpp/gtest )
"
PATCHES=(
# it is either this, or disable BUILD_GEOCODER
# https://github.com/google/libphonenumber/pull/2556
"${FILESDIR}"/${P}-cmake.patch
# see also https://github.com/google/libphonenumber/pull/2459
# using a stripped-down patch w/ BUILD_TESTING
"${FILESDIR}"/${P}-testing.patch
)
src_configure() {
local mycmakeargs=(
-DBUILD_STATIC_LIB=OFF
-DBUILD_TESTING=OFF
-DREGENERATE_METADATA=OFF # avoid JRE dependency
)
cmake_src_configure
}

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
</maintainer>
<upstream>
<bugs-to>https://issuetracker.google.com/issues?q=componentid:192347</bugs-to>
<remote-id type="github">google/libphonenumber</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,15 @@
https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=cca32830b57e91f837c01d15b8732f23ff97fc36
Author: Bruno Haible <bruno@clisp.org>
--- a/tests/glthread/thread.h
+++ b/tests/glthread/thread.h
@@ -133,8 +133,6 @@ extern int glthread_in_use (void);
call to foo(...) in the same function. To avoid this, we test the
address of a function in libpthread that we don't use. */
-# pragma weak pthread_create
-
# ifndef pthread_sigmask /* Do not declare rpl_pthread_sigmask weak. */
# pragma weak pthread_sigmask
# endif

@ -16,6 +16,7 @@ IUSE="doc static-libs"
PATCHES=(
"${FILESDIR}"/${PN}-nodocs.patch
"${FILESDIR}"/${PN}-test.patch
)
src_prepare() {

Binary file not shown.

@ -11,7 +11,7 @@ SRC_URI="https://github.com/janestreet/ppx_sexp_conv/archive/v${PV}.tar.gz -> ${
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
IUSE="+ocamlopt"
# Upper bound on ppxlib for bug #769536

@ -11,7 +11,7 @@ SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
IUSE="+ocamlopt"
DEPEND="

@ -1,11 +0,0 @@
diff -Naur Mail-DMARC-1.20150908/Build.PL Mail-DMARC-1.20150908b/Build.PL
--- Mail-DMARC-1.20150908/Build.PL 2015-09-08 23:20:48.000000000 +0000
+++ Mail-DMARC-1.20150908b/Build.PL 2016-03-16 23:28:27.121254239 +0000
@@ -95,7 +95,6 @@
"bin/dmarc_send_reports",
"bin/dmarc_update_public_suffix_list",
"bin/dmarc_view_reports",
- "bin/install_deps.pl"
],
"share_dir" => {
"dist" => "share"

@ -1,89 +0,0 @@
diff -Naur Mail-IMAPClient-3.38/Makefile.PL Mail-IMAPClient-3.38/Makefile.PL
--- Mail-IMAPClient-3.38/Makefile.PL
+++ Mail-IMAPClient-3.38/Makefile.PL
@@ -4,39 +4,6 @@
use 5.008_001;
-my @missing;
-my %optional = (
- "Authen::NTLM" => { for => "Authmechanism 'NTLM'" },
- "Authen::SASL" => { for => "Authmechanism 'DIGEST-MD5'" },
- "Compress::Zlib" => { for => "COMPRESS DEFLATE support" },
- "Digest::HMAC_MD5" => { for => "Authmechanism 'CRAM-MD5'" },
- "Digest::MD5" => { for => "Authmechanism 'DIGEST-MD5'" },
- "IO::Socket::SSL" => { for => "SSL enabled connections (Ssl => 1)" },
- "Test::Pod" => { for => "Pod tests", ver => "1.00" },
-);
-
-foreach my $mod ( sort keys %optional ) {
- my $for = $optional{$mod}->{"for"} || "";
- my $ver = $optional{$mod}->{"ver"} || "";
- eval "use $mod $ver ();";
- push @missing, $mod . ( $for ? " for $for" : "" ) if $@;
-}
-
-# similar message to one used in DBI:
-if (@missing) {
- print( "The following optional modules were not found:",
- map( "\n\t" . $_, @missing ), "\n" );
-
- print <<'MSG';
-Optional modules are available from any CPAN mirror, reference:
- http://search.cpan.org/
- http://www.perl.com/CPAN/modules/by-module
- http://www.perl.org/CPAN/modules/by-module
-
-MSG
- sleep 3;
-}
-
# HACK: die on broken Parse::RecDescent 1.966002 through 1.967009
# - rt.cpan.org#74593: Recent changes break Module::ExtractUse and ...
# - rt.cpan.org#74733: Fails with Parse::RecDescent >= 1.966_002
@@ -94,45 +61,4 @@
clean => { FILES => 'test.txt' },
);
-set_test_data();
-
exit 0;
-
-###
-### HELPERS
-###
-
-sub set_test_data {
- unless ( -f "lib/Mail/IMAPClient.pm" ) {
- warn("ERROR: not in installation directory\n");
- return;
- }
-
- if ( -s "./test.txt" ) {
- print("The file test.txt will be used for extended tests.\n");
- return;
- }
-
- print <<EOF;
-
-(OPTIONAL) For extended tests during 'make test', create a file
-'test.txt' in the top level directory of this distribution (the same
-directory as the Makefile.PL, etc.). This file must contain an IMAP
-server name or IP (server=...), a user account (user=...), and a
-password (passed=...). A port (port=....) and an authentication
-mechanism to be used (authmechanism=...) can also be specified.
-
-Example:
-
---- BEGIN: test.txt ---
-server=localhost
-user=mytestuser
-passed=mypassword
-port=143
---- END: test.txt ---
-
-NOTE: When testing is completed, be sure to remove test.txt (either by
-hand or by 'make clean').
-
-EOF
-}

Binary file not shown.

@ -0,0 +1,29 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="A Python package that generates fake data for you"
HOMEPAGE="https://github.com/joke2k/faker"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
>=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
>=dev-python/text-unidecode-1.3[${PYTHON_USEDEP}]
!dev-ruby/faker"
BDEPEND="
test? (
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP},tiff]
dev-python/random2[${PYTHON_USEDEP}]
dev-python/validators[${PYTHON_USEDEP}]
)"
distutils_enable_tests pytest

@ -1 +1,2 @@
DIST Faker-9.8.1.tar.gz 1198229 BLAKE2B 8877a9da582fcd81b8b374c344343c9ba4a21d1cd0160694300030b2ace4b7b517fb8a62c1f0ffeacf3a950703b882ff5b484d54fdabc5b9c8b49658c45d421f SHA512 a93d625311358100c7a1dfe33dfda64b5890dd25e8d6e3dd095329ab2156c76abf3f00fe6b2c335316bbe3f42322adda2bcae3a9a312ddf4778d8143796667a0
DIST Faker-9.8.2.tar.gz 1198270 BLAKE2B 1a7ea02b43afe0ff494ee39dac4259e9eb67fa3230b9b5744a96b4913ac471ed3ccf29f91b2db02124dfefc232a9fae05ce7ddc6e9fd0cbf27bd94468a7702b6 SHA512 37a35a02ea81a871e77378ceecdd65a63c97dd82ba9aec04c2a8f7a827e5bdb264a6ed0927c534a67bf4b06886dcb2a98a188798fe7c860135deb8d6aa6e36e3

Binary file not shown.

@ -1,5 +1 @@
DIST aesara-rel-2.2.2.tar.gz 8174668 BLAKE2B c95347e8b74f6600c3570177f86b7ebd7511899ed0ceb24a2d79a03a44ee498a8062b92fb79867f59b609f66315704ee92e28e12a5ab600d54d0d35ef799b66b SHA512 d5f62e42c36100b2fd25eba492590eb306b1394aa01bf2e90d43e84ac67701e5b756be6bc08d0e6b82fb1f37689dbbba1d7ef67c8525555a700a634d742056bb
DIST aesara-rel-2.2.3.tar.gz 8179701 BLAKE2B 53ef58d6f0ab33e7efe3d0eaa2b55153a2ab29c958b48f52f814fecf7f5fa65424465470cde0ebb8d2ef1ced6968fd01217d9f7bd61acc8843cde1a9c0a94cbe SHA512 21414230c0be2c31e08fd371ee69c3bb7098b2134a5aec006abeca00a333e025fcbfd10ebdcbf54d243e1bc8c45f301a2c3443531ba5eaf0fe3a1ac5645ae4f5
DIST aesara-rel-2.2.4.tar.gz 8180599 BLAKE2B 2b5e6ce0b0cbf0405d312f5b7c842057f05378c240c4dd36818c1b9d1b57667494c2472537e039ab16fac702a30a692bba5c8d5fc8801eb0c7e492d7f8e059b3 SHA512 3e0fe0cfa37f3b597ab94778dca60368aedbf9df79b4bb79812a190d77743addd1ddf5f234bf62c2dd744054204f03b84b358d0c58c27c28829b8fbe919bd151
DIST aesara-rel-2.2.5.tar.gz 8180714 BLAKE2B 8c94d26df9244c95a58dcf0c7f8d733841f25aad63046b12264e8081bbb5a7debad82f48dc9b3119c87d8d4709f9016205aeff025235fce2dc381832c9f5a312 SHA512 9b28163277b358ebb5bc4d77d7fb9f0e47c4aad3eb92de4702148990fb7cd367c67e42d161465129695869a6c23f31251705c6a24ebd36f048259d70c32f9a65
DIST aesara-rel-2.2.6.tar.gz 8180674 BLAKE2B 6d2c237a748aeee524e4182c47b17a9f7e7325d94410f8c9d7e3dea1d22306dbaa32be1b6f3c471baffad30527451772c08eaaed4494bcceba1759e9f7e9c837 SHA512 360f280fb997b33fbcef08a278816e51b26e8ba4f6d9b0681984394f293d342b498d4633d5efc1b92d64b056b4cd63b918ea7dd46d00aa78519e00919586f842

@ -1,70 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1 multiprocessing optfeature
MY_P=aesara-rel-${PV}
DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
HOMEPAGE="https://github.com/aesara-devs/aesara"
SRC_URI="https://github.com/aesara-devs/aesara/archive/rel-${PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 x86"
RDEPEND="
dev-python/filelock[${PYTHON_USEDEP}]
>=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]"
BDEPEND="
test? (
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)"
distutils_enable_sphinx doc 'dev-python/sphinx_rtd_theme'
distutils_enable_tests pytest
python_prepare_all() {
sed -i -e "s/tests.\*/tests\*/" setup.py || die
distutils-r1_python_prepare_all
}
python_test() {
local exclude=(
# speed tests are unreliable
tests/scan/test_basic.py::test_speed
tests/scan/test_basic.py::test_speed_rnn
tests/scan/test_basic.py::test_speed_batchrnn
tests/link/test_vm.py::test_speed
tests/link/test_vm.py::test_speed_lazy
tests/tensor/test_gc.py::test_merge_opt_runtime
# rounding problem?
# https://github.com/aesara-devs/aesara/issues/477
tests/tensor/test_math_scipy.py::TestGammaUBroadcast::test_good
tests/tensor/test_math_scipy.py::TestGammaUInplaceBroadcast::test_good
)
distutils_install_for_testing
# we do not package numba
epytest ${exclude[@]/#/--deselect } \
--ignore tests/link/test_numba.py \
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
}
# https://dev.gentoo.org/~mgorny/python-guide/concept.html#packaging-pkgutil-style-namespaces-in-gentoo
python_install() {
rm "${BUILD_DIR}"/lib/bin/__init__.py || die
distutils-r1_python_install
}
pkg_postinst() {
optfeature "GPU code generation/execution on NVIDIA gpus" dev-util/nvidia-cuda-toolkit dev-util/nvidia-cuda-sdk
optfeature "GPU/CPU code generation on CUDA and OpenCL devices" dev-libs/libgpuarray dev-python/pycuda
}

@ -1,70 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1 multiprocessing optfeature
MY_P=aesara-rel-${PV}
DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
HOMEPAGE="https://github.com/aesara-devs/aesara"
SRC_URI="https://github.com/aesara-devs/aesara/archive/rel-${PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
dev-python/filelock[${PYTHON_USEDEP}]
>=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]"
BDEPEND="
test? (
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)"
distutils_enable_sphinx doc 'dev-python/sphinx_rtd_theme'
distutils_enable_tests pytest
python_prepare_all() {
sed -i -e "s/tests.\*/tests\*/" setup.py || die
distutils-r1_python_prepare_all
}
python_test() {
local exclude=(
# speed tests are unreliable
tests/scan/test_basic.py::test_speed
tests/scan/test_basic.py::test_speed_rnn
tests/scan/test_basic.py::test_speed_batchrnn
tests/link/test_vm.py::test_speed
tests/link/test_vm.py::test_speed_lazy
tests/tensor/test_gc.py::test_merge_opt_runtime
# rounding problem?
# https://github.com/aesara-devs/aesara/issues/477
tests/tensor/test_math_scipy.py::TestGammaUBroadcast::test_good
tests/tensor/test_math_scipy.py::TestGammaUInplaceBroadcast::test_good
)
distutils_install_for_testing
# we do not package numba
epytest ${exclude[@]/#/--deselect } \
--ignore tests/link/test_numba.py \
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
}
# https://dev.gentoo.org/~mgorny/python-guide/concept.html#packaging-pkgutil-style-namespaces-in-gentoo
python_install() {
rm "${BUILD_DIR}"/lib/bin/__init__.py || die
distutils-r1_python_install
}
pkg_postinst() {
optfeature "GPU code generation/execution on NVIDIA gpus" dev-util/nvidia-cuda-toolkit dev-util/nvidia-cuda-sdk
optfeature "GPU/CPU code generation on CUDA and OpenCL devices" dev-libs/libgpuarray dev-python/pycuda
}

@ -1,70 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1 multiprocessing optfeature
MY_P=aesara-rel-${PV}
DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
HOMEPAGE="https://github.com/aesara-devs/aesara"
SRC_URI="https://github.com/aesara-devs/aesara/archive/rel-${PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
dev-python/filelock[${PYTHON_USEDEP}]
>=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]"
BDEPEND="
test? (
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)"
distutils_enable_sphinx doc 'dev-python/sphinx_rtd_theme'
distutils_enable_tests pytest
python_prepare_all() {
sed -i -e "s/tests.\*/tests\*/" setup.py || die
distutils-r1_python_prepare_all
}
python_test() {
local exclude=(
# speed tests are unreliable
tests/scan/test_basic.py::test_speed
tests/scan/test_basic.py::test_speed_rnn
tests/scan/test_basic.py::test_speed_batchrnn
tests/link/test_vm.py::test_speed
tests/link/test_vm.py::test_speed_lazy
tests/tensor/test_gc.py::test_merge_opt_runtime
# rounding problem?
# https://github.com/aesara-devs/aesara/issues/477
tests/tensor/test_math_scipy.py::TestGammaUBroadcast::test_good
tests/tensor/test_math_scipy.py::TestGammaUInplaceBroadcast::test_good
)
distutils_install_for_testing
# we do not package numba
epytest ${exclude[@]/#/--deselect } \
--ignore tests/link/test_numba.py \
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
}
# https://dev.gentoo.org/~mgorny/python-guide/concept.html#packaging-pkgutil-style-namespaces-in-gentoo
python_install() {
rm "${BUILD_DIR}"/lib/bin/__init__.py || die
distutils-r1_python_install
}
pkg_postinst() {
optfeature "GPU code generation/execution on NVIDIA gpus" dev-util/nvidia-cuda-toolkit dev-util/nvidia-cuda-sdk
optfeature "GPU/CPU code generation on CUDA and OpenCL devices" dev-libs/libgpuarray dev-python/pycuda
}

@ -1,70 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1 multiprocessing optfeature
MY_P=aesara-rel-${PV}
DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
HOMEPAGE="https://github.com/aesara-devs/aesara"
SRC_URI="https://github.com/aesara-devs/aesara/archive/rel-${PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
dev-python/filelock[${PYTHON_USEDEP}]
>=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]"
BDEPEND="
test? (
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)"
distutils_enable_sphinx doc 'dev-python/sphinx_rtd_theme'
distutils_enable_tests pytest
python_prepare_all() {
sed -i -e "s/tests.\*/tests\*/" setup.py || die
distutils-r1_python_prepare_all
}
python_test() {
local exclude=(
# speed tests are unreliable
tests/scan/test_basic.py::test_speed
tests/scan/test_basic.py::test_speed_rnn
tests/scan/test_basic.py::test_speed_batchrnn
tests/link/test_vm.py::test_speed
tests/link/test_vm.py::test_speed_lazy
tests/tensor/test_gc.py::test_merge_opt_runtime
# rounding problem?
# https://github.com/aesara-devs/aesara/issues/477
tests/tensor/test_math_scipy.py::TestGammaUBroadcast::test_good
tests/tensor/test_math_scipy.py::TestGammaUInplaceBroadcast::test_good
)
distutils_install_for_testing
# we do not package numba
epytest ${exclude[@]/#/--deselect } \
--ignore tests/link/test_numba.py \
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
}
# https://dev.gentoo.org/~mgorny/python-guide/concept.html#packaging-pkgutil-style-namespaces-in-gentoo
python_install() {
rm "${BUILD_DIR}"/lib/bin/__init__.py || die
distutils-r1_python_install
}
pkg_postinst() {
optfeature "GPU code generation/execution on NVIDIA gpus" dev-util/nvidia-cuda-toolkit dev-util/nvidia-cuda-sdk
optfeature "GPU/CPU code generation on CUDA and OpenCL devices" dev-libs/libgpuarray dev-python/pycuda
}

@ -14,7 +14,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
KEYWORDS="amd64 ~arm ~arm64 x86"
RDEPEND="
dev-python/filelock[${PYTHON_USEDEP}]

@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 sparc x86"
KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 sparc x86"
RDEPEND="
>=dev-python/idna-2.8[${PYTHON_USEDEP}]

@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos"
RDEPEND="
>=dev-python/click-8.0.0[${PYTHON_USEDEP}]

@ -2,3 +2,4 @@ DIST boto3-1.18.65.tar.gz 429858 BLAKE2B fbc80e0d8d10f6d02fcf9b86c6b4be03a9c9083
DIST boto3-1.19.12.tar.gz 436654 BLAKE2B f92e756bc9f98105e3126e41cf0d6fab948bbd79f088ee4e0f0f5f319d4a6e542c0702b487404b316f794b304c43f9c26da026257476341971a7ce241538f506 SHA512 e6b20730f35bb422a2f74e978adc0bac77aa18b4e80eab5175dc117cf2762a7d8e53d390c50df24dada6f1d071d78309c69598ffb3f8d93fd45a3d1f772a866f
DIST boto3-1.19.5.tar.gz 433567 BLAKE2B 52c12a4dd18d6f02326f8002b345cc5df224455fc862daa700326ae1df258979211d2753f01e1a106f237de393e483dc8926bb4ef0e08bafa575f20811dccd55 SHA512 fad05102f0c3e7e30a3342009f6b3ae28f52758f17a0c22b4da9a03dd10d7f9149ea2ec0119f55ec7280824bd8173653271821e82fcd54ef9fb9161b2d62df70
DIST boto3-1.20.5.tar.gz 439166 BLAKE2B c140e15e497e6cdf6b4b77bb99e0a0f5ac01d5b5793f8bfb210b52bbc09e39e6fe06a957951375e0795210dc1c3b2a0afd2f498bc88e449d9e6846f2b357f016 SHA512 2823466e4851684253d4ce42a8c34e5cbdad6d04c823040fe2cebdf0cffb14d5d3f40e28d57ebec14533fab04ba74f27c25f078ddb8791b8f52d0424e11b39fc
DIST boto3-1.20.6.tar.gz 440133 BLAKE2B b154714261372cebb8643d529b66fe3a42d30e056cf2a454092d598c51d0cdef723980834be6a36abb892d3022ae8ef67053b22bb176f540e67c3f37422155d8 SHA512 d8d66a761f03beeca10fea8446de1136d418a93b21065aebfefcafe2abfd9b5bbfa243594f54647ad80547e48348086e2be2de129b89f9ca71f308579f11a0b7

@ -0,0 +1,59 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="The AWS SDK for Python"
HOMEPAGE="https://github.com/boto/boto3"
LICENSE="Apache-2.0"
SLOT="0"
if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/boto/boto3"
inherit git-r3
BOTOCORE_PV=${PV}
else
SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
# botocore is x.(y+3).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
fi
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
>=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.3.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
)
"
distutils_enable_sphinx docs/source \
'dev-python/guzzle_sphinx_theme'
distutils_enable_tests pytest
python_prepare_all() {
# don't lock versions to narrow ranges
sed -e '/botocore/ d' \
-e '/jmespath/ d' \
-e '/s3transfer/ d' \
-i setup.py || die
# 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
distutils-r1_python_prepare_all
}
python_test() {
epytest tests/{functional,unit}
}

@ -2,3 +2,4 @@ DIST botocore-1.21.65.tar.gz 8261668 BLAKE2B c955019d06aa1b2f4503673b7d9009e5d6e
DIST botocore-1.22.12.tar.gz 8343683 BLAKE2B df7b2c86f226df14dc8181e8506acc7dd660797311049e2342ec721e853af1158c845749a8143ec6677601420ce6140173da8df5d9e4550cdf9becfc944ebd3c SHA512 0ab78902711960f8373a91af379b4981ab29646cc9f94e49836deaa432695c503879ed0bbbf54e3641e50933b5ed658e48052ca2b8b8391f705284d9abd24c1f
DIST botocore-1.22.5.tar.gz 8301083 BLAKE2B 91f9d38e7c5bcb0b8f58c04547ad45489f58d2240c6b7301cf632969a4a73cf4a1d51c8c68c8def27653c10041d2163ad7ca800dcf6fd07972b506bf2566cae3 SHA512 710a9eeee03dc79ca4ffacc4974f09ca769e1e3b8cb143f6f0349240dd8c2af8ee526a1dadb7310a26019363f683fc4149cb4c73d8b94a856a384fab7f84fb5c
DIST botocore-1.23.5.tar.gz 8374467 BLAKE2B 467092e7d8aa5ccb756132669049865445a47205913964c1c944b20caaf100b1efdd1bf3af9c5416ff079b487e6d4d08ffe6208e2b352d09655cc5be21c88739 SHA512 6afca19b724f9019f21e5993ce970d605b95d31c1a4e969ec1b4080510a5a120b3fa0cfd5ade973a9203bd6b7983a3dbca2f7a03108a9167392efd60d5e2fe9b
DIST botocore-1.23.6.tar.gz 8387968 BLAKE2B 415a177d591a0ef369f17b8f02563be0fb53bc4e65c2767f41ca11300939585a10146874b6ac5297cdd3dcb36cf6fd2065fd09f3c612c4ba1d954b03a5b15579 SHA512 a46e45b7bb67d7c4bcc5508f38448b9ed3778ed6b6080239459b22b7f753adaf12e8d64496f7d7c71b33bb17ae1744000e9269ea0f545286e56fabe39e7f0340

@ -0,0 +1,64 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="Low-level, data-driven core of boto 3"
HOMEPAGE="https://github.com/boto/botocore"
LICENSE="Apache-2.0"
SLOT="0"
if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/boto/botocore"
inherit git-r3
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
dev-python/jmespath[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
>=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/jsonschema[${PYTHON_USEDEP}]
)
"
PATCHES=(
"${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch"
)
distutils_enable_sphinx docs/source \
'dev-python/guzzle_sphinx_theme'
distutils_enable_tests pytest
src_prepare() {
# unpin deps
sed -i -e "s:>=.*':':" setup.py || die
# unbundle deps
rm -r botocore/vendored || die
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=(
# rely on bundled six
tests/functional/test_six_imports.py::test_no_bare_six_imports
tests/functional/test_six_threading.py::test_six_thread_safety
)
epytest tests/{functional,unit}
}

@ -1,33 +0,0 @@
From 6a899a9174c8008ba5fb576238ea4d7c970453c3 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Tue, 14 Jan 2020 15:29:43 +0000
Subject: [PATCH] service: Adjust to deprecation of collections.Sequence
Since Python 3.3 the recommended location is collections.abc.Sequence,
and the collections.Sequence alias will be removed in 3.9.
Signed-off-by: Simon McVittie <smcv@collabora.com>
---
dbus/service.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dbus/service.py b/dbus/service.py
index fd57054..0c8695a 100644
--- a/dbus/service.py
+++ b/dbus/service.py
@@ -32,7 +32,11 @@ import sys
import logging
import threading
import traceback
-from collections import Sequence
+try:
+ from collections.abc import Sequence
+except ImportError:
+ # Python 2 (and 3.x < 3.3, but we don't support those)
+ from collections import Sequence
import _dbus_bindings
from dbus import (
--
2.26.2

@ -14,7 +14,7 @@ HOMEPAGE="
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 sparc x86"
KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 sparc x86"
SLOT="0"
BDEPEND="

@ -1 +1,2 @@
DIST django-allauth-0.45.0.tar.gz 581007 BLAKE2B a0f586818e4d17ece5ed009481b71c0213bf265f45d391664d411268d53124c1d5df226ca40d98722691ace5f5ed50026b0a9db3bd34070ff855059bf3e237d6 SHA512 16b166a5f97e62fef3c801af17b6b7569bd27e597cec394032a2644397afc30512f52f0ff77af8036e414086cd207dc9f5d310dbc744627b55938243ba18e50f
DIST django-allauth-0.46.0.tar.gz 643238 BLAKE2B 91534f596e3fa2e6fa5e395bded16a793ccbec994a3099eef22980920013280f58b2204d226975c2fe7a7e2066b665789881a9bcc6d2342f70a9eb0b83c32f6c SHA512 8e89d6d6a10566e40f71845885c30c36994aef3ff9054731a7582484d12ff4c7df7903617777698e42838337ae436c41a59a318acc1d2fc0561883683f79df46

@ -0,0 +1,44 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="Django 3rd party (social) account authentication"
HOMEPAGE="
https://www.intenct.nl/projects/django-allauth/
https://github.com/pennersr/django-allauth/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
# cryptography via pyjwt[crypto]
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/django[${PYTHON_USEDEP}]
dev-python/pyjwt[${PYTHON_USEDEP}]
dev-python/python3-openid[${PYTHON_USEDEP}]
dev-python/requests-oauthlib[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]"
BDEPEND="
test? ( ${RDEPEND} )"
DOCS=( README.rst AUTHORS ChangeLog.rst )
src_test() {
# cern provider tests require Internet
rm allauth/socialaccount/providers/cern/tests.py || die
distutils-r1_src_test
}
python_test() {
local -x DJANGO_SETTINGS_MODULE=test_settings
local -x PYTHONPATH=.
django-admin test -v 2 || die "Tests failed with ${EPYTHON}"
}

@ -1,78 +0,0 @@
From 812793c07d3202d3f5bc39091aec2e7071d000c8 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Sun, 1 Jan 2012 19:30:57 +0100
Subject: [PATCH] Use shipped sgmllib for Python 3.x
---
feedparser/feedparser.py | 19 +++----------------
setup.py | 2 +-
2 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/feedparser/feedparser.py b/feedparser/feedparser.py
index 8275c29..9a8a053 100644
--- a/feedparser/feedparser.py
+++ b/feedparser/feedparser.py
@@ -204,17 +204,9 @@ else:
try:
import sgmllib
except ImportError:
- # This is probably Python 3, which doesn't include sgmllib anymore
- _SGML_AVAILABLE = 0
+ import _feedparser_sgmllib as sgmllib
- # Mock sgmllib enough to allow subclassing later on
- class sgmllib(object):
- class SGMLParser(object):
- def goahead(self, i):
- pass
- def parse_starttag(self, i):
- pass
-else:
+if True:
_SGML_AVAILABLE = 1
# sgmllib defines a number of module-level regular expressions that are
@@ -2520,9 +2512,6 @@ class _RelativeURIResolver(_BaseHTMLProcessor):
_BaseHTMLProcessor.unknown_starttag(self, tag, attrs)
def _resolveRelativeURIs(htmlSource, baseURI, encoding, _type):
- if not _SGML_AVAILABLE:
- return htmlSource
-
p = _RelativeURIResolver(baseURI, encoding, _type)
p.feed(htmlSource)
return p.output()
@@ -2803,8 +2792,6 @@ class _HTMLSanitizer(_BaseHTMLProcessor):
def _sanitizeHTML(htmlSource, encoding, _type):
- if not _SGML_AVAILABLE:
- return htmlSource
p = _HTMLSanitizer(encoding, _type)
htmlSource = htmlSource.replace('<![CDATA[', '&lt;![CDATA[')
p.feed(htmlSource)
@@ -3890,7 +3877,7 @@ def parse(url_file_stream_or_string, etag=None, modified=None, agent=None, refer
result['bozo'] = 1
result['bozo_exception'] = feedparser.exc or e
use_strict_parser = 0
- if not use_strict_parser and _SGML_AVAILABLE:
+ if not use_strict_parser:
feedparser = _LooseFeedParser(baseuri, baselang, 'utf-8', entities)
feedparser.feed(data.decode('utf-8', 'replace'))
result['feed'] = feedparser.feeddata
diff --git a/setup.py b/setup.py
index a4a60fe..8c15451 100644
--- a/setup.py
+++ b/setup.py
@@ -16,7 +16,7 @@ setup(
download_url = 'https://pypi.python.org/pypi/feedparser',
platforms = ['POSIX', 'Windows'],
package_dir = {'': 'feedparser'},
- py_modules = ['feedparser'],
+ py_modules = ['feedparser', '_feedparser_sgmllib'],
keywords = ['atom', 'cdf', 'feed', 'parser', 'rdf', 'rss'],
classifiers = [
'Development Status :: 5 - Production/Stable',
--
1.7.8.1

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 sparc x86"
KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 sparc x86"
RDEPEND="
dev-python/intreehooks[${PYTHON_USEDEP}]

@ -11,7 +11,7 @@ DESCRIPTION="Fuzzy string matching in python"
HOMEPAGE="https://github.com/seatgeek/fuzzywuzzy"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 sparc x86"
KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 sparc x86"
LICENSE="GPL-2"
SLOT="0"

@ -15,7 +15,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
KEYWORDS="~alpha amd64 ~arm arm64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="doc examples test"
RESTRICT="!test? ( test )"

@ -1,3 +1,4 @@
DIST graphviz-0.17.zip 193647 BLAKE2B f2f5ad728157d60c48964d2cfdc76559310af6099a9eae16279b0f9e8a41c08d02d5f255be62222c1f0808750a26e67822b5fbb930f7ada5c6a614c3607494cd SHA512 02f5ef21f9e3bf3b609f43fe0d9cb51632ea43c878055746af62fda4dd55883f6ad58f69faecb6aba552100cc835901309c8c2ec833cd74c617619fce2d49600
DIST graphviz-0.18.1.zip 204937 BLAKE2B 4fa847aeb9683fc8244a01f8bd240fea29130cbaefbaa60c8fac3a735fda1d400afea01a4b79a4a5dc1cbb0d9759b613c877953d580d73c6329aa4f52fff5f8f SHA512 88b0771988643ac870a53a31afb5c947a42fb54c930cbf759dde10a4405f85798e0bea96189019e1fc958db2679b936e42a478116719ce41f618c6b7e3334aa2
DIST graphviz-0.18.2.zip 205555 BLAKE2B d245dcd33a7779f00bb9e740968175d4fbe12d3182682b548f447e2c4ce4423683c3fd2727aa693a5e9c264cfdeed603af9a7bc9839f8d91f5fc091045473146 SHA512 f18defc99411b0b12a8326589da603197d345f458d4b0d602e63205f8542fdf4bec636750ac0fc5551126dff4cd76ce04fc089c0985831a1efec3271a7f22230
DIST graphviz-0.18.zip 199876 BLAKE2B 355478a4341fb5a286b7419a6799c809f7489f80911e21d94be8d63c957ed9952d5f72b1aac6258fb8b3146424c61de64085fd02c0da14b8b4c6fd447568fb92 SHA512 56eb4252076ddb4fd3ad691199e67d58dab766828d9c80403df60cda80cd58cbb04f96edbacef674300f4f63eace0144322c73501737342c797fb7b9a203a722

@ -0,0 +1,33 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="Simple Python interface for Graphviz"
HOMEPAGE="https://graphviz.readthedocs.io/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
LICENSE="MIT"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
SLOT="0"
RDEPEND="media-gfx/graphviz"
BDEPEND="
app-arch/unzip
test? (
>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
>=dev-python/pytest-mock-1.8[${PYTHON_USEDEP}]
media-gfx/graphviz[gts,pdf]
)
"
distutils_enable_tests pytest
src_prepare() {
sed -e 's:--cov --cov-report=term --cov-report=html::' \
-i setup.cfg || die
distutils-r1_src_prepare
}

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

Loading…
Cancel
Save