parent
4e3e8cbc21
commit
17d11502e0
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,68 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit systemd
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/digint/btrbk.git"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="https://digint.ch/download/btrbk/releases/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Tool for creating snapshots and remote backups of btrfs subvolumes"
|
||||
HOMEPAGE="https://digint.ch/btrbk/"
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
IUSE="+pv"
|
||||
|
||||
DEPEND=">=app-text/asciidoc-8.6.0
|
||||
app-text/xmlto"
|
||||
|
||||
RDEPEND="dev-lang/perl
|
||||
net-misc/openssh
|
||||
pv? ( sys-apps/pv )
|
||||
>=sys-fs/btrfs-progs-3.18.2"
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" SYSTEMDDIR="$(systemd_get_systemunitdir)" install
|
||||
}
|
||||
pkg_preinst() {
|
||||
if has_version "<${CATEGORY}/${PN}-0.26.0" ; then
|
||||
upgrade_0_26_0_warning="1"
|
||||
fi
|
||||
if has_version "<${CATEGORY}/${PN}-0.27.0" ; then
|
||||
upgrade_0_27_0_warning="1"
|
||||
fi
|
||||
}
|
||||
pkg_postinst() {
|
||||
if [[ "${upgrade_0_26_0_warning}" == "1" ]]; then
|
||||
ewarn "If you are using raw targets, make sure to run the"
|
||||
ewarn "\"raw_suffix2sidecar\" utility in each target directory."
|
||||
fi
|
||||
if [[ "${upgrade_0_27_0_warning}" == "1" ]]; then
|
||||
ewarn 'Due to a bugfix in the scheduler [1] [2], previously preserved'
|
||||
ewarn 'monthly/yearly backups could get deleted when upgrading to'
|
||||
ewarn 'btrbk-0.27.0.'
|
||||
ewarn ''
|
||||
ewarn 'Before upgrading to btrbk-0.27.0, make sure to stop all cron jobs'
|
||||
ewarn 'or systemd timers calling btrbk.'
|
||||
ewarn ''
|
||||
ewarn 'After upgrading, run "btrbk prune --dry-run --print-schedule" and'
|
||||
ewarn 'check if any snapshots/backups would get deleted. If you want to'
|
||||
ewarn 'forcibly preserve a snapshot/backup forever, rename it:'
|
||||
ewarn ''
|
||||
ewarn ' mv mysubvol.YYYYMMDD mysubvol.YYYYMMDD.keep_forever'
|
||||
ewarn ''
|
||||
ewarn 'Note that btrbk ignores subvolumes with unknown naming scheme, e.g.'
|
||||
ewarn '(".keep_forever" suffix in the example above).'
|
||||
ewarn ''
|
||||
ewarn ' [1] https://github.com/digint/btrbk/issues/217'
|
||||
ewarn ' [2] https://github.com/digint/btrbk/commit/719fb5f'
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
DIST certbot-0.25.1.tar.gz 1160526 BLAKE2B 2dd2196c5986d5f5fe59f711589b6c3393d9c4183febb7048eab0b85e033f81d5c7ff12d7fea3aa69585308f5a4984143e431047fee73b42b16bd49e1cd2d14f SHA512 6395baa33acb4cf9e953294ddb07694ffa1e76424e12114db8df0f64fb3f1872c3145b02d853c139183b2b708d40d236f91d356eb9ecca447f577bd725fee6e5
|
||||
DIST certbot-0.27.1.tar.gz 1240538 BLAKE2B 3d03acc8465c5d44de99ffbee67bd75fbd7d6e5d1cb1d1a6551d14c64dd699bbd91deaf3398ea3a7c2eeb8c353650e6a06cf64c88533f4270f05d1f3381843cf SHA512 ce4edd1088e9abba89f026953e42f782c6e3ef41b11123d7faf8f1e4c230b2be5107ad70b7c6d515b6ce3d06a65ae132a37d4e41fd35f728a17ba94bb09ebb00
|
||||
DIST certbot-0.28.0.tar.gz 1253582 BLAKE2B f97a195afacd279b1dfc2d62ea45ae43dfd2d160f148200dd0756eda1c75561a6b1326a346f84c666c8409d339bc4341106ed4cfc684a7d868b6e1e10707ef78 SHA512 07c9bbad52acebc60e48d79619e4f12818d67c3b0f41ffa4fcd02098fb9da245e4006418f54c51c2e4bb9aaa01a21f7a083c9eb092f533e6676ed75ae8667a54
|
||||
DIST certbot-0.29.1.tar.gz 1265252 BLAKE2B dcb63862f427851655ae8282a3d479adc4aa2f553f510f3769d59748728505cb052291f728f1a01ad4efffa25d9aee6be881a9a7178fb0c025725780150ade45 SHA512 c9b976bec51c83412816726b709b79af0b464efa02f67c4ce7e754a2e6fa11e6811ca5db66616bd7b9e7920d6613665d3e58998c891bdb1452a5159a91971c56
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST certbot-0.25.1.tar.gz 1160526 BLAKE2B 2dd2196c5986d5f5fe59f711589b6c3393d9c4183febb7048eab0b85e033f81d5c7ff12d7fea3aa69585308f5a4984143e431047fee73b42b16bd49e1cd2d14f SHA512 6395baa33acb4cf9e953294ddb07694ffa1e76424e12114db8df0f64fb3f1872c3145b02d853c139183b2b708d40d236f91d356eb9ecca447f577bd725fee6e5
|
||||
DIST certbot-0.27.1.tar.gz 1240538 BLAKE2B 3d03acc8465c5d44de99ffbee67bd75fbd7d6e5d1cb1d1a6551d14c64dd699bbd91deaf3398ea3a7c2eeb8c353650e6a06cf64c88533f4270f05d1f3381843cf SHA512 ce4edd1088e9abba89f026953e42f782c6e3ef41b11123d7faf8f1e4c230b2be5107ad70b7c6d515b6ce3d06a65ae132a37d4e41fd35f728a17ba94bb09ebb00
|
||||
DIST certbot-0.28.0.tar.gz 1253582 BLAKE2B f97a195afacd279b1dfc2d62ea45ae43dfd2d160f148200dd0756eda1c75561a6b1326a346f84c666c8409d339bc4341106ed4cfc684a7d868b6e1e10707ef78 SHA512 07c9bbad52acebc60e48d79619e4f12818d67c3b0f41ffa4fcd02098fb9da245e4006418f54c51c2e4bb9aaa01a21f7a083c9eb092f533e6676ed75ae8667a54
|
||||
DIST certbot-0.29.1.tar.gz 1265252 BLAKE2B dcb63862f427851655ae8282a3d479adc4aa2f553f510f3769d59748728505cb052291f728f1a01ad4efffa25d9aee6be881a9a7178fb0c025725780150ade45 SHA512 c9b976bec51c83412816726b709b79af0b464efa02f67c4ce7e754a2e6fa11e6811ca5db66616bd7b9e7920d6613665d3e58998c891bdb1452a5159a91971c56
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST certbot-0.25.1.tar.gz 1160526 BLAKE2B 2dd2196c5986d5f5fe59f711589b6c3393d9c4183febb7048eab0b85e033f81d5c7ff12d7fea3aa69585308f5a4984143e431047fee73b42b16bd49e1cd2d14f SHA512 6395baa33acb4cf9e953294ddb07694ffa1e76424e12114db8df0f64fb3f1872c3145b02d853c139183b2b708d40d236f91d356eb9ecca447f577bd725fee6e5
|
||||
DIST certbot-0.27.1.tar.gz 1240538 BLAKE2B 3d03acc8465c5d44de99ffbee67bd75fbd7d6e5d1cb1d1a6551d14c64dd699bbd91deaf3398ea3a7c2eeb8c353650e6a06cf64c88533f4270f05d1f3381843cf SHA512 ce4edd1088e9abba89f026953e42f782c6e3ef41b11123d7faf8f1e4c230b2be5107ad70b7c6d515b6ce3d06a65ae132a37d4e41fd35f728a17ba94bb09ebb00
|
||||
DIST certbot-0.28.0.tar.gz 1253582 BLAKE2B f97a195afacd279b1dfc2d62ea45ae43dfd2d160f148200dd0756eda1c75561a6b1326a346f84c666c8409d339bc4341106ed4cfc684a7d868b6e1e10707ef78 SHA512 07c9bbad52acebc60e48d79619e4f12818d67c3b0f41ffa4fcd02098fb9da245e4006418f54c51c2e4bb9aaa01a21f7a083c9eb092f533e6676ed75ae8667a54
|
||||
DIST certbot-0.29.1.tar.gz 1265252 BLAKE2B dcb63862f427851655ae8282a3d479adc4aa2f553f510f3769d59748728505cb052291f728f1a01ad4efffa25d9aee6be881a9a7178fb0c025725780150ade45 SHA512 c9b976bec51c83412816726b709b79af0b464efa02f67c4ce7e754a2e6fa11e6811ca5db66616bd7b9e7920d6613665d3e58998c891bdb1452a5159a91971c56
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST certbot-0.25.1.tar.gz 1160526 BLAKE2B 2dd2196c5986d5f5fe59f711589b6c3393d9c4183febb7048eab0b85e033f81d5c7ff12d7fea3aa69585308f5a4984143e431047fee73b42b16bd49e1cd2d14f SHA512 6395baa33acb4cf9e953294ddb07694ffa1e76424e12114db8df0f64fb3f1872c3145b02d853c139183b2b708d40d236f91d356eb9ecca447f577bd725fee6e5
|
||||
DIST certbot-0.27.1.tar.gz 1240538 BLAKE2B 3d03acc8465c5d44de99ffbee67bd75fbd7d6e5d1cb1d1a6551d14c64dd699bbd91deaf3398ea3a7c2eeb8c353650e6a06cf64c88533f4270f05d1f3381843cf SHA512 ce4edd1088e9abba89f026953e42f782c6e3ef41b11123d7faf8f1e4c230b2be5107ad70b7c6d515b6ce3d06a65ae132a37d4e41fd35f728a17ba94bb09ebb00
|
||||
DIST certbot-0.28.0.tar.gz 1253582 BLAKE2B f97a195afacd279b1dfc2d62ea45ae43dfd2d160f148200dd0756eda1c75561a6b1326a346f84c666c8409d339bc4341106ed4cfc684a7d868b6e1e10707ef78 SHA512 07c9bbad52acebc60e48d79619e4f12818d67c3b0f41ffa4fcd02098fb9da245e4006418f54c51c2e4bb9aaa01a21f7a083c9eb092f533e6676ed75ae8667a54
|
||||
DIST certbot-0.29.1.tar.gz 1265252 BLAKE2B dcb63862f427851655ae8282a3d479adc4aa2f553f510f3769d59748728505cb052291f728f1a01ad4efffa25d9aee6be881a9a7178fb0c025725780150ade45 SHA512 c9b976bec51c83412816726b709b79af0b464efa02f67c4ce7e754a2e6fa11e6811ca5db66616bd7b9e7920d6613665d3e58998c891bdb1452a5159a91971c56
|
||||
|
Binary file not shown.
@ -1,4 +1,2 @@
|
||||
DIST yq-2.1.2.tar.gz 4704 BLAKE2B 980f0025ed397d620cf4883b3603411e7d969d641a50b6ad7f8be2ed9cb326772b0d79b36b0fe1c1f168e9b859bab63be3c0a6e267fef9ae15e8aa66574dbd67 SHA512 88f32e58aacd82deb06deee6910f5a145e54d20829f438cd47248d560119dd8112e0813ea8d55708664ac29ef011bbc3fd6b882e1c538ef44aaa9aa119584e99
|
||||
DIST yq-2.3.0.tar.gz 5165 BLAKE2B 5d317d78e4e9e0fbe3064c004b33cb267fe0947d011ea3f12b873a2a31b16695c57bd932b2f2e5145afa22f9cccb43bed0a34847c4975f83bf63651e6b3b5372 SHA512 f256d1766b697f6bcb88bb8129e587bb99929154e13167f179bff1669b08b5444af90d7a17382b4f434092110ddb9e578c1f374b56aba03b4a4406fc25b76d6a
|
||||
DIST yq-2.3.3.tar.gz 5486 BLAKE2B fa02b7466d54dbb5ddd4090329e1dd1d3826aa12d647563296236122fa34a85e7ee3e7f06edc227264db8fc18a215f39a5b171c18e498132bf701ef25def7936 SHA512 58461c74f907be241047197967ec316ea6ffe2accd99c8b97a158369d06f32c758c56edaeea30d3e4988e295a58fabeb47d960097b136c6b0bf16c2792b7f75d
|
||||
DIST yq-2.3.4.tar.gz 5657 BLAKE2B d7e6a37ed157ff2a23b648a54cf729cda1413a627f1169ba938ae89d4bd175270cdc5fa39ca5ea3c31d55d562439296bcce391cb22cd2faccc5f545f2577a12d SHA512 ea530d3f501a8697474b1b77644fdf439326e49fbae158a862e58fba6f939ee5f3ba50f82cc5e990b1ed05c4e7aa9c205635290e6d2507d46e53b68ee467d5e1
|
||||
DIST yq-2.7.1.tar.gz 13794 BLAKE2B 87fe4961974ab41fc14efb7b85c3db5c13577593253eb236c445f59e4034ce5211173cbdd1680e8b83394068ebcc99962f9f3b7c1cd36a4554aa2769b0a5ce66 SHA512 ad76f6102cdb7b0cc82d57c8120dfe10221b7d7456c4c3dd6e5ed0630d9ab178099f4ee8bfc075f15eb4b35aaef4237fcb0ef01a769a612632b4ef774da2b50a
|
||||
|
@ -1,24 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Command-line YAML processor - jq wrapper for YAML documents"
|
||||
HOMEPAGE="https://yq.readthedocs.io/ https://github.com/kislyuk/yq/ https://pypi.org/project/yq/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="app-misc/jq
|
||||
>=dev-python/pyyaml-3.11[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
./test/test.py || die
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Command-line YAML processor - jq wrapper for YAML documents"
|
||||
HOMEPAGE="https://yq.readthedocs.io/ https://github.com/kislyuk/yq/ https://pypi.org/project/yq/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="app-misc/jq
|
||||
>=dev-python/pyyaml-3.11[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
./test/test.py || die
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,65 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit gnome2 multilib-minimal
|
||||
|
||||
DESCRIPTION="C++ interface for glib2"
|
||||
HOMEPAGE="https://www.gtkmm.org"
|
||||
|
||||
LICENSE="LGPL-2.1+ GPL-2+" # GPL-2+ applies only to the build system
|
||||
SLOT="2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE="doc debug test"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libsigc++-2.9.1:2[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/glib-2.55.1:2[${MULTILIB_USEDEP}]
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
doc? ( app-doc/doxygen )
|
||||
"
|
||||
# dev-cpp/mm-common needed for eautoreconf
|
||||
|
||||
src_prepare() {
|
||||
if ! use test; then
|
||||
# don't waste time building tests
|
||||
sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' \
|
||||
-i Makefile.am Makefile.in || die "sed 1 failed"
|
||||
fi
|
||||
|
||||
# don't build examples - we want to install example sources, not binaries
|
||||
sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
|
||||
-i Makefile.am Makefile.in || die "sed 2 failed"
|
||||
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" gnome2_src_configure \
|
||||
$(use_enable debug debug-refcounting) \
|
||||
$(multilib_native_use_enable doc documentation) \
|
||||
--enable-deprecated-api
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
cd tests
|
||||
default
|
||||
|
||||
for i in */test; do
|
||||
${i} || die "Running tests failed at ${i}"
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
gnome2_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find examples -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null
|
||||
find examples -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null
|
||||
dodoc -r examples
|
||||
}
|
Binary file not shown.
@ -1,3 +1,2 @@
|
||||
DIST freetds-1.00.41.tar.gz 2904915 BLAKE2B d92789c9a08dc9f7f04e8efc828841c3cace0e5a3affd11d8751a785db70db79fedffb3745a681b960d30a11efbb4fa457805eb4f72444eecc20eb65d46e2d82 SHA512 dec3197a6478fc59b7386f9a7a562df8b581bba7184210c42f26827e957b9746e6820d687a9c6cbcd7c825fc5d4f556547c0483d06c786a064d5c4859db4daa1
|
||||
DIST freetds-1.00.54.tar.gz 2907015 BLAKE2B 332888565c2890657ca6440e4bbe92e0324daf6c6e67f3fa2243bd2d5746e7e9aa100a7838d33cc8fa93e71e5d6a650976ce5164317f3147b192ceb915362534 SHA512 a2a5034705fe06ee38b085f980f6ddf086789abc9485331fdaf829e7243f7ba95a5f0c612d7e3ec9e10f28a5c8b3a3fd8e7853d66f67110bd860afce949c798c
|
||||
DIST freetds-dev.1.00.341.tar.gz 3002134 BLAKE2B c9396c1f205e13c9f3449bef19830cf3b6c2fa72539555ebd6bc1532c014472c862ba2ac7f495bee8f53d640d628c6b15bb50183585d43cf3dbbea4e314636d2 SHA512 fd691535dfa5c97463ff72056cfa5721557b71e41b6186ffcb08e193e51214cf966a33ee55b8e538a6f035aeeef14ac5b15fe8758f1afea9e1252a3b8951ba58
|
||||
|
@ -1,48 +0,0 @@
|
||||
From c4b9d766e009273c70d8953767ef2fcb95f65314 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Orlitzky <michael@orlitzky.com>
|
||||
Date: Fri, 11 Aug 2017 16:45:15 -0400
|
||||
Subject: [PATCH] configure.ac: support "without" versions of three ./configure
|
||||
flags.
|
||||
|
||||
The --with-iodbc, --with-unixodbc, and --with-odbc-nodm flags all use
|
||||
the standard AC_ARG_WITH macro. The resulting ./configure script
|
||||
accepts e.g. --without-iodbc to indicate that the user does not want
|
||||
to enable iODBC, and in place of a path the word "no" is placed into
|
||||
the $with_iodbc variable. The current configure.ac doesn't handle that
|
||||
and instead treats "no" as a path. This commit updates configure.ac to
|
||||
ignore "no" as the value of those three flags.
|
||||
---
|
||||
configure.ac | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 4f41033ae..9dfe12bb7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -546,7 +546,7 @@ esac
|
||||
|
||||
AC_ARG_WITH(iodbc,
|
||||
AS_HELP_STRING([--with-iodbc=DIR], [build odbc driver against iODBC in DIR]))
|
||||
-if test "$with_iodbc"; then
|
||||
+if test "x$with_iodbc" != "x" -a "x$with_iodbc" != "xno"; then
|
||||
if echo "$with_iodbc" | grep -v '^/'; then
|
||||
with_iodbc="$PWD/$with_iodbc"
|
||||
fi
|
||||
@@ -563,7 +563,7 @@ fi
|
||||
|
||||
AC_ARG_WITH(unixodbc,
|
||||
AS_HELP_STRING([--with-unixodbc=DIR], [build odbc driver against unixODBC in DIR]))
|
||||
-if test "$with_unixodbc"; then
|
||||
+if test "x$with_unixodbc" != "x" -a "x$with_unixodbc" != "xno"; then
|
||||
if echo "$with_unixodbc" | grep -v '^/'; then
|
||||
with_unixodbc="$PWD/$with_unixodbc"
|
||||
fi
|
||||
@@ -588,7 +588,7 @@ fi
|
||||
|
||||
AC_ARG_WITH(odbc_nodm,
|
||||
AS_HELP_STRING([--with-odbc-nodm=DIR], [build odbc using headers in DIR/include]))
|
||||
-if test "$with_odbc_nodm"; then
|
||||
+if test "x$with_odbc_nodm" != "x" -a "x$with_odbc_nodm" != "xno"; then
|
||||
if echo "$with_odbc_nodm" | grep -v '^/'; then
|
||||
with_odbc_nodm="$PWD/$with_odbc_nodm"
|
||||
fi
|
@ -1,68 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# This is from the "current" release series, because the "stable" series
|
||||
# is a little too stable for us (missing bug fixes, and so on).
|
||||
MY_PN="${PN}-dev"
|
||||
|
||||
DESCRIPTION="Tabular Datastream Library"
|
||||
HOMEPAGE="http://www.freetds.org/"
|
||||
SRC_URI="ftp://ftp.freetds.org/pub/${PN}/current/${MY_PN}.${PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
|
||||
IUSE="gnutls iconv kerberos libressl mssql iodbc odbc ssl static-libs"
|
||||
RESTRICT="test"
|
||||
|
||||
# sed, grep, and awk are used by the build system and the osql script.
|
||||
COMMON_DEPEND="sys-apps/sed
|
||||
sys-apps/grep
|
||||
virtual/awk
|
||||
gnutls? ( net-libs/gnutls:= )
|
||||
iconv? ( virtual/libiconv )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
|
||||
# bind-tools is needed because the osql script calls "host".
|
||||
# binutils is for "strings".
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-devel/binutils
|
||||
net-dns/bind-tools"
|
||||
|
||||
# iODBC and unixODBC are mutually-exclusive choices for
|
||||
# the ODBC driver manager. Future versions of FreeTDS
|
||||
# will throw an error if you specify both.
|
||||
REQUIRED_USE="?? ( iodbc odbc )"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}.${PV}"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--enable-shared \
|
||||
$(use_enable iconv libiconv) \
|
||||
$(use_enable kerberos krb5) \
|
||||
$(use_enable mssql msdblib) \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_with iodbc) \
|
||||
$(use_with odbc unixodbc "${EPREFIX}/usr") \
|
||||
$(use_with iconv libiconv-prefix "${EPREFIX}/usr") \
|
||||
$(use_with gnutls) \
|
||||
$(use_with ssl openssl "${EPREFIX}/usr")
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if ! use static-libs; then
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
fi
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Tabular Datastream Library"
|
||||
HOMEPAGE="http://www.freetds.org/"
|
||||
SRC_URI="ftp://ftp.freetds.org/pub/freetds/stable/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
|
||||
IUSE="gnutls iconv kerberos libressl mssql iodbc odbc ssl"
|
||||
RESTRICT="test"
|
||||
|
||||
# sed, grep, and awk are used by the build system and the osql script.
|
||||
COMMON_DEPEND="sys-apps/sed
|
||||
sys-apps/grep
|
||||
virtual/awk
|
||||
gnutls? ( net-libs/gnutls )
|
||||
iconv? ( virtual/libiconv )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
|
||||
# bind-tools is needed because the osql script calls "host".
|
||||
# binutils is for "strings".
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-devel/binutils
|
||||
net-dns/bind-tools"
|
||||
|
||||
# iODBC and unixODBC are mutually-exclusive choices for
|
||||
# the ODBC driver manager. Future versions of FreeTDS
|
||||
# will throw an error if you specify both.
|
||||
REQUIRED_USE="?? ( iodbc odbc )"
|
||||
|
||||
# Won't be necessary in the next release.
|
||||
PATCHES=( "${FILESDIR}/without-flags.patch" )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fix the iodbc include path in the configure script. Otherwise, it
|
||||
# can't find isql.h.
|
||||
sed -ie 's:with_iodbc/include":with_iodbc/include/iodbc":' \
|
||||
configure.ac \
|
||||
|| die "failed to fix the iodbc include path in configure.ac"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=( $(use_with iodbc iodbc "${EPREFIX}/usr") )
|
||||
myconf+=( $(use_with odbc unixodbc "${EPREFIX}/usr") )
|
||||
myconf+=( $(use_enable iconv libiconv) )
|
||||
myconf+=( $(use_with iconv libiconv-prefix "${EPREFIX}/usr") )
|
||||
myconf+=( $(use_enable kerberos krb5) )
|
||||
myconf+=( $(use_enable mssql msdblib) )
|
||||
myconf+=( $(use_with gnutls) )
|
||||
myconf+=( $(use_with ssl openssl "${EPREFIX}/usr") )
|
||||
myconf+=( --docdir="/usr/share/doc/${PF}" )
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
Binary file not shown.
@ -1,743 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic eapi7-ver systemd
|
||||
|
||||
MY_PV=${PV/_rc/RC}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://secure.php.net/"
|
||||
SRC_URI="https://downloads.php.net/~cmb/${PN}-${MY_PV}.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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 +json kerberos ldap ldap-sasl libedit libressl 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[unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[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 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[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? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
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:= )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
|
||||
libressl? ( dev-libs/libressl: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"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
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 )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
zip-encryption? ( zip )
|
||||
"
|
||||
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
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
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 "${PHP_EXT_INI_DIR#${EPREFIX}}/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'
|
||||
}
|
||||
|
||||
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
|
||||
# Many arches don't support pcre-jit
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
--without-pcre-valgrind
|
||||
--without-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
|
||||
|
||||
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
|
||||
|
||||
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=""
|
||||
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 sapi="", 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"
|
||||
;;
|
||||
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}/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
|
||||
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,748 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic eapi7-ver systemd autotools
|
||||
|
||||
MY_PV=${PV/_rc/RC}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://secure.php.net/"
|
||||
SRC_URI="https://downloads.php.net/~cmb/${PN}-${MY_PV}.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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 +json kerberos ldap ldap-sasl libedit libressl 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[unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[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 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[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? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
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:= )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
|
||||
libressl? ( dev-libs/libressl: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"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
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 )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
zip-encryption? ( zip )
|
||||
"
|
||||
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
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
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 "${PHP_EXT_INI_DIR#${EPREFIX}}/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
|
||||
# Many arches don't support pcre-jit
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
--without-pcre-valgrind
|
||||
--without-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
|
||||
|
||||
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
|
||||
|
||||
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=""
|
||||
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 sapi="", 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"
|
||||
;;
|
||||
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}/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
|
||||
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,748 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic eapi7-ver systemd autotools
|
||||
|
||||
MY_PV=${PV/_rc/RC}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://secure.php.net/"
|
||||
SRC_URI="https://downloads.php.net/~cmb/${PN}-${MY_PV}.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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 +json kerberos ldap ldap-sasl libedit libressl 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[unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[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 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[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? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
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:= )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
|
||||
libressl? ( dev-libs/libressl: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"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
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 )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
zip-encryption? ( zip )
|
||||
"
|
||||
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
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
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 "${PHP_EXT_INI_DIR#${EPREFIX}}/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
|
||||
# Many arches don't support pcre-jit
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
--without-pcre-valgrind
|
||||
--without-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
|
||||
|
||||
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
|
||||
|
||||
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=""
|
||||
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 sapi="", 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"
|
||||
;;
|
||||
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}/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
|
||||
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
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST xerces-c-3.1.4.tar.gz 6992545 BLAKE2B 463e721843632b13f4b5c845f14cf9ab4f093085558858b435ae5a3122951ab590f9e56f43add1aeaf7dc244814710be804ab0331a1d1e8073919ad9d3b61068 SHA512 8afd775bac0345a2714b77a1ae2cfb8ae67f0239ec7370de7d89612dec64d2e1df48612c875fe239ab6f2eb31914c2d3914617e6b34a1bae0bbb14e4dbc787b5
|
||||
DIST xerces-c-3.2.2.tar.gz 7100953 BLAKE2B d167299797189ef181c384ac49095e8bc4cf4e0c7d646e72840a19f56c6eea060168d2c2d29c29ce6cc76dd44e403bea4c3dcde67f964b87f3abc807ad0b14ad SHA512 13709b47b61d957d736f34b774dbc7fbd85171eedebd0cada41fd1d17929e6c42904c882b1e1d4f9b4fd464938b62e5ebb127187b4974dfade6a593e31471e80
|
||||
|
@ -0,0 +1,111 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils prefix
|
||||
|
||||
DESCRIPTION="A validating XML parser written in a portable subset of C++"
|
||||
HOMEPAGE="https://xerces.apache.org/xerces-c/"
|
||||
SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
IUSE="cpu_flags_x86_sse2 curl doc elibc_Darwin elibc_FreeBSD examples iconv icu static-libs test threads"
|
||||
|
||||
RDEPEND="icu? ( dev-libs/icu:0= )
|
||||
curl? ( net-misc/curl )
|
||||
virtual/libiconv"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( app-doc/doxygen )
|
||||
test? ( dev-lang/perl )"
|
||||
|
||||
DOCS=( CREDITS KEYS NOTICE README )
|
||||
|
||||
pkg_setup() {
|
||||
export ICUROOT="${EPREFIX}/usr"
|
||||
|
||||
if use iconv && use icu; then
|
||||
ewarn "This package can use iconv or icu for loading messages"
|
||||
ewarn "and transcoding, but not both. ICU takes precedence."
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
|
||||
# But the docs aren't clear about it, so we would need some testing...
|
||||
local netaccessor
|
||||
if use curl; then
|
||||
netaccessor="curl"
|
||||
elif use elibc_Darwin; then
|
||||
netaccessor="cfurl"
|
||||
else
|
||||
netaccessor="socket"
|
||||
fi
|
||||
|
||||
local msgloader
|
||||
if use icu; then
|
||||
msgloader="icu"
|
||||
elif use iconv; then
|
||||
msgloader="iconv"
|
||||
else
|
||||
msgloader="inmemory"
|
||||
fi
|
||||
|
||||
local transcoder
|
||||
if use icu; then
|
||||
transcoder="icu"
|
||||
elif use elibc_Darwin; then
|
||||
transcoder="macosunicodeconverter"
|
||||
elif use elibc_FreeBSD; then
|
||||
transcoder="iconv"
|
||||
else
|
||||
transcoder="gnuiconv"
|
||||
fi
|
||||
# for interix maybe: transcoder="windows"
|
||||
|
||||
local mycmakeargs=(
|
||||
-Dnetwork-accessor="${netaccessor}"
|
||||
-Dmessage-loader="${msgloader}"
|
||||
-Dtranscoder="${transcoder}"
|
||||
-Dthreads:BOOL="$(usex threads)"
|
||||
-Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
|
||||
if use doc; then
|
||||
cd doc || die
|
||||
doxygen || die "making docs failed"
|
||||
HTML_DOCS=( doc/html/. )
|
||||
fi
|
||||
}
|
||||
|
||||
src_install () {
|
||||
cmake-utils_src_install
|
||||
|
||||
# package provides .pc files
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
if use examples; then
|
||||
# clean out object files, executables, Makefiles
|
||||
# and the like before installing examples
|
||||
find samples/ \( -type f -executable -o -iname 'runConfigure' -o -iname '*.o' \
|
||||
-o -iname '.libs' -o -iname 'Makefile*' \) -exec rm -rf '{}' + || die
|
||||
docinto examples
|
||||
dodoc -r samples/.
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
|
||||
# To make sure an appropriate NLS msg file is around when using
|
||||
# the iconv msgloader ICU has the messages compiled in.
|
||||
if use iconv && ! use icu; then
|
||||
doenvd "$(prefixify_ro "${FILESDIR}/50xerces-c")"
|
||||
fi
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST xml-security-c-1.7.3.tar.gz 909320 BLAKE2B 5fa9f3ae53b93104c191b76f8ae4f9dad69c690d409ae3f13864cf011bbbca740c5378c0718abb496811c9814b5a7f237042af22e697bfa2e5044668ff3fbd2d SHA512 ea46709d6706edf345e19132d9998774e50dc7b5947a7b4a55e3627998f5ac66f976fdff0a5015ef3cee73c03c04f3c4cf993efd397082491c2000c6548b89d2
|
||||
DIST xml-security-c-2.0.2.tar.gz 904933 BLAKE2B 8e336dd7539778411755a8d45398daa530a2f602a0d57faa29301d1f0b29ab0a61c3f47ead42b740337ea75a28e03f471ae6735d5cd66d31f56d3d5fe3405b1b SHA512 bebadee2daf27181f5bcc955a909397976e8fd2e67f5e546f5adbede0ca790647cbec9181b0b609da59d525ff3baa9f899af2a3d815bc7a2f3a57bd8b30c011b
|
||||
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Apache C++ XML security libraries"
|
||||
HOMEPAGE="http://santuario.apache.org/"
|
||||
SRC_URI="mirror://apache/santuario/c-library/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="debug examples libressl nss static-libs xalan"
|
||||
|
||||
RDEPEND=">=dev-libs/xerces-c-3.2
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
nss? ( dev-libs/nss )
|
||||
xalan? ( dev-libs/xalan-c )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
DOCS=( CHANGELOG.txt NOTICE.txt )
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--with-openssl \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable debug) \
|
||||
$(use_with xalan) \
|
||||
$(use_with nss)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
if use examples ; then
|
||||
docinto examples
|
||||
dodoc xsec/samples/*.cpp
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST DB-1.9.2.tgz 133795 BLAKE2B 8b37b010145efd10a2b551392988a810c35b9a8c794eb0e162056fcded104276b19e97afb91149f1814f9f838a0db579a76578fb80d96d0574e5b7714d77aa91 SHA512 126bbbb847a24c20731f1e5f4a549e9d7e0651a760f10c49cfc7550f80dd8b05f3560bc80110bcaab9e79dcbb714c6113948f14a727f7f4087a23178b3db0afa
|
||||
DIST DB-1.9.3.tgz 132290 BLAKE2B 8970697ac66bc9fe7f8c374431c59627133401e5b591fb3fc95ffc3a6ebb8cfe7e93982178e092eefc79d91657992eb539fc7211a237e3fe7407c75c7013831f SHA512 3fe98f97307818f65c0eaf291169fd13533a4d484d34d7fa7aa82580f6ec3d89b984292f173da2cf896f5f15531db9bde2be981e5a7679cc00c48aa2f9cc1142
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit php-pear-r2
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
|
||||
DESCRIPTION="Database abstraction layer for PHP"
|
||||
LICENSE="PHP-3"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
DEPEND="test? ( dev-php/PEAR-PEAR )"
|
||||
|
||||
DOCS=( doc/TESTERS doc/IDEAS doc/MAINTAINERS doc/STATUS )
|
||||
|
||||
src_test() {
|
||||
# Requires the "pear" executable from dev-php/PEAR-PEAR, and also
|
||||
# a working version of the cli SAPI eselected.
|
||||
pear run-tests tests || die
|
||||
|
||||
# The command succeeds regardless of whether or not the test suite
|
||||
# passed, but this file is only written when there was a failure.
|
||||
[[ -f run-tests.log ]] && die "test suite failed"
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST PEAR-1.10.6.tgz 291529 BLAKE2B 7a75c89df2b34b368564e745a727292e5c5ee3a145995c15d338901b235664d0a783ca0efc9cd1d321cc2c496e88395db376ce7bbd6ccbf55d484d7f1021cd2b SHA512 ccd436a2cb9d30b434a78483432c51a8fa5b3e96e79ca3b28131b8dcd37bbae0b782efd762eb92dc40db24d3f61025c64ec5d29aed10fd80a6b28c224c4f1e2a
|
||||
DIST PEAR-1.10.7.tgz 291786 BLAKE2B 7e760c2782832fab2a35f86e2f9072058d622918cdc2b61b7066d2f17787488d228186948e96e602bb412b76b806004642e7ba83db00950a822996869dae9cd4 SHA512 ebe93cff5546ad3a80d3d1c0284e34a46ec8dbdb7d015a11350231244baca75a57596e446c1386bc40650525f59c04617e73b1071a0fe77210dc5979edb5151f
|
||||
|
@ -0,0 +1,177 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PN="${PN/PEAR-/}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="PEAR Base System"
|
||||
HOMEPAGE="http://pear.php.net/package/${MY_PN}"
|
||||
SRC_URI="http://pear.php.net/get/${MY_P}.tgz"
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="dev-lang/php:*[cli,xml,zlib]
|
||||
>=dev-php/PEAR-Archive_Tar-1.4.0
|
||||
>=dev-php/PEAR-Console_Getopt-1.4.1
|
||||
dev-php/PEAR-Exception
|
||||
>=dev-php/PEAR-Structures_Graph-1.1.0
|
||||
>=dev-php/PEAR-XML_Util-1.3.0"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=( "${FILESDIR}/gentoo-libtool-mismatch-fix-v2.patch" )
|
||||
|
||||
pkg_setup() {
|
||||
[[ -z "${PEAR_CACHEDIR}" ]] && PEAR_CACHEDIR="${EPREFIX}/var/cache/pear"
|
||||
[[ -z "${PEAR_DOWNLOADDIR}" ]] && PEAR_DOWNLOADDIR="${EPREFIX}/var/tmp/pear"
|
||||
[[ -z "${PEAR_TEMPDIR}" ]] && PEAR_TEMPDIR="${EPREFIX}/tmp"
|
||||
|
||||
elog
|
||||
elog "cache_dir is set to: ${PEAR_CACHEDIR}"
|
||||
elog "download_dir is set to: ${PEAR_DOWNLOADDIR}"
|
||||
elog "temp_dir is set to: ${PEAR_TEMPDIR}"
|
||||
elog
|
||||
elog "If you want to change the above values, you need to set"
|
||||
elog "PEAR_CACHEDIR, PEAR_DOWNLOADDIR and PEAR_TEMPDIR variable(s)"
|
||||
elog "accordingly in /etc/portage/make.conf and re-emerge ${PN}."
|
||||
elog
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# Exception.php is part of dev-php/PEAR-Exception.
|
||||
rm PEAR/Exception.php || die "failed to remove PEAR/Exception.php"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/php
|
||||
doins -r PEAR/
|
||||
doins -r OS/
|
||||
doins PEAR.php System.php
|
||||
doins scripts/pearcmd.php
|
||||
doins scripts/peclcmd.php
|
||||
|
||||
newbin scripts/pear.sh pear
|
||||
newbin scripts/peardev.sh peardev
|
||||
newbin scripts/pecl.sh pecl
|
||||
|
||||
# adjust some scripts for current version
|
||||
[[ -z "${PEAR}" ]] && PEAR="${PV}"
|
||||
for i in pearcmd.php peclcmd.php ; do
|
||||
sed "s:@pear_version@:${PEAR}:g" -i "${D}/usr/share/php/${i}" \
|
||||
|| die "failed to sed pear_version"
|
||||
done
|
||||
|
||||
for i in pear peardev pecl ; do
|
||||
sed "s:@bin_dir@:${EPREFIX}/usr/bin:g" -i "${D}/usr/bin/${i}" \
|
||||
|| die "failed to sed @bin_dir@ in ${i}"
|
||||
sed "s:@php_dir@:${EPREFIX}/usr/share/php:g" -i "${D}/usr/bin/${i}" \
|
||||
|| die "failed to sed @php_dir@ in ${i}"
|
||||
done
|
||||
|
||||
sed "s:-d output_buffering=1:-d output_buffering=1 -d memory_limit=32M:g" \
|
||||
-i "${D}/usr/bin/pear" \
|
||||
|| die "failed to set PHP ini values in pear executable"
|
||||
|
||||
sed "s:@package_version@:${PEAR}:g" \
|
||||
-i "${D}/usr/share/php/PEAR/Command/Package.php" \
|
||||
|| die "failed to sed @package_version@"
|
||||
|
||||
sed "s:@PEAR-VER@:${PEAR}:g" \
|
||||
-i "${D}/usr/share/php/PEAR/Dependency2.php" \
|
||||
|| die "failed to sed @PEAR-VER@ in Dependency2.php"
|
||||
|
||||
sed "s:@PEAR-VER@:${PEAR}:g" \
|
||||
-i "${D}/usr/share/php/PEAR/PackageFile/Parser/v1.php" \
|
||||
|| die "failed to sed @PEAR-VER@ in v1.php"
|
||||
|
||||
sed "s:@PEAR-VER@:${PEAR}:g" \
|
||||
-i "${D}/usr/share/php/PEAR/PackageFile/Parser/v2.php" \
|
||||
|| die "failed to sed @PEAR-VER@ in v2.php"
|
||||
|
||||
# finalize install
|
||||
insinto /etc
|
||||
newins "${FILESDIR}"/pear.conf-r2 pear.conf
|
||||
|
||||
sed "s|s:PHPCLILEN:\"PHPCLI\"|s:${#PHPCLI}:\"${PHPCLI}\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed PHPCLILEN in pear.conf"
|
||||
|
||||
sed "s|s:CACHEDIRLEN:\"CACHEDIR\"|s:${#PEAR_CACHEDIR}:\"${PEAR_CACHEDIR}\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed CACHEDIRLEN in pear.conf"
|
||||
|
||||
sed "s|s:DOWNLOADDIRLEN:\"DOWNLOADDIR\"|s:${#PEAR_DOWNLOADDIR}:\"${PEAR_DOWNLOADDIR}\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed DOWNLOADDIRLEN in pear.conf"
|
||||
|
||||
sed "s|s:TEMPDIRLEN:\"TEMPDIR\"|s:${#PEAR_TEMPDIR}:\"${PEAR_TEMPDIR}\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed TEMPDIRLEN in pear.conf"
|
||||
|
||||
# Change the paths for eprefix!
|
||||
sed "s|s:19:\"/usr/share/php/docs\"|s:$(( ${#EPREFIX}+19 )):\"${EPREFIX}/usr/share/php/docs\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed the docs path (prefix) in pear.conf"
|
||||
|
||||
sed "s|s:19:\"/usr/share/php/data\"|s:$(( ${#EPREFIX}+19 )):\"${EPREFIX}/usr/share/php/data\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed the data path (prefix) in pear.conf"
|
||||
|
||||
sed "s|s:20:\"/usr/share/php/tests\"|s:$(( ${#EPREFIX}+20 )):\"${EPREFIX}/usr/share/php/tests\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed the tests path (prefix) in pear.conf"
|
||||
|
||||
sed "s|s:14:\"/usr/share/php\"|s:$(( ${#EPREFIX}+14 )):\"${EPREFIX}/usr/share/php\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed the PHP include path (prefix) in pear.conf"
|
||||
|
||||
sed "s|s:8:\"/usr/bin\"|s:$(( ${#EPREFIX}+8 )):\"${EPREFIX}/usr/bin\"|g" \
|
||||
-i "${D}/etc/pear.conf" \
|
||||
|| die "failed to sed the bin path (prefix) in pear.conf"
|
||||
|
||||
[[ "${PEAR_TEMPDIR}" != "/tmp" ]] && keepdir "${PEAR_TEMPDIR#${EPREFIX}}"
|
||||
keepdir "${PEAR_CACHEDIR#${EPREFIX}}"
|
||||
diropts -m1777
|
||||
keepdir "${PEAR_DOWNLOADDIR#${EPREFIX}}"
|
||||
|
||||
insinto /usr/share/php/.packagexml
|
||||
newins "${WORKDIR}/package.xml" "${MY_P}.xml"
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
# Update PEAR/PECL channels as needed, add new ones to the list if needed
|
||||
elog "Updating PEAR/PECL channels"
|
||||
local pearchans="pear.php.net pecl.php.net pear.symfony-project.com"
|
||||
|
||||
for chan in ${pearchans} ; do
|
||||
# The first command may fail if, for example, the channels have
|
||||
# already been initialized.
|
||||
pear channel-discover ${chan}
|
||||
pear channel-update ${chan} || die "failed to update channels: ${chan}"
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
pear clear-cache || die "failed to clear PEAR cache"
|
||||
|
||||
elog "Run 'emerge --config =${PF}' to automatically update the PEAR/PECL channels while online."
|
||||
|
||||
# Register the package from the package.xml file
|
||||
# It is not critical to complete so only warn on failure
|
||||
if [[ -f "${EROOT}usr/share/php/.packagexml/${MY_P}.xml" ]] ; then
|
||||
"${EROOT}usr/bin/peardev" install -nrO --force \
|
||||
"${EROOT}usr/share/php/.packagexml/${MY_P}.xml" 2> /dev/null \
|
||||
|| ewarn "Failed to insert package into local PEAR database"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
# Uninstall known dependency
|
||||
"${EROOT}usr/bin/peardev" uninstall -nrO "pear.php.net/PEAR"
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST numexpr-2.6.1.tar.gz 90819 BLAKE2B 833402388e184bd38c449bcda866f68858f486d5cf30aec29dc5e9827a34a40cb166128a8fb217f0ed1614e0b759cf2164e31cb2a16198ea3e6a216c9fe01853 SHA512 07c88b1788ecad2c59260e7a6a15dfc21d486462a8866091d157286e5ce3b5b77f5fdab401fd30e2a5e4880398af53641d557003497c7d3658421bfcff38c31c
|
||||
DIST numexpr-2.6.2.tar.gz 90970 BLAKE2B 85034d7d36bd921df289f817451e7b30071b9d448dc050e4f25afd13315921e3c10d61a41983cf106606e4efd91504e94ca7d8f01d80b230a9f717f41eb687ee SHA512 730e19e61987ecb00bfc3a65db043c88a1311046f2ea5f0a48c93d6a8d7576dbaa166b0b9b0f547e344b21b5c269be1b5aa2097e88aaac55219884c7ece55261
|
||||
DIST numexpr-2.6.8.tar.gz 94517 BLAKE2B b41593183d69cd98f81107da5abc3eb59b35c6e61c0dde213c9a201c2776e4684d8af4b1a88c59ca464a7755941de9baf2157af64e8662c4219ae8ece635aefb SHA512 e610a2e3891f12b3a9fd7acb14a0362e0f03084035aa274827ec5e7d2584f2c599493afaf406d8720d915c7ed834dca11b1fbf28c0645077eb63223a2bf52cf9
|
||||
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
|
||||
inherit distutils-r1 flag-o-matic
|
||||
|
||||
DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
|
||||
HOMEPAGE="https://github.com/pydata/numexpr"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="mkl"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/numpy-1.6[${PYTHON_USEDEP}]
|
||||
mkl? ( sci-libs/mkl )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
python_prepare_all() {
|
||||
# TODO: mkl can be used but it fails for me
|
||||
# only works with mkl in tree. newer mkl will use pkgconfig
|
||||
if use mkl; then
|
||||
use amd64 && local ext="_lp64"
|
||||
cat > site.cfg <<- _EOF_ || die
|
||||
[mkl]
|
||||
library_dirs = ${MKLROOT}/lib/em64t
|
||||
include_dirs = ${MKLROOT}/include
|
||||
mkl_libs = mkl_solver${ext}, mkl_intel${ext}, \
|
||||
mkl_intel_thread, mkl_core, iomp5
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
if ! python_is_python3; then
|
||||
local -x CFLAGS="${CFLAGS}"
|
||||
append-cflags -fno-strict-aliasing
|
||||
fi
|
||||
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
pushd "${BUILD_DIR}"/lib >/dev/null || die
|
||||
"${EPYTHON}" \
|
||||
-c "import sys;import numexpr;sys.exit(0 if numexpr.test() else 1)" \
|
||||
|| die
|
||||
pushd >/dev/null || die
|
||||
}
|
@ -0,0 +1,99 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME2_LA_PUNT="yes"
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
|
||||
|
||||
inherit eutils gnome2 python-r1 virtualx
|
||||
|
||||
DESCRIPTION="GLib's GObject library bindings for Python"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+cairo examples test"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
test? ( cairo )
|
||||
"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
>=dev-libs/glib-2.38:2
|
||||
>=dev-libs/gobject-introspection-1.46.0:=
|
||||
virtual/libffi:=
|
||||
cairo? (
|
||||
>=dev-python/pycairo-1.11.1[${PYTHON_USEDEP}]
|
||||
x11-libs/cairo )
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
virtual/pkgconfig
|
||||
cairo? ( x11-libs/cairo[glib] )
|
||||
test? (
|
||||
dev-libs/atk[introspection]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
media-fonts/font-cursor-misc
|
||||
media-fonts/font-misc-misc
|
||||
x11-libs/cairo[glib]
|
||||
x11-libs/gdk-pixbuf:2[introspection,jpeg]
|
||||
x11-libs/gtk+:3[introspection]
|
||||
x11-libs/pango[introspection]
|
||||
python_targets_python2_7? ( dev-python/pyflakes[$(python_gen_usedep python2_7)] ) )
|
||||
"
|
||||
# autoconf-archive required by eautoreconf
|
||||
|
||||
# We now disable introspection support in slot 2 per upstream recommendation
|
||||
# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however,
|
||||
# older versions of slot 2 installed their own site-packages/gi, and
|
||||
# slot 3 will collide with them.
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!<dev-python/pygtk-2.13
|
||||
!<dev-python/pygobject-2.28.6-r50:2[introspection]
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
gnome2_src_prepare
|
||||
python_copy_sources
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Hard-enable libffi support since both gobject-introspection and
|
||||
# glib-2.29.x rdepend on it anyway
|
||||
# docs disabled by upstream default since they are very out of date
|
||||
configuring() {
|
||||
gnome2_src_configure \
|
||||
$(use_enable cairo)
|
||||
|
||||
# Pyflakes tests work only in python2, bug #516744
|
||||
if use test && [[ ${EPYTHON} != python2.7 ]]; then
|
||||
sed -e 's/if type pyflakes/if false/' \
|
||||
-i Makefile || die "sed failed"
|
||||
fi
|
||||
}
|
||||
|
||||
python_foreach_impl run_in_build_dir configuring
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
python_foreach_impl run_in_build_dir gnome2_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
|
||||
local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
|
||||
local -x SKIP_PEP8="yes"
|
||||
|
||||
testing() {
|
||||
local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
|
||||
emake -C "${BUILD_DIR}" check || die "emake check failed"
|
||||
}
|
||||
virtx python_foreach_impl testing
|
||||
}
|
||||
|
||||
src_install() {
|
||||
python_foreach_impl run_in_build_dir gnome2_src_install
|
||||
|
||||
use examples && dodoc -r examples
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST tables-3.3.0.tar.gz 7004337 BLAKE2B 7ca95e65920c3bc16b5bac8c3bf92f2fa9c498eedfc981ee9e27c77f30f31bd527f15b37d8ffcc03bb2dbede170cce1a1ab7fc54de5ffebfafa4e41f69bbc46b SHA512 e19445f0f5f2530d49ce55f258931babb7b05df2366637ddbc306323a1f75b7f7dcf91d70a8cc1f41b182d4cdd9c83872873168592bdcce7bd5acae9f3274f36
|
||||
DIST tables-3.4.2.tar.gz 7593471 BLAKE2B 1a011a2a910a25d4e7cad68b5a1a267482f5ed958aa824dfba5a6c902200c56253c7d5609cd674dfcb288f6ebf2ecb76f4324e53b852f70d0cfc60d6b222510a SHA512 8c3bb9113e5082f8b44866b04728a04dae37fbd576c3259309fc305fd4cc0c4f74925557e74f6bd1bd1fc5150d8091648139c4c702e5ed9f53e0ace11c2ac58b
|
||||
DIST tables-3.4.4.tar.gz 4626053 BLAKE2B cca4f87aa62db16bb47e131bf670e1013d363dea9c807f399688e184610f682c49b00b686d8e28a03caf94a98e51b11bf646df66f4e3db66f481751f096906f8 SHA512 2d0cdd36a6f14702f424773b64187d1980d73a72525ead43b272776bb32b2ebc4c6ea0b7e3343c8600d7f62c42d008b5e835439af30e76ea11c7504666631ddf
|
||||
|
@ -0,0 +1,78 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
|
||||
MY_PN=tables
|
||||
MY_P=${MY_PN}-${PV}
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Hierarchical datasets for Python"
|
||||
HOMEPAGE="https://www.pytables.org/"
|
||||
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
LICENSE="BSD"
|
||||
IUSE="doc examples"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:0=
|
||||
app-arch/lz4:0=
|
||||
>=app-arch/zstd-1.0.0:=
|
||||
>=dev-libs/c-blosc-1.11.1:0=
|
||||
dev-libs/lzo:2=
|
||||
>=dev-python/numpy-1.8.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/numexpr-2.5.2[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
>=sci-libs/hdf5-1.8.15:0=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-python/cython-0.21[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DOCS=( ANNOUNCE.txt RELEASE_NOTES.txt THANKS )
|
||||
|
||||
python_prepare_all() {
|
||||
export HDF5_DIR="${EPREFIX}"/usr
|
||||
rm tables/*.c || die
|
||||
sed -e "s:/usr:${EPREFIX}/usr:g" \
|
||||
-i setup.py || die
|
||||
rm -r c-blosc/{blosc,internal-complibs} || die
|
||||
sed -i -e '/_version/ s/\\s\*/\\s\+/' setup.py || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
if ! python_is_python3; then
|
||||
local -x CFLAGS="${CFLAGS}"
|
||||
append-cflags -fno-strict-aliasing
|
||||
fi
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
cd "${BUILD_DIR}"/lib* || die
|
||||
${EPYTHON} tables/tests/test_all.py || die
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use doc; then
|
||||
HTML_DOCS=( doc/html/. )
|
||||
DOCS+=( doc/scripts )
|
||||
fi
|
||||
distutils-r1_python_install_all
|
||||
|
||||
if use examples; then
|
||||
dodoc -r examples
|
||||
dodoc -r contrib
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
docompress -x /usr/share/doc/${PF}/contrib
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Qt5 documentation, for use with Qt Creator and other tools"
|
||||
HOMEPAGE="https://doc.qt.io/"
|
||||
|
||||
PV_FULL=${PV/_p/-0-}
|
||||
PV_NODOTS=$(ver_rs 1-3 '' ${PV/_p*/})
|
||||
BASE_URI="https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_${PV_NODOTS}_src_doc_examples/qt.qt5.${PV_NODOTS}.doc"
|
||||
SRC_URI="${BASE_URI}/${PV_FULL}qt-everywhere-documentation.7z
|
||||
charts? ( ${BASE_URI}.qtcharts/${PV_FULL}qtcharts-documentation.7z )
|
||||
datavis? ( ${BASE_URI}.qtdatavis3d/${PV_FULL}qtdatavisualization-documentation.7z )
|
||||
networkauth? ( ${BASE_URI}.qtnetworkauth/${PV_FULL}qtnetworkauth-documentation.7z )
|
||||
script? ( ${BASE_URI}.qtscript/${PV_FULL}qtscript-documentation.7z
|
||||
${BASE_URI}.qtscript/${PV_FULL}qtscripttools-documentation.7z )
|
||||
virtualkeyboard? ( ${BASE_URI}.qtvirtualkeyboard/${PV_FULL}qtvirtualkeyboard-documentation.7z )
|
||||
webengine? ( ${BASE_URI}.qtwebengine/${PV_FULL}qtwebengine-documentation.7z )
|
||||
"
|
||||
|
||||
LICENSE="FDL-1.3"
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
|
||||
IUSE="3d bluetooth charts datavis declarative graphicaleffects +html location
|
||||
multimedia networkauth +qch script sensors virtualkeyboard webengine"
|
||||
REQUIRED_USE="|| ( html qch )"
|
||||
|
||||
BDEPEND="app-arch/p7zip"
|
||||
|
||||
S=${WORKDIR}/Docs/Qt-${PV%_p*}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# bug 597026
|
||||
rm -r global || die
|
||||
|
||||
# bug 602750
|
||||
rm Makefile || die
|
||||
|
||||
use 3d || rm -r qt3d* || die
|
||||
use bluetooth || rm -r qtbluetooth* || die
|
||||
use declarative || rm -r qtqml* qtquick* || die
|
||||
use graphicaleffects || rm -r qtgraphicaleffects* || die
|
||||
use location || rm -r qtlocation* || die
|
||||
use multimedia || rm -r qtmultimedia* || die
|
||||
use sensors || rm -r qtsensors* || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# must be the same as QT_INSTALL_DOCS
|
||||
local dest=/usr/share/doc/qt-${PV%_p*}
|
||||
insinto "${dest}"
|
||||
use html && doins -r */
|
||||
use qch && doins *.qch
|
||||
docompress -x "${dest}"
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,4 +1,3 @@
|
||||
DIST jenkins-bin-2.138.2.war 75728164 BLAKE2B 2f322d05f60d4fac93087cae45f5a2a31af03c386d8c3e8ca392a0897d1bb0342e2ce48f9d4d07bb18e5110966078a47f25fbfdadb857f8339ec6f0e289b8fe6 SHA512 593b08d1aa0021de1698c7c30737be45425b0b956c3a8b62b3ffebcdfaf9971bf65d16544106265a635e2d21df69b3aca38ddfa7ed6a1ebb34e7cffc24591860
|
||||
DIST jenkins-bin-2.138.3.war 75733340 BLAKE2B c285d6d9d9a3fbea4463b9413ddb9bb0970be1b0cfea64525ba84110a83cee1a0e99177dcc9a3b4b67bf31479af2438c98c9e086d0bd4c06508d3d54c86f1bce SHA512 8cd8388a3b0e596821ea9c3b316294489b14e24e9a7f332940be1bcb93af7e6b9c02bb077d1ba421c39a5399c241bcdcb516a8f19fd480181ec32e1ddbc5e596
|
||||
DIST jenkins-bin-2.146.war 75878664 BLAKE2B 9063d66b8113162bcb177e878f679c80201fc5ef6bff3b6b222387c4c4655739b11579fef4ffe5282f4bdae58d407f9903665acfb1743e068a5453fd944ef163 SHA512 7d3fa96a97dd701f438e582dc2840b214e78df725daaa03a4646e846ec9f57ad0544b87d84b6436b8128e0a4a55c74c8c122b8f5ba607c8885f4c23b0b9ab8b9
|
||||
DIST jenkins-bin-2.153.war 75988150 BLAKE2B 963fefa46cef2117929c00fcbf5eb8d1dd60e1a3cffe885361e2af0ffb7b34a953fa30e73d7ddb45a967f465ba8cd6f82d4b669e065536d3551b808ac85af4f3 SHA512 1e78e414b6db6f523bc0a872a60ec09c6e60d3dac2c9192af7c1d7420ba338b852c82a47d9c437b7c71a71cc7df5d1cb6066e2d36e9b772bff9bc12aef6cc11d
|
||||
DIST jenkins-bin-2.138.4.war 75751509 BLAKE2B 2601353b630ad2d7783460a7e5af93ccb9f0e8ce6a277a4413871df73c944e733284f5621a87ca741ab2ef683554700919be767e9ff7cfe7ff7816be3fcb4202 SHA512 4492d9576dbe8364fe2d8f110ee9eff68478f64b397178a96b1d5c427e98c413a8dc1ba574c43b4ff84b3848ca99ff05a24df31d568c367849a35f6b673ba5b3
|
||||
DIST jenkins-bin-2.150.1.war 75938045 BLAKE2B 363e359ef627947b2dfa30d164099c2864f2641c1ad3fa83532f9252a030bd973e4af3238fa09ba92f8ad65ab4463a21d86752b159d07049d5ccd88f8895bbdc SHA512 1158713b60923f7c1a3b90e403562a388ec3578f1a7ca267f91137a58571c26721075f63eda97b92bcf3ca360ce68d5129c9bd205b2ee138e13247d73da4e7a3
|
||||
DIST jenkins-bin-2.154.war 76032730 BLAKE2B ce107d6afd617c0335f0ec13e004f72fb497ed8a9cd7859169e049f1f62cff34dbffa7bc59b536afabde3dead439a4d3e4cbb4f71107b1752b29451997ab5c77 SHA512 d86723dd0b10a26c7d8764c0717114d990de49b2ade3e8b7af163c13350b55f8ec11e479f4743641d9a6530ffc6e98903d9fac20e964ca70b4795aa26202b720
|
||||
|
@ -1,46 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit user systemd
|
||||
|
||||
DESCRIPTION="Extensible continuous integration server"
|
||||
HOMEPAGE="https://jenkins.io/"
|
||||
LICENSE="MIT"
|
||||
SRC_URI="http://mirrors.jenkins-ci.org/war/${PV}/${PN/-bin/}.war -> ${P}.war"
|
||||
RESTRICT="mirror"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="media-fonts/dejavu
|
||||
media-libs/freetype
|
||||
!dev-util/jenkins-bin:lts
|
||||
>=virtual/jre-1.8.0"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
JENKINS_DIR=/var/lib/jenkins
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup jenkins
|
||||
enewuser jenkins -1 -1 ${JENKINS_DIR} jenkins
|
||||
}
|
||||
|
||||
src_install() {
|
||||
keepdir /var/log/jenkins ${JENKINS_DIR}/backup ${JENKINS_DIR}/home
|
||||
|
||||
insinto /opt/jenkins
|
||||
newins "${DISTDIR}"/${P}.war ${PN/-bin/}.war
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/${PN}-r1.logrotate ${PN/-bin/}
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.init2 jenkins
|
||||
newconfd "${FILESDIR}"/${PN}.confd jenkins
|
||||
|
||||
systemd_newunit "${FILESDIR}"/${PN}.service jenkins.service
|
||||
|
||||
fowners jenkins:jenkins /var/log/jenkins ${JENKINS_DIR} ${JENKINS_DIR}/home ${JENKINS_DIR}/backup
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST pycharm-community-2018.2.4.tar.gz 260812419 BLAKE2B 2274d8af513535e4c5b3b69619c944f503dd9f2248a43cf3352221b34c40604f409038d85366321e858037e3c9c63dc838c046917c3102a2d536e4aef05c1636 SHA512 aca812b3355552c6a65865385e82c96fbca06f9caa39fd21723710922865f7aeb38de33eb041efb1e3553e161c34de6d8b8ed724d7c91ba16f3a818711ca9468
|
||||
DIST pycharm-community-2018.3.1.tar.gz 310702122 BLAKE2B c54153b9529bf03a09d92eb8b139da45bfb047cb1fdeacc9b64f17982edd237ed0633c391c15326ecaed7d9e599b3f87c0a16a2eb1302ceb37dfc1e0329693d0 SHA512 8d1f418bd97d8249481ad63fa699c141e498820698485b74c6f08674e4b0eee6054e9ad1e59260342fd615a5030ed932d1177ed8173ab9cf6026561c10fee9d8
|
||||
DIST pycharm-community-2018.3.tar.gz 310642963 BLAKE2B b32f3c9a3c28bc1ee4658c1ef60cbbe2c4775b310512b3a7fd1b28839bf1c69a566198808b128d18cbbe2d987f61d80bcbcc590177b25d8e9c8fce5fb1754d49 SHA512 00121b4ee9daae92d5c389913f4dd9efcd634f9888b21f6bcae10a3a67cc4bc36a5012590e6836224168053521edf5ba848080f4fc1060df04dc4c58cfdd9fff
|
||||
|
@ -0,0 +1,54 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit gnome2-utils readme.gentoo-r1 xdg
|
||||
|
||||
DESCRIPTION="Intelligent Python IDE with unique code assistance and analysis"
|
||||
HOMEPAGE="http://www.jetbrains.com/pycharm/"
|
||||
SRC_URI="http://download.jetbrains.com/python/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD CDDL MIT-with-advertising"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND=">=virtual/jre-1.8
|
||||
dev-python/pip"
|
||||
|
||||
RESTRICT="mirror strip"
|
||||
|
||||
QA_PREBUILT="opt/${PN}/bin/fsnotifier
|
||||
opt/${PN}/bin/fsnotifier64
|
||||
opt/${PN}/bin/fsnotifier-arm"
|
||||
|
||||
MY_PN=${PN/-community/}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm -rf jre || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /opt/${PN}
|
||||
doins -r *
|
||||
|
||||
fperms a+x /opt/${PN}/bin/{pycharm.sh,fsnotifier{,64},inspect.sh}
|
||||
|
||||
dosym ../../opt/${PN}/bin/pycharm.sh /usr/bin/${PN}
|
||||
newicon bin/${MY_PN}.png ${PN}.png
|
||||
make_desktop_entry ${PN} ${PN} ${PN}
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_icon_cache_update
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST pycharm-professional-2018.2.4.tar.gz 343705704 BLAKE2B 69cb8a57f8daf8d986c201e549bfb68b048a2f78e819aeee000bab836c5a25b50d0d6aa9870f6ff8b35907ba9bd69fef7071d421c74970f68496e4448495d43d SHA512 3bc35cfeb1f1d4b95bbc490bfdb724ab76757a5f819c7acc2cbe85688493a9d8dc57cfa179a424fc24679f2093f55d5417a6859001093d58518a8b330d60f7f4
|
||||
DIST pycharm-professional-2018.3.1.tar.gz 397871775 BLAKE2B e9f950125c5c1f355e48e16a8c047751a88c6ee6e4862c6dbb8df12aa3e0e57a3d0d61c2cccb5995f2763e0d99eaaa967c19c884c40a350a7148dae71a66be0c SHA512 9324315f865bce9b379ab9f698eb6e97917aa3cb4ef90612b22d33516c18cfbed9fb806dd9bd4884ead6e7a72e2b481e5636956630ac7da75234ff8ba4975878
|
||||
DIST pycharm-professional-2018.3.tar.gz 397608153 BLAKE2B 7130533fb3721d1f573105dec2289091cab23b6438acadda0c62f945e7a9b2a0a55b4d55260e1f472ec77d1fd8dbc9ac9e7f7220ef26424ffbe918874049071e SHA512 0e83fa9117d46a503a3afd790fe2512cf04abc327ff7efdf46e40a24bcd028d6d2033ce56cdb1c4cfd1a8552d7d31af6e97a203c6273a5fd1b79263575fd2ee7
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue