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>
|
||||
|
Binary file not shown.
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
|
||||
|
Binary file not shown.
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
|
||||
|
@ -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
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -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
|
||||
}
|
@ -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"
|
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,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
|
||||
}
|
@ -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
|
||||
}
|
Binary file not shown.
@ -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;
|
||||
}
|
||||
}
|
@ -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
|
||||
|
Binary file not shown.
@ -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,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
|
||||
|
@ -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,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
|
||||
|
@ -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,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,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
|
||||
|
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…
Reference in new issue