Sync with portage [Wed Oct 6 08:27:41 MSK 2021].

master
root 3 years ago
parent 5f09c622fa
commit 40a94a39de

@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
MANIFEST Manifest.files.gz 29326 BLAKE2B 62f4973d95d83ff5a56a0ed9d5415026272c85d17369c9ea62f9572699f7efdc1fc17e486dae7e5329aa6c6b3fa3acbce8fa91c9f6b3344b68a64b82c7379ee5 SHA512 71619fa570d22de679c6286dd2d415544fe947124a7c03871c5429ad30062f2f88062eaa894b1fd201325dc325fec94fa0e58010e85f9d6ad60b0a5bfee1b0a0
TIMESTAMP 2021-10-05T03:09:12Z
MANIFEST Manifest.files.gz 29344 BLAKE2B 0f32781873c9a6e6efa4cc3f0c54d734046159d418fc237265ca5636b5aea74bb051f0afb842fb0fcfb38ebf9212f50f373454b97cb57cc261b14346b7b813ba SHA512 5a03a77fb384ffa73f2ac0d89d1bce9e2233209978b20da8fa025094220ebb865e0cfa6085bb7e2356bb1766d2df91f043f41148c0cae51dbaf5ccfeb5896cae
TIMESTAMP 2021-10-06T04:39:16Z
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmFbwdhfFIAAAAAALgAo
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmFdKHRfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
klD4ZA/+M2a66BODOq4RgcbpNwg//o75agaKSjBeKY76nAw2bg3NS9f0ovNDTtZ7
QzsSpH0uvm+hXUIqxOetJSVG23o3GwRTsdrwcheuewuOrsPl7Q/WReZIgOad44DP
8NijhN1ghpt579Hb9SeSnoNbNlYjMFDBtgcPxLSAmTZqBDpl+sRCkDK/ucVBo8+P
KRb1knkFlTk/svNdHPTvgCzlsiEOcjrpdCfyBenNR/97qtH34GuIMpqTdW3OWjdo
dE+kpH4DLucFp47gQNOG+zkRl43Z3NpEY+2Kp/qovLqKVXgIQLzRabAomRcIR/x0
ZN8LfFqAq7Omcdd65yEhVhRTbvpLvR+WYkQbCxZzUA7G7JXPvO+UywGzmTvvDUrh
jTojo3yy7BB8i/kDgsZnWO25hkeaupNZDXf2f2K8ANV3kw+iUqpw+gKN2fhjnC8M
9Ajhu7Jr/uVczgABa/hczmR12G9WliTxBDxwaodfWmcLkif/lXtKvRVbVBaiRZUD
bOhrU16XoCUFukZt+pIkZ9LWGpDMgaOA1zVlKbiMOrehlQl1/PTpluFImhaqQpox
pv7GAiQTyqizMU2OOnwfMJLrn7HlerjQMSsbtkIqCAt5p7gH5yBiWUAADCkdsmv3
/VgEmFyt+shud88XJR/r2lS/O9g7xcLUYeeJ63CrbMEpfHv0+kA=
=bbNE
klBqqBAAhORd5Xx8rDjAaScwy32ruLd96GLgPEB6Rw4NtixdyUFj6XepAciheLSC
l80fuaV0CDBVMlksAlElSTtAynbQapLVLCNQz/XweCdYDkvKV5fCx0mdl9Px02AM
XiHULPaRMifNM2brUdkVQAga1KZycfvODSCvPj7m/W4YN2tj5iFjHN96W79OMoAn
LadFAJh8OjlGlR9VkY8mebRIHCUwAlDmLFt42bymc7hSDi2wpS3MiD6KbYy1jtk/
4leOhPsN9O//1iqLkYOPc+T3QJVvr6rs/nu/5fUIhAZ1UusfOBqqQpKuy6i7NU5k
1fEovk/xDwze+SerPx0dkEy+v6j+akunl+gaVtNZsPdjxoL8KXNkJCig42Vg/Fm7
0LkVNJdQLgAgdyZ5yX8jqvCVMGsAUVYo5OOaae+0LnvRhIyk07ImYkrFrcn0mhSo
hTdO8/6CJY1LxdEjdAFkch243QH7MmJWxbMffxMSxOy9x9ioaO/rVwN/EBEQBPPb
XgUqolZeBwAiFLSoHyGKaCZ8JhRF+VUQt8pvQ+yQoaPRLmn+uJSA/BdG6X5nYoew
GdXgSG0TdAu9qp/1O0o/MRCPM7+tLs9DnGsO8xoV+rjizXl9doL+S6RuFCAEuoeM
z7f3gC6S6/Lc3nL7t3ho8DlsLTIpAyYrvnYsxuAVXDvOhXDFXCI=
=XGCE
-----END PGP SIGNATURE-----

Binary file not shown.

Binary file not shown.

@ -1,3 +1,5 @@
DIST ansible-lint-5.0.12.tar.gz 348478 BLAKE2B 3ea2a0adb82bd21322fa9a2d4c8dd4f41345f909401341748e8395aa8acf92bfc8058ee679a594c886327480bb808e69622e874c9def97c406265a0828a314eb SHA512 06b84d098253ab70f9c3fb59e1d2ba4d30918f1e7c6f3decc8f73fe8cdb7d697527eff3efcc7238fc952bc07b7179d37582d5fb9968e691e2df5495741802404
EBUILD ansible-lint-5.0.12.ebuild 1041 BLAKE2B a24614528178bce403262aceedc58347f410f57e4232cc1f0c66cef594fca22ad836b045edd9d421ab12f7bac745a6036405f022b31734bc3566d19360ac2977 SHA512 a8d0cfce9cb8a50d3238202eed7d3e84ab6b1be1dc44ca26ef0ecafa35c0adca8a6adfa89b07b7c72ac431cf98ac2ba31fe94b4cd2a94d91b867178962a4cba1
MISC metadata.xml 391 BLAKE2B 1b3fc6150990b76502622ab407faf7259eae0d2b4b9c45f149ef5131e2f72548c6d7691eee555810066e0caa4be96a4be0203f857861338cb257330b979e64d0 SHA512 80548bc52821ecf1d134938fc605398c7bdeeb47d0cfeb94af7732001ca2125478df19cc63bbafbce13085bc96988ab322810792ebe9d8a6a4fbbbb41fc0460c
DIST ansible-lint-5.2.0.tar.gz 356238 BLAKE2B 7c8bdb1486d7fca5f6addbb87075d98b51e9af4e5544f5bd272ee2a4648d289e48e3922246f7c681fa3450cb881b1da8e098d715bd49e3d75783c812e9863a7b SHA512 d3c1da5f0ee648ac7b5f32d4ae186a24cda11fba4fccd4d5d43dbd228986793f975b43895db07855a80528fe684f6adfc4be451aeed7109d65dfae6c351b6c47
EBUILD ansible-lint-5.0.12.ebuild 1009 BLAKE2B 615ba49b7a88fdefb4cc1159491df0464e54c02674afcf22510cafaf9cc563a14dcb305f6175bd40285fdc12fdc4b8a4e33cbb15834ab3825903c98917f51802 SHA512 e0504f2773d5b84241a208cde4a25af27bd454f9141374add81d6b2018a78403ff2093bad6390d367ec4a4ea8174aa2f6eb3571da99e1cd4c9691310650dd760
EBUILD ansible-lint-5.2.0.ebuild 1159 BLAKE2B 27ade2e87ff0af7b5e85493b517711036c28358a666fc143a499f31a835fe3fb163c78b6296a9ecb5d7f69b08c699458fdd97c1a9d27552df1c5be6a09bdef6b SHA512 18fc6d53ad2c8461cd1c18c927821fd3f0942946f53315d007ff6e9e566a98929578107541c130a24e2f2de6bb01e6ea821ac3ce7b39ae9b543df8a42696ace2
MISC metadata.xml 581 BLAKE2B b2032b06ec9ebe63385918be612a0ee1c351943bfc05a544670a78d87bb2836eb2143bd80da6542c140ab16d33f4b79fa0f18cce3291833b34e43ffb6fd3e737 SHA512 912848e5c37863ed0b04062210da0e925a2d71f1766dd43bb746e7aa364a86ff501e4a6e9762c584ca6d37d4f38b7418a32f3a02b30a7ee4b3f7b828f84f6646

@ -4,7 +4,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Checks ansible playbooks for practices and behaviour that can be improved"

@ -0,0 +1,39 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..9} )
inherit distutils-r1
DESCRIPTION="Checks ansible playbooks for practices and behaviour that can be improved"
HOMEPAGE="https://github.com/ansible-community/ansible-lint"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~riscv"
# Many tests require still-unpackaged yamlllint
RESTRICT="test"
RDEPEND="
>=app-admin/ansible-2.10[${PYTHON_USEDEP}]
>=app-admin/ansible-base-2.11.4[${PYTHON_USEDEP}]
>=dev-python/enrich-1.2.6[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
>=dev-python/rich-9.5.1[${PYTHON_USEDEP}]
>=dev-python/ruamel-yaml-0.15.37[${PYTHON_USEDEP}]
dev-python/tenacity[${PYTHON_USEDEP}]
>=dev-python/wcmatch-7.0[${PYTHON_USEDEP}]"
BDEPEND="
>=dev-python/setuptools_scm-1.15.0[${PYTHON_USEDEP}]
>=dev-python/setuptools_scm_git_archive-1.0[${PYTHON_USEDEP}]
test? (
>=dev-python/flaky-3.7.0[${PYTHON_USEDEP}]
>=dev-python/pytest-xdist-2.1.0[${PYTHON_USEDEP}]
)"
distutils_enable_tests pytest

@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>monsieurp@gentoo.org</email>
<name>Patrice Clement</name>
</maintainer>
<maintainer type="person">
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
<upstream>
<remote-id type="pypi">ansible-lint</remote-id>
<remote-id type="github">ansible-community/ansible-lint</remote-id>

@ -1,8 +1,4 @@
AUX apache-tools-2.4.7-Makefile.patch 1695 BLAKE2B 8fac145613ac9f587e49bc6932c5712b7d7cad0d91422e11701edd24152e1d33907cbf31e3bef709555253759cea72199d4537df5d20d3ce9ca5dc898ba26779 SHA512 f597ce5503e590ed5b2621c04dcf0a571a73b70f144df7fe4e5fb7329a4f1558a5eb16913fe3d7c58ac1030f46cd2b1882e08d0f62106fbf8d40a8677c6b9448
DIST httpd-2.4.48.tar.bz2 7194385 BLAKE2B 5006535dc15b703b4388d90d57559bd882f16210c2f38f4d773312ed8322803629deee18709ca4446000c20c94ff8b0037acbe4dddab9cdbe45417079f708039 SHA512 6c250626f1e7d10428a92d984fd48ff841effcc8705f7816ab71b681bbd51d0012ad158dcd13763fe7d630311f2de258b27574603140d648be42796ab8326724
DIST httpd-2.4.49.tar.bz2 7199599 BLAKE2B 78614647335a2351ce3ffb67f79bffd4aa0f42080a46de1f8d8a75c2ccae24998f5d505e60e9d4a710ff763e6a8cb3abee3da34ff6a7f2e18b68029a8abe80b7 SHA512 418e277232cf30a81d02b8554e31aaae6433bbea842bdb81e47a609469395cc4891183fb6ee02bd669edb2392c2007869b19da29f5998b8fd5c7d3142db310dd
DIST httpd-2.4.50.tar.bz2 7653174 BLAKE2B 6bdb26bc03347b9643e973d22726ef283b8d92b675f81e85f4e0470bedf8510bac60cd043fe966bc786d5ae47827ac1bb31da88a0e510f4bb6c665e2075c3beb SHA512 b1afbaf44e503b822ff2b443881dcb44a93aa55d496f88ae399a2e7def05f78590f266a16da1f2c0aac88e463b76fba20843b1e20a102e76c8269de6fae3e158
EBUILD apache-tools-2.4.48-r1.ebuild 2494 BLAKE2B ae327b878c19ba32b1a21abf0394fab0a9180c0c09f55b9b213396345fae794a82edb252a5782ac3130c66215521967c50c5f2300b77b3325e179cf58a7367ff SHA512 10d43534d767a77132da6e069a6050079192de83e3021f3954d7d0db00900fe2554ddfc3c8eaa98524f54ab51f12b9cb5f694312940dec01c3fb612a1343135f
EBUILD apache-tools-2.4.49.ebuild 2495 BLAKE2B dc2193f5a41cbb264f1b2656ff1e92206a1e4ef818c990ae089cb929de9ec508502b840c8370ff42be79d68bc0882937a66308b74b616cdd50bba0ad178f98d9 SHA512 894253e170deb55d0a22f2b8817b4a86e1f57d89fe440436a1c83a3d03d0cb9823d33cc2d58bae7a4d7db1ba736ca4907bb10bdb7e9aa7c74688aa8b9255e574
EBUILD apache-tools-2.4.50.ebuild 2501 BLAKE2B 50b8c281948a8196d51b81faf0f76d44d8dc0f2e4962e39ec443d6f43edc23374548795ef998f77c43964fbc226cdd04b31f226ce2e9360b3a5723d130e6e304 SHA512 9252fb04dd29481b882f4d08bece5cb38d5ee6c91980bf48e039bd53bdeedfe02475e63b87b938ba886b525744a8ce3be6cd6f4bf4dfa39261234e50891e2853
EBUILD apache-tools-2.4.50.ebuild 2494 BLAKE2B 2dc2cb347c7eac724fb85c0ee7a5f7131ff3cc71636f1a87141fa4c1fd3c9e7208e87182fb2ff819f5268a553a10fdc1e978bbe2f18a833d34cc9864409c6b18 SHA512 d185502697cd6e5939db0ac2d7cfc170cddfbb1904a545f9ef822693414ec978062787eaa4ce78ad90e85025735b1982dd5beddb261764aed43d3a39dbf9fbca
MISC metadata.xml 469 BLAKE2B d94d7a27ad1d65eb651c92ff82f5e8f4181737a65ad8dae29843693c4fd639d15b82e419f39ff12273c964b2cd4cbb6eb9850ef358e02b6ebe6a25a2fe2f5877 SHA512 409c831b4c337d40b71fd41a48c5aa9ad4e922baa86d931e3aa2bd556c2312154022fa5297daa03084da08d7f9739e37be87446f25c784c30b3df992b0165189

@ -1,103 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
HOMEPAGE="https://httpd.apache.org/"
SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc64-solaris ~x64-solaris"
IUSE="ssl"
RESTRICT="test"
RDEPEND=">=dev-libs/apr-1.5.0:1=
dev-libs/apr-util:1=
dev-libs/expat
dev-libs/libpcre
virtual/libcrypt:=
kernel_linux? ( sys-apps/util-linux )
ssl? ( dev-libs/openssl:0= )"
DEPEND="${RDEPEND}
sys-devel/libtool"
BDEPEND="virtual/pkgconfig"
S="${WORKDIR}/httpd-${PV}"
PATCHES=(
"${FILESDIR}/${PN}-2.4.7-Makefile.patch" #459446
)
src_prepare() {
default
# This package really should upgrade to using pcre's .pc file.
cat <<-\EOF >"${T}"/pcre-config
#!/bin/bash
flags=()
for flag; do
if [[ ${flag} == "--version" ]]; then
flags+=( --modversion )
else
flags+=( "${flag}" )
fi
done
exec ${PKG_CONFIG} libpcre "${flags[@]}"
EOF
chmod a+x "${T}"/pcre-config || die
}
src_configure() {
# Brain dead check.
tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
tc-export PKG_CONFIG
local myeconfargs=(
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules
--sbindir="${EPREFIX}"/usr/sbin
--with-perl="${EPREFIX}"/usr/bin/perl
--with-expat="${EPREFIX}"/usr
--with-z="${EPREFIX}"/usr
--with-apr="${SYSROOT}${EPREFIX}"/usr
--with-apr-util="${SYSROOT}${EPREFIX}"/usr
--with-pcre="${T}"/pcre-config
$(use_enable ssl)
$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
)
# econf overwrites the stuff from config.layout.
ac_cv_path_PKGCONFIG="${PKG_CONFIG}" \
econf "${myeconfargs[@]}"
sed -i \
-e '/^LTFLAGS/s:--silent::' \
build/rules.mk build/config_vars.mk || die
}
src_compile() {
emake -C support
}
src_install() {
emake -C support DESTDIR="${D}" install
dodoc CHANGES
doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
docs/man/{htcacheclean,rotatelogs}.8
# Providing compatiblity symlinks for #177697 (which we'll stop to install
# at some point).
pushd "${ED}"/usr/sbin >/dev/null || die
local i
for i in *; do
dosym ${i} /usr/sbin/${i}2
done
popd >/dev/null || die
# Provide a symlink for ab-ssl
if use ssl ; then
dosym ab /usr/bin/ab-ssl
dosym ab /usr/bin/ab2-ssl
fi
}

@ -1,103 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
HOMEPAGE="https://httpd.apache.org/"
SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc64-solaris ~x64-solaris"
IUSE="ssl"
RESTRICT="test"
RDEPEND=">=dev-libs/apr-1.5.0:1=
dev-libs/apr-util:1=
dev-libs/expat
dev-libs/libpcre
virtual/libcrypt:=
kernel_linux? ( sys-apps/util-linux )
ssl? ( dev-libs/openssl:0= )"
DEPEND="${RDEPEND}
sys-devel/libtool"
BDEPEND="virtual/pkgconfig"
S="${WORKDIR}/httpd-${PV}"
PATCHES=(
"${FILESDIR}/${PN}-2.4.7-Makefile.patch" #459446
)
src_prepare() {
default
# This package really should upgrade to using pcre's .pc file.
cat <<-\EOF >"${T}"/pcre-config
#!/bin/bash
flags=()
for flag; do
if [[ ${flag} == "--version" ]]; then
flags+=( --modversion )
else
flags+=( "${flag}" )
fi
done
exec ${PKG_CONFIG} libpcre "${flags[@]}"
EOF
chmod a+x "${T}"/pcre-config || die
}
src_configure() {
# Brain dead check.
tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
tc-export PKG_CONFIG
local myeconfargs=(
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules
--sbindir="${EPREFIX}"/usr/sbin
--with-perl="${EPREFIX}"/usr/bin/perl
--with-expat="${EPREFIX}"/usr
--with-z="${EPREFIX}"/usr
--with-apr="${SYSROOT}${EPREFIX}"/usr
--with-apr-util="${SYSROOT}${EPREFIX}"/usr
--with-pcre="${T}"/pcre-config
$(use_enable ssl)
$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
)
# econf overwrites the stuff from config.layout.
ac_cv_path_PKGCONFIG="${PKG_CONFIG}" \
econf "${myeconfargs[@]}"
sed -i \
-e '/^LTFLAGS/s:--silent::' \
build/rules.mk build/config_vars.mk || die
}
src_compile() {
emake -C support
}
src_install() {
emake -C support DESTDIR="${D}" install
dodoc CHANGES
doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
docs/man/{htcacheclean,rotatelogs}.8
# Providing compatiblity symlinks for #177697 (which we'll stop to install
# at some point).
pushd "${ED}"/usr/sbin >/dev/null || die
local i
for i in *; do
dosym ${i} /usr/sbin/${i}2
done
popd >/dev/null || die
# Provide a symlink for ab-ssl
if use ssl ; then
dosym ab /usr/bin/ab-ssl
dosym ab /usr/bin/ab2-ssl
fi
}

@ -10,7 +10,7 @@ SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc64-solaris ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc64-solaris ~x64-solaris"
IUSE="ssl"
RESTRICT="test"

@ -3,8 +3,10 @@ DIST awscli-1.20.28.tar.gz 2058578 BLAKE2B 3f6993a41f46ad9d8d45cebc0d5ea95a954e1
DIST awscli-1.20.40.tar.gz 2071857 BLAKE2B b2511d610c13b4ddf8b1f5c6442f0939072eecf81d97805800bd83b6f481d744ad4344dace6e6553e3d4b7cbf9546f911398311cb04fb698a418579e784539a3 SHA512 aa39a8d67cd8efc63687929f19d5878269ce7f3155a0a64ca2f271251a334f57d2358aa4f0aee76415aee33fe23a1e3b19eb2c6dcfa21e8c0fb7409f5d29a001
DIST awscli-1.20.47.tar.gz 2079314 BLAKE2B 2c202ed3e3527a6881c3f9ca73e8639732442948c6cd6a79fc3fe64de38ff56f7e595f0a0e4badeade81624f8a0323f435b63199a138ce90acb0a1785a326dcf SHA512 ad7be0753549c6f82f6f9a8631cbb8c56526ef17eb0152298bb78365735d4454ec4efb44a6858d01f31cff2ae54ad6a11e0afff3277dde2b70415d58bfb81c86
DIST awscli-1.20.53.tar.gz 2081402 BLAKE2B 88d56df063ae6473122913e4713e17bfd8c32961477b8e723ed3c0c0b7dc72ccc4dfd8d897699e2060a2b65a198b96eccf77accdac9a21510aa56dba5423b76e SHA512 48576b535bdf6b9e6397eadd589c41eeec480d2eaf3035ca6e64bd86984aba9170a83b71c0f7f3f64cfaebaf5104fe3adcdaebace5166343fb3b772f5ad8ccfd
DIST awscli-1.20.54.tar.gz 2082080 BLAKE2B 157e35ab297d18aa9739319801e28fabfbd9f68a2ea6215052d11821f96e8df022fe45ba9b34cc9e62ca59186fd16aeda453813f7ad86f96d2b6e483f8fd89a1 SHA512 845e5746808bb40ff41b4a3280bce7787fa6278f3b9176c8ae1237b06d1c6ea01a132ab8b4134d369380823d758c16317a1985ca9f307d17824d2cad5c92858e
EBUILD awscli-1.20.28.ebuild 1465 BLAKE2B 0414a41a1f6a9234c4c74ed23e4ce30b1801ce885e556b290ede026239d537d38912c4557b11985e8e25d95916fbae319876900c46e89e5858ea051ee6a18373 SHA512 ed3d2f988845db9dfff03a8c64373a19dd7719945370e374092403c8a022a9a2f6acd294ed1ad857a40c76730a9a4c42d5a1da4b84cc5f37401317f63b19694f
EBUILD awscli-1.20.40.ebuild 1467 BLAKE2B ff662a5f00944f42ceccaa347486745528b94083fc5ff4053a28253d9cbd26d7ba46688d95ed8c7d1e50f01e692f3f16f26e01ffcc8973a4fef31c6f2c58b07b SHA512 d79f8e7fd1609fe1f4d746a363b14e05d8b68a3b1359cdc2215a03759ba68880f0bff46d2519f420c50f088eae84596d2686be428604f678a716f3c10d002f4c
EBUILD awscli-1.20.47.ebuild 1404 BLAKE2B 7fde5eebee2268092ca0ed774ea605f9080af17d87614f6892fbba1b1f44440bfb8ee88ca6714d54c6639e17d5955b22b01ef609dcb5154aaa98710a73e73521 SHA512 6319aa19de797f3d1d33d6499be8502efbb1f33df58f83874a79ddd0bfd59fb9837891cde5e8b3deec254dd8dcdc784d8f23985e4022b6e31a248bd5395dcaf1
EBUILD awscli-1.20.53.ebuild 1308 BLAKE2B 954123736f61e3243edaf3df49a217a2d71bd060adb3f01193256df0c2a67c439666c38dd4687346ed9380c4b18f92b796f1ea7b4511c5a45bee0bad9fb3498f SHA512 acfa378c3478f288c30250ee9b914aefe6a2987c0d6ed312cc0147f38a22965a9a47046bd1c47812b1e129492140e07af40acb89ab70135b9d720f58db2611d5
EBUILD awscli-1.20.54.ebuild 1308 BLAKE2B 954123736f61e3243edaf3df49a217a2d71bd060adb3f01193256df0c2a67c439666c38dd4687346ed9380c4b18f92b796f1ea7b4511c5a45bee0bad9fb3498f SHA512 acfa378c3478f288c30250ee9b914aefe6a2987c0d6ed312cc0147f38a22965a9a47046bd1c47812b1e129492140e07af40acb89ab70135b9d720f58db2611d5
MISC metadata.xml 334 BLAKE2B 84c9f50e6c0d015aad36a7f625cddf90cf1137a8c2d445cc641cd4890d64261187c10fde59ee1a6c19b98cfdb6ff534c66ae7a7a48a00ec62d6984c9a1891750 SHA512 a845de531df2cd75abf23cdbfa613e586855b95ac4e96566ef193708d7ecf2ec7f7db72fd31b8af0ac4ccd57e51da9c6d129d426bfdc6c4feb57d7df8647f160

@ -0,0 +1,47 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit bash-completion-r1 distutils-r1
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="https://pypi.org/project/awscli/"
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/aws-cli-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
# botocore is x.(y+1).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(ver_cut 3-)"
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/rsa[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.4.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
"
distutils_enable_tests --install pytest
python_test() {
distutils_install_for_testing
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit}
}
python_install_all() {
newbashcomp bin/aws_bash_completer aws
insinto /usr/share/zsh/site-functions
newins bin/aws_zsh_completer.sh _aws
distutils-r1_python_install_all
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
}

@ -1,5 +1,3 @@
DIST hcloud-1.25.1.tar.xz 1164932 BLAKE2B 21d3a0def3684a25c0cb629320f5617c93090d33cc95e66c42355c01afaf3189f8da858028220350bc1f1f53992b289ea75b56196d94ae41323602c4e8fee1a8 SHA512 aba79869553b19f6a117dc4d9f31935582e9ad89d12d9fd8f70087064383b76324483c78890ddb5965f98f2ca783ca46a17dee97b21716a1ff916647c1267a67
DIST hcloud-1.28.1.tar.xz 1498600 BLAKE2B 9489f1c119d941999a3dd6794545704e9946850bb4fef4799a1560fbc50fecc928a93437c3d7221cedbf5435d23d500bec5ffbe4b16dd754ebe934b0e7f57aeb SHA512 146fb1673fcf0939c20ed0259bc69bf05e8971fe20a25cf560023ced4631ac6d470dd270e92c44e26a1131f6cffa3ce339d4524401318764540d8a06ac3cc11f
EBUILD hcloud-1.25.1.ebuild 712 BLAKE2B 720832d21c95224d42bc4511184428280c532f7edd91acfa6ead5b71fe0f3d0243285bf07b196b8cf86d1cbd9e5bbcc3d5bae99d71fa3ac739d5306584ae61b1 SHA512 879162a964a3bf1b13a74a5ef4e916153aed3ef7096d481e2c2428e27b812f6f1c4e181fa42c591140949a57b538150dedfac3e9452676c9446114c2cb861a27
EBUILD hcloud-1.28.1.ebuild 713 BLAKE2B 1d3c6e47bac7202f60f52182a6e0c1c9fbdf29599dad88592fbf7e4786a2972fab2013e7283d3c3583dd4c7dc08f1dad45c8b1fac525c433107aab3685a40a09 SHA512 a02fc4c5453e1f4786eb226ed2811c7c5de4393dc0f9f8cb5807caa3be9a86cd45de92fc5ec7638c6b5a6536c8ec02822fec782b75912defdd21e8111a8cdd24
EBUILD hcloud-1.28.1.ebuild 712 BLAKE2B 720832d21c95224d42bc4511184428280c532f7edd91acfa6ead5b71fe0f3d0243285bf07b196b8cf86d1cbd9e5bbcc3d5bae99d71fa3ac739d5306584ae61b1 SHA512 879162a964a3bf1b13a74a5ef4e916153aed3ef7096d481e2c2428e27b812f6f1c4e181fa42c591140949a57b538150dedfac3e9452676c9446114c2cb861a27
MISC metadata.xml 338 BLAKE2B 6ba2cbe509581ac35dabd93abe166f960d69d1f14336779848483386d28e22dd06e5d196061312827b7a945369f05a466417a1636b607e138515957a75db6f84 SHA512 cc69ce0ab7ba3a9af94ef1918738074cdd725bef2ff70d6c19e46d07bb9514d05ef6415c7ba5b372e7a98902a8440cdb9f7b14a848c3ff2f054863356971ddde

@ -1,34 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A command-line interface for Hetzner Cloud"
HOMEPAGE="https://github.com/hetznercloud/cli"
SRC_URI="https://dev.gentoo.org/~ago/distfiles/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64"
IUSE=""
DEPEND="dev-lang/go:="
RESTRICT="strip"
QA_FLAGS_IGNORED=".*"
src_compile() {
go build -mod vendor -o ${PN} -ldflags "-w -X github.com/hetznercloud/cli/cli.Version=${PV}-gentoo" ./cmd/${PN} || die "build failed"
}
src_test() {
# For upstream a simple test is run 'hcloud version'
./hcloud version
if [[ $? -ne 0 ]]
then
die "Test failed"
fi
}
src_install() {
dobin ${PN}
}

@ -9,7 +9,7 @@ SRC_URI="https://dev.gentoo.org/~ago/distfiles/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
DEPEND="dev-lang/go:="

Binary file not shown.

@ -3,19 +3,14 @@ AUX clamav-0.102.2-fix-curl-detection.patch 844 BLAKE2B a813b1f6003b9cff03fca8d7
AUX clamav-0.103.0-system-tomsfastmath.patch 3725 BLAKE2B 85640ded83600adfdcc03e8f42e3153c71a8b6c5884ca4cbd79a69121943fd171bc528aed26ded895189293008924cef6762a22001b4ee098fe5f680c7619bf0 SHA512 b67df39bc7d60f6ea9bb06d12413f0e4774185d4f020a68bdfdf8fe1ca669f70a62699b0f1100702af5ec47e460a35625dcaa09cfc6ea6d2f3957de227e87306
AUX clamav-0.103.1-upstream-openrc.patch 18249 BLAKE2B 305db3181a4a22acde5b28cef6c2d01b639be8c5b9e9c77737be1ebcb0553040b6eda117285e3e8b4bf06d2565a5d73225d7ce20ba1f115fd08bc822d779b370 SHA512 89e95057ee2f29bcdf5787f659ffe43b055b599d9bb80bf54794859113d760dad135b5b8d80c23e98f8c6b699dc839d4922c4c3b45edf97296f4eea668e62672
AUX clamav-milter.README.gentoo 2284 BLAKE2B 7afc18f3dad57c2d7595257b356943efb3d1af28d55ac8f09f0506430fd0dedf0820906ced666a7237e3af44a9bc1b43fff017c03faad844f96b132ca4c5dde6 SHA512 38eadf2d919a0c48345600ea5a39c90e766b62e8b1ffc7bb01969a8fd93c4545f2030058a470ac7efb75a1d6c74f9930438f58aeff5035e19e38241ed381f7b3
AUX clamav-milter.logrotate 1105 BLAKE2B 5bb2b00dbe6e74c51d4ed7233964cfddf0ef7fd8c913caad42a421fc152baa3ffc3e910f38f46ebb72a08a8b53eba880647a6988d38558ec52129afca8dddfad SHA512 cb6cbefc4a093fda5a3cdb52911ff13b04d641896271b844db9ca30a051cb4beb911ee973a5958df8bba59b7b922cfb23bfa69cdd4fe3c0c2b8abe76bf834c2f
AUX clamav-milter.logrotate-r1 1103 BLAKE2B b506a07f6ebdf697f87060424368ce4e4085564c3fa8e8cc4780ba786f2f543ae51a6e0f9d04db9ea9eb5554c1e395592453235db5abcc243fd2523cb44adec2 SHA512 890744086dcd8d6f7eba0f49df0941c643c6d730ea27a660ecaaab50c51c931489fa25079ad1aa9e307f919ac98a4e5d6b2e952cc46dcea8322b3253c6ba07b1
AUX clamav-milter.service 284 BLAKE2B 7fbdce10ffa1d85aa671616f17ad45683177916269b434283582ecb53000f7a9a8978119e6a8170ddad8f7c0f14f09398fd7b893aad5d718083b002f6371ff21 SHA512 442148ac3c42ecbb893de5c6edde337b72a745d20f6c5ffa33131f9a0b2daadcffac39b686ada986a5ab500ea7b9153c448abc1b819e15fef488da1812bb0cee
AUX clamav-milter.service-r1 303 BLAKE2B 55253d9a660699411e352bc80837add840dc6740afed4fe64a86def84610cad836ea3ea620664f540f242b917aab560201cca9c33b9fbc9b1cef2c8b29bfce36 SHA512 5dc30e3c57d9bff6595155e8299336c579c713aed429ab770f10d7678dd74691a135aa2070a825ddb726fdabcb001c19caeb993c1cd9a6fcf95d1d47f7160540
AUX clamd.logrotate 603 BLAKE2B f39f5938f8fca2d2820d86c8dc144dca0216468a3cfd7dcd84c794d9402e3978da254684053eab108d71263a75266a96f2b6f5e0c635a2b5b0a1a50068920bde SHA512 e9689c99e37a1f2814497e4df19bd760dd94b6134be72341dd3b7f6e5f67505cda913367a5e80873ae601c88a9d7aa994733b8ac7017a6d0aa62d2170845df37
AUX clamd.service 202 BLAKE2B 4d02132cdb44a7155e881037b45bab28f42445808d1d3ff5821e9b179b31efd7d5f217fb968efa17e77f6e0739f0258c4c49656283177a0f5b3d572490259bcd SHA512 799d3f33ca69841882f86f6853dd0dc6d8af73db8cfa5ce6dd6c873c5e7bc07d29bfe0f85cfb77edf2b0d8c05de73988d06148b993996ce639c5d0eeac908647
AUX clamd_at.service 228 BLAKE2B 85181b02329a86495d0737308417dd873424da0bb1cd376725e7857b8b911c841df89ce63ed665a1d0ca6d30f9456c9d47c370b36a2cf8df1e2f3f520d121fe0 SHA512 69a0ca31a7288b5494d8c85ce5ff859a8f34b8a93f573eded90c270099ecac30e01d8549a07a160d74bfdc3c5401c3fd625b178080ea2c02520aab91252739e7
AUX freshclam.logrotate 631 BLAKE2B d5100e4f80227d3cda00193eb7a065f766d6b7b0c54ef58ad646fc7692cd4c6e572e053d368ba78c62c27cd3e1db111822208d29ecad67d10be7d5957d6622f3 SHA512 43838241c66bdf167105b25967576a568e0661e5b3292d24d3028837353280b03ffd1ea6adbbcbc152e50bc25f77357af42bbf3dd70817cf2cf02258ca0fe611
AUX freshclamd.service 240 BLAKE2B 1b72ffee3b0b1b51811aa5f3c7a52678b3beb260f020dd326a437d6abf4bc515392d0b263eeb0773de128b9c0eff1c1f0b7b604dd14b9dffd50aba31909963e1 SHA512 28da28d633f487806448e17aec36648b6ba12f549549485704607e403e64643caea6ee9420e8101f11b3edebe62b651e6d6c338ab232f33b97b315d64b3789ac
AUX freshclamd.service-r1 177 BLAKE2B 8c9304e8c43e03288dcb1c6897b53e7c36b6e6116bb5c43db1e9735cc5d7b50094d33679d2b42839a09c572ad631daf572f62c57e4a7b74bfad5ce40a5916364 SHA512 5243465d30de1e64697455b3af50f62e6d7f3d0df7e2ef9b60f89dc974d8118ff67df0b44fbbddd04dd196ca17cf4306ac99f1eec42a5a0ddd42a64c4cb992c8
AUX tmpfiles.d/clamav.conf 33 BLAKE2B 447c5ad4ad79bc70fc386833fa763451d30bf30f1ae26434039a3926ca5aae9734e0152c83b5b9aa5bed87b17c1b685c4ea9f41c9cb6b3197b1e78e800b71fd9 SHA512 eabe5a94c2679b82ea3e29272eb448b47e60b271381d3e97f3970b1a9e086d61662aff2d29887950a911025294aa7cea8bfd9003d257963566b251bcaeb5f6b2
DIST clamav-0.103.2.tar.gz 13387954 BLAKE2B de0ececd2fe4486d2e8194dbeb45bfb74086ab3eb45fcab7590e75aa5a2242981066a4e8fa99b571cf7278f4516d986ad1a24254a8fe2c5caf4c870b3179c4b6 SHA512 87d47c4529a57da0b47b3744a279996ca24fa74ce10d7e27a53c19c1e13098af680e0e48ed767122bb2bbd3f927302451da84ccf51a933e7e3556ef43cbe9f45
DIST clamav-0.103.3.tar.gz 13389239 BLAKE2B 1846cceed39fbd48fcf973d05a57901cf6f9ccdbb4d7eae501e712d84ab4d0a662e4477696aa6a1446116db85a89603428d7092a55e18f7acb805016d3cd5431 SHA512 c2ee24a6f63735c064140aa5baa347d51e8240b2f7eced3480d05435202aedd481fa7057fd40ecbc2e93a62fe8b0cefb574d8accdf9acede643ffbe0d396686f
EBUILD clamav-0.103.2.ebuild 7395 BLAKE2B a014956d708aacb1c5904c57cb9c42b4c9255282f6718e6f37afba75dac7dd07da84e2cc17afb85ccab136e7d9c206ddd13257dbe6d3eb2a7c3c865b38cdd61f SHA512 bfdf8fe0ec764c7c165eaad8c090a33f182bf6e781745ac2eeb3ac51186d4128a8acff0ead73e4d5352e432c56ba9d6727f0cbea8c35dc6a6f552495c62deb28
EBUILD clamav-0.103.3-r1.ebuild 7405 BLAKE2B 48038b8bb6c1b1f045b24ae7d955226389a121604e2e4212c6eb81ce6c9aa9eea2a4ecd7d82409d2cf01dfc4c6fedee5d7188a6dbd9f0cd88546b6a35facd51c SHA512 0f19466145c340ddf7473876443c18e10b73b607c3b8b48bda31ad0740fa0835d2f21fd546bb7e9facb03fab2f792ab2343c9965064b6a17eca9eaafcb8d6fe6
MISC metadata.xml 1060 BLAKE2B 77fa5fa0a2d6bd96b1ec797d42f7f626decf3c98c1563e87af503268f4f09d0a01f38651174546dd835476b635ae5a6a0535acd06849f58c2bbf41993d8a7ffc SHA512 334cc919ca47d8045ab61193e39f7dbf86a58d7619a193ed31da5cd5f82c99c2af210790d75f60f9951097915fa6805f5aa79f90efb3551322c9f0e54fc68e99

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

@ -1,25 +0,0 @@
# This script is intended to rotate the logs for clamav-milter in its
# default configuration on Gentoo, where clamav-milter writes to its
# own log file but does not rotate that file itself. The clamav-milter
# daemon is capable of rotating its own logs; if you have "LogRotate
# yes" in clamav-milter.conf then you do not need this script (and
# should disable it). Likewise, if you are logging to syslog
# (LogSyslog yes), this is redundant.
#
# This is more complicated than the clamd/freshclam scripts because
# the milter doesn't yet reopen its log files when it receives a
# SIGHUP. See https://bugzilla.clamav.net/show_bug.cgi?id=12615
# for that. Instead we have to attempt OpenRC/systemd service
# restarts on (only) the machines that support them.
/var/log/clamav/clamav-milter.log {
su clamav clamav
missingok
postrotate
if command -v rc-service 2>/dev/null; then
rc-service clamav-milter status 2>/dev/null 1>&2 && rc-service clamav-milter restart 1>/dev/null
fi
if command -v systemctl 2>/dev/null; then
systemctl try-restart clamav-milter
fi
endscript
}

@ -1,12 +0,0 @@
[Unit]
Description=Milter module for the ClamAV scanner
After=nss-lookup.target network.target
Before=sendmail.service
Before=postfix.service
[Service]
ExecStart=/usr/sbin/clamav-milter -c /etc/clamav-milter.conf --nofork=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target

@ -1,13 +0,0 @@
[Unit]
Description=clamav updater
[Service]
Type=forking
User=clamav
Group=clamav
RuntimeDirectory=clamav
PIDFile=/run/clamav/freshclam.pid
ExecStart=/usr/bin/freshclam -d -p /run/clamav/freshclam.pid
[Install]
WantedBy=multi-user.target

Binary file not shown.

@ -1,6 +1,7 @@
AUX 1.7.0-Make.rules.patch 296 BLAKE2B ca12dbe2f0bb60cffcbe2646a99f421e1f7f9d3b9eab0c96481cbbcfe064efc81afb25e8819746051e3f47b325eb97d213b7ebf95df60a195a5d16d68332f42d SHA512 a8d6245b09e80e2c9082589e62c2687234ee7838d19255e07aadfd05ddffdb1817e38eac434e71d5f0e19b7f9a88a51126349ae4aa324a634769050dbf433f0d
AUX 1.8.1-respect-ar.patch 634 BLAKE2B a75d716b2f16f9c64e0a99fb91eda15a1009cd29576fbaf70d02b6565a6374647e924a964b607832ef122f003871578eff7dfac8b30deaaf292527cf24506b58 SHA512 4bfa8347a5e6965971320fd7fbbb1b8b8a57ac4aa186bf0ee1264190fefc34fee00bf40cec094763ee1d3adfc2c9d121de7832ce735734f442836941d2bd070c
DIST efitools-1.8.1.tar.gz 115319 BLAKE2B 3aad65defc203055122027cc3a48f50912d2f08b592841780fdc1bf337d75774116e698c4270865275ce7fe64988cd84105138ca979d81818f0065d7ae90f1d0 SHA512 114ef8e52160f5a5239ec306dbd587610849bce771ba8145ed092afd79e44f3ecee93cc1d97e2d5fdb880cc825bbbe928b3ef6701fd3b1fa444053894be1098a
DIST efitools-1.9.2.tar.gz 116037 BLAKE2B b3540932eb112e362fd0eed47090360603807dcaec8c6a10058618f8252eeb5dcbbd703d313cb6fadae62c1312815080cf2c77fc86f9dfc9f9afca24ad97f584 SHA512 77e0ad7e865814ed388ff6daabe0f4b49ba51672bf2cbb98b7905e209cbd28f9ede2f73213ce45af8a978c1e67dba24ec88a1188661317cc22317b47e575cde8
EBUILD efitools-1.8.1.ebuild 1221 BLAKE2B 5de949efc7615fb61d26dc892b2aef1f74fe6b0d7073cbaf88f870139cec0b1d1e951112a33ce3e379f1f4f90bc2553947e37bfe52bd3548cba99ad8c205ea26 SHA512 54f49ec77e7de52c0b246675a1456170a660d7df5c91bfb67ca141c5660faa2b58950acbccc048d51185fa1cd5a4d3b3b0146368674d4fcd924b01edf9f4cdaa
EBUILD efitools-1.9.2.ebuild 1333 BLAKE2B faf93582b00832f2b9745c8631b2b20b2e42aae9e9d07850425400d137e288c639612039780c1da8d192564d4d1b50fd20534f4f543b164d4001fd68671e9279 SHA512 7216fddf9b466951fdb7e77589697ea6371ff7f8dfab7ad509f0808716310dc2a43022a20e43d25fe2fbd15c06564500d4c7e554709068346069cf5dbf81d80a
EBUILD efitools-1.8.1.ebuild 1259 BLAKE2B e71109957eb391a0a8e5915cd834f38a149c27f3a72602ebf1fe04110b9778b18a38d0d7d439ec7ae04410b1a232a7fc7ee7e53d71a5f75360d617865194ec86 SHA512 69f08f7a557875ae331f69891208d9a800df6c5bad02eac9764c79eb5e665d1eb060b208bee5db128259297e7229265f153019508388b28d8659d98bdd9f9880
EBUILD efitools-1.9.2.ebuild 1371 BLAKE2B 3b6365e47baea942517f9a607ada4b332ad1a305bda1a6e160e2a9a86b04b1f622f060ec34a0f296138c9b312bc984155c6103eb9f953389d0021c0ed742a78e SHA512 b5509e5b8bc324d493d47d62685be8079ed940da0ed27ced73644351a57d4ec17df0b6247dffea03dd675a9c1202f89104c8625f0de8a126fcadae5972faaf23
MISC metadata.xml 218 BLAKE2B e650ab1b6c50b385efc18a924f5382ef66cd5669e4c138270215328e5b595a45b519dc48925a76e824ba834e159865adbb131c0b7e166c2ffaf91d3c63b76163 SHA512 79219cfff4bf8680335548005e5f1f64270e1dcbabb2700b033e355fa65f0a5aefb0eaec20fbe231fc4525a7511693b84c0d957452fc9aa39e4ab31a1e1e56eb

@ -29,6 +29,7 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}/1.7.0-Make.rules.patch"
"${FILESDIR}/1.8.1-respect-ar.patch"
)
src_prepare() {

@ -29,6 +29,7 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}/1.7.0-Make.rules.patch"
"${FILESDIR}/1.8.1-respect-ar.patch"
)
src_prepare() {

@ -0,0 +1,25 @@
From 81503d7a43b99c036758d05c1794502c09189fa4 Mon Sep 17 00:00:00 2001
From: Matthias Maier <tamiko@43-1.org>
Date: Tue, 5 Oct 2021 22:27:52 -0500
Subject: [PATCH] Do not use ar directly
---
Make.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Make.rules b/Make.rules
index e46d407..767070d 100644
--- a/Make.rules
+++ b/Make.rules
@@ -129,7 +129,7 @@ getvar = $(shell if [ "$(1)" = "PK" -o "$(1)" = "KEK" ]; then echo $(1); else ec
# sbsign --key KEK.key --cert KEK.crt --output $@ $<
%.a:
- ar rcv $@ $^
+ $(AR) rcv $@ $^
doc/%.1: doc/%.1.in %
$(HELP2MAN) --no-info -i $< -o $@ ./$*
--
2.32.0

@ -1,7 +1,5 @@
AUX jitterentropy-rngd-1.1.0-do-not-strip-and-compress.patch 581 BLAKE2B ee6f98d762fea06504ea7157ea2b13ececeaef1ee204cf0e5d63fc0932e1c41da13b2a8ad0cb8564548fcabe1989693ed16c7d461f75844323864e457e8fb804 SHA512 7c42e8deebf0d36fdd91b879cbc28eab1a92d413f64ab5f19eeaa214b51f6e96866c1bd53fdd6c2c4e335ae156cef24d2bba4c1dd6b557d96e89b61618703241
AUX jitterentropy-rngd-initd 338 BLAKE2B a717848317980f0376058c04f53cfc7ac4e771ffbd926b36f2f5e18e121d846aa9248b38cfae7d1c6e4c2241e0c1124394d9b5b58d2d119bf455d0d8786e74df SHA512 1993262b47e703514bba9a4dff18e58ff70b6b109a2eb3097b0231467ea7f948c6fb6d0f695988de6c2d41fa2295a8a40af19124572b8e72fe09610eaf8caa39
DIST jitterentropy-rngd-1.1.0.tar.gz 25891 BLAKE2B f711b173c68b74cbc0dbac1ae1b7a2beb5352b38e411f96172aa36ac7f720f05469f5fac2fa97b3514ec11fbe2ccfe0351ee7df8f51a8b36a566635ef93e4d08 SHA512 32835475b604e502caaab9b0d1cd9fe2920c126a27841669f6cf9c717094bfd4c11feab0f9f706ee4cf4caeedf26ced7039075499a3faaf41830c72968544646
DIST jitterentropy-rngd-1.2.2.tar.gz 35773 BLAKE2B 5b1987108beb5db7a456f1216173598c893b1c845dfaa7594854a82257e88adda01e2bb4160b70f2605aff519b7d1ba79bcea94dda34c2fc75e412e0a031b943 SHA512 c317cfb77910b6983da7bf0733c26f28260da746b917cde59a9cdb023b95cf727cf729dd7de27c8cc308b1958ca054114d01ad7dfb9bd211c241a95b7bed83c6
EBUILD jitterentropy-rngd-1.1.0.ebuild 605 BLAKE2B 04c2f307c31d2b26befd16f5e39d81445ae958fe7c5003363210ec25d5f00a87f0aef27f66757274f181b8303b649bf71dd0511c56eeb055bebdc94853b96d70 SHA512 7c4d42890396959d69ae8a215e9bf23ba2546655814baa7830b444208e7067fcd481cd7f3fae64b67551f457ef7fac8180e65436e44502b31be903a5599f7b4f
EBUILD jitterentropy-rngd-1.2.2.ebuild 699 BLAKE2B 89349823ec63727a4822165659771c0b6c2fc8fa89bbf6f4d7be315a317278ecaaf3e82c855dcde58ba22e523f62d2415ee5b3de074fa9d6173def10cb68dff8 SHA512 27d875211941fcd597ad5ee78a643b4a633caab9b3ccfe61ffdd241835cc05339b171d5a1c51464adf4bcfd63aaf49d437644af629c6c2829bee500c3ff00ea6
DIST jitterentropy-rngd-1.2.5.tar.gz 45262 BLAKE2B 0fdbd513f0dd2fa216c079d55790ea2848fac26ca17846cfce06d0d338e8e88a13f2e9a7a7d55c938f0366f7cb010d22fc35d63921e4bb1408a5bda73ac9e96c SHA512 23079ff64e1145efa22960dfa772f77dd27f45f1cd950fe7b3a45d56cb75920902a7136da92a7202c686f33db0895115624ac3d809627378056ca13250e5b07b
EBUILD jitterentropy-rngd-1.2.5.ebuild 699 BLAKE2B 89349823ec63727a4822165659771c0b6c2fc8fa89bbf6f4d7be315a317278ecaaf3e82c855dcde58ba22e523f62d2415ee5b3de074fa9d6173def10cb68dff8 SHA512 27d875211941fcd597ad5ee78a643b4a633caab9b3ccfe61ffdd241835cc05339b171d5a1c51464adf4bcfd63aaf49d437644af629c6c2829bee500c3ff00ea6
MISC metadata.xml 599 BLAKE2B 4d51b86a06b56fa5ab530fdeeac4ab0e8e127afa844b64265c159ee839c3b0bc7470c5e7390b7cf88c8a89f78612e18aeec34a04791186b37eeaf76cbf7f124a SHA512 60b241303e2960e8b9a5d097771a87174d46c089770ba37ad5e8dfe764858f2e7b7f5cf71156efac25380ee8727af5f73a0eb6c69a4a0086b913c48f5dd4f280

@ -1,25 +0,0 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-info systemd
DESCRIPTION="Jitter RNG daemon"
HOMEPAGE="https://www.chronox.de/jent.html"
SRC_URI="https://github.com/smuellerDD/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~mips ~x86"
IUSE=""
PATCHES=(
"${FILESDIR}"/${P}-do-not-strip-and-compress.patch
)
src_install() {
emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" \
UNITDIR="$(systemd_get_systemunitdir)" install
newinitd "${FILESDIR}"/jitterentropy-rngd-initd jitterentropy-rngd
}

@ -1,5 +1,7 @@
AUX libmd-1.0.3-out-of-source.patch 1147 BLAKE2B f255a1367f89912ba81c69e3e813acc48bcfea1406389ef40087308fa762dfbb524becf16138d4e243864991791b1f3601edb7d1fb6a51e7ad77cc768de5a213 SHA512 894413794c3e6523bb23bbc983d1489391b14e5bb08428d7dcd874060d5c64490d239b983eb8f291d8e98e76ed26548252cbd10ae74d28fa4cace82fb100290a
DIST libmd-1.0.3.tar.xz 258584 BLAKE2B 35b732800a4b0a7b8d0a88eeff5e7e80fe55ab5ed05b7a7a1ffe866e156cc6dc6daca95f865a56297857b10b1bdfc9815b5bf0b198e8284f217498265c08fcc9 SHA512 f4b5a86bea7b9fac9f7f173032ee436d1e7141f760c1a114a785d31644edbf6802fe8193cc4cf3b5c66d38963be919c05055780bdf6bf5a47927690490ff5966
DIST libmd-1.0.4.tar.xz 264472 BLAKE2B ddc2da74635f5cc009c66a58ae82b83e6e0930e18af8a6b0ecec7cbf378246707b493a99fb97d3491d0d626a0d5ef068baea6a3ba2ec311c5a1516ba5b4e2fd5 SHA512 731553ecc5e0e1eb228cced8fccd531fe31fb5c7627ca30013d287e1aeb8222959cf7498fbb7414bbabb967b25d4e8b0edd54fc47f6ccf55fc91087db0725ce3
EBUILD libmd-1.0.3-r2.ebuild 746 BLAKE2B 34cac3a544162234b7f24d277d8310004f324ba47842a3696c27f16266d56a11fb593259b0947293d1d2e7ae7b9c0a5d97afdcc26884199229a29010240c14bf SHA512 dd2e5f1efb04fe6fbd2c6ff1580ace52a66a894a1c0ca28a80201bd8b018f25cce0cc43858c41282877fb8382e7178abe69dab63328ebde14a9453cf4b199fc7
EBUILD libmd-1.0.4.ebuild 651 BLAKE2B 1008fd79ceda82ed5defb9e2e6f216527940180c4a15041d48378752d952dc061735a976d6f49b402c73ac7e2b1b6843034562322ad5b9883cd4b709d6daed44 SHA512 14046069d447dd835add40b02563d9e58cb50be84436e53f9475f30836fdec0d6642c6cf3606bd08b08305463d5cbb538467961aecf4f123e2d505f259ae23cd
EBUILD libmd-9999.ebuild 567 BLAKE2B c31c8d0780cd63516fae57497f80340712547fe78d17e16ad8d1c1f7320681ef914d0ffefc459593b2de6e0db054860296c72060bea33a4ef47de42dc3da8a14 SHA512 82345337a69a40c8f7199a3be295b18e530be415c712af1259b4e110f7cc80d50705559ad92ce0b7c001c8f6f95ad7d5fae3d09b3ec527a1b860e8577d078ed6
MISC metadata.xml 167 BLAKE2B 868e3b584722eaacf68273db062bb773d8c7e5d7ab2b81ca7e8397643bf7cc106c3a1033594401c99c54f667bb45d6b73f9048fc335580bbd44b4589ad26a832 SHA512 30caadd1496c3b9969136038239a1d8e01f236726b4022c2d7e19ca7575f25f735e556835e581afbf44fbd3e4104c40f2b5ef5fa70118d75c881fdf871962d0a

@ -0,0 +1,23 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit multilib-minimal
DESCRIPTION="Message Digest functions from BSD systems"
HOMEPAGE="https://www.hadrons.org/software/libmd/"
SRC_URI="https://archive.hadrons.org/software/libmd/${P}.tar.xz"
LICENSE="|| ( BSD BSD-2 ISC BEER-WARE public-domain )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
multilib_src_configure() {
ECONF_SOURCE="${S}" econf
}
multilib_src_install_all() {
einstalldocs
find "${ED}" -type f -name '*.la' -delete || die
}

Binary file not shown.

@ -1,6 +1,10 @@
AUX containerd.initd 766 BLAKE2B 07b323c35f9cafa156969644ccab7c618baf60a82ad8037538ae23562c5663742a7453e00412eeafa72129a4806f3610f3f77865c7ebf3e58223a7286c9f712e SHA512 b70abb44d6bc0cdd8115104ef1fbb5099a270c29040351ceff738b9b6ff796a802f92dbbe2c49e04ae058043546bbe6a854e25044f5c07bea7bf6b6fc4f66018
DIST containerd-1.4.11.tar.gz 6406769 BLAKE2B a4882223e2f71944a4d46fb0500a95248cfa33735447952f94c7d7350c2cb62b4911adc77f96559116cca462be02b7270185a0a3dfed5ce4c530465cca7e2078 SHA512 16aa6ae4209939754e122545b454d8b25027a3621464a4b4e0379480b35adf0efb318271f82cf2b959a62fffe531979c9bdfee9ac7d47d4b33269a6bafe2d070
DIST containerd-1.4.8.tar.gz 6400374 BLAKE2B def2d6e47d550d641888289943fee5c860a5523b1b4e347efafbf43a8dbf9d86bbcef0f4286efdf2591a42faf75aa2dc0acad11f2cfcdd99c7e3e89fcd13fa22 SHA512 3c4c52a7a1b3fb76f7837ef7260024e25df14e86ccaea351a0811dd9b7335eddc94019e3fb7e6acb4a41a3dee9c18387d0b44ea406c3534c64e8a4b3dee6a45b
DIST containerd-1.5.4.tar.gz 7675134 BLAKE2B b50061655b0b78a9f4c8bf7355213d02517c5a15e3ff2a623e59ffcde8e7f59ef39aafaf9790f7d977b285eac4d38338505920cdd032d975c50d42605e7157a5 SHA512 91d2fce2dc218070078f0e9e8141d091eca9f23c0b1ff244180260f214a46cdd66ba5c89472b40c0875cbd25580e19765bb030abf2ad749cfd4eea712dacadc1
DIST containerd-1.5.7.tar.gz 7714453 BLAKE2B 621b6527814665432c52e72263da371840a183aa65f621a686111b59ee48e85dd96919abd35f069476b97858a8112d3c92b03afbe42d57495649ca0d2af2fd50 SHA512 ce0d9d355b4a6142569690a9fcde8cd07de20b5788098f1184a728106a60dd11a437c87499a97af0c147b14372c2bca4daa823ea470f10b5e1b8a1e34ba530b0
EBUILD containerd-1.4.11.ebuild 1952 BLAKE2B f5fce6b56c3bdb7b43910153d8a8fb014e7473f1eb528c853d6dae7a046a7d0e9e1a4c88673e4c1b0cf072a394682737e9e2d3b99632abf474ace24ade281ed4 SHA512 b634a338ea22ce94e7184c8bef0143906d48c688f4bc048f7e630480f8cb6f9104f89e07bf355db19118412ecb524e45c8420f7bc20db5ffe96c51d5c3d8c31d
EBUILD containerd-1.4.8.ebuild 1952 BLAKE2B 31be2b2d210f3ea3ef86f11eeb6e270c35a508f7ae12934b75a02d7c6977149b98f436a6a00253faa72d370035535b1fc8a9c9d8a11c25583b774ddc025dae0c SHA512 d79147ba9bdc69cac1e4049a04f3b8d62fdaf5e4bbdbaec9325d8e47c38be3246c31d6b5715dda2f66cb8e76dc31e7707b5c6158727431e0aefa56efdbf8f726
EBUILD containerd-1.5.4.ebuild 1951 BLAKE2B dcb90b060f362ea0c7d541e47c447c0e11e307c9a0b848306969eaf8fb4e804886ea0d99d31a1cd76d326f1945cbcdd101f3978104a70f09b321303a5736d08b SHA512 ae029f43534698a7c0cd0d2f50f807e7d41307ebd1a2a72148e527b1440eca4ed9e1de1694cd0b1a52c058413d114c9b58dfd25b18e9a95a820a89b18c26fa7d
EBUILD containerd-1.5.7.ebuild 1923 BLAKE2B bda0c1d15735ac12f16c8ec47bb08db0094e2a96cd931a5aadaae8459402c2137cf101cb668ce2411fc6cc764a7c3050ad7079b6e55b46af7e4e2cf1b51716ae SHA512 d10b68a0b986e202d2b419622263c1ae3c96419e54495efcba4efa05b4e69223f20960eef6e84e6a0a6ac7e1af51c329cd82a039f443a3eadcc9bf178237c2d8
MISC metadata.xml 1144 BLAKE2B 960f8dd81a1e56c0d381355da41a845c2e9c12db0c8c546da1593a0499e4929b37610dff83943c388f8edc5878b9824e47ddac02ba129176a916054400e10e90 SHA512 904a5a11d7729ea6021aaf1b1d91ae3f7609c08b8c191d9f4c35c62914b0acf1ee45f3f7e0416711225809f129da4b4c76c934e6207026b69b0096f431820982

@ -0,0 +1,84 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CONTAINERD_COMMIT=5b46e404f6b9f661a205e28d59c982d3634148f8
EGO_PN="github.com/containerd/${PN}"
inherit golang-vcs-snapshot toolchain-funcs
DESCRIPTION="A daemon to control runC"
HOMEPAGE="https://containerd.io/"
SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
DEPEND="
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp )
"
# recommended version of runc is found in script/setup/runc-version
RDEPEND="
${DEPEND}
~app-emulation/runc-1.0.2
"
BDEPEND="
dev-go/go-md2man
virtual/pkgconfig
test? ( ${RDEPEND} )
"
# tests require root or docker
# upstream does not recommend stripping binary
RESTRICT+=" strip test"
S="${WORKDIR}/${P}/src/${EGO_PN}"
src_prepare() {
default
sed -i -e "s/git describe --match.*$/echo ${PV})/"\
-e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\
-e "s/-s -w//" \
Makefile || die
}
src_compile() {
local options=(
$(usev apparmor)
$(usex btrfs "" "no_btrfs")
$(usex cri "" "no_cri")
$(usex device-mapper "" "no_devmapper")
$(usev seccomp)
$(usev selinux)
)
myemakeargs=(
BUILDTAGS="${options[*]}"
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
)
export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
export GOFLAGS="-v -x -mod=vendor"
# race condition in man target https://bugs.gentoo.org/765100
emake "${myemakeargs[@]}" man -j1 #nowarn
emake "${myemakeargs[@]}" all
}
src_install() {
dobin bin/*
doman man/*
newinitd "${FILESDIR}"/${PN}.initd "${PN}"
keepdir /var/lib/containerd
# we already installed manpages, remove markdown source
# before installing docs directory
rm -r docs/man || die
local DOCS=( README.md PLUGINS.md docs/. )
einstalldocs
}

@ -0,0 +1,84 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GIT_REVISION=8686ededfc90076914c5238eb96c883ea093a8ba
inherit go-module systemd toolchain-funcs
DESCRIPTION="A daemon to control runC"
HOMEPAGE="https://containerd.io/"
SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
DEPEND="
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp )
"
# recommended version of runc is found in script/setup/runc-version
RDEPEND="
${DEPEND}
~app-emulation/runc-1.0.2
"
BDEPEND="
dev-go/go-md2man
virtual/pkgconfig
"
# tests require root or docker
# upstream does not recommend stripping binary
RESTRICT+=" strip test"
src_prepare() {
default
sed -i \
-e "s/-s -w//" \
Makefile || die
sed -i \
-e "s:/usr/local:/usr:" \
containerd.service || die
}
src_compile() {
local options=(
$(usev apparmor)
$(usex btrfs "" "no_btrfs")
$(usex cri "" "no_cri")
$(usex device-mapper "" "no_devmapper")
$(usev seccomp)
$(usev selinux)
)
myemakeargs=(
BUILDTAGS="${options[*]}"
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
REVISION="${GIT_REVISION}"
VERSION=v${PV}
)
# race condition in man target https://bugs.gentoo.org/765100
# we need to explicitly specify GOFLAGS for "go run" to use vendor source
emake "${myemakeargs[@]}" man -j1 #nowarn
emake "${myemakeargs[@]}" all
}
src_install() {
dobin bin/*
doman man/*
newinitd "${FILESDIR}"/${PN}.initd "${PN}"
systemd_dounit containerd.service
keepdir /var/lib/containerd
# we already installed manpages, remove markdown source
# before installing docs directory
rm -r docs/man || die
local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. )
einstalldocs
}

@ -3,5 +3,5 @@ DIST docker-cli-20.10.8.tar.gz 7526374 BLAKE2B 65b7733c9a71c7f266e83b7014ecdca99
DIST docker-cli-20.10.9.tar.gz 7525889 BLAKE2B 7b12f81ed98ed416fb00211b9e6d965ed3209fd83db17a98bef7fef0eb56b27f495093facb3d43e40ec651568a7d83dd484c014c998e046a57662087b1d7c2c6 SHA512 0a9bd36c139bb5e1cd4a975913aa5429ffce8c746d2104aa2a54d937c67073ddaa2a8a5e93d71d2d435459af58168de0e7e3a44fd452da535f3995738da206df
EBUILD docker-cli-20.10.7.ebuild 1838 BLAKE2B 24fa83cf1701cb97451f33ab98136085e9621ff937864b7ce967522b8e5280cf10044ac0cd4b5cad5f4e8eefe56da6051417723ad44348ef68de1cc173f052fd SHA512 cc4dfabb9e7dbf61f98039aa8cf82f75145471325685b1ed9b2a107762b81a134b833f29da2de472e59227607b970de0cb6f10e21ba6ea9265825da5b00a3aa5
EBUILD docker-cli-20.10.8.ebuild 1841 BLAKE2B a65e838169d03e70f0da08e5e14d740ecb7e81c799bc5c9864010db05aa6715d64bd7ed9cc5715d1078a8a7d03b0b036f07b8116b69287b8eddca7b0990f65e2 SHA512 5e5b9af459e54aac5de6008b4d4291238101c638aeafed7e123ffb4bbe715f81cfec6e96281a2e954cbc2dd0f3caa7565d8c8592588e2e1432caa69920ad6501
EBUILD docker-cli-20.10.9.ebuild 1841 BLAKE2B 23316c395355a2c3a46e6da572bcebd8ce36863128b6ea997ef347379e0daccf68de509e0e01eee3f81c09306a68ba70b99cb60cecec11144ced74bc860aa7be SHA512 1207f777802f97e5dc9ae6be284df9cdc2b17f3f0c5a14ed49fbc9a317c9c6e15629d1b2de24d1eb7e6d9bb3294b951e02d9cdee0c7ccae8136b53fb44b9b831
EBUILD docker-cli-20.10.9.ebuild 1838 BLAKE2B 7dd7cffb7cf076deea07126889949be9840321cca315362ba4c279123ffb94d3ab20849d33a5fec59dc5b2ad5805aaee6eeb86f3b4b6c60f415aa52f3b8dbec0 SHA512 93fc4165286f5dfa39d7007e77a42c5a4420ff93fce38d665b143a727906afb94b91f1669f6210360bf756bc57036745cff9c984668e787b8f5750176f7366bb
MISC metadata.xml 249 BLAKE2B 08603bf9d754b59bae12620988552abc7f76b87a1390d02038789eba034c22412a3593d10f443794a5171ff3905c2b5c822368b2eb9f53a528097b7b6c80ffe9 SHA512 338d72efbd040697be98aad4229b81c9694eb27ecbc39f3a18332f4cc766a46b4a0a92f32612203259bf58f5838d0aff7f0b1abec7766f6cd2394c73f7f0b251

@ -13,7 +13,7 @@ SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86"
IUSE="hardened"
RDEPEND="!<app-emulation/docker-20.10.1"

@ -5,5 +5,5 @@ DIST docker-20.10.8.tar.gz 11080739 BLAKE2B 1e5c14e23c4e9c8b0568cf19c98cb4cdbedc
DIST docker-20.10.9.tar.gz 11083239 BLAKE2B 16dbd22b67ecd626b638406fffaec3c62eeee7dc93e661f982e12436afa10f230da4257a22a38ab1df366026033207d00e6571f3b853477852f3e14f24d9f567 SHA512 e4ae9e37633c821892e929e7a5f9dab652fe17f348a24cd37778bc4bfc33d99cdb347e2f575966364a37664dcfa83d1500f2bff7d0b0398a890f2039155a0c0c
EBUILD docker-20.10.7.ebuild 7898 BLAKE2B c70fd9e392d62c80a69783170a9d48ff0f17b817a5897b86c4bbf26e5e624b6cc62205ceecef1036400cce494c4ea46ced8b7107e1466d41b6295eaf6bce8a2a SHA512 683ceab1c02cb2a2db344a0574baae9673dfb414af2a10a6ea31b8221ed48b36540a510258a1ef8adcb811e093e88e7f948550ee6db2e6c0ae3a98f34dc6f34e
EBUILD docker-20.10.8.ebuild 7907 BLAKE2B 57c9adb81cb2b68c3d5e277394db114d14d7e1be317afb68858bcb92838a81e74a9b11bb9a29503efc1eec28cfa9d9f55804f2b0c411870e42a1cbac9caacb92 SHA512 010900f954a407dac0443415f83e077c1b6f2498c958d1e8241a7071ea84409cea5ebbae6dc0ffdd405f6474359d94d88c6c26b1d0ec1e31e0bffb2a32a5e63c
EBUILD docker-20.10.9.ebuild 7907 BLAKE2B ac0285c7a025df26d0ec2bc5b5a3697b2529f4bc1e2460aea212beebae262faf90f21f87372b38c2fe116849387a66d8617b05d139518430f71319f354d1ff35 SHA512 b6a85ef8f8f590c4d6749c6c6b14c0d0852be2e34d3228b2c2d6e2bbc13dd58e9469a661f084d75ca3c635add8f7130a38727683cd5c990a6a4cd67669eaf60e
EBUILD docker-20.10.9.ebuild 7904 BLAKE2B f371a6e198151c32145d64454a75ddbd66e0ac3305110bb60529823211f36ed770b765960a2c34137f3ccf8c7eac0e877b3f57a48958801dbad98d846a16144f SHA512 bc990a30037d4fde4f981a0a0130abfa9d22162edfee25e5ddf485bd4d8fc811ecfbdf7edb9ab64a87a770f5eece86e047abda00854b1e801ebcb0f0db63ecd0
MISC metadata.xml 1731 BLAKE2B 008fec552206e6653470955861cab8def2d13795044a88eb37cfba0e28094503449a65a95604116a83f4a032a13a73aadb467696b5dadfca8ea5b4ace9129e96 SHA512 a736b59cb300017650aab6dc1808bbb0b0f88de2566001fbeb52c4396ac59dda0126f823e74b911778bb67c6959a92b86c80ed48781b994f48df3ffc13796d9c

@ -13,7 +13,7 @@ SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86"
IUSE="apparmor aufs btrfs +cli +container-init device-mapper hardened overlay seccomp"
DEPEND="

@ -1,3 +1,7 @@
DIST runc-1.0.0.tar.gz 2366170 BLAKE2B 1b6455cd45bc51b92c12b3293037446da62957d441124e9b76fd44ce92329e0eb2fde2ef71c6519fc4d58bcbd4ef580f64d71753a6fc06f3f6e347de170bd9c3 SHA512 8ddad1e031237c07b6cab5cfe5bdb7b11bf98d5d1064ec06845f36da073fe65a0facc6a28ba5daff71cdcb50cfd5d1cd25e97385b4eddb35b287113c2771365c
DIST runc-1.0.1.tar.gz 2371417 BLAKE2B 2c037c9105bf08131de2dc54d74c982a2fbbcab79ed8b7b0fdcd1b577a38c2aa42dc6c1ce01c934dfc66a2927ce650a87e7ca2001586ca4d3c542e63a582f26a SHA512 c5db1016f438cd4883d1f9b36414e9c8b1fe9dfcb53dfebd1130cea3cb9bf78615a765715f4dd587cf8cc603b69951a5871adc33870cfeef2e63521d1ceccf39
DIST runc-1.0.2.tar.gz 2374156 BLAKE2B 526520adb7127e46e7258de75e66a15a5aac216a2a2fcb91f4d9c5da393892242c4d93c5f5483ab111bf29eed7d8f0c8c138ae83a22809d72802a981dcda0395 SHA512 434abd6d7ad2508c2272b627d8aeeb28ecd8461899bff463e7d2c7abbc0f0cbb2e0bafbfe81fc534fad506b1acb4bda3e05639ecd908bc9d0d2e9356f1e56e26
EBUILD runc-1.0.0.ebuild 1768 BLAKE2B 5a52de86a2f479f3d06dbb6c4c91c62e6907037aaf3bdd4402c791613da63b112ff25661a64cad452ded1f092090e7c040fac6c60034fe8812f2f10e93269fe9 SHA512 6a525717611258d7707f99086ab199fa29aadaa5480713415a06983ba16ada0b1214bfb610a21407502f2534eb2ac1e496ef2e2910f0a27090cfca7303989919
EBUILD runc-1.0.1.ebuild 1771 BLAKE2B c5b47d8d20b92f4d8368b74ea50d4aa32ddc3d2fffffeb1db2b0806e923a74380de82ed3f7f987b4bc12bf56ba8a5b223c27285abdeb8b0abfd6a755f0012990 SHA512 cfe492e2e06dee56453693e0ba85b33e70b602e0ca56c00c59e7308466cdbd6ee95a7755c14dd34364151a2c72cd684a2d9d9b7a855cdaabb3b904cdef0f7263
EBUILD runc-1.0.2.ebuild 1768 BLAKE2B 96de4aa7bf5e25378a4ad78aeb5ee60215ff993cab30452222c8983f08e8dee11b8d1c65eec85f592c1f923889496e60b688a8926585f428d7b419247edaf2ff SHA512 8d657d6739da04ff5f3bfba31f7bacd66122300de287e8db0a1f3371f3c6e55b0bee7b95823b77ba30fab57c141c15c530978fd964c49c3658369de33c12cda6
MISC metadata.xml 822 BLAKE2B 2029743d60c9a6197e3db4ca27c3ee48bc86f624a50d7caa9bfb7f958383a1736d8817f2f977ac0e673229bd61f341a00f266dbce35dcd9633ecc27b182478d5 SHA512 f80b366f7fc8f4ff5bd46245aa80871748800a557440af3aa45bd1a508732cf634b6f21a3445135450eefbac91ab16f7b344c3f557af8ef69fdd8120ca6cf4e5

@ -0,0 +1,78 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module linux-info
# update on bump, look for https://github.com/docker\
# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer
RUNC_COMMIT=4144b63817ebcc5b358fc2c8ef95f7cddd709aa7
CONFIG_CHECK="~USER_NS"
DESCRIPTION="runc container cli tools"
HOMEPAGE="http://runc.io"
MY_PV="${PV/_/-}"
SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 BSD-2 BSD MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="apparmor hardened +kmem +seccomp test"
DEPEND="seccomp? ( sys-libs/libseccomp )"
RDEPEND="
${DEPEND}
!app-emulation/docker-runc
apparmor? ( sys-libs/libapparmor )
"
BDEPEND="
dev-go/go-md2man
test? ( "${RDEPEND}" )
"
# tests need busybox binary, and portage namespace
# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
# majority of tests pass
RESTRICT+=" test"
S="${WORKDIR}/${PN}-${MY_PV}"
src_compile() {
# Taken from app-emulation/docker-1.7.0-r1
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
-L${ESYSROOT}/usr/$(get_libdir)"
# build up optional flags
local options=(
$(usev apparmor)
$(usev seccomp)
$(usex kmem '' 'nokmem')
)
myemakeargs=(
BUILDTAGS="${options[*]}"
COMMIT="${RUNC_COMMIT}"
)
emake "${myemakeargs[@]}" runc man
}
src_install() {
myemakeargs+=(
PREFIX="${ED}/usr"
BINDIR="${ED}/usr/bin"
MANDIR="${ED}/usr/share/man"
)
emake "${myemakeargs[@]}" install install-man install-bash
local DOCS=( README.md PRINCIPLES.md docs/. )
einstalldocs
}
src_test() {
emake "${myemakeargs[@]}" localunittest
}

@ -0,0 +1,78 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module linux-info
# update on bump, look for https://github.com/docker\
# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer
RUNC_COMMIT=52b36a2dd837e8462de8e01458bf02cf9eea47dd
CONFIG_CHECK="~USER_NS"
DESCRIPTION="runc container cli tools"
HOMEPAGE="http://runc.io"
MY_PV="${PV/_/-}"
SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 BSD-2 BSD MIT"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86"
IUSE="apparmor hardened +kmem +seccomp test"
DEPEND="seccomp? ( sys-libs/libseccomp )"
RDEPEND="
${DEPEND}
!app-emulation/docker-runc
apparmor? ( sys-libs/libapparmor )
"
BDEPEND="
dev-go/go-md2man
test? ( "${RDEPEND}" )
"
# tests need busybox binary, and portage namespace
# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
# majority of tests pass
RESTRICT+=" test"
S="${WORKDIR}/${PN}-${MY_PV}"
src_compile() {
# Taken from app-emulation/docker-1.7.0-r1
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
-L${ESYSROOT}/usr/$(get_libdir)"
# build up optional flags
local options=(
$(usev apparmor)
$(usev seccomp)
$(usex kmem '' 'nokmem')
)
myemakeargs=(
BUILDTAGS="${options[*]}"
COMMIT="${RUNC_COMMIT}"
)
emake "${myemakeargs[@]}" runc man
}
src_install() {
myemakeargs+=(
PREFIX="${ED}/usr"
BINDIR="${ED}/usr/bin"
MANDIR="${ED}/usr/share/man"
)
emake "${myemakeargs[@]}" install install-man install-bash
local DOCS=( README.md PRINCIPLES.md docs/. )
einstalldocs
}
src_test() {
emake "${myemakeargs[@]}" localunittest
}

@ -1,8 +1,6 @@
AUX README.gentoo 1941 BLAKE2B dd25269f2aaaea693701d74511d632bc45f2c99954ae683cb81d4df41c4c1f8007bb6c337234e46bfc5973aa7e8356cd12ac510e9109eca09890cbc42bd184bb SHA512 5b522e6c29bdad84a71245fa1f0289e9cfed0501d936b433829f66ef9d655f3cc13d6bca29beeae2c00e1b68f9fa30058608b9c4cde86ba66eab67bd011c9d00
DIST snapd-2.48.tar.xz 3757292 BLAKE2B 4d1fd4b9ff3bd7cf05ebf0e27db4bcc87b5de689be470b4c62758e411e9d99a541ae084c7b1afe4ede44ad6dce19a53b337dcddc18d0b82957ef537f466e720a SHA512 27e1924d86296a969cd18980d6100c8e41be66f2ad0214ac2857580a2686b1e7ef01e2561c6ed532106eadb1ac2d5fd070ef9eb05e5fabfb8fa9a98456259b89
DIST snapd-2.51.tar.xz 4036884 BLAKE2B debdfe51407306451ecdb7851e3768be5aa5b9714b2861cb17e9989194dfbf441b1569955c6440a7d44f1d36996b398bcf60b903a76116e14dcc3173625e105c SHA512 959cceb8fcb326a14557347cecfb931763084e00639b828dc539646d2988cdeb3c9276ab8b770c6bbe37c7a05fb6548f609f490c55f7ee28713a4eb80cf3da15
DIST snapd-2.52.1.tar.xz 4142764 BLAKE2B aaeebe91ef5d009deae37258cfcdbdcb415d5a2d5f954d01f277d6c4911449c80c49c486f6af71d4a2abc6a1d73f49f54d506dcb178adc33e1d685f1dc3c6b01 SHA512 ae829ff898708843e56688e2c1bd189c765cced11146a504ae8badd1acb1559536e13cec101e57ac4ffed2a3d1fa51323b87785b93290db7a1eec2e1579d1c6c
DIST snapd-2.52.tar.xz 4146496 BLAKE2B 49b952503c60b589fe7ddea9ded135139243da34b35b39d9e309df6854109fb3a99f52ca324737fa7f5773221d453f7093047dcdcb1114d0389e20ba24c3d2c3 SHA512 56d3a2c5048d2ffde5b34f63e6a99dc74a7c6e4637f36250f674a68863c4b997cf940689529eca9d3bf58b0148cc18a0b4033d93aa06375a5f12c552d40472da
EBUILD snapd-2.48.ebuild 5366 BLAKE2B 1dd5ce2d317e9be68f85edae48806f53fd8e79f7479c08af66b0dd329273f80fc9d8fded1550af67210e751ae276a4848fb3e51f13c172376cd865d47bff9ea0 SHA512 2f237c6514e5319eb4d99578f7b1ad2c4a9f506bf29e7f3d5212a41eb56c0a9158f19b11f4a0385653e146691890427f2b07eaf5dbd4c743a95aba1339c13ad1
EBUILD snapd-2.51.ebuild 5372 BLAKE2B af735d3f690eb176b37611bc16770bfd92c311bbe8578254b9859b57df1ccb9e650358f40b24770934198a7edd74df758848f70b79503869da11dcc388a04381 SHA512 41d520a0c0a03d47e00b01dd67db1336599c42af377e6b8213c257ff751ec6fb1593c250b37b0c6668b515f30bb16a4fd7d459fe3d1376dcaa39d16e19555ce8
EBUILD snapd-2.52.1.ebuild 5372 BLAKE2B af735d3f690eb176b37611bc16770bfd92c311bbe8578254b9859b57df1ccb9e650358f40b24770934198a7edd74df758848f70b79503869da11dcc388a04381 SHA512 41d520a0c0a03d47e00b01dd67db1336599c42af377e6b8213c257ff751ec6fb1593c250b37b0c6668b515f30bb16a4fd7d459fe3d1376dcaa39d16e19555ce8
EBUILD snapd-2.52.ebuild 5372 BLAKE2B af735d3f690eb176b37611bc16770bfd92c311bbe8578254b9859b57df1ccb9e650358f40b24770934198a7edd74df758848f70b79503869da11dcc388a04381 SHA512 41d520a0c0a03d47e00b01dd67db1336599c42af377e6b8213c257ff751ec6fb1593c250b37b0c6668b515f30bb16a4fd7d459fe3d1376dcaa39d16e19555ce8
MISC metadata.xml 636 BLAKE2B 4a281c549f4279097b8cb1739e557eabe36f97e8c43e1736c68385bb4f0fe46d6952991b0e0ca531552ec27fd9f3c990324c2f35d44cf6030a4957f6eaf4f441 SHA512 6cb86bb37aa587be9744e8a45f80bc8c78df644f97f7cfbd8c7e0228d26ea7a1d834ef8e1542bed099e1b80f7c91797871e4b447102c4bfbf2f46489b59dc244

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

Binary file not shown.

@ -1,4 +1,7 @@
AUX calcurse-4.2.1-tinfo.patch 644 BLAKE2B e304953d56dc8891138e909f0b7b31b85b89a16800a1e8efc64a199cb884b730c3123f902ffe2095d392c41cbf0f65b88d440fff2133816b2763ea74a5e44770 SHA512 099ead1b288717e9d9eff331c2fbb9ff8deb19b1843109549ebdab30e8e59cc9cbb01a89c87e84e9283003ce70fc595e2305936a8a0918b0996b5fab1854cb5f
AUX calcurse-4.7.1-respect-docdir.patch 332 BLAKE2B cde6ea64dfc6d6d12935f6b26a2ee0b3c49dbd04a7f2c834bdfacacba024a1d3b45094c2d82671cacd6253830950fe64ad3c98ec381d594d77dadc33a936dc65 SHA512 c7d9779d9509ece7743113d9520b11672956d78fd4e6b389016772186bad081317c4cbd2cfb68fbf7e5ec78c9d7a7c641e26c58b7888c4b9819b2b8b80409cb1
DIST calcurse-4.7.0.tar.gz 699134 BLAKE2B fb50ee3d5fe6a0eebacb557ae6fdc1b49a413b35d53fd8dfb64102bd2ed963bf83f27f1e3c3f454284143d1410f18766b56792252634ad82b1b20c130364a54c SHA512 656f3e74cde923bf7bbe5aca56f0544023b69fd8ff6ac8c851bbe224bf6cbe1fb58eb141b66ba818b1382d705e1a7c82a7e20eda7a1672d513ad54749d5a2bac
DIST calcurse-4.7.1.tar.gz 701563 BLAKE2B 438741b9e0f61438d235fa60d13816d83c19f7d1b612619fe20a78812e77657b003ad0b9416bcc766f0e38e7868b3543972ed65eee43d8f9d6b1d80ba1872091 SHA512 8b5574d2909128c745b2d6367b517c5fb04a1c451e666dc9ee0652b3793b519576af5700d4fd073de0ccd5e5dced6b69c45dbfaf98b35a99784093208512b68e
EBUILD calcurse-4.7.0.ebuild 960 BLAKE2B fcc2c870c835128123e0f129ef8d544a7337a706a0b7d3f08d7d2ea2e9238c149b589614093507be4799e33e0a5b6189ba7976ddb6fe910c20af20203192b54f SHA512 5019193cb5ab2d5cd8cf753acfb10fc21972fe50deb2988ab9e5a2152052725f118de49467154ccc13c0149b36f2cf69d55fc47656ab722ca77f5178349af80b
EBUILD calcurse-4.7.1.ebuild 1013 BLAKE2B 5e5a2eaf15930a84c2a5763e95d5f81c996dcb5af97d3bffe4862fdf09bd770f54800338c321117641e545a7b74428c609e24275eee3617d8d3868d640596006 SHA512 5d2f9887b1856bc5ad5d2a8181362904c6837827104f14aa36d6e725cd8c3909d531f55c9de225cae8872710d0811b7966c53290e9854de748ffed55be6871eb
MISC metadata.xml 543 BLAKE2B d83f1f3ebe848644b56d33a11e4269faef06f9f44536e04e4e12de3fe3bef6a204ccc11f6de7c6c00ecda876870bc46422800092005396cdb9f79b2f717e97c1 SHA512 a5104bbcb1514d86cd7e476de48536d933148d09837fe3312a5ccc07bb0a4db8f9d3d780322516976f7d875929120ebab7aac9301d7771ebe686736eda3d94fa

@ -0,0 +1,50 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
inherit autotools python-single-r1
DESCRIPTION="A text-based calendar and scheduling application"
HOMEPAGE="https://calcurse.org/"
SRC_URI="https://calcurse.org/files/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep 'dev-python/httplib2[${PYTHON_USEDEP}]')
sys-libs/ncurses:0="
DEPEND="
${RDEPEND}"
# Some tests fail, mostly those pertaining to ical, perhaps due to requiring network?
RESTRICT="test"
PATCHES=(
"${FILESDIR}"/${PN}-4.2.1-tinfo.patch
"${FILESDIR}"/${PN}-4.7.1-respect-docdir.patch
)
src_prepare() {
default
eautoreconf
}
src_compile() {
default
python_setup
python_fix_shebang contrib/caldav/calcurse-caldav
}
src_install() {
# calcurse likes to read the text files uncompressed
docompress -x /usr/share/doc
default
}

@ -0,0 +1,13 @@
# Gentoo bug "app-office/calcurse: Unable to find documentation"
# https://bugs.gentoo.org/813438
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -57,8 +57,6 @@ CLEANFILES = \
submitting-patches.html \
calcurse.1
-docdir = $(datadir)/doc/$(PACKAGE)
-
.txt.html:
if HAVE_ASCIIDOC
$(AM_V_GEN) $(ASCIIDOC) $(ASCIIDOC_ARGS) $<

@ -3,5 +3,5 @@ AUX kexi-3.2.0-glib-2.68.patch 1223 BLAKE2B 354fbb183b30bf678eb0b896fee5ae607bf8
AUX kexi-3.2.0-missing-header.patch 739 BLAKE2B da09cf24f4852222040112a7774bd5d0463f85d52d52c352b453f4d0502085a0faa67ae3ae8fd44102c2fa3b8840525929e53c9ad1a05acfb5c23747cdbb6d91 SHA512 14779c27e47d7e3c0f3f8de917deae8fed7b38673bcc5ec53fa0ca7c89c354a3601af80c6fe17ab3231f633852c47c0dcd2858834cee79a961fc3d02a1043fa1
AUX kexi-3.2.0-postgresql-9.12.patch 1094 BLAKE2B ac9ba4ff8f5c29ae8ebdcfa6820ed8663aa0f13a9fb55f4eff85265fa3d76a3e33e6c1000400a7a21721e9f45ba58006dbb97c312fd4b96f9d0e9e49dfd88690 SHA512 cfde38090e163ff441477c7f8262629589c9ab49c2687eefe7e0a107f4d70fd447cc35e1031612a6ce970e3b3ec3b9394f13e6e2876c29614cb43ba0b9fc9fbd
DIST kexi-3.2.0.tar.xz 3624956 BLAKE2B 8d0b3712f07d13f606c4c0d714b3d4ea0fe9f56e4d4a3aeeb144ffda56cd5ef89e4f08d5660550364103c86acd60923ddc74fcea135a23fffbae87853a7c00f4 SHA512 5cb9e0747c8e7ea19020b62345571ba10f65278dcc718bb0772827721bf8812d0ffee3c35d53b57285884c66e0406520835c7b00789fbe5459717722dff13e93
EBUILD kexi-3.2.0-r1.ebuild 2652 BLAKE2B 060e32dc624c379239e5a81d583680f1b0eeb56a9f64eb98956067e3fd0cceafee2e31802140ebe91c246bc362ef9f0bde5820fdc7f0e0ddb6db4abf08945ae7 SHA512 fdda26265e612cbed8fb9c100c037d9ea7c1865623c56baf7f3fa86354420c6d420494e1985ff22c3aa8b3fbedf74b07fe884d7ee874625bda7ad96b8677c067
MISC metadata.xml 669 BLAKE2B ecf2f08c0dd3c05e493d5c53a9d0c611597ff726bee44a5a866281f87c6582a950622df802b0c4fba0dcf2b9d45cb3731554f118e6f68acc47e6602b254f5a5a SHA512 3ed78fb68314239b786e5905fd776fa27573a2c7a19f3e3f28c81ad39df873415b4f0d9283bf2a3293410702cdca5876897f2020e385a9bcc3a98e6f37d91cb6
EBUILD kexi-3.2.0-r2.ebuild 2563 BLAKE2B 7e59fb8d1e99e0330db54cdcfba82c0e32836fc7fbc70792373ede56522d9365b4d51e7f9a002b0c3ea948876cc22cc356547ba94f7694f888bbe30ac9f36772 SHA512 0a800fde2d0f76566ae6e33d03d777518dc12f6a56fcb28cababd6781ee44dbcc798211b36133b84eb80a9ac2a208c612d6fe7cfe850beb230dd5ad8dfbfc0f3
MISC metadata.xml 575 BLAKE2B 1dca47de7a2eb1ddd144ce3973ae4a9ed10cdf26ee7e5fae40db8758f644337c47a8af5025a1e93ef709aa379f50af59a442c8d9946853686089968a0865f29f SHA512 e4043a2476ebed2ce2af0ea7b1dc16f9ddd8370319882a3390384f27c8277358bb98800dc456f75b57d254cc991adbfd1c822639eb5c5022327bb68e4b724f79

@ -20,7 +20,7 @@ fi
LICENSE="GPL-2" # TODO: CHECK
SLOT="5"
IUSE="debug experimental marble mdb mysql postgres sqlite webkit"
IUSE="debug experimental marble mdb mysql postgres sqlite"
BDEPEND="sys-devel/gettext"
DEPEND="
@ -60,7 +60,6 @@ DEPEND="
dev-db/postgresql:*
dev-libs/libpqxx
)
webkit? ( >=dev-qt/qtwebkit-5.212.0_pre20180120:5 )
"
RDEPEND="${DEPEND}"
@ -72,10 +71,8 @@ PATCHES=(
)
src_prepare() {
if ! use webkit; then
ecm_punt_bogus_dep Qt5 WebKit
ecm_punt_bogus_dep Qt5 WebKitWidgets
fi
ecm_punt_bogus_dep Qt5 WebKit
ecm_punt_bogus_dep Qt5 WebKitWidgets
ecm_src_prepare
}

@ -12,6 +12,5 @@
<flag name="experimental">Enable features deemed experimental by upstream</flag>
<flag name="marble">Enable displaying of maps using <pkg>kde-apps/marble</pkg></flag>
<flag name="mdb">Enable support for Microsoft Access database</flag>
<flag name="webkit">Enable web form designer widget using <pkg>dev-qt/qtwebkit</pkg></flag>
</use>
</pkgmetadata>

Binary file not shown.

@ -1,6 +1,6 @@
DIST recover-broken-vdb-0.0.7.tar.gz 13336 BLAKE2B 0c7d2dc73ca6e525edf190caee56f76e918559a4c0da322bb93b5807554d214fd01b53b0cc5c983fa9009b98a5d71f5aac542b26fe6656b9f81989e159f20d8c SHA512 447effe9664781095e8fd9760ff7f63f8b10466299c002e20da3d226843fa9c24a50b2c8f9eebaaa07cecd75a17272757c0e2175dd81e8daf2a59fa7233bc4a3
DIST recover-broken-vdb-0.0.9.tar.gz 15410 BLAKE2B c8fffa07e817ef2ff825add92aac732036676dd08b2cbdcca60a7c1fa2fc740f0473be2147635701971fb9a0a871c65115a1fa9ea05486cffe747207e432d8fd SHA512 0fd9f5e0d046344ac6c86e446b7c52c11238b1d90cf330558da357b71b5fa577b157adfc6903e94f065de6afb0296df2ae191078836311792ec319f614e39d37
EBUILD recover-broken-vdb-0.0.7.ebuild 964 BLAKE2B 96b8034955645ba574f79d5c8bf63c791d97d60d34ebdd3e6b5e9ac3d445d4a763fcb558738f8ea2139e6b876eba769d276dd7ee5b6d7ff821743617c2500d5d SHA512 099352bee1d1fe36d3897ed7724dec5524e1626821376e227329e8416558f51683ea953a5a6c2cf4f809675dfcd2de42cd22ce93217448d2cf4aa6f25b4c84f2
EBUILD recover-broken-vdb-0.0.9.ebuild 972 BLAKE2B 306c767a94c17e3a943fedd7c72eab00578b68ae671d59c6597c9f26eac9a1b92c77cc50d776cdbffb6b8ad2acf4f26b08e0c10d5f6f40c0cc5d0acca8f71951 SHA512 6bc0864b42ef78c3eeabc7bf04e5715d5c3c1cfdf737eef2301746b741909e1eb716b2926f1417c8a299829410e6d953bbc8ad9cf1d8897da96c3bf8cd5c3ece
EBUILD recover-broken-vdb-0.0.9.ebuild 964 BLAKE2B 96b8034955645ba574f79d5c8bf63c791d97d60d34ebdd3e6b5e9ac3d445d4a763fcb558738f8ea2139e6b876eba769d276dd7ee5b6d7ff821743617c2500d5d SHA512 099352bee1d1fe36d3897ed7724dec5524e1626821376e227329e8416558f51683ea953a5a6c2cf4f809675dfcd2de42cd22ce93217448d2cf4aa6f25b4c84f2
EBUILD recover-broken-vdb-9999.ebuild 972 BLAKE2B 306c767a94c17e3a943fedd7c72eab00578b68ae671d59c6597c9f26eac9a1b92c77cc50d776cdbffb6b8ad2acf4f26b08e0c10d5f6f40c0cc5d0acca8f71951 SHA512 6bc0864b42ef78c3eeabc7bf04e5715d5c3c1cfdf737eef2301746b741909e1eb716b2926f1417c8a299829410e6d953bbc8ad9cf1d8897da96c3bf8cd5c3ece
MISC metadata.xml 542 BLAKE2B c65008fabc6fcf791a935f514a218eebff103d0ce07290b84c545d1551ad8f7834b2245299081bb97c659280670bd2b4b252dbe328a0df946ae29c9110f34fc3 SHA512 dda7cb383905a922852267329a6a848f3e1c19c0fa0a97952dff0995192d00bf227722415194514edc778bd68a1634efdee1ab89cc8b0ce2e9433b8420d478a4

@ -16,7 +16,7 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/thesamesam/recover-broken-vdb.git"
else
SRC_URI="https://github.com/thesamesam/recover-broken-vdb/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
LICENSE="GPL-2"

Binary file not shown.

@ -7,5 +7,5 @@ DIST calibre-5.16.0-SIP-v4.patch.xz 6768 BLAKE2B b939233266c7cab0fa71ccdeb748bbc
DIST calibre-5.16.1.tar.xz 36757204 BLAKE2B 71114eed723180142f5428a680d8c5ceabcd007acbc6a70a9298e45a9f21fc793f0ef86bf60b36c96bbd15e9e3f8d8638d179872fb6ff1f9b9f5e31a93e65ba1 SHA512 41cf29cc32c7af08215baf80609f8f099d44f2b82d34181451cbf3ed1648e07d64712dba9ff0ddec5bad3d342c7d8bde40bb822f6bd5fb93a4b29d25cf188aae
DIST calibre-5.25.0.tar.xz 36849112 BLAKE2B f9cb423317ea1f5b22e7f3540708fd4fa6e7dff2d6d2c667755c74c4f46b72f52aac7672933c51efaf56a5ef57e573c8927649fe30570481c2057e5f757cdfde SHA512 7913fec188d8a8c40cf2768671836f6431d233ac53d1d683222a12f8a753a11cc4023fcfc1dd5ca8b27fd049fb579563b1cdd89624b824ce4eec7b438e25006e
EBUILD calibre-5.16.1-r1.ebuild 8634 BLAKE2B e1f1420019a36ed08b72b4ea29c542824a02484133c0e400c25e6df535eb02cbd45d34b631196b4ffb1b616a920af8441cff028bdbe84163663abbea924b859e SHA512 ff2e79c6b2275782c9e3d0b24698f96c87489f67328df3894ebdf85ee4d1edce33e34bfbca19d0791a76bd82150d57d1f36f526def18ce0ccb41c600e943e81a
EBUILD calibre-5.25.0-r2.ebuild 8505 BLAKE2B ee97e40be431c2fa039f20975c67665cbc7fc0cfb2a0e9162cb00b1dcb3f689055060ca73bc3de414c50512856d3c1f02f4f4ecee679c9d46d770a96be55aecd SHA512 4c08bbf5dbf5febab5b0368619e26b63acbac4513fe6249c52f137d8257d8cecb0869c0309ca3408d727eca4522954225c3d023271562620a7098401a9c92943
EBUILD calibre-5.25.0-r2.ebuild 8521 BLAKE2B e8aadd09100a88f08a2555faf10b399ca14b9cc1a514c37e548db7a659ff76d24a25085a6549b9aa07a7c9f106f6198940390c9eb1362afd28745055e461f347 SHA512 600ddb23b1a0360fbb04cc1b84cdcfcbaae4f40b6b52f8385364a8bd5e1aa13678eb97a43600a08ca50c13aef58564a3398f0919232e395a7d4c3cd96556da7c
MISC metadata.xml 304 BLAKE2B 0d93b1c7606c37cb8b7308b507a1d2988a05f780a93ae80c98e021f5af75128954d57b102afc1d96728872c81bf0adc40e32b31197dfa825cd040af3a8739fb7 SHA512 e193c0b78ed4140b695c44d273310207c9f2f745bf31589c69e81230a9eed68fa1c361c1e3f68a60e135ef0628aa480002229871f4a50f4000aea6df7e5f067d

@ -72,7 +72,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
>=dev-python/PyQt5-5.15.5_pre2107091435[gui,svg,widgets,network,printsupport,${PYTHON_USEDEP}]
>=dev-python/PyQt-builder-1.10.3[${PYTHON_USEDEP}]
>=dev-python/PyQtWebEngine-5.12[${PYTHON_USEDEP}]
>=dev-python/PyQtWebEngine-5.15.5_pre2108100905[${PYTHON_USEDEP}]
dev-python/regex[${PYTHON_USEDEP}]
dev-python/zeroconf[${PYTHON_USEDEP}]
')

@ -1,3 +0,0 @@
DIST fb2edit-0.1.0.tar.gz 244667 BLAKE2B 332ba2801a346ef667760ff9f116aec6ae3ef93c7d862884514982bcc6adfd5413b22beb40859cc28ca297548e2e8f1c95885c2e68734c554922965d53c8f7ab SHA512 f13d45987a513fa9ea8139b195cda77dd39d4d680b5a826882b8b9d6d5704f10ed4b447070f1de39997b3be0fafa8378fe1261ff2d1e53cf9b3225c07a293d08
EBUILD fb2edit-0.1.0.ebuild 598 BLAKE2B e369fac1b21cafc9d44603642ba32103465c982fc100a86583b77d1fd2ba5ccf6148086f9308c9d11100b9e59ec4ffdcdc57d8d4895ffa9ea53b874ffdd6df22 SHA512 e550a48bb2dc946425bcc1d421e1b143936636bc879075f8741e17e87a75e8f6346d6cafa12cc983a849d2a1e18e8d15b33728e6fccdda47b75f8b44ef501065
MISC metadata.xml 305 BLAKE2B 1bdf5c5607384f9c72679c508c49571f382ab245da0578649978ad98e7a37a4dfd3788e231ffe4608bb8d49417dc39a13e4acca803b666b8595b896cca8d8e19 SHA512 4dffb7f68c1f7467b07f6a8b0aadb114411d1162fca6344fc17e4e1218b984ec4a634cf04934810f638fb312ce352384fadaea4e4af6ed14985bff5c3d85cfaa

@ -1,26 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake xdg
DESCRIPTION="Create and edit fb2 books"
HOMEPAGE="https://github.com/vitlav/fb2edit"
SRC_URI="https://github.com/vitlav/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RDEPEND="dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
dev-qt/qtwebkit:5
dev-qt/qtnetwork:5
dev-qt/qtxml:5
dev-qt/qtxmlpatterns:5
dev-libs/libxml2:2"
DEPEND="${RDEPEND}"
BDEPEND="dev-qt/linguist-tools:5"
src_prepare () {
cmake_src_prepare
}

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>grozin@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="github">vitlav/fb2edit</remote-id>
</upstream>
</pkgmetadata>

@ -8,5 +8,5 @@ AUX mupdf-1.18.0-darwin.patch 1001 BLAKE2B 1d6f8452cda38dfca3b0e62069a560ed6119d
AUX mupdf-1.18.0-fix-oob-in-pdf-layer.c 3462 BLAKE2B 861f5d6d0f81aed837d19ed19ba54158856bed5cab3ce8202bad11bb509b017e554ea37d9ebd05213386251b26bce10f83311c3de99fe663bf2995adc1231a9e SHA512 91620d0d429d2f4068e1834ec9466d9e9f9bfb363fba33247636e38651196580a89bd36785e42b31328070c42bd2210585ddabea8a0a970d72e7066e61804d6c
AUX mupdf-1.18.0-fix-oob-in-pixmap.c 1123 BLAKE2B d49194b540b489ad9d3a4b5057bbe6ac3a1414d0123b7c2d4710adad1ed7fd439f8e83162d07a86aee6bd778c35ea6798da166461ac6e358af6910cc6b492624 SHA512 1d836c1a3f37c21ed349da799d5cb0c57d3fc275a632a42343cda81aae76394273c06230fc9c22a6d5366498b51a057d5a11797376a4b2af96b937618ba31e11
DIST mupdf-1.18.0-source.tar.xz 53621544 BLAKE2B d0057f4240bd4f6b4b6d9381ae1c3871c56b97604d5c6ea6438a8bde72d4696c10a9f0e8e2ed8f43d63a04bb1d973bade8a708327c00b0d0c6802b28af697a55 SHA512 7551f18b9bac6e2dc1cf073741cbc975ce3a16dc7e37c9d5a58254c67bf2c07bb36185d6585e435d4126f3ae351f67d7432d19a986c9b47b15105ca43db0edb8
EBUILD mupdf-1.18.0-r4.ebuild 4266 BLAKE2B 840bcff549d8911c422580d8ba07dcaabc5e036840bd4ef3cd2346703465365d91d7cf58fa55d4860dfd6c39f7f32b23a1ae97c32184dfdfa8e5c11e4e65bf7a SHA512 b62fe1022ba26fcd7f2f9e7ea0b6b7f94bcc1e80cc5d8dbb086436afa46c4978249214bfc46d4057263a0a5f6c06a28eeb40c31206355379a442979e857cc722
MISC metadata.xml 240 BLAKE2B 20c22d2d446cfcd6f2f430f2c444cd6d854d840e5161f595e4f738096d38db01c8cd305870b26623e98d8bbba239260975a53802caf4b678d1fe61a146aa660f SHA512 1af3286c63a60e89c2f87bd060eebb279858f4b21f9daedf4edcacd5906f35ddd6271397806771d6de1853cae1f3ecdd00ee6e05718fd7083ebc039e5cfa4832
EBUILD mupdf-1.18.0-r4.ebuild 4358 BLAKE2B 67d3b045314556eb3e81a668015e36115e7729436a91bfebededdf316bce062bac229c64b63f0aebae7553b8a5595fa0d4db53bb7a7a9b452a087967cd04547c SHA512 90dd0ae5d0376dafbce8b19d711d92ab9debceb467578f0e529881b219e8b3166fe5ec1f0b535036300a1e4a60d9969ba21450ca54b6f7e18f8631b035b8a4b8
MISC metadata.xml 168 BLAKE2B 2e0e000b4c3b6ca04c12903fdbe278415c05a822623c52e9aa95cbbf3d50bcb1246b7edbda7d2f6b559af8950c6374e6e0a69b76319964cfe686bf50b0604a57 SHA512 4dcf45d1809e8390a2d8155c8ebfe0dd610203e392aeab0ccd8a10f42cc8532a4925eff32b35e7a6c35598a4efd288229034ec0732299dbd8cfa0acff705fed3

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

@ -3,6 +3,9 @@
EAPI=7
# Please check upstream git regularly for relevant security-related commits
# to backport.
inherit desktop flag-o-matic toolchain-funcs xdg
DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"

@ -1,10 +1,11 @@
AUX 50namazu-gentoo.el 72 BLAKE2B 1047f37bcd89dd27714342af9e88ef186860efe6de8be767f37a81164b8d6b821bba292a1785617b1da249f76171d449485b107a315ea4ef0342173d0ec74a65 SHA512 8e316add3dbe93049fd879bc93829b2c141a752133d065c2ee724e180b38f171f5b11dfa72b8651d7721e825e3ff35439c6afc33c6043ce42738739ff4988e8c
AUX namazu-2.0.21-memmove.patch 2050 BLAKE2B d5a12989489c4db9a6a7c6288ce29ecbe654731bfd84e3baa40c02ad802aa975704dbab2b05dc8f496e30cc76a1cb7bfaf9f2d8a2f0484160465fbb1f41af9c9 SHA512 d445d77c45a30d4e71dd9129ebf7938f48058f89627e4130e0f921ca719918fdd654f8369d0ae24edcbfb5d3801d68eeeaee4b55c887b9d208e0d8df00effae5
AUX namazu-emacs-27.patch 422 BLAKE2B 613d43536da45a8f7df12b1e2eb0c7644702a0c2ba8a8f6b1a9806f343dc467b5c20b501a38e7abe732947ebe35c7ec47ae346003c26a8271f88709c62943105 SHA512 65456a1d4bc3a54ddda7360c370fe1c3847711e5e78858e7a35628148fa38a6e844df8bc2e1f1b963697eaedfa0354cedecdc24badeaffb3da02eab5fe241555
AUX namazu-gentoo.patch 1471 BLAKE2B 949429187d765e37a3fcfbcb9c455d4b92e5d1af11a4b0550a40240523b3862de8cf3b2cbab85c15be9848d1614cdccbeb0df346a006f445eea35aad35a05bc1 SHA512 bdc4946197f48fe87fe1e2eacbefaaf775458e28a96f2c5af70c1264e883f29c89673feaffd71afff9d9744bb7b81c3b3ede3258f585dab3b7f117c8fa77f93e
AUX namazu-perl-5.18.patch 1761 BLAKE2B 38941d15556c229de19592ba2660b9a79782588a79811d0a651599b0e4d22ff4a8a515aca2047684e988d6a434025aca40d744c2aabe310f20ebbbb4ff43af72 SHA512 4a5faf2a889f9eb02a57db80c834a60560bbe2df718f541a24fbfc137145121336055c157458b5d3c4d9c5f573cf3964329adc1ae1e2448c254531df4fee8267
AUX namazu-perl-5.26.patch 632 BLAKE2B f6b4a0838d6ca529adb9330f7221ebb014e50f289be144920a24a6656fb3abc604a0dc39f6f618a02b25c1cbf2065331f57f80d4120fba69042692a3dcb8a673 SHA512 78c655dfb0bfee51e339a142e71685b0599a58786899a151279834b7e9523dcff8359df8addb2a1e40a162f2a412cbd10e178a8215f3a178527392c2a8fa7be7
DIST namazu-2.0.21.tar.gz 1394048 BLAKE2B 86755fe2433bee1a1c7bf8239b38b3d9500eb20f720b031f349d968f173384f172d81eb0926265343b2c749fca527e6cd6c2940fbaa2be333830b41f8b7853a2 SHA512 c0ce1b8c8b8ce30ee7d28cfed790a9c8585d1b468eefe2ba4ac70976e09329ae04a3a3bbf0b86b9673cfdf206f2b103896daca2f053062f451884fa659b31ea6
DIST namazu-2.0.22pre7.tar.gz 1841999 BLAKE2B 4728b83ebca2bf3313cfffa5831a357281ee210e9ecab26506297022307d54a6818b9167bc3a41b66d14b682310d4533b26dab1e2a6f4f805a45d018350bdc76 SHA512 e530e0cb5219995a1b9193a8755a5a30eb09bec2f6e0b100a2423e7df1eb3a7b5f83c7f2eecdcbfd370301dab29857a3ac4d417653ed391f77ce131c340a9989
EBUILD namazu-2.0.21.ebuild 1701 BLAKE2B da0cf2173235fe7efd2aa5b44ad1c79a7e32e204816e64e01e9480bff2082753d157bb1fbf5fc7be0993b185073eec5c176344dd46c91b57001fa6fb6ba876c6 SHA512 af0cf876363779efa6dd32b948bcc717bed8693f6365768c6d66cbf09663aadbf8a2f7fbd4181b76c7d2d7e6fa460b8959dd0293a51911645f37ce6dd38c4282
EBUILD namazu-2.0.22_pre7.ebuild 1617 BLAKE2B f0eac6cbfc2842de4934c14aee296942a49b8f305a1c5ae408a5a07f6588814f2f6c1c6e589e5e409af3a3619035ca95aeaf6577de263742968f34ce3963588b SHA512 59be3e7022df5db40f6517915aed1ef9f1e4347d0e88fa86bb23fdce8dd224b4f0b532cd1c2ddc631c5faab113b6b64084fc69e65d5f929e3b412c2c2efc65f5
DIST namazu-2.0.22pre8.tar.gz 1975653 BLAKE2B 91e07e576fe7f8dc93db2754726f0fa286191dae44e885abafed5887d741f3291fd79665294dcae23770d2f42b5b35a323f7896209a62e802ac4253d729c3f23 SHA512 2d891cd2a4eae8246753511f3e2323093139be917edef9e2c3481ac7a0de9b9200906d7d56bbcd7bf1861ede44ae6bca72820b8086b2be93ad9d8f20cb56cae0
EBUILD namazu-2.0.21.ebuild 1763 BLAKE2B cc3fcd4711e10d41f92a80293d6393af310fd0a95ac51f3b0444aa7ae7242a25ecce511d461de74ba88763ff232d50337320b1cfb9be1aab45a2b0d9dad327ca SHA512 72068431e7a77021767dc3a72556e1fdd1d789d43f6428ddcedfbbba90569dfa78d7a817b70733bc0d08a73304543257df6f1c9c962c9428c940a8a7f449dfe9
EBUILD namazu-2.0.22_pre8.ebuild 1643 BLAKE2B b87f7691dbc8ab191751d5b66819cdc9c409d4f35d312f0f94ca9a2e65d80ba94a391853135601242cfbbb73ce18feff71b8edfbacede7c1275e0a41c4869858 SHA512 3274b729bb781e93cd8fb692ed36e15350a0a6386bff264be2da11512c69290e54c5229b9a0a1867b16a48668fbdc32426d3da70053e8d8bd084b2d3ca714d22
MISC metadata.xml 241 BLAKE2B d06d8c9218cb9736ecc414504678e9bff30ba6bffbd2b357e9a2ea990df4e73a21b8ad4db267eddfdbf73e8501dabe5a748c4ea9d26906d39425ab744b320216 SHA512 cff6b46a252b531091d1ef597e3f714f98d2ef4aa621662d8c2ec15e4f990cd811300d3439e1be003bd307d0c8d12e78f34cf7fd49f6d006d9362f0e6ccf6252

@ -0,0 +1,14 @@
--- a/lisp/namazu.el
+++ b/lisp/namazu.el
@@ -99,9 +99,9 @@
(defmacro defgroup (&rest args)
nil)
(defmacro defcustom (var value doc &rest args)
- (` (defvar (, var) (, value) (, doc))))
+ `(defvar (, var) (, value) (, doc)))
(defmacro defface (var value doc &rest args)
- (` (make-face (, var))))
+ `(make-face (, var)))
(defmacro define-widget (&rest args)
nil)))

@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
EAPI="7"
inherit autotools elisp-common
@ -9,7 +9,7 @@ DESCRIPTION="Namazu is a full-text search engine"
HOMEPAGE="http://www.namazu.org/"
SRC_URI="http://www.namazu.org/stable/${P}.tar.gz"
LICENSE="GPL-2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ~ppc ~ppc64 x86"
IUSE="emacs l10n_ja nls static-libs tk"
@ -30,11 +30,12 @@ RDEPEND="dev-perl/File-MMagic
dev-lang/tk:0
www-client/lynx
)"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
DEPEND="${RDEPEND}"
BDEPEND="nls? ( sys-devel/gettext )"
PATCHES=(
"${FILESDIR}"/${PN}-gentoo.patch
"${FILESDIR}"/${PN}-emacs-27.patch
"${FILESDIR}"/${PN}-perl-5.18.patch
"${FILESDIR}"/${PN}-perl-5.26.patch
"${FILESDIR}"/${P}-memmove.patch
@ -43,8 +44,8 @@ PATCHES=(
src_prepare() {
default
mv configure.{in,ac}
mv tk${PN}/configure.{in,ac}
mv configure.{in,ac} || die
mv tk${PN}/configure.{in,ac} || die
eautoreconf
}
@ -64,7 +65,7 @@ src_configure() {
}
src_compile() {
emake
default
if use emacs; then
cd lisp

@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
EAPI="7"
inherit autotools elisp-common
@ -11,7 +11,7 @@ DESCRIPTION="Namazu is a full-text search engine"
HOMEPAGE="http://www.namazu.org/"
SRC_URI="http://www.namazu.org/test/${MY_P}.tar.gz"
LICENSE="GPL-2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS=""
IUSE="emacs l10n_ja nls static-libs tk"
@ -32,8 +32,8 @@ RDEPEND="dev-perl/File-MMagic
dev-lang/tk:0
www-client/lynx
)"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
DEPEND="${RDEPEND}"
BDEPEND="nls? ( sys-devel/gettext )"
S="${WORKDIR}"/${MY_P}
PATCHES=( "${FILESDIR}"/${PN}-gentoo.patch )
@ -41,8 +41,8 @@ PATCHES=( "${FILESDIR}"/${PN}-gentoo.patch )
src_prepare() {
default
mv configure.{in,ac}
mv tk${PN}/configure.{in,ac}
mv configure.{in,ac} || die
mv tk${PN}/configure.{in,ac} || die
eautoreconf
}
@ -62,7 +62,7 @@ src_configure() {
}
src_compile() {
emake
default
if use emacs; then
cd lisp

Binary file not shown.

@ -5,5 +5,5 @@ DIST eigen-3.3.9.tar.gz 2142379 BLAKE2B 437dc190fdf7a416d0a5cf81703ef4cc73c195f0
DIST eigen-3.4.0.tar.gz 2705005 BLAKE2B ae5f774a6ed36f52cf9fc3206e50796abacbba69fd0f67cd5759b4e04d847aa656861d5e06e6cd0d798a17f2b06abdb70b16f795a626bdd29edcc872c33821f8 SHA512 ba75ecb760e32acf4ceaf27115468e65d4f77c44f8d519b5a13e7940af2c03a304ad433368cb6d55431f307c5c39e2666ab41d34442db3cf441638e51f5c3b6a
EBUILD eigen-3.3.7-r1.ebuild 2252 BLAKE2B f4e7a4c7e9f8cabe363eea903e82c073408f6143dc1bda05041c9a30f4a8d3f4f2aa63c7238949414f5a4d289799cc675df56a6cc6f8c968128cfb0149a3168d SHA512 09be623abde6bde8dd2dac1ce9f431e9c501f8336e8faacb2f03da71bfa81f6dd9cd984246f46873b3e81401977f35c4ebfb6ffd35705f740798c6d7e36cc09e
EBUILD eigen-3.3.9.ebuild 2510 BLAKE2B 5a6792afa7132411ad9980ee7f8be71776f73991e7f3328595a29712d71491b9f433f033b9c422054a472a90b3e7555a5a4debd42fed7a704c15c36062efe2a1 SHA512 86e5e560bb26edd70469c0ccc372e51acdf8971c58ed7b9838744bd7ead54227d4cf801c8605348f6c37bf9edff4a0f6fa6b209cdc408249c9e4d8745b6375c3
EBUILD eigen-3.4.0.ebuild 2571 BLAKE2B fd447c212099f0cb31f5d4e1a21b4096a37d061b46c0a047a8e315789eba9a0f4ec1e72c23cd0bb5bb23ca6c2385878fcab1cbfd75022c0ca7b67c2888fa58a6 SHA512 33caea2216f9c4ef0190c7100a99f94db99cb195142651cf73f583c8251d1988589db0b3e86413b13f8ebd926c015354b5ddb25c5951ae016cec252ecda96384
EBUILD eigen-3.4.0-r1.ebuild 2485 BLAKE2B f5e853aee207aa58d200ce4eed78512439ffc90f86a525764d87f8f137e2161212cb16525dfd503ddf005fc116262042b7a0683c3c361bc33aadbb2b1fcdc9e9 SHA512 dc7a7d8e6f94c4b00b21503533f366886d935d5e196f50729c7f24ee6ff6a6c1e7f966915af87b0d956baba805e92da5ac8babb9e722473ca4b4dacdc8cd9269
MISC metadata.xml 887 BLAKE2B f6d225ff8a5b80f64b8e326962953b412526a0706c5dd7d9724d813a0e903d4d689f6a03249d33f1302c7575688e3246987bce6438163bb3130e7fee020cf9ed SHA512 a779ec093ee5008f881c07d3c3c9ea730a3393f8f9b6f1dde036b215ce30a006317d5f765df66f424491269179980cf3433061f693d902f5ac2e3341b4166ac8

@ -72,9 +72,6 @@ src_prepare() {
}
src_configure() {
local mycmakeargs=(
-DCMAKEPACKAGE_INSTALL_DIR=$(get_libdir)/cmake/${PN}${SLOT}
)
use test && mycmakeargs+=(
# the OpenGL testsuite is extremely brittle, bug #712808
-DEIGEN_TEST_NO_OPENGL=ON

Binary file not shown.

@ -1,8 +1,6 @@
AUX ponyprog-3.0.0-desktop-qa.patch 333 BLAKE2B ef21bb3f39a828317b1dddaccd36ec77b897250a54d4b07b2f7a40fbcaab0304937cc9e2170ee939f0214aef87ac09c1182d694a6d54ec59c52175d93e055152 SHA512 d5e04646720bf34b600dc90aa5013a0267fb4168d47860ef0bbbb12a465f59f784a0dd611e14d2a2884b814d385f24adcc65afeb99d58209677618c0d18c0dd7
AUX ponyprog-3.0.0-fix-build-system.patch 4477 BLAKE2B 0c933f8b7e330f2c9a428d3cb0974550180b460fe1ebe2ac22cb98e4f7de579d2b5fb2e3d24ad227184396650b2ea6041ff36dd5e08db4c4d720e5ba5bb9e2a9 SHA512 5c8be7660d770bb7120b69e70f5a08ddec2568f2c930d780c6fa5bbcd09edf3e624d97497d3740c9d6c199db9878cccadc78e6da35d8a2b43d5d9a1a8e89851f
AUX ponyprog-3.1.2-fix-build-system.patch 1434 BLAKE2B 081198cca88c1650be783e8f2507c1d97ebecc5e493e99ccfa2b462bb4ae0d51752b1b5b1a549f5ec1c350bd6b7f01b382ca6471ab1cf3f23fc019807290fcba SHA512 2b4529152ed3eb61ec453b32397a1751a788c7709d03a7df51331986b8ccfdea0907c8ddb8ee79cbbd96efa7b075e2b9ef528b3900f897a2ae5e21f40403d9c4
DIST ponyprog-3.0.0.tar.gz 933166 BLAKE2B 46eb0a720c91ed187ef06907b28d8b84ecbe4c62a92cabf2b9ff58c553e3f8afc949e523d6b97af0cbf168c545b71e0395e02e5c182714a76bbacce645a1d890 SHA512 a1779b28e03f824fb242d6eb063f0e038af26602c26d5392884f69cbbccac8a934660dffa9bec7489aeb2656e35f21e2b097fc6fe011f278046894e180023881
DIST ponyprog-3.1.2.tar.gz 1364636 BLAKE2B a913903278791d937266da50fcd5b5bda892dcc316011117816e37fc4ef03becce893b597fb34f2a6ef05b5692bb375e4ba10b04c079a63eb735aa0ddadb5ab9 SHA512 697c6fdc775629086a1c01ad94f291fda550a9ad6065e5fdff9db9fb035b8270ed9058894db7ca17d0daf2a26cc5e431415c160d61f65214677eae2109d87603
EBUILD ponyprog-3.0.0.ebuild 1068 BLAKE2B 849d35644c72b705444062fec7e30cf4383f7fc230da62261e2358fdf20760fefa6e3250845e2d28c1eee35e036709c82fd55fd81b12124dc59f922f25182cda SHA512 2c671813476d272dd53f44f4bfa62b7c4579925a4ed4725d20f1ccac4667847c326c9ae0265c03fd852b5565f9e31c43c57fc13988e37b2c01b5d5ae39d0eee4
EBUILD ponyprog-3.1.2.ebuild 1055 BLAKE2B 7b52be4593562cc8764bd78c563827b8b5d22dae2e4eb6090c7cad9ab64f04dff6287c39e7d9a8ecc12e91ce0973bd3f0796c8220eb688fdee4cca425a3570a5 SHA512 4550eed75c568d316ddd96f953912119ec6283d50cfb7aa0a80174107c60b1ec0a6f584a263f3776d8787b03481a494cada5fa2557a6f2a9852a59da7b81de07
EBUILD ponyprog-3.1.2.ebuild 1054 BLAKE2B 3f2d835c365d8c104ff2a70e8474b016dbdb88cdaf3e82eeab55bf4c03c8309a92658c2e07ed1bc72be76fccc2e8d53cbfcee4eb8b44f8c6eba7858cd4f3b3cb SHA512 57edcfd0bfdcfb71f5e1edbdbd846a7de830adc0ad15d4cb77a09db7bc4d92eb699e3689581a8aea01077a72c6fbb591deec7151b71928d3263ef75e3d4a52e8
MISC metadata.xml 638 BLAKE2B 80cc5f2cbb0168f73a647326a8fd26741112e9eed891fcb6f94b2a6b24f3bbceeacb234b12a174f1399dd296cda66c97b60138015fdfa6158b425b0b7f484b39 SHA512 45902feb788487c8d7d4570161b3adfabbed2ec797b9c2a525a3079fdebae84c59678fb7a2960124a653db34a1dc45a75a60de9926dd9b51a039c01f0c7d6775

@ -1,41 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils
DESCRIPTION="EEPROM and microcontroller programmer/flasher"
HOMEPAGE="https://github.com/lancos/ponyprog/"
SRC_URI="https://github.com/lancos/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="doc"
RDEPEND=">=app-editors/qhexedit2-0.8.4_p20170719
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtprintsupport:5"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-fix-build-system.patch
"${FILESDIR}"/${P}-desktop-qa.patch
)
src_configure() {
local mycmakeargs=( -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}" )
cmake-utils_src_configure
}
pkg_postinst() {
elog "To use the COM port in user mode (not as root), you need to"
elog "be in the 'uucp' group."
elog
elog "To use the LPT port in user mode (not as root) you need a kernel with"
elog "ppdev, parport and parport_pc compiled in or as modules. You need the"
elog "rights to write to /dev/parport? devices."
}

@ -11,7 +11,7 @@ SRC_URI="https://github.com/lancos/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~amd64 x86"
KEYWORDS="amd64 x86"
IUSE="doc"
DEPEND="

Binary file not shown.

@ -1,4 +1,6 @@
AUX htmlcleaner-2.24-fix-tests.patch 1351 BLAKE2B 995c788b1e33d1997ee9e0f72f417d8d3c69e2f9b4e71ee666b62db40b0207c816af50a7af833974a22bebd6c4624723e5b3de9e13716043049737987b304499 SHA512 071f7f30a12e0d7a9f7e50b1412852efb030e6a076816606711935e2f79b9df0ce48a8197f1c0b4d294378de4af055f9cd829b28a6cf243524bfc9983a96dce0
DIST htmlcleaner-2.24-src.zip 413806 BLAKE2B 26ac6d150607c3ee00a8afcf58fed313ac570178f84c52a0fe43b0d324e3b32bb60f63db9ae5f171e7a6a7517799c633f85abfeb64e3f7421d655842bb5a5610 SHA512 beb16e383b6d43d0dfd4697b919a30c1a74eea824976521475c458bdda6c5f0eb22f299eddae033cb190a2af4fafde7e7f2c8ab1378bd82f15842a3ca8ebaaff
DIST htmlcleaner-2.25-src.zip 414193 BLAKE2B e840b65665b23a6c55eda49a522994208b7178ddf924e60bdca9304c58df9bde343b31bbd4b7491db7bfd4fe0930283f9019d9213450618e0d50036563cced86 SHA512 fb49f0298b05008a727e7ba97a3444c6f8c31f65a9962e42bae63e1dab76fc7302f282daa45177daffcadbb73565685735f44b57107c62819bafa0db030c5ea3
EBUILD htmlcleaner-2.24.ebuild 1671 BLAKE2B 150e6f7606158b72df11ab119df62d4760bb291807360df18bef0c5314d75262fb5c213a961f6d1e0b18e12e39d12a03657ffd1370c00165b316b0781777cfff SHA512 56aec335f34b873113c5c5547eb551b376bdce7b6d12100692980f74b59b0ef0dde6099453ec7523ab0e43c722cc702dc6559551ddc599bd26e26236323268bf
EBUILD htmlcleaner-2.25.ebuild 1677 BLAKE2B 5d60d3be5fe87752064d2b846004b02f153206f98359ef56441fd8b3abb6243dd4eea9804dcb3666a720b10ca9757e3b9fba46c8673412187412f46670a9ecc2 SHA512 0ac5c9349bedf40ef5b03757bfd782a87172ccc595c1cf1ac922b22b1efec72e2236ce7ce777b465e25b817ad41a2745c4a789b3bd95fb42b0eaf1e52493efec
MISC metadata.xml 957 BLAKE2B b3efa9952daa1c7027db845d6a7f8c079240c2128d8bb454490990722f2cf66c0f6ebfca4795bd0d166d45e6b4dc764c0ad6bdb53b95945043cf864b6e9d0f22 SHA512 b804e88d45556cddf4a6e2da621a8eb971935370b82c875a9e0dda0772bb23b94a874214d1727335b3ca358f5d10bd363723ba8629413f9169dbf28dd0ef588d

@ -0,0 +1,73 @@
# 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}/${PN}-2.24-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,3 +1,5 @@
DIST apache-maven-3.8.2-bin.tar.gz 9338426 BLAKE2B b39c9c87b6d05d633172152598496b6cb9b82c64c0572426c6a612ecfcc6d087085d58fdcaef0b61f5554c2b58e90b47bb0e6844dacc88c95bfb72ffc618e355 SHA512 b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222
DIST apache-maven-3.8.3-bin.tar.gz 9042049 BLAKE2B 2709a47fddca340d9ddaa1f716990e5a4580667169552cedcda2f2017b190cacfc545e2d5b0d5aaae5f95172fb49201eefc4edaff1009f855fb93065e0de6919 SHA512 1c12a5df43421795054874fd54bb8b37d242949133b5bf6052a063a13a93f13a20e6e9dae2b3d85b9c7034ec977bbc2b6e7f66832182b9c863711d78bfe60faa
EBUILD maven-bin-3.8.2.ebuild 1372 BLAKE2B e31f57f1f30b411ae889b6b210cb0689c2b800e99f97de192648e828d78700201391269f4c9ac62c276699e1fe987a5e0421ff694aaed9299e65656d1e7ac704 SHA512 f742703fc9096acbd3f7edafa2040cafe74d2a6c4f0de7cbdafc1f07d4a57a60657f6a293e8523fb6678be9bc61e306d398b33e91f7af74319bc0da5a4455a30
EBUILD maven-bin-3.8.3.ebuild 1374 BLAKE2B a6f0026867f2142587b626b74bde23dd7b3d8079538b48644452ba633d26fc6e925d7fb5d9be4608728250619d6865125580236877dcd4ea2bef4d4175061dcc SHA512 160579460a6c14784bab62d786b45c55998ef836a8172c0366f95d25548fbe918563082483a5cd383d165aa7a189765378060ed2bc6a385969fd05ae140c1239
MISC metadata.xml 611 BLAKE2B 5ef6682d362deee6aff000f37dccd97c48e90e3071133a44d9f0ec2a5c6876fdd1a5f44b064eb6992a06cfda27c0c0e599e0bd0474997611aedce017febda203 SHA512 5ba3e55ea839b5e616f37321960021c58846089cb0b51982617f45946ba25747ac10eef70409f9848fbb8267fb2cc0c90c319fb66aeb52ffa5e0e1cd6d5840ff

@ -0,0 +1,64 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit java-pkg-2
MY_PN=apache-${PN%%-bin}
MY_PV=${PV/_alpha/-alpha-}
MY_P="${MY_PN}-${MY_PV}"
MY_MV="${PV%%.*}"
DESCRIPTION="Project Management and Comprehension Tool for Java"
SRC_URI="mirror://apache/maven/maven-${MY_MV}/${PV}/binaries/${MY_P}-bin.tar.gz"
HOMEPAGE="https://maven.apache.org/"
LICENSE="Apache-2.0"
SLOT="3.8"
KEYWORDS="~amd64 ~x86"
DEPEND="
>=virtual/jdk-1.8:*
app-eselect/eselect-java"
RDEPEND="
>=virtual/jre-1.8:*"
S="${WORKDIR}/${MY_P}"
MAVEN="${PN}-${SLOT}"
MAVEN_SHARE="/usr/share/${MAVEN}"
QA_FLAGS_IGNORED=(
"${MAVEN_SHARE}/lib/jansi-native/linux32/libjansi.so"
"${MAVEN_SHARE}/lib/jansi-native/linux64/libjansi.so"
)
# TODO:
# We should use jars from packages, instead of what is bundled.
src_install() {
dodir "${MAVEN_SHARE}"
cp -Rp bin boot conf lib "${ED}/${MAVEN_SHARE}" || die "failed to copy"
java-pkg_regjar "${ED}/${MAVEN_SHARE}"/boot/*.jar
java-pkg_regjar "${ED}/${MAVEN_SHARE}"/lib/*.jar
dodoc NOTICE README.txt
dodir /usr/bin
dosym "${MAVEN_SHARE}/bin/mvn" /usr/bin/mvn-${SLOT}
# See bug #342901.
echo "CONFIG_PROTECT=\"${MAVEN_SHARE}/conf\"" > "${T}/25${MAVEN}" || die
doenvd "${T}/25${MAVEN}"
}
pkg_postinst() {
eselect maven update mvn-${SLOT}
}
pkg_postrm() {
eselect maven update
}

@ -3,6 +3,7 @@ AUX jsp-api-2.0-manifest 474 BLAKE2B 51ae750bf0caa563387eb51f0fb1be53c693c7cb0d1
AUX servlet-api-2.4-manifest 310 BLAKE2B 8400197ebfe43615dbea9ac8fad2b85f89abe9e8414cbc1ce835f09ccc2921e3aa50bffc3d3c38364bd61d38f14e979219f93125c3b61403ebecebd16226fa56 SHA512 bb16a0fd2d277d2b7990294bfc730def285d6e390c8ab3166d8ffb08e9d9c62c9f462893fdd9eb84cfa93685262a8800622acdbf0fd9a7f2ffb5709f0387f9ca
DIST apache-tomcat-10.0.10-src.tar.gz 6032784 BLAKE2B f73d2b0d549d773a13a8adcc76a87713f0f146d80bca2d2ba633ce3145d69505fb7172eac0f04bb6d10fd9f9abb0cbbca7fb6d5b4608e2f6f07df88e5e661d70 SHA512 6241a62d01dcbf37e4745803c77dfbc4307d43c884e8e4c78c33b10d45a9b42e0103ef94acaff19790fa4876bdb369e9aca4974a4dae2622cedfa56b3fbe0658
DIST apache-tomcat-10.0.11-src.tar.gz 6065513 BLAKE2B e734a3f5086d94dd49886a1fc7e1fddc1b500240837ccba945dc0d10ad5aaaf580d1b9e2c78aca8af474c4312d723bc4095ec8e90a14f0bd7f292b9333bc554f SHA512 c06f4069c1664483f176231dd9fe132c89e7c66f845d82b41d6c962ea2d2ba2d3c6004b6a875388925ba295761f533ced416fc91261ecb97d11219a87940db2b
DIST apache-tomcat-10.0.12-src.tar.gz 6066701 BLAKE2B 24acb9e10de923c9d6443c956cd6e6c5b5463f4f6af72d89445c7d635731449afc9b7050c95af3cbd3653168c073840f02472dd01bde65c1bcbdfcba41814117 SHA512 753d36edb5ce873e346856305d6a7f40d762ae8fb9ecd20406ed9ff400e9e1261f66d4549fc98f20a05b01136ff4beaacb462147e84a306858e2acc7fcd98d5b
DIST apache-tomcat-4.1.40-src.tar.gz 3709719 BLAKE2B f7ca82052c1148a5c384fcbc3871beeddccdb4cfed05ba176581ebb50f52ba867bed8dbc500e97b7348a3a87b9693fb73eb81209df4f31e8c1ced7e30a6af30b SHA512 c455fa3da9da8fcbf1d54ae5dce808f8a4520ccafd627a6b2d1b003c37e8395d8b2a55d5471bf6c196549d082715862b3b8958aef88613293a07fc0160aa5c6e
DIST apache-tomcat-5.5.36-src.tar.gz 3743113 BLAKE2B dbfcfd123a23b0ceb9f1fdd936e42324ea8b10cf327a1d0abf1703006535859c7122690a08b5ec27b86b526cc7709a7199b4f35f123538ff11f23f3b489358f3 SHA512 845636b5b992fbbb7d657d192afbab1e6a924bfd0c71b025cf22776eb4527d92d63f9b3f33475d4349a0df4cebd984ba3776eedd7482b820abdea909e90a97b7
DIST apache-tomcat-6.0.53-src.tar.gz 3522914 BLAKE2B 054b097c16861abaa8bdbeba713b49bc1dfcff573bb3f4bd0ff5807c33a2a0fb991af618f6e11e5b3ce3fa55c589fc6569342cab5d5a00349c79bc7061d81e40 SHA512 915a0a18f5c2883625c9441eed6465973eff4f6bf41e08e925c7edaea89ef8f6ee9476d3e06fa38228d4bcb4decaf53e3a7bdb7ec7e899e6250db3e12a9f5f2c
@ -11,8 +12,10 @@ DIST apache-tomcat-8.5.70-src.tar.gz 5939095 BLAKE2B 9a2bf14c9b9f551af15ebf2b95f
DIST apache-tomcat-8.5.71-src.tar.gz 5945776 BLAKE2B b7a5b344dbe09ef88ee046dcce701ea65d8587f1d8c2f980c67fff5466979d15dea019a9abae6d48a45797a989ebddb4dbdbc5196c8740cde9ebc45041b857ef SHA512 df99749d7ef387e29c1d2976c584dc219fc8764f618a004a646564315ab3f00a71ca94408d1fbaff20c3bab3911c82af4f7cf2ec02f0408d9e829c27f8aabdba
DIST apache-tomcat-9.0.52-src.tar.gz 6110883 BLAKE2B 8d2d4e3640fdc43a3b20d9722a73a8756de7ad71b2f05e8b2090bc712811cfcf6f8e79eeded039291b9306d1c49aec46fe8c7e347aab10384ca293894984ab27 SHA512 8b1817c171fa49e5568fb24a72b6b7533c5eb3ddd6d232b78e67186574f70bb311bbef9a58af047caa14bdae57c27c6a3df721c4583072740fec0a3863bb068d
DIST apache-tomcat-9.0.53-src.tar.gz 6142608 BLAKE2B 71f45e04ac01221cbfc6e730066e1aa7f5d65d31a497a775a3147180591f23799f0b47db3a1dd4a86936c40f624795cf4fd1d3dd44d4d39633aeb0733f4f9f26 SHA512 f72b9abff6af24d486a1e3dd3cd8b6cb44feab811efb74a3469502676e661bdb4cfed0fe44f38b7f5a6f74a6776ae1c0c732504d26609b88280e0b0da6710b27
DIST apache-tomcat-9.0.54-src.tar.gz 6132613 BLAKE2B 5d37359ac9cac2a1387675a095aa0bea3e2bc74740d761a13fb2313aaca8ddb14f10922a8edc0932c9139c04b4df7f5735b067a71ac75ebbfe16ff6066311993 SHA512 e9d532a966aa8e7c2fcf28e4ecb0a618a8be4dacf8dc579a407483de86ef969383e3662fba07be629bfb8fbd85c041a5a2f1dd8875cc309b69a147b37c58974b
EBUILD tomcat-servlet-api-10.0.10.ebuild 3015 BLAKE2B d00f9dd42643a5ac88e522cc7c8b6dae88a11b59189d5424d248859d2223432af20ad966f9173a7419cee39eeb7b4bb04dbef9b261eacfe3e1f3fbeda6500820 SHA512 479cad183a31ab15d32d24d125aa00e472d8264656ba6013f383fcc6163ffdc79307bd10ed991620b1e4c60e102337d4cbb6dd3111e2e9761c6fa02df3b2bd43
EBUILD tomcat-servlet-api-10.0.11.ebuild 3018 BLAKE2B 1b0a0ae5ade523a746c6f9d62a805ef1332a5d021fbb3f2b3893ce7c5204afa140da818010676bbd0751f64a56b135557f6f4af509b826bda21aa0eb4d4f172c SHA512 fdee126c42bde90a7265f3ea7d742a58552c6a578724157e35e76233a9b0299e522778659e8d9a0468a15eac762c0acebb2564eec08697d49bdfa542debdc803
EBUILD tomcat-servlet-api-10.0.12.ebuild 3018 BLAKE2B 1b0a0ae5ade523a746c6f9d62a805ef1332a5d021fbb3f2b3893ce7c5204afa140da818010676bbd0751f64a56b135557f6f4af509b826bda21aa0eb4d4f172c SHA512 fdee126c42bde90a7265f3ea7d742a58552c6a578724157e35e76233a9b0299e522778659e8d9a0468a15eac762c0acebb2564eec08697d49bdfa542debdc803
EBUILD tomcat-servlet-api-4.1.40.ebuild 1001 BLAKE2B c3a337a341d14d193e0b409e2ae751ad7e2f4d7dcff941e28c4eb7ef4d614ae5f626235bf7cfdeb56eaf3bba608913bf12bde46b2a9e576c7cf1d886c275336a SHA512 b36e97e60cb546ef2a980d1b9787dda5b21e5c788555d9a696ca166632315a870477fb8c52fa24c1698dcf43bb096201b6d4835113ec87192287eff9f5664e3b
EBUILD tomcat-servlet-api-5.5.36.ebuild 1419 BLAKE2B e512a93e76e7e675606f112baad26f0c5013654293bf0a95085d255911c444b8ede5f0c283237810e025a9877dd41ae7285c57e0ce781ab434f29a98d3f58122 SHA512 d64b2289bdd50b8e320bc2927580080e70b532c25ffd4743342401527c4e90b7db2b6ffec35598d4e6e9e426880f7b0e10ccffc711ae05c06043586f06972ee2
EBUILD tomcat-servlet-api-6.0.53-r1.ebuild 955 BLAKE2B e7046e9afdfc33a906b44bcc98d092f75d3c6cae4ca7263b5e0605318aa19257edeaf83c2ea7a3639852c0ff140b6b65d16dc04433d94bbccce9db12ad82a9c6 SHA512 3a3d5450df02d079c04406cb3a4b63e986ce4f2d591ab12ee8918d4fecc6337634cf5627539bd277d9fda07ed4b6398c70dd87c322ae598649b61a8fd7cab58a
@ -21,4 +24,5 @@ EBUILD tomcat-servlet-api-8.5.70.ebuild 3002 BLAKE2B 18e52e0a01dac33784343e02045
EBUILD tomcat-servlet-api-8.5.71.ebuild 3006 BLAKE2B 039405bb1fd288272473d64eb9e4aa44e5b7c2dbd54b25e1fde030f4f511a43127f2d88e45b549084afc3b1dd4024d09360601305e021e7d2fd01b8a49598e5e SHA512 4dde713a2e6484a959abf8c924ab5c48509c53e9f0b7491fe67b8717790f1231e8e4fc7d367cd77297700538abe4b00661509c55454841704dc7ef943a9cb5ac
EBUILD tomcat-servlet-api-9.0.52.ebuild 3009 BLAKE2B 6a687dee6eeb283532ccffe1e29c248755c2aa639d7a716b21b6097a99c2bdca62fc6b1acf017cff5de27d2a7e91037f2b1212d6bbb5699b3ba9f1b04f9d909e SHA512 e330e8959e3d3d2d7f3639160065e35963515df5bb886672c4359c26562fc2fab9d77ff40c8fb23e6ecdf9a67adcf1ee77f69da8fed681b7b2e0acc67d02b945
EBUILD tomcat-servlet-api-9.0.53.ebuild 3013 BLAKE2B de9767718af5e643a912a112bde60431cf461d02bdcc157834a3806299f3ebebf8df8b467278727c1eb5ef588874c70f3637f8ce2f1fe4e0b5cb169aa3954683 SHA512 7d5febfe5fd7d4760e03449dfc177f1c0aa21d9752f49429ca2ecfc3f9b8bef45381cc83f6bbd1a132b0d9366d65fb45c32ff4e3b1d87f922bb6b71fed7f3a3d
EBUILD tomcat-servlet-api-9.0.54.ebuild 3013 BLAKE2B de9767718af5e643a912a112bde60431cf461d02bdcc157834a3806299f3ebebf8df8b467278727c1eb5ef588874c70f3637f8ce2f1fe4e0b5cb169aa3954683 SHA512 7d5febfe5fd7d4760e03449dfc177f1c0aa21d9752f49429ca2ecfc3f9b8bef45381cc83f6bbd1a132b0d9366d65fb45c32ff4e3b1d87f922bb6b71fed7f3a3d
MISC metadata.xml 237 BLAKE2B 7c3263833976c18611a5cba44845af4d80f2f86c48cf587a657292ed0074022088cef88756e3209b292252dce5c0eea307c4f2f45f28b8517609124708f7d09a SHA512 e8227b536eb45569cbf744907106e101d1aa6bf9ba8337783786d719ab107d8bda0fde5dd7067d168181d694b4161b12d1ef3cb5a83b14971b21aa4479670559

@ -0,0 +1,98 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
JAVA_PKG_IUSE="source"
inherit java-pkg-2 java-pkg-simple
MY_A="apache-${PN}-${PV}-src"
MY_P="${MY_A/-servlet-api/}"
DESCRIPTION="Tomcat's Servlet API 5.0/JSP API 3.0/EL API 4.0 implementation"
HOMEPAGE="https://tomcat.apache.org/"
SRC_URI="mirror://apache/tomcat/tomcat-10/v${PV}/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="5.0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
S="${WORKDIR}/${MY_P}/"
JAVA_TEST_SRC_DIR="src/test"
SERVLET_API_JAR="servlet-api.jar"
SERVLET_API_SRC="src/main/servlet-api"
SERVLET_API_RESOURCES="src/resources/servlet-api"
EL_API_JAR="el-api.jar"
EL_API_SRC="src/main/el-api"
EL_API_RESOURCES="src/resources/el-api"
JSP_API_JAR="jsp-api.jar"
JSP_API_SRC="src/main/jsp-api"
JSP_API_RESOURCES="src/resources/jsp-api"
src_prepare() {
default
# The sources and also resources are mixed together so we first give it a structure to make it easier to compile and package
mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
${EL_API_SRC} ${EL_API_RESOURCES} \
${JSP_API_SRC}/jakarta/servlet ${JSP_API_RESOURCES} \
${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
pushd java || die "Failed to cd to java dir"
cp --parents -R jakarta/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
mv "${S}/${SERVLET_API_SRC}/jakarta/servlet/jsp" "${S}/${JSP_API_SRC}/jakarta/servlet" || die "Failed to copy jsp-api sources"
cp --parents -R jakarta/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
popd
for file in $(find src -type f | grep -vE "\.java$"); do
target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
mkdir -p ${target_dir} || die "Failed to create resource directory"
mv $file ${target_dir} || die "Failed to move resource file"
done
mv test/jakarta ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
java-pkg-2_src_prepare
}
src_compile() {
JAVA_SRC_DIR="${SERVLET_API_SRC}"
JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
java-pkg-simple_src_compile
rm -fr target || die "Failed to remove compiled files"
JAVA_SRC_DIR="${EL_API_SRC}"
JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
JAVA_JAR_FILENAME="${EL_API_JAR}"
java-pkg-simple_src_compile
rm -fr target || die "Failed to remove compiled files"
JAVA_SRC_DIR="${JSP_API_SRC}"
JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
JAVA_JAR_FILENAME="${JSP_API_JAR}"
JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
java-pkg-simple_src_compile
}
src_install() {
JAVA_SRC_DIR="${SERVLET_API_SRC}"
JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
java-pkg-simple_src_install
JAVA_SRC_DIR="${EL_API_SRC}"
JAVA_JAR_FILENAME="${EL_API_JAR}"
java-pkg-simple_src_install
JAVA_SRC_DIR="${JSP_API_SRC}"
JAVA_JAR_FILENAME="${JSP_API_JAR}"
java-pkg-simple_src_install
}

@ -0,0 +1,99 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
JAVA_PKG_IUSE="source"
inherit java-pkg-2 java-pkg-simple
MY_A="apache-${PN}-${PV}-src"
MY_P="${MY_A/-servlet-api/}"
DESCRIPTION="Tomcat's Servlet API 4.0/JSP API 2.3/EL API 3.0 implementation"
HOMEPAGE="https://tomcat.apache.org/"
SRC_URI="mirror://apache/tomcat/tomcat-9/v${PV}/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="4.0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
S="${WORKDIR}/${MY_P}/"
JAVA_TEST_SRC_DIR="src/test"
SERVLET_API_JAR="servlet-api.jar"
SERVLET_API_SRC="src/main/servlet-api"
SERVLET_API_RESOURCES="src/resources/servlet-api"
EL_API_JAR="el-api.jar"
EL_API_SRC="src/main/el-api"
EL_API_RESOURCES="src/resources/el-api"
JSP_API_JAR="jsp-api.jar"
JSP_API_SRC="src/main/jsp-api"
JSP_API_RESOURCES="src/resources/jsp-api"
src_prepare() {
default
# The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
${EL_API_SRC} ${EL_API_RESOURCES} \
${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
pushd java || die "Failed to cd to java dir"
cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
popd
for file in $(find src -type f | grep -vE "\.java$"); do
target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
mkdir -p ${target_dir} || die "Failed to create resource directory"
mv $file ${target_dir} || die "Failed to move resource file"
done
mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
java-pkg-2_src_prepare
}
src_compile() {
JAVA_SRC_DIR="${SERVLET_API_SRC}"
JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
java-pkg-simple_src_compile
rm -fr target || die "Failed to remove compiled files"
JAVA_SRC_DIR="${EL_API_SRC}"
JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
JAVA_JAR_FILENAME="${EL_API_JAR}"
java-pkg-simple_src_compile
rm -fr target || die "Failed to remove compiled files"
JAVA_SRC_DIR="${JSP_API_SRC}"
JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
JAVA_JAR_FILENAME="${JSP_API_JAR}"
JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
java-pkg-simple_src_compile
}
src_install() {
JAVA_SRC_DIR="${SERVLET_API_SRC}"
JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
java-pkg-simple_src_install
JAVA_SRC_DIR="${EL_API_SRC}"
JAVA_JAR_FILENAME="${EL_API_JAR}"
java-pkg-simple_src_install
JAVA_SRC_DIR="${JSP_API_SRC}"
JAVA_JAR_FILENAME="${JSP_API_JAR}"
java-pkg-simple_src_install
}

Binary file not shown.

@ -4,28 +4,12 @@ AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd235506
AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae766060d51f93446a6293a2f607339faba484c7b0b2f9318a5c5442da3c09e25aeda20dbc5e3258bf1009f8625b4 SHA512 0a06189f6fb3513cd2dcf9ddb590360475e2dd9a7aa8b13ab66c389c1ed40ce2361681f017cd3c6219f5b40a0a9d4978e57ca3ee4bacb7657db3285136fd2875
AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372bc14309a05e352b2838da32e1384b61b507fdb623c9400094aa5b637eb1a87da92c72600eff79b18b8989ef90af56a0fa SHA512 86469f657d8807f005c28fd2149770c881add8f243fdfea087956c7987277597fe400a7af23f624f26da270356604717ed9cd04771154d7cf2ffe7237972372b
AUX php80-firebird-warnings.patch 1949 BLAKE2B ab1b693afe26b6529aab8628f9a614478c388ed23603ad1dd4d17b63154d535a3e4c2db04fe27fb22a3d7e1335e368ffd383ed24647ac53ac05170ec3e1beb75 SHA512 d37815ea529167d4959aef056a3a0be6902ee4cda809a48c24299b05ff6477ee82e8ed8dcf49051b8e74ba5c31e3985454591ea751d4550df3d2e3639ec0d616
DIST php-7.3.29.tar.xz 12139492 BLAKE2B 7e1287e0fd236252f5bc92009e4ff51676eccd197c1c579f0e79a5428fa3920b5d1f95a459cdd77c22699fbe83984a6d726ab4fc0fc1e309da8b34e0e3998071 SHA512 8a495546d575a31f864f85139d8d7931361e6ac421f2cf5ef3b4cb57f59c44568cb9ad0c8793f50169d8d9933abdcec14ab90add2d7fab056e19e7f66d60689f
DIST php-7.3.30.tar.xz 12142596 BLAKE2B 9d8d60aa2a24465e53d99be05f66c8c65ce738c866af0889cdfcd95d545d6308fce33ca2faaaeb2a298eae13d58b5f5b5c519de6af48230a4d9c4e3d41debb28 SHA512 89eb62ab4284393f33b79ee336c1672613c498adb858b16e1a17d5b2056068c849b96bbf591311ff322c607168d9518ade3bfebedbc4da4f37c34d2c64c671b6
DIST php-7.3.31.tar.xz 12142912 BLAKE2B dc68d2e2f38c93653950be4b30dde12fec6e7279e288fe40439a8e3e31110a228a69275e032604a493a53951230f6f42257719617ae18179116be414e49a2af5 SHA512 63a8122233b9892453b6b92429497a7ad9761ad88063e2b95607b5d4d4c0a0e1135073bcae5a0e69a17082d2348911cbbd4807c0d20905d93324d89e5b019a05
DIST php-7.4.21.tar.xz 10346628 BLAKE2B f758d6bef60f5e0c99bd097533d1663640362c2b752a3bd54389acc3bd7d173c1ba5d4b1c119b6ad50f5029aabe2349bb4646a33212dc3cf34fd294f24def401 SHA512 778ddbfe614fdc6a00bc82c61f4c636bdbe815ce3398415a29bd24a2fd4ca2113b3b804303585d8830242e04b0c202bbc7c725a46c9bad79b070a0e896e5e681
DIST php-7.4.22.tar.xz 10348532 BLAKE2B 20e4bfb0362bb13ca8cacf9fb2500ffdd2db011d69cb82f113dd0c25e8a5fd4a017d77481732930afd24a8e092edbce3eafe9d45f27718ddf7567469f80c5642 SHA512 80587ba613b8a863a666f44a16ebb33cbb5a5d396601d1eaf063c8f7793a98abae903cb76fca4216860f1a043d5ee997464d479d53ffff6a1d6a6cd31da9100d
DIST php-7.4.23.tar.xz 10371160 BLAKE2B 5e9fc033f856132dd6b7b06fc5aedc72218f083779fd90a8c4c7a23fb4f8c248a7ff769f9d9f46e5143ddf88ce9289f5a8013c194aeaf22eca74d97846868611 SHA512 659b6bbf9be21a09640529bc088dfd7a494081188e37eb1f2dac2cab92a1084062fd06d550dc8c97bdd7dd9b57f4146e357447be2cb86643bda1d8dbc8a0d4a3
DIST php-7.4.24.tar.xz 10372816 BLAKE2B 62e1853c20eb10d8540b9284af93cce4b3976cfae7cdba5c0c2d6d14e732a57d7f1d196f4270687d6af8f376d7a9ccef60b0b606ed20eda7e1b2b7b95074c55c SHA512 30dd0a83d6184791f4cff3edcffeb05470de8f98ddadba3c11544449bf500280ff2048a8ca8588b35d0622dcbbf16f55ea297f51d469ae137048cab2d40da9cd
DIST php-8.0.10.tar.xz 10703088 BLAKE2B c1be482bf0a7cd2392b4febccca8d9f7b32b12ff4f5ff0ce417658c52444308e67a1a0e702c0d70dc7cece4f8299b2bc12b6f999be8a758e5390e760ce4809d7 SHA512 25f23822a45eab837645a0259c7dbb999766506de35c1bba53e928e2b5935ba70278b931d5085966178e08013ec69407fc68eb041b3ae2e619b81f20ec8ce736
DIST php-8.0.11.tar.xz 10804388 BLAKE2B 8d32f2bb66b2850c7d8d820cbcf94af5161065612b204f6e30289d9b9fffbae7c45cdf5e31c3d1f774932d7eb7218079f6f0d19774b108d53a81a6c88d3c99fb SHA512 2d346959b2691ea0d5334dc9cad225b7a65ec53d6a6493f3b95c4819a0c088bec36aa1bf4ab3c8044a631bcfefb689d85463ff2259d42000e65dac30badcc59d
DIST php-8.0.8.tar.xz 10674548 BLAKE2B d2446ae5b80e692106b89418864e4253e000741addb7526599ec8db96713f91a5ab3bccd5bbd2f536b16cc58afafdf22b19996d424dfdce3218a8083ee2bdf37 SHA512 1f8b94083b64705e24365af57169f8ff08115f31a7471238d9ed7a24b692e46c789f3fc00ff2bef2205243b9cd9c4736831e995a004afc7fc4127f3b74932428
DIST php-8.0.9.tar.xz 10678448 BLAKE2B 7d8684a353ccbcd2aaff4c240563cbd9f94b16ad29223d7e00e3d9ca8b564dabe3f1d0ac676e6499af6b95f24ac2104ed9cc0ce30d05c7c565ccb2067a86b355 SHA512 de9923bfa3ca37cd775ff743beb417152d7380fa5622f3fb0055b49e552c6484561f4f503bb11f535aadd12352c92f673f3e3cc86964c767b1f6cec21265d03c
DIST php-8.1.0RC2.tar.xz 11679352 BLAKE2B 0b4eb5b1f8d3f8fb29421b6c72b3279bc7f3c5f6ba684305afdc7b1f5cc0f45a942d5c0f0a681f152ad87f209fa4e464215aef43732180882d523f2badd4596e SHA512 aecd58eb683467df62032208caa545d243ca2574f6683566a489136c84a19da4383c5aaa122dc09cfb44dc951bfaf85e50b0b9659b49ec1c4ae69f5afea9844b
EBUILD php-7.3.29.ebuild 22683 BLAKE2B c9a62b09e00619d5e9ddfbd20abcb2f424d1e6d6f702fae36854b4a0bb3e5a1ef49f1584aae2d2b5d225c4df763687ff3e319c720b3946766bd57fe07842a185 SHA512 69a574958c2b644a3c14d39dd8068af550547e4a86c685539fe6c82b9d4b9883fd22b03fae5e04d0a7df4970ba82a82e127afd4609cde177165d734fb1ad116e
EBUILD php-7.3.30.ebuild 22690 BLAKE2B dd350e0df77cc2a4f006b0e4a9e5bd0d5ac9442a27307ff15df78ccd5b9d3bfdeee307dd7bf6bb665cbe63237678270f370c436b62862e9c7da4483b5d488bfe SHA512 59cf4ee0b998240145945190370e41d20c731c37bb7909f75da8b3deff08a6036c7ce24366b0c2ddc6b325ee4564429bb1339b852ef973f1b2c566b19149757f
EBUILD php-7.3.31.ebuild 22684 BLAKE2B 01b33272a2dc23e573f4307c6beb33e7f9254cbed3853c09d61e012d004512bab2246391fa1b0ab59cca4eabefea915db28ebf49c145afd666a289c00d94cd67 SHA512 c7d30784876b88f8dff91e27899ed2f7e122a6adc5f723c74ca08ca4ab3771898fcb01cb6fa15108b715d38f7a2d2c1d7bf6f397569813df3523c284175634ab
EBUILD php-7.4.21-r1.ebuild 21394 BLAKE2B fb0dae734fdafad89d17b823c5a4b5e5956f821c73a9cfadd29d3b5fe163ffc412b19d6ba57c53873e7c165fbad1fcc45b8218f9f8a319e1be622aa1256d2eb1 SHA512 ece48ffcc67868e8745e62a207d00967eb47aed140f0ab631b97ec22ace9e3d650b2385da728997a266fa063b33c4f552b840485d6bfde937722064ed393932c
EBUILD php-7.4.22.ebuild 21401 BLAKE2B a0f0b3016c360705f9c3138b3a8eb272d4d12844f65694229b8a7441391a295243af769940bf1c2394df354123ececaa041ee566151a5eb05bcd114c47235510 SHA512 ae81d70ee64cc5aef8f03b0d8598bcca7f75b71e8cb3a8a9161ba73536f41e6252cf587c999b37014c59a331d3c243c431548863c017e2da9949a3602a72dd9c
EBUILD php-7.4.23.ebuild 21408 BLAKE2B 63e5db498bb01eb86183c7b4a9baa1ed8cf1d07aa9c9e63ff754ed9b4e99874903551e6483a6545e6ff5d68f18aac18f90eaa7f5da85bcc879cd34377d8eb7c6 SHA512 454ea4be3c67ab58568d36097dd85fa985230ebc50d682666d7bddb0ea62fc76d8d7925d3b3e00d7fa46469a12a92a90af37e1e41d65425acfc5b5e4039f6365
EBUILD php-7.4.24.ebuild 21402 BLAKE2B b839a5717cdacff7266d52ce1434683481c706328402f5e477965e3aa092cd5a936315004b6cc3bea6ff58887e906859de9c5fd53eb22a17aaf9deb4b8d78ac2 SHA512 60b714673bc3eb25bdcffac667ce6bb04c6b8a1417f8e1c5daa5a3d70d3d5ee6fe498486dc22f8deabb9bc66acb82f995ef774fb9890b2767e7a248fc45ad00c
EBUILD php-8.0.10.ebuild 21427 BLAKE2B 4ccde3239994ca37ce53b190432506b35fb471a148207c1746392fb5cbbec68ecf417a7a2860b792d6efc8475ee1412281d5e70b8754f510699d7743126083f5 SHA512 6bac9b9ef70010d414d1e3e1debaeb2566d035511c38b3104429ebe84e8b7ab75bce096891297f4f7606c2fd221c336cdd93dd8e9e23845d9703ca41ae74f805
EBUILD php-8.0.11.ebuild 21421 BLAKE2B 581ba1ce6accc4325e0e21793178f982b58a0142e202374590862c5a1642058fc98456f250b1c4d91bfe4a3388ca03309394b9192e4c483c554a43ad420497b3 SHA512 4902bf3be51281e49a586eab32dfd0c24401ce5aa07c1caf97da0d93ca7b8373f0d54cf2d1ce4672496d89c3f433b6d6c78d70753078e6e8b931872d9d74f4cf
EBUILD php-8.0.8-r2.ebuild 21420 BLAKE2B e34347417fcf4d27cba8f22b810bdb2adc397621d8977f24dae7e5f6d4e0a1ff618b51f5ff8bb1d2bcaa0598490202d921a6379b9cd0147d4a3d7cd0be9066a1 SHA512 de351dd668a70bfaab8871d1a92e3026227fa5cdda7a78529d7c8a0cfe25c8976fa0b7420f24bd17b69eb4bffd36453c9928125cfed22e37256f6a01e8d0dbf5
EBUILD php-8.0.9.ebuild 21420 BLAKE2B e34347417fcf4d27cba8f22b810bdb2adc397621d8977f24dae7e5f6d4e0a1ff618b51f5ff8bb1d2bcaa0598490202d921a6379b9cd0147d4a3d7cd0be9066a1 SHA512 de351dd668a70bfaab8871d1a92e3026227fa5cdda7a78529d7c8a0cfe25c8976fa0b7420f24bd17b69eb4bffd36453c9928125cfed22e37256f6a01e8d0dbf5
EBUILD php-7.3.31.ebuild 22683 BLAKE2B c9a62b09e00619d5e9ddfbd20abcb2f424d1e6d6f702fae36854b4a0bb3e5a1ef49f1584aae2d2b5d225c4df763687ff3e319c720b3946766bd57fe07842a185 SHA512 69a574958c2b644a3c14d39dd8068af550547e4a86c685539fe6c82b9d4b9883fd22b03fae5e04d0a7df4970ba82a82e127afd4609cde177165d734fb1ad116e
EBUILD php-7.4.24.ebuild 21401 BLAKE2B ea68621850881309ab746d4df6e2aab8b501646f09ee2bfac8603bb91b5c8a76d63e415705d94566d3c4e3c4a4de7934d369d5c519d81995037eec317a7df415 SHA512 45a6958db40d98dd0c20880b8e7dfbb37809af9b845a839029c28a310a1d15d9b5af6c3efd0584a922e052a5f8bb0c22491aa12e0fe0f5dd32934e5b5b84dfa6
EBUILD php-8.0.11.ebuild 21420 BLAKE2B b55b392157d546ad51d0b66330271586dad104a7fe885ae68fd177cee3956b0ec1a4ec7922bc0315b1f72796adbc6d08bb2c12304a44cb64c62de73b731fcdf1 SHA512 d4ae2c1692ebeb42fed40e4e5239790fbb98f862375f36f40ff00ab58f34803a44c040acaeb66e10a597ac21831cc8b7c084735c7f245efef59b65a84b461bbd
EBUILD php-8.1.0_rc2.ebuild 21457 BLAKE2B 1ecc29a6afcba5210f229c7e8a5bca3f145af1efc1581106e7628404234f88e170ae3e65bb2f27f2117a7c78924b1957e670d6028a20c1e7f1237d1f13301d7c SHA512 10762a13466b1a3868b98485d6ffbb0b3375e450bf6f5139564cfe01a84009a2f8a4b16ab841aec0ab357156069966271205d9ebd41b7a4b3c78852d45f9851d
MISC metadata.xml 3378 BLAKE2B 4ea64ce2404205f33be7d0be217ad8eeef2b82bc50700664dd89db5bd6c3aabfe2b0ab72497493bdb1214d3c30d9fdabe0e8790938aa68fd3cff8bb25249057b SHA512 21fc30b50fe9d5fdbd63c19e1bc7856bc2e7d96ff8fbd05aff4fc07bddae68cbe8dffecb1854de233031257dcd40da265463887259f95ed886dac8bc2b6cc535

@ -1,758 +0,0 @@
# 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:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
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"
)
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,758 +0,0 @@
# 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:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
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"
)
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
}

@ -19,7 +19,7 @@ LICENSE="PHP-3.01
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"
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}"

@ -1,750 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
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 ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +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 selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# 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 ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# 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:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
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 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
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:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
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:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.7.6 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=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"
PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}"/php-iodbc-header-location.patch
)
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'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
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)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(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)
$(use_enable ipv6)
$(use_enable json)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xmlrpc)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable 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" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
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
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# 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)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable 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-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(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,750 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
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 ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +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 selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# 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 ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# 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:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
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 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
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:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
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:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.7.6 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=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"
PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}"/php-iodbc-header-location.patch
)
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'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
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)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(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)
$(use_enable ipv6)
$(use_enable json)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xmlrpc)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable 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" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
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
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# 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)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable 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-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(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,750 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
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 ~riscv ~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 ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +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 selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# 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 ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# 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:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
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 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
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:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
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:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.7.6 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=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"
PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}"/php-iodbc-header-location.patch
)
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'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
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)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(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)
$(use_enable ipv6)
$(use_enable json)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xmlrpc)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable 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" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
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
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# 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)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable 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-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(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
}

@ -21,7 +21,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"

@ -1,749 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
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 ~riscv ~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 apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xpm xslt zip zlib"
# 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 ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# 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.7[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[jit?,unicode]
fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.29.0 )
enchant? ( app-text/enchant:2 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
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:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( >=dev-db/postgresql-9.1:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
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:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.9.0 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=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"
PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}/php-iodbc-header-location.patch"
"${FILESDIR}/php80-firebird-warnings.patch"
)
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'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
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 zts)
)
our_conf+=(
$(use_with apparmor fpm-apparmor)
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(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)
$(use_enable ipv6)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable 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" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
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
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# 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)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable 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-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(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$(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$(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
}

@ -21,7 +21,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"

@ -1,749 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
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 apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xpm xslt zip zlib"
# 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 ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# 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.7[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[jit?,unicode]
fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.29.0 )
enchant? ( app-text/enchant:2 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
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:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( >=dev-db/postgresql-9.1:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
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:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.9.0 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=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"
PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}/php-iodbc-header-location.patch"
"${FILESDIR}/php80-firebird-warnings.patch"
)
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'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
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 zts)
)
our_conf+=(
$(use_with apparmor fpm-apparmor)
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(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)
$(use_enable ipv6)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable 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" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
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
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# 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)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable 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-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(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$(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$(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,749 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
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 apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xpm xslt zip zlib"
# 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 ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# 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.7[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[jit?,unicode]
fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.29.0 )
enchant? ( app-text/enchant:2 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
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:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( >=dev-db/postgresql-9.1:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
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:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.9.0 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=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"
PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}/php-iodbc-header-location.patch"
"${FILESDIR}/php80-firebird-warnings.patch"
)
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'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
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 zts)
)
our_conf+=(
$(use_with apparmor fpm-apparmor)
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(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)
$(use_enable ipv6)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable 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" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
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
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# 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)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable 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-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(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$(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$(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
}

@ -13,11 +13,13 @@ DIST firefox-78.11.0esr.source.tar.xz 333002576 BLAKE2B a8268886f86afb41b86d227f
DIST firefox-78.12.0esr.source.tar.xz 333737488 BLAKE2B 775a55511a48f4210807d2648833bca6f95d9f4cd48b5d0de8cf0bf2609590c1615fca7ff855ae3643a25466d131e15dc293e6a57aa05e1d91d2cf819b0b89ca SHA512 646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a
DIST firefox-78.13.0esr.source.tar.xz 333506484 BLAKE2B 1922e2f6b2ada46e581e4eaaa388873d31c6a922e5165ba225eeaccde5c1c6d7369a57ecf8e89371a34f692dca5754a461abb7d1c9bfda9cbc4f021d39549439 SHA512 78a5dc8713ab879ebfc3b8fd7a8219844d06f0d897342fdf9a11471633d98e148ff85cf10e561899df4910b94a33b57709b64788df4621a8c0b83eb9a7102cef
DIST firefox-78.14.0esr.source.tar.xz 340771180 BLAKE2B 7b83bf081138fbf2367116099839c6d05ec5ade58f183ba033c5167d503a2a1f40976f88bdba680a7a8df7c66ac32449004e58a5211f16086b792a2b41e27c67 SHA512 5d5e4b1197f87b458a8ab14a62701fa0f3071e9facbb4fba71a64ef69abf31edbb4c5efa6c20198de573216543b5289270b5929c6e917f01bb165ce8c139c1ac
DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
DIST firefox-78esr-patches-13.tar.xz 83664 BLAKE2B 92250d5bc3821ee1ff032236bd00e01a53e0af4f9e39696a634edb39f0a182bf5ff74b7fc0f107c9c53136c64485c398391e3a857c8b2b904115fd13d17e2a4f SHA512 96739811bea833a6a9cb09075dfe49c6fa7f613e8bd41e1d830d6ae6851ce8e2f5d27c87d0035b6f3a099340dfd7eebe6ecb930ff25079e76cea92a7610293ca
DIST firefox-78esr-patches-14.tar.xz 82976 BLAKE2B 08cc3618c8069f4169b7647e7eb699153d558bb89f8a4f1ed74d5ccd339f77119cd8f253df011f0c2f255ad889b65e843171d7559f469788463ca7e9aa2e96aa SHA512 1611c6f9d2c7d586e7b53810c1cfdb2682f5d289b1b019b71694b1ab2d8bbdfe827a73cfaf59f7e4808c0b90409ca4fa57e27655d8cdf0c578ffdbad33659f26
DIST firefox-78esr-patches-15.tar.xz 65604 BLAKE2B 86e421e555ffd5f7f201d0f1a1c446c649739c67cdf8dca536efa115e09d9c357ce1551b7270c77e8bfe7dd53e0f3e6386496283879cf5e0c59b3c864951ebb3 SHA512 b229e895f083a0404cda1da0d8ae937429d5975ac52ab20e8b15611d9c737381a1076ebfa8c8a127dacac0e12a2a905ffd579facde2d80c6facc911e5739e34b
DIST firefox-78esr-patches-16.tar.xz 55964 BLAKE2B 79d3a465c69656bb55ee7c1e9060606464b6404435b92f534db275521ac2343e045feae1fff6166fde9e2599a82cd982b0b2395271b1033f0f784e745e2c6965 SHA512 3aa971c726646cbf37a14a0dba6c4ac966b88db655cd8b730c5572543bfbf682991ee7c139889541e4f6936c13f27233dc1837fbdb9ee340b33ebb2cec59b01f
DIST firefox-78esr-patches-17.tar.xz 56004 BLAKE2B 01d2ded2658c24176a3d13d0267d1c4df4ef0113c5c40b1002acd39a0f04db35b773bc617afed1c681df3ec38120621a5c3753ba2d36688d7d5926233bfb8501 SHA512 43b372b848c1f30e02505d06bbb11f5b80d976fe7ee39c0d2aacf60d48bc1d3e378c325f4e2fd4730b971e88c3bd902539a7b81874f53b8b92369f876e05be5e
DIST firefox-78esr-patches-18.tar.xz 55968 BLAKE2B f32fe8e0086e4bf74fd43127b9fe136a0e0ad6e51cb8a2398f6e8f9fe585de1574c745dd3f50440cf62b626f9fa24d368284c563fb75acbacc5238f9bc8d099f SHA512 99a51a241d91aa00c64550f2a521528f6134c8812e379eaf95cd1287fd51d00346de8d41f2d2f55a83332580531b31c4e814a47d7f69da6e3512613e8e98bb31
DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
@ -35,4 +37,5 @@ EBUILD spidermonkey-78.11.0.ebuild 13023 BLAKE2B 5c6ac236be68d84fa31d433f425f329
EBUILD spidermonkey-78.12.0.ebuild 13021 BLAKE2B e0c048fc9845d7b24e72df1efb67764bfc9570efc2a40e753bd3d222ebfe297168a229242a5439e6922bad5b6d4f6275b6b6df52ca50a173049f394d6f8e41d1 SHA512 1748dd580ef80259e81586b24a07495ffd43ca94d6f794e2cd36849396e04e421cb2a40d1c17cf6a9cf7ef215adf31af9cb4de74a31edef7f6c8d60f3f098e3b
EBUILD spidermonkey-78.13.0.ebuild 13025 BLAKE2B eaaf4df87e0497daeb4bfb2a554f9f2009a64d94e02d94c9a852e3db4047d419132abc671898ce7beb239ee88721eac8be8ce794a5e9abaa2840ae4e87eadd6e SHA512 a8223fb84b0174b24845e8c226662823d196019d10989b08cf4c3c2975609799510edc3b25bb922d86b23bf58c8f6f4c1051cac14e9281ed90942dc926b4069d
EBUILD spidermonkey-78.14.0.ebuild 13021 BLAKE2B a321dbcb5856cf9f86c462f06c26c2f004f2bf0a9fce72392a4f8ead7b06e7f617eb362274ad8f9bb324d447f45ac735da0d52fd88321558faa44a6dcffb13e7 SHA512 1f32f4747a6fc2e66f256db53f5db502c75cab0c6f2ed31bf6aafc265155c1bd0d66cfdccdf17ab6272ef01f00523960eed885777b13089b0ee6f90a21cecf2c
EBUILD spidermonkey-78.15.0.ebuild 13025 BLAKE2B fcf3d5b84fd0cb37672b00bd2298c842cce44158a8daa6847c5ccfbcf84ae9e26fd37cf336b821ccca43ddf52583a9679684ea22a0b84d15b19226be3cc9b3f5 SHA512 33aa7146f1bd7f965909b677d6c9611b8ac28eea8f9045ec811eee8c58fd35a701562550b339d6d5eb74d4541eb50b27240ccdca46297971dc8fc4992945021e
MISC metadata.xml 869 BLAKE2B 79d6ea91e84e3bb666797cde6b2993282ff1b4266dfa835eaf02d8aa65d5d000729b149a49c9fa5c8dbf12e4b97b46d976243c888834db9df73a8a5c814aa610 SHA512 f78399a1ad88583c50ad1e967f5ba293cdfff7d58cf26b87bd8888c7102b62d42ef1982d1b8462f3d31f0806b6cead8db28b7f0c7b12c08d3871607b5a4c63cc

@ -0,0 +1,454 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
# Patch version
FIREFOX_PATCHSET="firefox-78esr-patches-18.tar.xz"
SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-04.tar.xz"
LLVM_MAX_SLOT=12
PYTHON_COMPAT=( python3_{7..9} )
WANT_AUTOCONF="2.1"
inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
MY_PN="mozjs"
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
MY_MAJOR=$(ver_cut 1)
MOZ_ESR=yes
MOZ_PV=${PV}
MOZ_PV_SUFFIX=
if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
# Convert the ebuild version to the upstream Mozilla version
MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
fi
if [[ -n ${MOZ_ESR} ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
MOZ_PN="firefox"
MOZ_P="${MOZ_PN}-${MOZ_PV}"
MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
if [[ ${PV} == *_rc* ]] ; then
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
fi
PATCH_URIS=(
https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}
https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
)
SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
${PATCH_URIS[@]}"
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc64 ~riscv ~s390 ~x86"
SLOT="78"
LICENSE="MPL-2.0"
IUSE="clang cpu_flags_arm_neon debug +jit lto test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
>=virtual/rust-1.41.0
virtual/pkgconfig
|| (
(
sys-devel/llvm:12
clang? (
sys-devel/clang:12
lto? ( =sys-devel/lld-12* )
)
)
(
sys-devel/llvm:11
clang? (
sys-devel/clang:11
lto? ( =sys-devel/lld-11* )
)
)
(
sys-devel/llvm:10
clang? (
sys-devel/clang:10
lto? ( =sys-devel/lld-10* )
)
)
)
lto? (
!clang? ( sys-devel/binutils[gold] )
)"
CDEPEND=">=dev-libs/icu-67.1:=
>=dev-libs/nspr-4.25
sys-libs/readline:0=
>=sys-libs/zlib-1.2.3"
DEPEND="${CDEPEND}
test? (
$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
)"
RDEPEND="${CDEPEND}"
S="${WORKDIR}/firefox-${MY_PV}/js/src"
llvm_check_deps() {
if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use lto ; then
if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
}
python_check_deps() {
if use test ; then
has_version "dev-python/six[${PYTHON_USEDEP}]"
fi
}
pkg_pretend() {
if use test ; then
CHECKREQS_DISK_BUILD="7600M"
else
CHECKREQS_DISK_BUILD="6400M"
fi
check-reqs_pkg_pretend
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use test ; then
CHECKREQS_DISK_BUILD="7600M"
else
CHECKREQS_DISK_BUILD="6400M"
fi
check-reqs_pkg_setup
llvm_pkg_setup
if use clang && use lto ; then
local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
# temp fix for https://bugs.gentoo.org/768543
# we can assume that rust 1.{49,50}.0 always uses llvm 11
local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
[[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
[[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
local version_llvm_rust="11"
else
local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
fi
if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
eerror " - Build ${CATEGORY}/${PN} without USE=lto"
die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
fi
fi
python-any-r1_pkg_setup
# Build system is using /proc/self/oom_score_adj, bug #604394
addpredict /proc/self/oom_score_adj
if ! mountpoint -q /dev/shm ; then
# If /dev/shm is not available, configure is known to fail with
# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
ewarn "/dev/shm is not mounted -- expect build failures!"
fi
# Ensure we use C locale when building, bug #746215
export LC_ALL=C
fi
}
src_prepare() {
pushd ../.. &>/dev/null || die
use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
eapply "${WORKDIR}"/firefox-patches
eapply "${WORKDIR}"/spidermonkey-patches
default
# Make LTO respect MAKEOPTS
sed -i \
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
build/moz.configure/lto-pgo.configure \
|| die "sed failed to set num_cores"
# sed-in toolchain prefix
sed -i \
-e "s/objdump/${CHOST}-objdump/" \
python/mozbuild/mozbuild/configure/check_debug_ranges.py \
|| die "sed failed to set toolchain prefix"
# use prefix shell in wrapper linker scripts, bug #789660
hprefixify "${S}"/../../build/cargo-{,host-}linker
einfo "Removing pre-built binaries ..."
find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
MOZJS_BUILDDIR="${WORKDIR}/build"
mkdir "${MOZJS_BUILDDIR}" || die
popd &>/dev/null || die
eautoconf
}
src_configure() {
# Show flags set at the beginning
einfo "Current CFLAGS: ${CFLAGS}"
einfo "Current CXXFLAGS: ${CXXFLAGS}"
einfo "Current LDFLAGS: ${LDFLAGS}"
einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
local have_switched_compiler=
if use clang && ! tc-is-clang ; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
have_switched_compiler=yes
AR=llvm-ar
CC=${CHOST}-clang
CXX=${CHOST}-clang++
NM=llvm-nm
RANLIB=llvm-ranlib
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
have_switched_compiler=yes
einfo "Enforcing the use of gcc due to USE=-clang ..."
AR=gcc-ar
CC=${CHOST}-gcc
CXX=${CHOST}-g++
NM=gcc-nm
RANLIB=gcc-ranlib
fi
if [[ -n "${have_switched_compiler}" ]] ; then
# Because we switched active compiler we have to ensure
# that no unsupported flags are set
strip-unsupported-flags
fi
# Ensure we use correct toolchain
export HOST_CC="$(tc-getBUILD_CC)"
export HOST_CXX="$(tc-getBUILD_CXX)"
tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
cd "${MOZJS_BUILDDIR}" || die
# ../python/mach/mach/mixin/process.py fails to detect SHELL
export SHELL="${EPREFIX}/bin/bash"
local -a myeconfargs=(
--host="${CBUILD:-${CHOST}}"
--target="${CHOST}"
--disable-jemalloc
--disable-optimize
--disable-strip
--enable-readline
--enable-shared-js
--with-intl-api
--with-system-icu
--with-system-nspr
--with-system-zlib
--with-toolchain-prefix="${CHOST}-"
$(use_enable debug)
$(use_enable jit)
$(use_enable test tests)
)
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
myeconfargs+=( --enable-rust-simd )
fi
# Modifications to better support ARM, bug 717344
if use cpu_flags_arm_neon ; then
myeconfargs+=( --with-fpu=neon )
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
myeconfargs+=( --with-thumb=yes )
myeconfargs+=( --with-thumb-interwork=no )
fi
fi
# Tell build system that we want to use LTO
if use lto ; then
myeconfargs+=( --enable-lto )
if use clang ; then
myeconfargs+=( --enable-linker=lld )
else
myeconfargs+=( --enable-linker=gold )
fi
fi
# LTO flag was handled via configure
filter-flags '-flto*'
if tc-is-gcc ; then
if ver_test $(gcc-fullversion) -ge 10 ; then
einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
append-cxxflags -fno-tree-loop-vectorize
fi
fi
# Show flags we will use
einfo "Build CFLAGS: ${CFLAGS}"
einfo "Build CXXFLAGS: ${CXXFLAGS}"
einfo "Build LDFLAGS: ${LDFLAGS}"
einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
# Forcing system-icu allows us to skip patching bundled ICU for PPC
# and other minor arches
ECONF_SOURCE="${S}" \
econf \
${myeconfargs[@]} \
XARGS="${EPREFIX}/usr/bin/xargs"
}
src_compile() {
cd "${MOZJS_BUILDDIR}" || die
default
}
src_test() {
if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
einfo "Smoke-test successful, continuing with full test suite"
else
die "Smoke-test failed: did interpreter initialization fail?"
fi
local -a KNOWN_TESTFAILURES
KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
if use x86 ; then
KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
fi
if [[ $(tc-endian) == "big" ]] ; then
KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
fi
echo "" > "${T}"/known_failures.list || die
local KNOWN_TESTFAILURE
for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
done
PYTHONPATH="${S}/tests/lib" \
${PYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js \
|| die
if use jit ; then
KNOWN_TESTFAILURES=()
echo "" > "${T}"/known_failures.list || die
for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
done
PYTHONPATH="${S}/tests/lib" \
${PYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js basic \
|| die
fi
}
src_install() {
cd "${MOZJS_BUILDDIR}" || die
default
# fix soname links
pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
popd &>/dev/null || die
# remove unneeded files
rm \
"${ED}"/usr/bin/js${MY_MAJOR}-config \
"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
|| die
# fix permissions
chmod -x \
"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
|| die
}

Binary file not shown.

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

Loading…
Cancel
Save