Sync with portage [Mon Oct 25 20:38:11 MSK 2021].

akrasnyh 2110
root 3 years ago
parent 6e633026e2
commit 6068ddaf91

Binary file not shown.

Binary file not shown.

@ -0,0 +1,21 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="clog is a colorized log tail utility"
HOMEPAGE="https://taskwarrior.org/docs/clog/"
SRC_URI="https://gothenburgbitfactory.org/download/${P}.tar.gz"
KEYWORDS="~amd64 ~x86 ~x64-macos"
LICENSE="MIT"
SLOT="0"
RESTRICT="test" # No test suite on tar.gz
src_prepare() {
default
sed -i -e 's|share/doc/clog|share/clog|' CMakeLists.txt || die
cmake_src_prepare
}

@ -1,14 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils
DESCRIPTION="clog is a colorized log tail utility"
HOMEPAGE="https://taskwarrior.org/docs/clog/"
SRC_URI="https://tasktools.org/download/${P}.tar.gz"
KEYWORDS="~amd64 ~x86 ~x64-macos"
LICENSE="MIT"
SLOT="0"

Binary file not shown.

@ -0,0 +1 @@
DIST adcli-0.9.1.tar.bz2 89684 BLAKE2B deaf6d3a13ad29c77a35b9f9c195dd646f384ad7c9782c15b50b26efceabae268bbb287d488ec7ed8d783d92ce7d8399f05898d30201d0d7fab7c0369c22fce1 SHA512 7e41fb51bfcb8837f9e5f6fd1fceacece0762c237dbc0f58dd581e2be8841d7a613d57507aea4534a66a2bd10ef4d01c4e04885437038c71238739db6e357d6e

@ -0,0 +1,35 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools
DESCRIPTION="Tool for performing actions on an Active Directory domain"
HOMEPAGE="https://www.freedesktop.org/software/realmd/adcli/adcli.html"
SRC_URI="https://gitlab.freedesktop.org/realmd/adcli/-/archive/${PV}/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc"
DEPEND="
app-crypt/mit-krb5
net-nds/openldap[sasl]"
RDEPEND="${DEPEND}"
BDEPEND="
doc? (
app-text/docbook-xml-dtd:4.3
app-text/xmlto
dev-libs/libxslt
)"
src_prepare() {
default
eautoreconf
}
src_configure() {
econf $(use_enable doc)
}

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>henning@hennsch.de</email>
<name>Henning Schild</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="gitlab">https://gitlab.freedesktop.org/realmd/adcli</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<!-- maintainer-needed -->
</pkgmetadata>

@ -1,7 +1,7 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=8
DESCRIPTION="Free (Y)unicode text editor for all unices"
HOMEPAGE="http://www.yudit.org/"
@ -12,10 +12,11 @@ SLOT="0"
KEYWORDS="amd64 x86"
RDEPEND="x11-libs/libX11"
DEPEND="${RDEPEND}
>=sys-devel/gettext-0.10"
DEPEND="${RDEPEND}"
BDEPEND="sys-devel/gettext"
src_prepare() {
default
#Don't strip binaries, let portage do that.
sed -i "/^INSTALL_PROGRAM/s: -s::" Makefile.conf.in || die "sed failed"
}

Binary file not shown.

@ -116,9 +116,10 @@ BDEPEND="lua? ( ${LUA_DEPS} )"
DOCS=( AUTHORS BUGS ChangeLog HACKING README TODO )
#PATCHES=(
# "${FILESDIR}"/${MY_PV_1}/
#)
PATCHES=(
#"${FILESDIR}"/${MY_PV_1}/
"${FILESDIR}"/1.44/
)
pkg_setup() {
CONFIG_CHECK="~KVM ~VIRTIO"

Binary file not shown.

@ -1,3 +1,4 @@
DIST eselect-php-0.9.6.tar.xz 53236 BLAKE2B 38478d4792f8a527e5f519abd7765211aff8c1d132ceeba5eec70ea3b8d1f254be52564334fed3840950c2461ff4a30784b92fbb8b21cc448083617797eab1d4 SHA512 d3f14288b3493cb48717c1f27430ae8b60881e9f6f48e4b7644a4596d9fc1b9823a6af8b7101a62b28a92e3bff164b1717617a2642a5bb02e8dd46de56d4f410
DIST eselect-php-0.9.7.tar.bz2 8460 BLAKE2B 160c87d1373b10cb2bd2d48210c7382f721433fb45557d0a5336af0ea25a1a49b151bcbbcf253947e6a5018b5740e8f9f9b1a66544bd74539a4e54aeab047a74 SHA512 f6c909906228906bc75be24bdf69330db10b0ea84822a5a016a185ac2855eec34bf6cb0bdaf22f3edc331002e72c8ae56733e1ea13cf815948a7a58439240fa9
DIST eselect-php-0.9.7.tar.xz 54124 BLAKE2B e704935046687de6aa52d1900c207a48c79bcb0122506d001bf63ebb76b8144f19b2439daa34fd8da942a5eb4ce942e9b5562e5446ba5b7f62c247470c72018b SHA512 9f4ec72e6ca82fc0d9652f8f55d8bb626dd04a2881cb74d6c63db7ac095ed8ae170fe33ed34a4a76afc9a436114ad23c6981c0dad5afdce8f09c9c0026163bed
DIST eselect-php-0.9.8.tar.xz 62048 BLAKE2B 7938053be5d3893d1b3b399decb9fb90ecc1d266edcee7192511c63ccdd21fb0e7deac2b654db3dc05f56de7c757bb34ed813a026fc711adc4ab05b373f3d275 SHA512 c947d303dc0406539017f3779a7ee1e51e670ce73a47e1a6722f8403573a5dae0825c3b6932d12123bab77187a515023b69fc771f24522480e74fa0287377c3c

@ -0,0 +1,39 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
TMPFILES_OPTIONAL="yes"
inherit tmpfiles
DESCRIPTION="PHP eselect module"
HOMEPAGE="https://gitweb.gentoo.org/proj/eselect-php.git/"
SRC_URI="https://dev.gentoo.org/~grknight/distfiles/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="fpm apache2"
# The "DirectoryIndex" line in 70_mod_php.conf requires mod_dir.
RDEPEND="app-admin/eselect
apache2? ( www-servers/apache[apache2_modules_dir] )
fpm? ( virtual/tmpfiles )"
src_configure() {
# We expect localstatedir to be "var"ish, not "var/lib"ish, because
# that's what PHP upstream expects. See for example the FPM
# configuration where they put logs in @localstatedir@/log.
#
# The libdir is passed explicitly in case the /usr/lib symlink
# is not present (bug 624528).
econf --libdir="${EPREFIX}/usr/$(get_libdir)" \
--localstatedir="${EPREFIX}/var" \
--with-piddir="${EPREFIX}/run" \
$(use_enable apache2) \
$(use_enable fpm)
}
pkg_postinst() {
use fpm && tmpfiles_process php-fpm.conf
}

Binary file not shown.

@ -0,0 +1,88 @@
From 26630cebf4dd70d38d56b018680916c75ed0eb61 Mon Sep 17 00:00:00 2001
From: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Date: Sun, 7 Mar 2021 14:19:18 -0600
Subject: [PATCH] Set PAM_TTY
Fixes issue with pam_securetty.so being unable to authenticate due to
unknown TTY.
Bug: https://bugs.gentoo.org/774729
Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
---
main.c | 7 +++++++
physlock.h | 1 +
vt.c | 6 ++++++
3 files changed, 14 insertions(+)
diff --git a/main.c b/main.c
index 9287802..8bf064c 100644
--- a/main.c
+++ b/main.c
@@ -27,6 +27,7 @@
#include <pwd.h>
#include <signal.h>
#include <security/pam_misc.h>
+#include <security/pam_modules.h>
static int oldvt;
static vt_t vt;
@@ -175,6 +176,12 @@ int main(int argc, char **argv) {
}
vt_secure(&vt);
+ /* Attempt to set PAM_TTY to the current VT, fixes #110 */
+ u->pam_status = pam_set_item(u->pamh, PAM_TTY, vt.vt_name);
+ if (u->pam_status != PAM_SUCCESS) {
+ error(EXIT_FAILURE, 0, "Unable to set PAM_TTY: %s", pam_strerror(u->pamh, u->pam_status));
+ }
+
dup2(vt.fd, 0);
dup2(vt.fd, 1);
dup2(vt.fd, 2);
diff --git a/physlock.h b/physlock.h
index d08c829..9964f36 100644
--- a/physlock.h
+++ b/physlock.h
@@ -85,6 +85,7 @@ typedef struct vt_s {
int nr;
FILE *ios;
int fd;
+ char *vt_name;
struct termios term;
struct termios term_orig;
} vt_t;
diff --git a/vt.c b/vt.c
index 648b6a0..7431c8f 100644
--- a/vt.c
+++ b/vt.c
@@ -79,6 +79,7 @@ void vt_acquire(vt_t *vt) {
vt->nr = -1;
vt->ios = NULL;
vt->fd = -1;
+ vt->vt_name = NULL;
while ((ret = ioctl(fd, VT_OPENQRY, &vt->nr)) == -1 && errno == EINTR);
if (ret == -1)
@@ -89,6 +90,7 @@ void vt_acquire(vt_t *vt) {
if (vt->ios == NULL)
error(EXIT_FAILURE, errno, "%s", filename);
vt->fd = fileno(vt->ios);
+ vt->vt_name = estrdup(filename);
while ((ret = ioctl(fd, VT_ACTIVATE, vt->nr)) == -1 && errno == EINTR);
if (ret == -1)
@@ -139,6 +141,10 @@ CLEANUP int vt_release(vt_t *vt, int nr) {
}
vt->nr = -1;
}
+
+ if (vt->vt_name != NULL) {
+ free(vt->vt_name);
+ }
return 0;
}
--
2.26.2

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -22,6 +22,10 @@ DEPEND="${RDEPEND}
systemd? ( sys-apps/systemd )
"
PATCHES=(
"${FILESDIR}/${PN}-13-Set-PAM_TTY.patch"
)
pkg_setup() {
export MY_CONF="HAVE_SYSTEMD=$(usex systemd 1 0) HAVE_ELOGIND=$(usex elogind 1 0)"
}

Binary file not shown.

@ -1,7 +1,7 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=8
DESCRIPTION="Bluetooth, infrared or cable remote control service"
HOMEPAGE="http://anyremote.sourceforge.net/"
@ -24,9 +24,8 @@ RDEPEND="
zeroconf? ( net-dns/avahi )
"
DEPEND="${RDEPEND}
virtual/pkgconfig
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
DOCS=( AUTHORS ChangeLog NEWS README )

Binary file not shown.

@ -1,3 +1,4 @@
DIST mdbtools-0.9.2.tar.gz 214246 BLAKE2B f62ffae2b084e53f7222ab969aa7f57f65735281383f93aeb025cff38b32b9aa22ffffb819532f816cc45a9156f7136bd9de953b17b86817380123451d51170c SHA512 cb2bddca83eb9867b765f6fc57fb289f91ce4e2e09dd953e338c26f6c4bcfe9ddb53368c4eef6d02927e582c2e10312462b82916c2e956fa269f25a765371d8d
DIST mdbtools-0.9.3.tar.gz 214697 BLAKE2B 59aca58d11b9c513c8d5b8401423b04484657543d742e20e058e7b29e8225a2c2c3b6e5a95a61a2214a1323b1c5d80b08a71c9f9bcdbf2f35b079a7b05919841 SHA512 3ceb9e374fd638a01d087a1f5e8fb357b24f0a85a8f9c65743a78ec1d6a981fed299744610382ae525f3781e73e268de5c4bb2e48eff78e48b197e2add23587e
DIST mdbtools-0.9.4.tar.gz 215253 BLAKE2B 7538fe36ce63b01a395b39272da3c212d6743bb789b38123d1f951f5678177ba541d64e7a58c08ff5f537d5cda4309c814521a33df5402ad3bc3bacd3d872425 SHA512 4ec5ae66b572970f5d450d94457a5e12a0b376dfbdb10ca8566be2f9d35a8837c0b7381ac6e8b935192b892e7d7c71fef089bb07f4ae789596c1dac07a062e1a
DIST mdbtools-1.0.0.tar.gz 220553 BLAKE2B 55cf3120f16ded1374c0b5535c45a0d15e4d2ec62d4029856bea570282e6099565698c00b27295b01b455eca10d9271e743e60086b427647dfe51c25d65c531d SHA512 3844bde9df3a5beafa40914fef3db25a9b3bc0e66cbd012fd6ad0fcf89e66f48afa922be61972b4d6a7a3d0ba0bf1881f7d8fdebce7f52f19254133dd1d3fc5f

@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Set of libraries and utilities for reading Microsoft Access database (MDB) files"
HOMEPAGE="https://github.com/mdbtools/mdbtools"
SRC_URI="https://github.com/brianb/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/mdbtools/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0/3"

@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Set of libraries and utilities for reading Microsoft Access database (MDB) files"
HOMEPAGE="https://github.com/mdbtools/mdbtools"
SRC_URI="https://github.com/brianb/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/mdbtools/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0/3"

@ -7,11 +7,11 @@ inherit autotools
DESCRIPTION="Set of libraries and utilities for reading Microsoft Access database (MDB) files"
HOMEPAGE="https://github.com/mdbtools/mdbtools"
SRC_URI="https://github.com/brianb/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/mdbtools/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0/3"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
IUSE="glib odbc"
BDEPEND="

@ -0,0 +1,58 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="Set of libraries and utilities for reading Microsoft Access database (MDB) files"
HOMEPAGE="https://github.com/mdbtools/mdbtools"
SRC_URI="https://github.com/mdbtools/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0/3"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="glib iconv odbc"
BDEPEND="
app-text/txt2man
sys-devel/flex
virtual/pkgconfig
virtual/yacc
"
RDEPEND="
sys-libs/ncurses:0=
sys-libs/readline:0=
glib? ( dev-libs/glib:2 )
iconv? ( virtual/libiconv )
odbc? ( >=dev-db/unixODBC-2.0 )
"
DEPEND="${RDEPEND}"
DOCS=( AUTHORS HACKING NEWS README.md )
src_prepare() {
default
# bug #770019
sed -i -e 's/-Werror//' configure.ac || die
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-static
$(use_enable glib)
$(use_enable iconv)
$(use odbc && echo "--with-unixodbc=${EPREFIX}/usr")
)
econf "${myeconfargs[@]}"
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
}

@ -6,6 +6,6 @@
<flag name="glib">Use functions provided by <pkg>dev-libs/glib</pkg>, not built-in</flag>
</use>
<upstream>
<remote-id type="github">brianb/mdbtools</remote-id>
<remote-id type="github">mdbtools/mdbtools</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=8
DESCRIPTION="A tool to interact with the installation_proxy of an Apple's iDevice"
HOMEPAGE="http://www.libimobiledevice.org/"
@ -10,16 +10,14 @@ SRC_URI="http://www.libimobiledevice.org/downloads/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RDEPEND=">=app-pda/libimobiledevice-1.1.4:=
>=app-pda/libplist-1.8:=
>=dev-libs/libzip-0.8"
DEPEND="${RDEPEND}
virtual/pkgconfig"
DOCS=( AUTHORS NEWS README )
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
src_prepare() {
default
sed -i -e 's:-Werror -g::' configure || die
}

Binary file not shown.

@ -2,4 +2,5 @@ DIST citus-10.0.5.tar.gz 5182513 BLAKE2B 84bd1d2d8a33ecb58371625bfe9936985b3e842
DIST citus-10.1.3.tar.gz 5281581 BLAKE2B cf119c550174a8b64bfee6497288a10030db7ff8d40e48d4751799d4268618afe9b7dcd72bfbd5b01dc073f6f4af55e8dc338071e3be224d15ded423885bbebd SHA512 2ad9665c5de3214a5ebc08d5df663caa634912dd9db433a43bea96d3932213786d1650a695531a4d00ab8dff7d53078848466d7a6e803bff3ab26f4df3990c91
DIST citus-10.2.0.tar.gz 5496211 BLAKE2B 9b6f3aeb19e8f4391b6ca24615a6eab405a57bf673995d79c2ea563dec67c63ffb5d17d4f8a1f245497f15de2fb572d0ecccc4a5195e797bd2a799800dcc553a SHA512 fb816bc0f252f6a63c76923366c9a25b9004288c09c7a6de7911a2c0325e47b1772b7a59cdb39e034d406ce99db53ced8e68c658bf16e92c2c99eb7331537ea7
DIST citus-10.2.1.tar.gz 5502245 BLAKE2B d83e951aed48bcdd67e0d6ffb7c1f036e46cf5da961a11df007e2f4d0bb6437dc9f61f4c2e32732beb23bdb3d03236f1b2c2bdfcdbd843d95c3788310475c4dd SHA512 782bef91d2d3a0eb12b291e43ce10fc43e24b37d330f0d861e5e5feaba8d9bd556270cfa01d210d29ee729364697e9fbce47f95ef892ea6ec92a9ef49c34f931
DIST citus-10.2.2.tar.gz 5513323 BLAKE2B f968215919470e330ca47bf40b3315f9d28abcff22b5d655bba61c39f6253129eacfbe3f388d824edbea0114386dd013426f1149c2296d2ab4b599baea410ba9 SHA512 9e369ea00066119e343f29c9b8b6bdc9c1be7fba5b521950bf0eda391022d7616d81a7d0c7cf15a35b5048f9e2c5f4abd9d1db8ef653f08a6e5a59da6c333a36
DIST citus-9.5.8.tar.gz 4737096 BLAKE2B aa2e272f635699e16ebb5df2f981c1250009c721198456228a90837a8a37c6e5325dfea8f51f39bd3aafe8be0b6335cbac36443bc3193b796c9be6fe34a91a41 SHA512 5fbde79f995a1e66adb9339fecae03c62763b725e7aeafe4d57e10355cfe6bfca0724e38f2e6c34ce4eb762d94566f23ea1e78692eff602623ededc8a91b7949

@ -0,0 +1,31 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
POSTGRES_COMPAT=( 12 13 14 )
inherit postgres-multi
DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
HOMEPAGE="https://www.citusdata.com/"
SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
IUSE=""
LICENSE="POSTGRESQL AGPL-3"
KEYWORDS="~amd64"
SLOT=0
RESTRICT="test"
DEPEND="${POSTGRES_DEP}
app-arch/lz4
app-arch/zstd
"
RDEPEND="${DEPEND}"
src_configure() {
postgres-multi_foreach econf
}

@ -5,3 +5,4 @@ DIST postgis-3.1.1.tar.gz 17261826 BLAKE2B a14bdce3773f8cc50c72880d9b8158c32b546
DIST postgis-3.1.2.tar.gz 17266501 BLAKE2B acc65e3ab70667c57a71bcb9c7bbfc382f8a6038ceb0e91aac07e36fb6b4cb6365aa968b30af13eda8292410cc1b567d871970e6cb7dfaadb454147224f9b834 SHA512 df9d2fa118987e29acd635912a708e643770ad3df82c098f8129f11ab07a9eafde969302d2d2e59a68fea6fc7312fe768a231dd4cb5de7002c418725da75848a
DIST postgis-3.1.3.tar.gz 17273487 BLAKE2B 603be66476037fca5e75b00079a26b4beaa50f0af0626f89660f17da398576d929574cb363c4177877d9c8db5459f7eac964b85796cd93b0d0c6ff2462d7ad3f SHA512 525c982de6b5888d1f4a4f6d2cca5dfa945d8899d8038b1d62ce222e0149c4ab26a2a3602bb8c85e89ce22b3d5b20d278fc4f841144f4b0d19e6de4f48d819ad
DIST postgis-3.1.4.tar.gz 17269391 BLAKE2B 6070fb72c777f8baf9c520ec51cf436837fffb54f21af5b4cf800940240f2fb9fcee162b2d3817cbfd4e60c2cef37eb4cf902d9e9f065e537d8d9b8ec965bef3 SHA512 afd84b45b146bdae310580fc9f8a878dd658f9e74f99c41f5d143f32974d5f5017ab4190855dcaea915a31ac2a78d34bf5561f206965264de3252f2c2ac57683
DIST postgis-3.2.0beta1.tar.gz 17061095 BLAKE2B 09f9bef789c45145b95c75aa747fa4bbc5ae93de423ca280c8559a484963272b170b0113e1e55ab3395c26094c1f35848d024326b2eb325ed3e176ddf17b1ab8 SHA512 7dbf2086baae792a80944477afe9d77a4094e2003ba432ab964d6c2e16f36b95a17b1cb4d977e16908245374b3f132ed27fce485b96635440b1ca626189f84be

@ -0,0 +1,142 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
POSTGRES_COMPAT=( 9.6 {10..14} )
POSTGRES_USEDEP="server"
inherit autotools postgres-multi toolchain-funcs
MY_P="${PN}-$(ver_rs 3 '')"
if [[ ${PV} = *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
else
PGIS="$(ver_cut 1-2)"
SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
KEYWORDS=""
fi
DESCRIPTION="Geographic Objects for PostgreSQL"
HOMEPAGE="https://postgis.net"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="0"
IUSE="address-standardizer doc gtk static-libs topology"
REQUIRED_USE="${POSTGRES_REQ_USE}"
# Needs a running psql instance, doesn't work out of the box
RESTRICT="test"
RDEPEND="${POSTGRES_DEP}
dev-libs/json-c:=
dev-libs/libxml2:2
dev-libs/protobuf-c:=
>=sci-libs/geos-3.9.0
>=sci-libs/proj-4.9.0:=
>=sci-libs/gdal-1.10.0:=
address-standardizer? ( dev-libs/libpcre )
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
virtual/pkgconfig
doc? (
app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd:4.5
dev-libs/libxslt
virtual/imagemagick-tools[png]
)
"
PATCHES=(
"${FILESDIR}/${PN}-2.2.0-arflags.patch"
"${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
"${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
)
src_prepare() {
default
if [[ ${PV} = *9999* ]] ; then
source "${S}"/Version.config
PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
fi
# These modules are built using the same *FLAGS that were used to build
# dev-db/postgresql. The right thing to do is to ignore the current
# *FLAGS settings.
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
# bug #775968
touch build-aux/ar-lib || die
local AT_M4DIR="macros"
eautoreconf
postgres-multi_src_prepare
}
src_configure() {
export CPP=$(tc-getCPP)
local myeconfargs=(
$(use_with address-standardizer)
$(use_with gtk gui)
$(use_with topology)
)
postgres-multi_foreach econf "${myeconfargs[@]}"
}
src_compile() {
postgres-multi_foreach emake
postgres-multi_foreach emake -C topology
if use doc ; then
postgres-multi_foreach emake comments
postgres-multi_foreach emake cheatsheets
postgres-multi_forbest emake -C doc html
fi
}
src_install() {
postgres-multi_foreach emake DESTDIR="${D}" install
postgres-multi_foreach emake -C topology DESTDIR="${D}" install
postgres-multi_forbest dobin ./utils/postgis_restore.pl
dodoc CREDITS TODO loader/README.* doc/*txt
docinto topology
dodoc topology/{TODO,README}
if use doc ; then
postgres-multi_foreach emake DESTDIR="${D}" comments-install
docinto html
postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
docinto html/images
postgres-multi_forbest dodoc doc/html/images/*
fi
use static-libs || find "${ED}" -name '*.a' -delete
}
pkg_postinst() {
ebegin "Refreshing PostgreSQL symlinks"
postgresql-config update
eend $?
local base_uri="https://postgis.net/docs/manual-"
if [[ ${PV} = *9999* ]] ; then
base_uri+="dev"
else
base_uri+="${PGIS}"
fi
elog "To finish installing PostGIS, follow the directions detailed at:"
elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
}

Binary file not shown.

@ -1,2 +1 @@
DIST htmlcleaner-2.24-src.zip 413806 BLAKE2B 26ac6d150607c3ee00a8afcf58fed313ac570178f84c52a0fe43b0d324e3b32bb60f63db9ae5f171e7a6a7517799c633f85abfeb64e3f7421d655842bb5a5610 SHA512 beb16e383b6d43d0dfd4697b919a30c1a74eea824976521475c458bdda6c5f0eb22f299eddae033cb190a2af4fafde7e7f2c8ab1378bd82f15842a3ca8ebaaff
DIST htmlcleaner-2.25-src.zip 414193 BLAKE2B e840b65665b23a6c55eda49a522994208b7178ddf924e60bdca9304c58df9bde343b31bbd4b7491db7bfd4fe0930283f9019d9213450618e0d50036563cced86 SHA512 fb49f0298b05008a727e7ba97a3444c6f8c31f65a9962e42bae63e1dab76fc7302f282daa45177daffcadbb73565685735f44b57107c62819bafa0db030c5ea3

@ -1,73 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="HTML parser written in Java that can be used as a tool, library or Ant task"
HOMEPAGE="http://htmlcleaner.sourceforge.net/"
SRC_URI="mirror://sourceforge/htmlcleaner/files/${P}-src.zip"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
CDEPEND="dev-java/jdom:2"
RDEPEND="
${CDEPEND}
>=virtual/jre-1.8:*"
DEPEND="
${CDEPEND}
dev-java/ant-core:0
test? ( dev-java/junit:4 )
>=virtual/jdk-1.8:*"
BDEPEND="
app-arch/unzip"
JAVA_SRC_DIR="src/main/java"
JAVA_GENTOO_CLASSPATH="jdom-2"
PATCHES=(
"${FILESDIR}/${P}-fix-tests.patch"
)
src_prepare() {
default
# Don't require default.xml to be in the current directory.
sed -i "s:\"default\.xml\":\"${JAVA_PKG_SHAREPATH}/default.xml\":g" \
src/main/java/org/htmlcleaner/ConfigFileTagProvider.java || die
}
src_configure() {
JAVA_GENTOO_CLASSPATH_EXTRA=$(java-pkg_getjars --build-only ant-core)
}
src_install() {
java-pkg-simple_src_install
java-pkg_register-ant-task
java-pkg_dolauncher ${PN} --main org.${PN}.CommandLine
insinto "${JAVA_PKG_SHAREPATH}"
newins example.xml default.xml
}
src_test() {
local DIR="src/test/java"
local CP="${DIR}:${PN}.jar:$(java-pkg_getjars junit-4,${JAVA_GENTOO_CLASSPATH})"
local TESTS=$(find "${DIR}" -name "*Test.java" ! -name "Abstract*")
TESTS="${TESTS//src\/test\/java\/}"
TESTS="${TESTS//.java}"
TESTS="${TESTS//\//.}"
ejavac -classpath "${CP}" -d "${DIR}" $(find "${DIR}" -name "*.java")
ejunit4 -classpath "${CP}" ${TESTS}
}

@ -1,29 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="LzmaInputStream/LzmaOutputStream interacting with underlying LZMA en-/decoders"
HOMEPAGE="https://contrapunctus.net/league/haques/lzmajio/
https://github.com/league/lzmajio"
SRC_URI="http://comsci.liu.edu/~league/dist/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
CDEPEND="dev-java/lzma:0"
RDEPEND=">=virtual/jre-1.6
${CDEPEND}"
DEPEND=">=virtual/jdk-1.6
app-arch/unzip
${CDEPEND}"
S="${WORKDIR}/${P}"
JAVA_GENTOO_CLASSPATH="lzma"
JAVA_SRC_DIR="net"

@ -14,7 +14,7 @@ SRC_URI="https://github.com/league/${P}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~x86"
KEYWORDS="amd64 x86"
CDEPEND="dev-java/lzma:0"

Binary file not shown.

@ -0,0 +1 @@
DIST ammonite-2.4.0 48166243 BLAKE2B b01193af61c4e1035b975c465e593da0261086aeab494bc534502814e87534d43beee82e048c6bbfb3ae49e3916dfb1e7fca3ebd10e866c0aad2b10027d32298 SHA512 6318c689335537e9bb2b0f7713aa593ac36253dc06c0fe13f44e96ab68fad2426c6c845dae6eead30b560987f0ea4fd72f177991de5f6f8da5c96bca4f63889e

@ -0,0 +1,23 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
SCALA_VERSION="2.13"
DESCRIPTION="Scala language-based scripting and REPL"
HOMEPAGE="https://ammonite.io/"
SRC_URI="https://github.com/lihaoyi/Ammonite/releases/download/${PV}/${SCALA_VERSION}-${PV} -> ammonite-${PV}"
KEYWORDS="~amd64 ~x86"
LICENSE="MIT"
SLOT="0"
IUSE=""
S="${WORKDIR}"
RDEPEND=">=virtual/jre-1.8:*"
src_install() {
newbin "${DISTDIR}/ammonite-${PV}" amm
}

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type='person'>
<email>flow@gentoo.org</email>
<name>Florian Schmaus</name>
</maintainer>
</pkgmetadata>

@ -1,7 +1,4 @@
DIST clojure-1.10.0.tar.gz 678715 BLAKE2B 8f69a327e94e173864b3d8b81e92ab716c70be9fa59bbd836889cb75a8d44518a3aa2a8fbec50a04f2e7d1afdb07ffef2f7069077e22ef91f321c5fb122d2bb9 SHA512 d53d2322662974d2eed97d7870f0f91822de8acb91e30b50b0dca4186ee667c46b2b5863e080d89e3bfe63d090c6ac2e25617f74d1434bae2ca1e73ae9a36012
DIST clojure-1.10.3.tar.gz 683020 BLAKE2B ea57231375589d5c45b7e8a1fe87ea3f371e631733d5ae27d547e84a575cd7a54394fa401c920a7ec5e7218719f2ecd728a77e1d3e05c803f0620fcfeabd4199 SHA512 540c4c730a9f504f4e8a33e957fb150a70c3f1afa8e10205d23bb3c0528a46ca615b3a95dbedf367d4d0965d8eabc69b2d7f3bc144be9b4cb64fba085bfc6d9d
DIST clojure-1.8.0.tar.gz 627688 BLAKE2B 7dc3029e38e574cd32c74cce1f3ae03890869023d5fb2e8138f2fdc4461b3f9e119c4b6042e2b7caee9561b664b49cbaf79378ef1fdd0fd78c4d712c3b9d95de SHA512 fa5714397e679f77260db054bdc0891a311e7bd14bfceb2dd0494480fb9cf21fc74dd295e75070105ff0cdd50842390a748d8782397c549f51d85d18d54a1231
DIST clojure-1.9.0.tar.gz 641645 BLAKE2B 767241c7f252a2977511adf257b1805f81a96594cff2b1b9837c782cfaabd49ae8e6eef30398e7e277952124e843967ac635985da97e2e7c5cc98ec177f3d79c SHA512 8877c654f6aa8ad990593e69b611388659973e5d1d46cf8f6cfae59c4033424a3c7eebd477539784cbd7974f7ff30580f76d8a4117414491f38e18ac3b4efb27
DIST core.specs.alpha-0.2.56.tar.gz 11780 BLAKE2B 088d0b32dea7ec49ddaf0f461703762a5a877ff4028b775eb35998e6a5a3436ad57b35d7d9431b6911ca2304403e95043d375bac80080ecaf6144a77b3ebcf4c SHA512 afbfc04b9708a21ae6c6b29b8653fc62b23efcb271b973534c4b8421a7d73df3ad24bd28d7115a2fe926954dc45571de86971637736f3a494799f6f1ba1765c8
DIST data.generators-1.0.0.tar.gz 9940 BLAKE2B 981ac8f91ae05aecc7a9e7c85cbd59c5a50785bdc969309465374393234fd0a72d9803931acebbbbf369e812de33f0ac0c2ddc3009f8bb4237debd9e665301f3 SHA512 a8d5881c401b409e7e4192243e62288855b435d5979fd7950fcd3ee5291d16ce4aad913ea1dadf26db8a1297a21cab19e1e1e5d31e26db57a6fa4ed17bcefe0b
DIST java.classpath-1.0.0.tar.gz 8955 BLAKE2B 1ab2d077d9f852ee72a1576b71d6aa8764f2fdb04eeed3f7710a7deb65942df8c0b1caff5847e329c191316c7218877b8b136b9dcefdb8f450f383beed5805ba SHA512 552f31f1f27fd80f262bbec4777626951bccef6689f4586fc327c3490669d25591c1a87907b15709dcb8d69f47ce33341d219694877b44481859b79fb38737fa

@ -1,50 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
JAVA_PKG_IUSE="test"
inherit java-pkg-2 java-ant-2
EGIT_REF="76b87a6"
DESCRIPTION="General-purpose programming language with an emphasis on functional programming"
HOMEPAGE="https://clojure.org/"
SRC_URI="https://github.com/clojure/${PN}/archive/${P}.tar.gz"
LICENSE="EPL-1.0 Apache-2.0 BSD"
SLOT="1.10"
KEYWORDS="~amd64 ~x86 ~x86-linux"
RESTRICT="!test? ( test )" # broken due to file not found issue and more
CDEPEND="
dev-java/spec-alpha:0.2
dev-java/core-specs-alpha:0.2
dev-java/ant-core:0"
RDEPEND="
${CDEPEND}
>=virtual/jre-1.8"
DEPEND="
${CDEPEND}
>=virtual/jdk-1.8"
S="${WORKDIR}/clojure-${PN}-${EGIT_REF}"
DOCS=( changes.md CONTRIBUTING.md readme.txt )
src_compile() {
eant -Dmaven.compile.classpath=$(java-pkg_getjars core-specs-alpha-0.2,spec-alpha-0.2) -f build.xml jar
}
src_test() {
eant -f build.xml test
}
src_install() {
java-pkg_newjar "${PN}.jar"
java-pkg_dolauncher ${PN}-${SLOT} --main clojure.main
einstalldocs
}

@ -36,7 +36,7 @@ SRC_URI="
LICENSE="EPL-1.0 Apache-2.0 BSD"
SLOT="$(ver_cut 1-2)"
KEYWORDS="amd64 ~x86 ~x86-linux"
KEYWORDS="amd64 x86 ~x86-linux"
PATCHES=(
"${FILESDIR}/add-compile-spec-ant-build-target.patch"

@ -1,32 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
JAVA_PKG_IUSE="source test"
inherit java-pkg-2 java-ant-2
DESCRIPTION="A dynamic programming language that targets the Java Virtual Machine"
HOMEPAGE="https://clojure.org/"
SRC_URI="https://github.com/clojure/clojure/tarball/${P} -> ${P}.tar.gz"
LICENSE="EPL-1.0 Apache-2.0 BSD"
SLOT="1.8"
KEYWORDS="amd64 x86 ~x86-linux"
IUSE=""
RESTRICT="test" # patches welcome to fix the test
RDEPEND=">=virtual/jre-1.6"
DEPEND=">=virtual/jdk-1.6"
S=${WORKDIR}/clojure-clojure-49e5003
src_test() {
java-pkg-2_src_test
}
src_install() {
java-pkg_newjar ${P/_/-}.jar
java-pkg_dolauncher ${PN}-${SLOT} --main clojure.main
dodoc changes.md CONTRIBUTING.md readme.txt
}

@ -1,50 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
JAVA_PKG_IUSE="test"
inherit java-pkg-2 java-ant-2
EGIT_REF="e5a8cfa"
DESCRIPTION="General-purpose programming language with an emphasis on functional programming"
HOMEPAGE="https://clojure.org/"
SRC_URI="https://github.com/clojure/${PN}/archive/${P}.tar.gz"
LICENSE="EPL-1.0 Apache-2.0 BSD"
SLOT="1.9"
KEYWORDS="~amd64 ~x86 ~x86-linux"
RESTRICT="!test? ( test )" # broken due to file not found issue and more
CDEPEND="
dev-java/spec-alpha:0.1
dev-java/core-specs-alpha:0.1
dev-java/ant-core:0"
RDEPEND="
${CDEPEND}
>=virtual/jre-1.8"
DEPEND="
${CDEPEND}
>=virtual/jdk-1.8"
S="${WORKDIR}/clojure-${PN}-${EGIT_REF}"
DOCS=( changes.md CONTRIBUTING.md readme.txt )
src_compile() {
eant -Dmaven.compile.classpath=$(java-pkg_getjars core-specs-alpha-0.1,spec-alpha-0.1) -f build.xml jar
}
src_test() {
eant -f build.xml test
}
src_install() {
java-pkg_newjar "${PN}.jar"
java-pkg_dolauncher ${PN}-${SLOT} --main clojure.main
einstalldocs
}

@ -1 +1,2 @@
DIST micropython-1.11.tar.gz 23010708 BLAKE2B 8deb29f2a27b8299f62c8c3d332654889e610ddc6854dc38c6cf7504c89f2f9cbbacccdc2d8e471d96b8bb28bbb920fe7ec1b8fd49b14209924262f54687c3c1 SHA512 255860e56bf51c4f35a00cf66fff3ee37fbef1e0d674af6ed580367d8b3d2d60fb88609a675e8f322fd466a23006e38078b67edd6f306e639d6be12abb2972d2
DIST micropython-1.17.tar.xz 56606868 BLAKE2B a6338d173de646764c1573ebabdb9818746a479fd2dd618f9be9955881e3829c4d89da4602934e71655734ec1c6f2150a6ac2c54a5fed9bee998905a00d5c6ea SHA512 8074214040e35ae1ca99721ec442f4cef70fa03380b7662016c55cb3acff9178fc54140c0d818c9581389b4daaade142ecf75b65a2919c666a50255423a39a54

@ -0,0 +1,11 @@
--- a/tests/run-tests.py 2021-10-25 12:25:48.422212212 -0000
+++ b/tests/run-tests.py 2021-10-25 12:26:01.382135667 -0000
@@ -521,6 +521,8 @@
"micropython/opt_level_lineno.py"
) # native doesn't have proper traceback info
skip_tests.add("micropython/schedule.py") # native code doesn't check pending events
+ skip_tests.add("float/float_parse_doubleprec.py")
+ skip_tests.add("float/float_parse.py")
def run_one_test(test_file):
test_file = test_file.replace("\\", "/")

@ -0,0 +1,12 @@
--- a/py/mkrules.mk 2021-10-25 12:30:13.723695503 -0000
+++ b/py/mkrules.mk 2021-10-25 12:30:18.460327366 -0000
@@ -198,9 +198,6 @@
# Do not pass COPT here - it's *C* compiler optimizations. For example,
# we may want to compile using Thumb, but link with non-Thumb libc.
$(Q)$(CC) -o $@ $^ $(LIB) $(LDFLAGS)
-ifndef DEBUG
- $(Q)$(STRIP) $(STRIPFLAGS_EXTRA) $@
-endif
$(Q)$(SIZE) $$(find $(BUILD) -path "$(BUILD)/build/frozen*.o") $@
clean: clean-prog

@ -0,0 +1,65 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Python implementation for microcontrollers"
HOMEPAGE="https://github.com/micropython/micropython"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz"
KEYWORDS="~amd64 ~x86"
LICENSE="MIT"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
dev-libs/libffi:=
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${P}-prevent-stripping.patch"
"${FILESDIR}/${P}-exclude-float-parse-tests.patch"
)
src_prepare() {
default
cd ports/unix || die
# 1) don't die on compiler warning
# 2) remove /usr/local prefix references in favour of /usr
# 3) enforce our CFLAGS
# 4) enforce our LDFLAGS
sed -e 's#-Werror##g;' \
-e 's#\/usr\/local#\/usr#g;' \
-e "s#^CFLAGS = \(.*\)#CFLAGS = \1 ${CFLAGS}#g" \
-e "s#^LDFLAGS = \(.*\)#LDFLAGS = \1 ${LDFLAGS}#g" \
-i Makefile || die "can't patch Makefile"
}
src_compile() {
cd ports/unix || die
emake CC="$(tc-getCC)" axtls
emake CC="$(tc-getCC)"
}
src_test() {
cd ports/unix || die
emake CC="$(tc-getCC)" test
}
src_install() {
pushd ports/unix > /dev/null || die
emake CC="$(tc-getCC)" DESTDIR="${D}" install
popd > /dev/null || die
# remove .git files
find tools -type f -name '.git*' -exec rm {} \; || die
dodoc -r tools
einstalldocs
}

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

@ -0,0 +1,754 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit flag-o-matic systemd autotools
MY_PV=${PV/_rc/RC}
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://www.php.net/"
SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
LICENSE="PHP-3.01
BSD
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[jit?,unicode]
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( <app-text/enchant-2.0:0 )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
recode? ( app-text/recode:0= )
session-mm? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
sodium? ( dev-libs/libsodium:=[-minimal] )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( >=dev-libs/openssl-1.0.1:0= )
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
wddx? ( >=dev-libs/libxml2-2.6.8 )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( >=sys-libs/zlib-1.2.0.4:0= )
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
# The Oracle instant client provides its own incompatible ldap library.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
oci8-instant-client? ( !ldap )
phar? ( hash )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysqli !mysql )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
zip-encryption? ( zip )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/php-freetype-2.9.1.patch"
"${FILESDIR}/php73-CVE2021-21703.patch"
)
PHP_MV="$(ver_cut 1)"
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" php.ini
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "../ext/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config files php-fpm.conf and www.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
doins sapi/fpm/www.conf
fi
dodoc php.ini-{development,production}
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
default
# In php-7.x, the FPM pool configuration files have been split off
# of the main config. By default the pool config files go in
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
# we'll install the pool configuration file "www.conf" there.
php_set_ini_dir fpm
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
# Bug 669566 - necessary so that build tools are updated for commands like pecl
# Force rebuilding aclocal.m4
rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
eautoreconf
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar calendar)
$(use_enable coverage gcov)
$(use_enable ctype ctype)
$(use_with curl curl "${EPREFIX}/usr")
$(use_enable xml dom)
$(use_with enchant enchant "${EPREFIX}/usr")
$(use_enable exif exif)
$(use_enable fileinfo fileinfo)
$(use_enable filter filter)
$(use_enable ftp ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_enable hash hash)
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
$(use_with kerberos kerberos "${EPREFIX}/usr")
$(use_enable xml libxml)
$(use_with xml libxml-dir "${EPREFIX}/usr")
$(use_enable unicode mbstring)
$(use_with unicode onig "${EPREFIX}/usr")
$(use_with ssl openssl "${EPREFIX}/usr")
$(use_with ssl openssl-dir "${EPREFIX}/usr")
$(use_enable pcntl pcntl)
$(use_enable phar phar)
$(use_enable pdo pdo)
$(use_enable opcache opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_with recode recode "${EPREFIX}/usr")
$(use_enable simplexml simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap soap)
$(use_enable sockets sockets)
$(use_with sodium sodium "${EPREFIX}/usr")
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer tokenizer)
$(use_enable wddx wddx)
$(use_enable xml xml)
$(use_enable xmlreader xmlreader)
$(use_enable xmlwriter xmlwriter)
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}/usr")
$(use_enable zip zip)
$(use_with zip-encryption libzip "${EPREFIX}/usr")
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
our_conf+=( "--enable-dba${shared}" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype-dir "${EPREFIX}/usr")
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg-dir "${EPREFIX}/usr")
$(use_with gd png-dir "${EPREFIX}/usr")
$(use_with xpm xpm-dir "${EPREFIX}/usr")
)
if use webp; then
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
fi
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_with gd gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# Interbase/firebird support
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
$(use_with iodbc iodbc "${EPREFIX}/usr")
)
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit libedit "${EPREFIX}/usr")
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
# --with-pcre-valgrind cannot be enabled with system pcre
our_conf+=(
--with-pcre-regex="${EPREFIX}/usr"
--with-pcre-dir="${EPREFIX}/usr"
--without-pcre-valgrind
$(use_with jit pcre-jit)
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Cache the ./configure test results between SAPIs.
our_conf+=( --cache-file="${T}/config.cache" )
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
local one_sapi
local sapi
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -a "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm|phpdbg)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
if [[ "fpm" == "${sapi}" ]] ; then
sapi_conf+=(
$(use_with acl fpm-acl)
$(use_with systemd fpm-systemd)
)
fi
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
local sapi
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index #nowarn
# grab the first SAPI that got built and install common files from there
local first_sapi="", sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp${PHP_MV}$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
# Install the "phar" archive utility.
if use phar ; then
emake INSTALL_ROOT="${D}" install-pharcmd
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
fi
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
phpdbg)
source="sapi/phpdbg/phpdbg"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
local m
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -1 +1,2 @@
DIST tcc-0.9.27.tar.bz2 634999 BLAKE2B 9a76dac9f54fa0b64a72e874cfec9a4bd9b938d244d064b2e76bd31acfb9e48fdbdb8895132634be1dee4302293405bf75606a6804c8178afa8fd30daa53b73a SHA512 835184292d97c07f0ff7b36ec550e855e649b04e23c7e2a1c706d223409eb60708dc1ae969f28eba45e56c8b96ae56936b93caf9d8a13ac5adf119014d5367a7
DIST tcc-0.9.27_p20211022.tar.gz 893631 BLAKE2B f1a82498db65a9944f04a6c35897db6ceeea0e5d14ac383acc6b334fb2aa921a0e7b4badf647c101d064ceae1ee8d79ab91674a2d0faa2899b831a57e6148174 SHA512 5f40a0d31d63e876d1fb233758d9f58be2f14807bbc0847b7df3eb6bb8df0946100b58edb5a29caea8770201d02275daf0a3ca7668141151e931204ad7100fb3

@ -0,0 +1,86 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs
MY_COMMIT="16456168430c9e185dd94b8215aa77d02bbb8a2c"
DESCRIPTION="A very small C compiler for ix86/amd64"
HOMEPAGE="https://bellard.org/tcc/ https://repo.or.cz/tinycc.git/"
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://repo.or.cz/r/tinycc.git"
inherit git-r3
elif [[ ${PV} == *_p* ]] ; then
SRC_URI="https://repo.or.cz/tinycc.git/snapshot/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/tinycc-1645616
else
SRC_URI="https://download.savannah.gnu.org/releases/tinycc/${P}.tar.bz2"
fi
LICENSE="LGPL-2.1"
SLOT="0"
if [[ ${PV} != *9999* ]] ; then
KEYWORDS="~amd64 ~x86 ~amd64-linux"
fi
BDEPEND="dev-lang/perl" # doc generation
IUSE="test"
RESTRICT="!test? ( test )"
src_prepare() {
default
# Don't strip
sed -i \
-e 's|$(INSTALL) -s|$(INSTALL)|' \
-e 's|STRIP_yes = -s|STRIP_yes =|' \
Makefile || die
# Fix examples
sed -i -e '1{
i#! /usr/bin/tcc -run
/^#!/d
}' examples/ex*.c || die
sed -i -e '1s/$/ -lX11/' examples/ex4.c || die
# Fix texi2html invocation
sed -i -e 's/-number//' Makefile || die
sed -i -e 's/--sections//' Makefile || die
}
src_configure() {
local libc
use test && unset CFLAGS LDFLAGS # Tests run with CC=tcc etc, they will fail hard otherwise
# better fixes welcome, it feels wrong to hack the env like this
use elibc_musl && libc=musl
use elibc_uclibc && libc=uClibc
# not autotools, so call configure directly
./configure --cc="$(tc-getCC)" \
${libc:+--config-${libc}} \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/$(get_libdir)" \
--docdir="${EPREFIX}/usr/share/doc/${PF}"
}
src_compile() {
emake AR="$(tc-getAR)" LDFLAGS="${LDFLAGS}"
}
src_test() {
# this is using tcc bits that don't know as-needed etc.
TCCFLAGS="" emake test
}
src_install() {
emake DESTDIR="${D}" install
dodoc Changelog README TODO VERSION
#dohtml tcc-doc.html
exeinto /usr/share/doc/${PF}/examples
doexe examples/ex*.c
}

@ -1,34 +1,42 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
EAPI=8
inherit toolchain-funcs
MY_COMMIT="16456168430c9e185dd94b8215aa77d02bbb8a2c"
DESCRIPTION="A very small C compiler for ix86/amd64"
HOMEPAGE="https://bellard.org/tcc/"
HOMEPAGE="https://bellard.org/tcc/ https://repo.or.cz/tinycc.git/"
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://repo.or.cz/r/tinycc.git"
SRC_URI=""
scm_eclass=git-r3
inherit git-r3
elif [[ ${PV} == *_p* ]] ; then
SRC_URI="https://repo.or.cz/tinycc.git/snapshot/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/tinycc-1645616
else
KEYWORDS="~amd64 ~x86 ~amd64-linux"
SRC_URI="https://download.savannah.gnu.org/releases/tinycc/${P}.tar.bz2"
fi
inherit toolchain-funcs ${scm_eclass}
LICENSE="LGPL-2.1"
SLOT="0"
if [[ ${PV} != *9999* ]] ; then
KEYWORDS="~amd64 ~x86 ~amd64-linux"
fi
DEPEND="dev-lang/perl" # doc generation
# Both tendra and tinycc install /usr/bin/tcc
RDEPEND="!dev-lang/tendra"
BDEPEND="dev-lang/perl" # doc generation
IUSE="test"
RESTRICT="!test? ( test )"
src_prepare() {
default
# Don't strip
sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile || die
sed -i \
-e 's|$(INSTALL) -s|$(INSTALL)|' \
-e 's|STRIP_yes = -s|STRIP_yes =|' \
Makefile || die
# Fix examples
sed -i -e '1{
@ -37,25 +45,35 @@ src_prepare() {
}' examples/ex*.c || die
sed -i -e '1s/$/ -lX11/' examples/ex4.c || die
# fix texi2html invocation
# Fix texi2html invocation
sed -i -e 's/-number//' Makefile || die
sed -i -e 's/--sections//' Makefile || die
eapply_user
}
src_configure() {
local libc
use test && unset CFLAGS LDFLAGS # Tests run with CC=tcc etc, they will fail hard otherwise
# better fixes welcome, it feels wrong to hack the env like this
use elibc_musl && libc=musl
use elibc_uclibc && libc=uClibc
# not autotools, so call configure directly
./configure --cc="$(tc-getCC)" \
${libc:+--config-${libc}} \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/$(get_libdir)" \
--docdir="${EPREFIX}/usr/share/doc/${PF}"
}
src_compile() {
emake AR="$(tc-getAR)"
emake AR="$(tc-getAR)" LDFLAGS="${LDFLAGS}"
}
src_test() {
# this is using tcc bits that don't know as-needed etc.
TCCFLAGS="" emake test
}
src_install() {
@ -66,8 +84,3 @@ src_install() {
exeinto /usr/share/doc/${PF}/examples
doexe examples/ex*.c
}
src_test() {
# this is using tcc bits that don't know as-needed etc.
TCCFLAGS="" emake test
}

Binary file not shown.

@ -11,7 +11,7 @@ SRC_URI="https://github.com/Blosc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0/1"
KEYWORDS="amd64 arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+lz4 +snappy test zlib zstd"
RESTRICT="!test? ( test )"

@ -36,6 +36,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.185-static-inline.patch
"${FILESDIR}"/${PN}-0.185-pull-advance_pc-in-file-scope.patch
"${FILESDIR}"/${PN}-0.185-configure.ac-rework-gnu99-ext-check-to-allow-clang.patch
"${FILESDIR}"/${PN}-0.185-glibc-2.34-test-failure.patch
)
src_prepare() {

@ -0,0 +1,124 @@
https://sourceware.org/git/?p=elfutils.git;a=commit;h=9aee0992d6e6ec4cce2c015d8da4b61022c6f6dd
Author: Mark Wielaard <mark@klomp.org>
Date: Wed Aug 4 21:01:27 2021 +0200
tests: Allow an extra pthread_kill frame in backtrace tests
glibc 2.34 calls pthread_kill from the raise function. Before raise
directly called the (tg)kill syscall. So allow pthread_kill to be the
first frame in a backtrace where raise is expected. Also change some
asserts to fprintf plus abort to make it more clear why the testcase
fails.
https://sourceware.org/bugzilla/show_bug.cgi?id=28190
Signed-off-by: Mark Wielaard <mark@klomp.org>
--- a/tests/backtrace.c
+++ b/tests/backtrace.c
@@ -97,6 +97,9 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
static bool reduce_frameno = false;
if (reduce_frameno)
frameno--;
+ static bool pthread_kill_seen = false;
+ if (pthread_kill_seen)
+ frameno--;
if (! use_raise_jmp_patching && frameno >= 2)
frameno += 2;
const char *symname2 = NULL;
@@ -107,11 +110,26 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
&& (strcmp (symname, "__kernel_vsyscall") == 0
|| strcmp (symname, "__libc_do_syscall") == 0))
reduce_frameno = true;
+ else if (! pthread_kill_seen && symname
+ && strstr (symname, "pthread_kill") != NULL)
+ pthread_kill_seen = true;
else
- assert (symname && strcmp (symname, "raise") == 0);
+ {
+ if (!symname || strcmp (symname, "raise") != 0)
+ {
+ fprintf (stderr,
+ "case 0: expected symname 'raise' got '%s'\n", symname);
+ abort ();
+ }
+ }
break;
case 1:
- assert (symname != NULL && strcmp (symname, "sigusr2") == 0);
+ if (symname == NULL || strcmp (symname, "sigusr2") != 0)
+ {
+ fprintf (stderr,
+ "case 1: expected symname 'sigusr2' got '%s'\n", symname);
+ abort ();
+ }
break;
case 2: // x86_64 only
/* __restore_rt - glibc maybe does not have to have this symbol. */
@@ -120,11 +138,21 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
if (use_raise_jmp_patching)
{
/* Verify we trapped on the very first instruction of jmp. */
- assert (symname != NULL && strcmp (symname, "jmp") == 0);
+ if (symname == NULL || strcmp (symname, "jmp") != 0)
+ {
+ fprintf (stderr,
+ "case 3: expected symname 'raise' got '%s'\n", symname);
+ abort ();
+ }
mod = dwfl_addrmodule (dwfl, pc - 1);
if (mod)
symname2 = dwfl_module_addrname (mod, pc - 1);
- assert (symname2 == NULL || strcmp (symname2, "jmp") != 0);
+ if (symname2 == NULL || strcmp (symname2, "jmp") != 0)
+ {
+ fprintf (stderr,
+ "case 3: expected symname2 'jmp' got '%s'\n", symname2);
+ abort ();
+ }
break;
}
FALLTHROUGH;
@@ -137,11 +165,22 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
duplicate_sigusr2 = true;
break;
}
- assert (symname != NULL && strcmp (symname, "stdarg") == 0);
+ if (symname == NULL || strcmp (symname, "stdarg") != 0)
+ {
+ fprintf (stderr,
+ "case 4: expected symname 'stdarg' got '%s'\n", symname);
+ abort ();
+ }
break;
case 5:
/* Verify we trapped on the very last instruction of child. */
- assert (symname != NULL && strcmp (symname, "backtracegen") == 0);
+ if (symname == NULL || strcmp (symname, "backtracegen") != 0)
+ {
+ fprintf (stderr,
+ "case 5: expected symname 'backtracegen' got '%s'\n",
+ symname);
+ abort ();
+ }
mod = dwfl_addrmodule (dwfl, pc);
if (mod)
symname2 = dwfl_module_addrname (mod, pc);
@@ -151,7 +190,15 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
// instructions or even inserts some padding instructions at the end
// (which apparently happens on ppc64).
if (use_raise_jmp_patching)
- assert (symname2 == NULL || strcmp (symname2, "backtracegen") != 0);
+ {
+ if (symname2 != NULL && strcmp (symname2, "backtracegen") == 0)
+ {
+ fprintf (stderr,
+ "use_raise_jmp_patching didn't expect symname2 "
+ "'backtracegen'\n");
+ abort ();
+ }
+ }
break;
}
}

@ -11,7 +11,7 @@ SRC_URI="https://github.com/ivmai/${PN}/releases/download/v${PV}/${P}.tar.gz"
LICENSE="MIT boehm-gc GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \

@ -1,3 +1,4 @@
DIST spdlog-1.8.2.tar.gz 319010 BLAKE2B a17ac7691c74600e435cff9d45495a7f7e8ae5439400a9f0b02c3891daca232aa57b25ba6d619ce19d50bf053b28454a7e4f205ed439ca4345dd044390512a29 SHA512 7a0a2353a10187cc314253b366fc46be8f9fe2480d2cbac3a96a8e6825ee4b62b0a5ebb3add2b22b5d7ca8fe6dddd963926603e5296e3431c0a4f7ac42beda7f
DIST spdlog-1.8.5.tar.gz 321229 BLAKE2B 2cdc1902a9e6f51da5c1af02b2961914a5437cfefec13aaaca8b996166c0990f602c811f69569a8812d880f995b401af44457ec4255bc5a0f9e46b51266d1b43 SHA512 77cc9df0c40bbdbfe1f3e5818dccf121918bfceac28f2608f39e5bf944968b7e8e24a6fc29f01bc58a9bae41b8892d49cfb59c196935ec9868884320b50f130c
DIST spdlog-1.9.2-update-catch-glibc-2.34.patch.bz2 54615 BLAKE2B 62b707fef02c7876692f7cc67119ea2b1a712d005d5367e5afdc50f42d6762f370a463ca3194e6850c059c679aef0e908471e0362afa2dc44a8bf7aaf19af2b0 SHA512 5d9868de7968ecf2c17b5fbb1199e70b064551bc2474fe563770d1e8d4b5f6d46d371091284c3bd10b47b3c7e94b134252e16f26b1834eff4390896acd773ecb
DIST spdlog-1.9.2.tar.gz 327799 BLAKE2B 8e4cce17887509512c0d3a63485f9271098bdf7f853c2a07adb8d46459c1039d93d16d05cb60963c1bbc754f6af6ba3af1a66c69bc421bf234f676231c8c1315 SHA512 87b12a792cf2d740ef29db4b6055788a487b6d474662b878711b8a5534efea5f0d97b6ac357834500b66cc65e1ba8934446a695e9691fd5d4b95397b6871555c

@ -13,6 +13,8 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/gabime/${PN}"
else
SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
# Temporary for bug #811750
SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-update-catch-glibc-2.34.patch.bz2 )"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
fi
@ -30,6 +32,8 @@ DEPEND="
RDEPEND="${DEPEND}"
src_prepare() {
use test && eapply "${WORKDIR}"/${P}-update-catch-glibc-2.34.patch
cmake_src_prepare
rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
}

@ -12,7 +12,7 @@ SRC_URI="https://gforge.inria.fr/frs/download.php/file/37744/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/5"
KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="
blas cuda doc examples fftw fortran gcc-plugin mpi opencl opengl

Binary file not shown.

@ -18,7 +18,7 @@ RDEPEND="dev-lang/ocaml:=
dev-ml/astring:=
dev-ml/fpath:=
dev-ml/fmt:=
dev-ml/logs:="
dev-ml/logs:=[fmt]"
DEPEND="${RDEPEND}"
BDEPEND="dev-ml/findlib
dev-ml/ocamlbuild

@ -1,22 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=MLEHMANN
DIST_VERSION=4.22
inherit perl-module
DESCRIPTION="Perl interface to libev, a high performance full-featured event loop"
SLOT="0"
KEYWORDS="amd64 ~arm ppc ppc64 x86"
IUSE=""
RDEPEND="
dev-perl/common-sense
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
dev-perl/Canary-Stability
"

@ -1,2 +1 @@
DIST EV-4.22.tar.gz 193418 BLAKE2B ac07559dd2b35e68da0338a52cbc201ed59b0f690e2c2bf7dae0e2476356cdb5fc3d749fd98b7fdb97f16c7e318c8ac20067f89c1c43b84c4ab148c241ded399 SHA512 0d30d1388a75ed3af24c3b854d8c2a54bfc62c274591f13205c35748f3652122bae85f46aae174ce5963395233536222c8fae35e8118cbd5af2f7ed0c45b70de
DIST EV-4.33.tar.gz 218067 BLAKE2B ea704806b66e2c8f944d417b24ffa3923288f96624296ab0320de693651d675c54a8b58b3b75914dc73dec1d7c65da04dfd9dd3b573d3f11978a3865f66fe991 SHA512 dd90739888ffd793652fc6590cbfd6f3df1ea25b1a6e478dc903ef10f49f9c729e87005b94f47786ca7603cf27b02e1d5d8a2941037bef25ba5a83fe608e89c5

@ -1,28 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=RJBS
DIST_VERSION=2.214
inherit perl-module
DESCRIPTION="Simple parsing of RFC2822 message format and headers"
SLOT="0"
KEYWORDS="amd64 ~mips ppc ppc64 x86 ~sparc-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Carp
dev-perl/Email-Date-Format
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
>=virtual/perl-CPAN-Meta-2.120.900
>=virtual/perl-Test-Simple-0.960.0
virtual/perl-File-Spec
)
"

@ -1,2 +1 @@
DIST Email-Simple-2.214.tar.gz 39590 BLAKE2B b3f1b9a2904493c5df2bd445035ca93fcb348fe33212a779109101e3727a1fe887ccd0513d7520782a04eb473b51d019715ce8ad7b38f860dc3b6b687201362c SHA512 0a2b721b48e621c3cda2453934943dad0b779c30aa20821536f189f2d1c02512ec0451b8273ebef2618b42741cf72b59a6b6e7fbe4db2b1891f436815ed7c117
DIST Email-Simple-2.216.tar.gz 39695 BLAKE2B 2cb0f727a7799ccf29b8b23662a02bdf264880d33ee5a7d487c696bd8cc19f68257f2d154df37ff6a58b428b9784e0e80d587d28b1e6dbbfb99a5f3946b45bb5 SHA512 2d729b6ad3cc493d27a8b3f775c046ca16dc53e7fe701fa78c87fbdeb350d3c9fe546ab0721504747f443f0f4e33d395b08b53374b32f89a842ef09a5b1dde70

@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=RJBS
DIST_VERSION=1.202
@ -11,8 +11,6 @@ DESCRIPTION="Check validity of Internet email addresses"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~hppa ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Carp
@ -24,7 +22,7 @@ RDEPEND="
>=dev-perl/Net-Domain-TLD-1.650.0
virtual/perl-Scalar-List-Utils
"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
virtual/perl-File-Spec

@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=GAAS
DIST_VERSION=1.05
@ -11,10 +11,9 @@ DESCRIPTION="Determine the locale encoding"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND=">=virtual/perl-Encode-2.0.0"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? ( virtual/perl-Test-Simple )"
test? ( virtual/perl-Test-Simple )
"

@ -1,31 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=SHLOMIF
DIST_VERSION=0.17025
inherit perl-module
DESCRIPTION="Error/exception handling in an OO-ish way"
LICENSE+=" MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Scalar-List-Utils
"
DEPEND="${RDEPEND}
>=dev-perl/Module-Build-0.280.801
test? (
virtual/perl-Test-Simple
)
"
src_test() {
perl_rm_files t/pod-coverage.t t/pod.t t/style-trailing-space.t
perl-module_src_test
}

@ -1,2 +1 @@
DIST Error-0.17025.tar.gz 32013 BLAKE2B f05769f2d10f2d326f85b67b5ae6cf16605b4b908b56643258543ff321c74d3aa7382f4ccac1693fea44e31b4ad970eeb15219bf610da4d2f1c0c13d68596494 SHA512 0cb77d8be2f759aaf8970f9d5fa5483ba5ba687c115f6bbeaa22afb1b5c50fe6f70b4dce19a3c8d1bf6e9bfad0af86f2e03faac493f428b04962e5337be3ae2b
DIST Error-0.17029.tar.gz 33304 BLAKE2B 1e944d519373599b01607c014295cbf0c88cc0f5b11da05c98d95621cfc745c3d3d32adda47a990f21f5c305c9af9cbb27bae72a1a94fe1e497ea7838b11a3f6 SHA512 266ba1feff897c1d162e69a83e595cb40da9a6e1d8b10cc5531626eff392c6da94be03ba722c74827fc2ea0d9d1c1e62e824d9021e098b700db65dd0b3acbd0a

@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=DOY
DIST_VERSION=0.14
@ -11,10 +11,8 @@ DESCRIPTION="safely and cleanly create closures via string eval"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="test minimal"
RESTRICT="!test? ( test )"
IUSE="minimal"
# Scalar::Util -> Scalar-List-Utils
RDEPEND="
virtual/perl-Carp
virtual/perl-Exporter
@ -25,7 +23,7 @@ RDEPEND="
dev-perl/Perl-Tidy
)
"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
virtual/perl-File-Spec

@ -0,0 +1,21 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=PLICEASE
DIST_VERSION=0.35
inherit perl-module
DESCRIPTION="Add line numbers to hereis blocks that contain perl source code"
LICENSE="|| ( Artistic-2 LGPL-2.1 )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
RDEPEND="
>=virtual/perl-Exporter-5.570.0
"
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"

@ -1 +1,2 @@
DIST Eval-LineNumbers-0.34.tar.gz 3203 BLAKE2B 95b3c5abab70f68cc8d7a95fab2c72729a2a96f1730eaa31a457390a25070141593e6d990f6f14646a2e56c302c48156f5b484e86cda858406c19f136c5dd084 SHA512 db99b5c431c634142d6f0e030c332285ad8d40fbece7b12a57524d24e6fca6039203648a6112c065196ff2b85f031bc527ad444dbc4e369d2d65832744b7a053
DIST Eval-LineNumbers-0.35.tar.gz 16909 BLAKE2B 56fc25b8202205aadb8de3628b0cb6474b213600e2c597614bcfd5b90c421d9180ecd434652f581675a6060910c80606b96d1735dd3fb5ec25627dd0798c3aa7 SHA512 2128e30c3a36b282ba223d13b73effc189394a4827c83edb11fda9e5ca58c24f226df59df93dc0ed465ae9b3370fc4ad418c9cdc0f8df58fac0a89c93053f747

@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=DEXTER
DIST_VERSION=0.06
@ -12,15 +12,14 @@ DESCRIPTION="Convert simple die into real exception object"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-perl/constant-boolean
>=dev-perl/Exception-Base-0.210.0"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
dev-perl/Module-Build
test? ( virtual/perl-parent
>=dev-perl/Test-Unit-Lite-0.110.0
>=dev-perl/Test-Assert-0.50.0
)"
)
"

@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=JACOBY
DIST_VERSION=1.35
@ -12,8 +12,7 @@ DESCRIPTION="Expect for Perl"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="test minimal"
RESTRICT="!test? ( test )"
IUSE="minimal"
RDEPEND="
virtual/perl-Carp
@ -24,7 +23,7 @@ RDEPEND="
dev-perl/IO-Stty
)
"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
>=virtual/perl-ExtUtils-MakeMaker-6.640.0
test? (
virtual/perl-File-Temp

@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=NEILB
DIST_VERSION=0.08
@ -11,13 +11,11 @@ DESCRIPTION="Lightweight exporting of variables"
SLOT="0"
KEYWORDS="~alpha amd64 ~hppa ~ia64 ~mips ppc sparc x86 ~x86-linux ~ppc-macos ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Carp
"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
>=virtual/perl-ExtUtils-MakeMaker-6.300.0
test? (
>=virtual/perl-Test-Simple-0.340.0

@ -1,26 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=TOBYINK
DIST_VERSION=1.002001
DIST_EXAMPLES=( "examples/*" )
inherit perl-module
DESCRIPTION="An exporter with the features of Sub::Exporter but only core dependencies"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND=""
DEPEND="${RDEPEND}
>=virtual/perl-ExtUtils-MakeMaker-6.170.0
test? (
dev-perl/Test-Fatal
dev-perl/Test-Warnings
>=virtual/perl-Test-Simple-0.470.0
)
"

@ -1,2 +1 @@
DIST Exporter-Tiny-1.002001.tar.gz 32304 BLAKE2B bb16d9195f5b8b68f9e786820ca21fed1501df51f7bc77fdeb7d37aeadbf5a944c55fc18cc12acaf5f74aa649f66996a910f5a0533e9b2f8be4739c4a7ae4e16 SHA512 b247e7785e02c3346f231736a430c2d54e5ac93c175892090c40121c86eb255ce4d138c65e31836fd2970b45fb71dc7e68ea3c45a06a9e9c4135b45df48621d8
DIST Exporter-Tiny-1.002002.tar.gz 88456 BLAKE2B 28799f2e5872ee10f73c696291aff42ee47e79f878420770da46ce5923e7668b6b8bd9e88c0662d18d33b5e0c91e177360670ec38df57175c5d9732344780ff6 SHA512 b6d39ba1824f6c9d68cf75e7f28fd896c2c475e419f0b1aadec58d4e7e5c8d3fd7bf85d841758772055470de56ad7a3ad6787cfd9d6c5d61d8449cf8f40bda8d

@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=INGY
DIST_VERSION=0.64
@ -11,18 +11,17 @@ DESCRIPTION="Automatic installation of dependencies via CPAN from within Makefil
SLOT="0"
KEYWORDS="~alpha amd64 ~hppa ~ia64 ~mips ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
IUSE=""
# TESTS BAD. Wants to write to cpan's config on the live system
#SRC_TEST="do"
RDEPEND="dev-perl/Sort-Versions"
DEPEND="${RDEPEND}"
RDEPEND="
dev-perl/Sort-Versions
"
BDEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${P}-no-dot-inc.patch"
"${FILESDIR}/${P}-cpantest.patch"
)
src_compile() {
echo "n" | perl-module_src_compile
}

@ -0,0 +1,28 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=PEVANS
DIST_VERSION=0.11
inherit perl-module
DESCRIPTION="Configure-time utilities for using C headers"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
virtual/perl-ExtUtils-CBuilder
"
BDEPEND="${RDEPEND}
>=dev-perl/Module-Build-0.400.400
test? (
dev-perl/Test-Fatal
>=virtual/perl-Test-Simple-0.880.0
)
"
src_test() {
perl_rm_files t/99pod.t
perl-module_src_test
}

@ -1 +1,2 @@
DIST ExtUtils-CChecker-0.10.tar.gz 19496 BLAKE2B b561601d189533f04e5ea20379c9368cadb9fac4ae5b841b0ef8c1463360f4e7f77dba659bae84726e17d07a60bd784eae67f005747c45f89592b98a79fcf895 SHA512 8b43c559333d14d682a00a0fa956aff8b6b4209b7b442f330f9e8573b438dcd5a2d3b86582e2aad2f974c342acee3e79785b9816cb585807dba9b448a1626d4c
DIST ExtUtils-CChecker-0.11.tar.gz 20241 BLAKE2B 14734dece93eea384a6dc9a7dea511870948926f22d1e45281fdf517f7830fe895fe9362c4dee9ab3dd8a67f377857240b15aef9fa7fc8f8037413ee6e8ac35e SHA512 4b638e5082443eafcf2f3586ec8ff20ee62b054f8bc24149dd7a2549f57ca748618f76c057f456eadca4e5c4099071ee2d1c8993a13e2f5ea8924cd92319dd8c

@ -1,7 +1,8 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=LEONT
DIST_VERSION=0.008
inherit perl-module
@ -9,14 +10,11 @@ inherit perl-module
DESCRIPTION="A wrapper for perl's configuration"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Data-Dumper
"
DEPEND="
${RDEPEND}
BDEPEND="${RDEPEND}
>=virtual/perl-ExtUtils-MakeMaker-6.300.0
test? (
virtual/perl-File-Spec
@ -24,6 +22,7 @@ DEPEND="
>=virtual/perl-Test-Simple-0.88
)
"
src_test() {
perl_rm_files t/release-pod-{syntax,coverage}.t
perl-module_src_test

@ -1,31 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=DAVIDO
DIST_VERSION=0.11
inherit perl-module
DESCRIPTION="Guess C++ compiler and flags"
SLOT="0"
KEYWORDS="~amd64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-perl/Capture-Tiny
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
virtual/perl-File-Path
virtual/perl-Data-Dumper
virtual/perl-ExtUtils-Manifest
virtual/perl-File-Spec
virtual/perl-Test-Simple
dev-perl/Module-Build
)
"
PATCHES=( "${FILESDIR}/${P}-no-dot-inc.patch" )

@ -0,0 +1,40 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=ETJ
DIST_VERSION=0.23
inherit perl-module toolchain-funcs
DESCRIPTION="Guess C++ compiler and flags"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-perl/Capture-Tiny
>=virtual/perl-ExtUtils-ParseXS-3.350.0
virtual/perl-File-Spec
virtual/perl-File-Temp
"
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
virtual/perl-File-Path
virtual/perl-Data-Dumper
>=virtual/perl-ExtUtils-CBuilder-0.280.231
virtual/perl-ExtUtils-Manifest
dev-perl/Module-Build
>=virtual/perl-Test-Simple-0.880.0
)
"
src_test() {
# https://github.com/tsee/extutils-cppguess/issues/23
tc-export CXX
mkdir -p "${T}/bin" || die "Cant make dir ${T}/bin"
einfo "CXX: ${CXX}"
ln -vs "${EPREFIX}/usr/bin/${CXX}" "${T}/bin/g++" || die "Can't make symlink ${T}/bin/g++"
PATH="${T}/bin:${PATH}" perl-module_src_test
}

@ -1,2 +1,2 @@
DIST ExtUtils-CppGuess-0.11.tar.gz 6794 BLAKE2B 95372c6ddfabffd72dac9e6a2ab05da1b72f6617f3cb3ed5d63e572c17ad24a225b142df100d052206a103dc0e8d681f19e7ea440cb009b6493093be31f132f2 SHA512 68039779106386efb20cd6e9125d5882e20257f6a1b1f830b32c9f4df70f66a0cf1706f573e4c80159488526656732ede844b37edbf3f1d4a111898eca66fa9e
DIST ExtUtils-CppGuess-0.21.tar.gz 14067 BLAKE2B 35dab476a73c532f2635ebee871dfd4cba593c1e09ed4f9fc18826edb9208208fdcc26a884d3c6ec95db18ceafc83fb8bca1c5c8f6a8caf337795ddde80be6d2 SHA512 e48e4815ac9db4e8bb91de101f1d22aed95c770cf6fa2ea5e38094643fe96bc9fe69b0e5a76ba8aa53a653753f93526edab8b1604d864bb2b3a50223617f84d9
DIST ExtUtils-CppGuess-0.23.tar.gz 15311 BLAKE2B 6e0db2d1c419893cc68050a047e957d42b57780fbf0d26ec05831990e3af45decb4693b68ce426ac9eaa578077e9c9c951a01adea197386c9be70faeb9d22977 SHA512 f984f653cffd6288851af3e353532f369d229a8b903f8e0ba7c1a5e9d8bd1b63c3415403b45bf1e8c32dc5c330ed26d1351e37929bd22af271ac295adce737f9

@ -1,7 +1,8 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=LEONT
DIST_VERSION=0.026
inherit perl-module
@ -9,8 +10,6 @@ inherit perl-module
DESCRIPTION="Various portability utilities for module builders"
SLOT="0"
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"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Carp
@ -18,7 +17,7 @@ RDEPEND="
virtual/perl-File-Spec
>=virtual/perl-Text-ParseWords-3.240.0
"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
virtual/perl-Test-Simple

@ -1,32 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=LEONT
DIST_VERSION=0.011
inherit perl-module
DESCRIPTION="Build.PL install path logic made easy"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Carp
>=dev-perl/ExtUtils-Config-0.2.0
virtual/perl-File-Spec
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
>=virtual/perl-File-Spec-0.830.0
virtual/perl-File-Temp
virtual/perl-IO
virtual/perl-Test-Simple
)
"
src_test() {
perl_rm_files t/release-*.t
perl-module_src_test
}

@ -1,2 +1 @@
DIST ExtUtils-InstallPaths-0.011.tar.gz 18588 BLAKE2B 35d10a3477837b00763ce039651d283d7a9ee047b68ab354456c2ff9f9abb9b4cdbb6b9869f0da0efa6080dc5f60ca22af7746c4e8a6f422cab24085f25702d1 SHA512 c31bfce1ba1094f1408409d9a50406d7eb974ce43195e968fae51493a7fd3c7112d41af561435233b14d2396df297604ec0c264bab910566c046f9f7b5b3beb7
DIST ExtUtils-InstallPaths-0.012.tar.gz 17991 BLAKE2B 82e4e9cf189931be40fcb79e9064341ae0e9d14ebf437401d0f9a7c1eb9b29b9685207ff471afabe38228feae1b1135cc827000ec59d00719baa2ade6db02ede SHA512 92a4e9ebb387d330ae67b0716b96b27165d08503d2915d8301b3a6aa185f962940e761d21fd400033e6a814e276918e0662da3740ca2852a53cf0fe54f3d7660

@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=XAOC
DIST_VERSION=1.16
@ -12,9 +12,8 @@ DESCRIPTION="Simplistic perl interface to pkg-config"
LICENSE="LGPL-2+"
SLOT="0"
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"
IUSE=""
DEPEND="
BDEPEND="
virtual/perl-ExtUtils-MakeMaker
virtual/pkgconfig
"

@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=SMUELLER
DIST_VERSION=1.05
@ -11,10 +11,11 @@ DESCRIPTION="A set of useful typemaps"
SLOT="0"
KEYWORDS="~amd64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND=">=virtual/perl-ExtUtils-ParseXS-3.180.300"
DEPEND="${RDEPEND}
RDEPEND="
>=virtual/perl-ExtUtils-ParseXS-3.180.300
"
BDEPEND="${RDEPEND}
>=dev-perl/Module-Build-0.400.0
test? ( virtual/perl-Test-Simple )"
test? ( virtual/perl-Test-Simple )
"

Binary file not shown.

@ -0,0 +1,42 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="In-process task scheduler with Cron-like capabilities"
HOMEPAGE="https://github.com/agronholm/apscheduler"
SRC_URI="mirror://pypi/A/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]
>=dev-python/six-1.4.0[${PYTHON_USEDEP}]
>=dev-python/tzlocal-4[${PYTHON_USEDEP}]"
BDEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]
test? (
dev-python/sqlalchemy[${PYTHON_USEDEP}]
www-servers/tornado[${PYTHON_USEDEP}]
)"
distutils_enable_tests pytest
PATCHES=(
# disable test fixtures using external servers (mongodb, redis...)
# these fixtures are using markers in git master, so the patch
# should be no longer necessary with next major bump
"${FILESDIR}"/APScheduler-3.8.1-external-server-tests.patch
)
EPYTEST_DESELECT=(
tests/test_jobstores.py::test_repr_mongodbjobstore
tests/test_jobstores.py::test_repr_redisjobstore
tests/test_jobstores.py::test_repr_zookeeperjobstore
)

@ -1 +1,2 @@
DIST APScheduler-3.6.3.tar.gz 96309 BLAKE2B 6dcd49ec3ebe4f815a7fd2594c438dfe99d9de720a4319a3c7c202deba1235740e478357dd78ef74ec3610652b23a58f23c1188fcddb3b2e48b160895f3ed06a SHA512 4c348a4f37a7973633554a69635f334b3c293c8942fe853b309b4b65335f5d4d553d7d42fd4661b0e6a36f5e97446d296a2c8971bdb51dad3bc8ee6b6d3b20ba
DIST APScheduler-3.8.1.tar.gz 98699 BLAKE2B 7a8320251670de29f76375387f8a3817b3a9c401befd4bfefba106817ec3d21fc0f60af9b7a7620f83c0e1c651bc3eb8c62036a17e01ff91bf5dcf492ff78911 SHA512 553af2532b32bcdc7dc3047bf4f51623e87dbee62dac40b7ca8c3e64881467ecf6c50df56c863d5a44c6b8a99eb02ae22ae008d76ee4836ba398afd280bed99b

@ -0,0 +1,37 @@
From bd39f1a1ec08dd28dda87419a8f25e14bafe2d2a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Mon, 25 Oct 2021 07:36:06 +0200
Subject: [PATCH] Disable test fixture requiring external servers
---
tests/test_jobstores.py | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/tests/test_jobstores.py b/tests/test_jobstores.py
index 132161b..db760bd 100644
--- a/tests/test_jobstores.py
+++ b/tests/test_jobstores.py
@@ -86,16 +86,14 @@ def zookeeperjobstore():
store.shutdown()
-@pytest.fixture(params=['memjobstore', 'sqlalchemyjobstore', 'mongodbjobstore', 'redisjobstore',
- 'rethinkdbjobstore', 'zookeeperjobstore'],
- ids=['memory', 'sqlalchemy', 'mongodb', 'redis', 'rethinkdb', 'zookeeper'])
+@pytest.fixture(params=['memjobstore', 'sqlalchemyjobstore'],
+ ids=['memory', 'sqlalchemy'])
def jobstore(request):
return request.getfixturevalue(request.param)
-@pytest.fixture(params=['sqlalchemyjobstore', 'mongodbjobstore', 'redisjobstore',
- 'rethinkdbjobstore', 'zookeeperjobstore'],
- ids=['sqlalchemy', 'mongodb', 'redis', 'rethinkdb', 'zookeeper'])
+@pytest.fixture(params=['sqlalchemyjobstore'],
+ ids=['sqlalchemy'])
def persistent_jobstore(request):
return request.getfixturevalue(request.param)
--
2.33.1

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

Loading…
Cancel
Save