aboutsummaryrefslogtreecommitdiffstats
path: root/community/php81/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/php81/APKBUILD')
-rw-r--r--community/php81/APKBUILD147
1 files changed, 83 insertions, 64 deletions
diff --git a/community/php81/APKBUILD b/community/php81/APKBUILD
index f65fcfcc76f..5bd8c29387e 100644
--- a/community/php81/APKBUILD
+++ b/community/php81/APKBUILD
@@ -11,6 +11,7 @@
# fileinfo | BSD-2-Clause | ext/fileinfo/libmagic | used
# gd | BSD | ext/gd/libgd | used
# hash | CC0-1.0 | ext/hash/sha3 | used
+# xxHash | BSD-2-Clause | ext/hash/xxhash | used
# libmbfl | LGPL-2.1-only | ext/mbstring/libmbfl | used
# pcre | BSD-3-Clause | ext/pcre/pcrelib | not used
# sqlite3 | Public | ext/sqlite3/libsqlite | not used
@@ -25,12 +26,15 @@
pkgname=php81
_pkgreal=php
-pkgver=8.1.6
+pkgver=8.1.27
pkgrel=0
_apiver=20210902
_suffix=${pkgname#php}
# Is this package the default (latest) PHP version?
_default_php="no"
+provides="$pkgname-cli php-cli php" # for backward compatibility
+# priority of community/php82 is 100
+provider_priority=50
pkgdesc="The PHP$_suffix language runtime engine"
url="https://www.php.net/"
arch="all"
@@ -46,11 +50,13 @@ _depends_phar="$pkgname"
_depends_mysqli="$pkgname-mysqlnd $pkgname-openssl"
makedepends="
$depends_dev
+ acl-dev
apache2-dev
argon2-dev
aspell-dev
bison
bzip2-dev
+ clang
curl-dev
enchant2-dev
freetds-dev
@@ -77,33 +83,39 @@ makedepends="
libzip-dev
net-snmp-dev
openldap-dev
+ openssl-dev>3
+ patchelf
sqlite-dev
tidyhtml-dev
unixodbc-dev
zlib-dev
"
checkdepends="icu-data-full"
-provides="$pkgname-cli php-cli php" # for backward compatibility
-# priority of community/php7 is 100
-provider_priority=1
-subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc
+subpackages="$pkgname-dev $pkgname-doc
$pkgname-phpdbg $pkgname-apache2
$pkgname-embed $pkgname-cgi $pkgname-fpm
$pkgname-pear::noarch
"
-source="https://php.net/distributions/$_pkgreal-$pkgver.tar.xz
+# sources for RC available at
+# - https://downloads.php.net/~patrickallaert/php-${pkgver}RC1.tar.xz
+# - https://downloads.php.net/~ramsey/php-${pkgver}RC1.tar.xz
+source="$_pkgreal-$pkgver.tar.xz::https://php.net/distributions/$_pkgreal-$pkgver.tar.xz
$pkgname-fpm.initd
$pkgname-fpm.logrotate
$pkgname-module.conf
disabled-tests.list
+ disabled-tests.ppc64le.list
+ disabled-tests.riscv64.list
+ disabled-tests.s390x.list
+ disabled-tests.x86.list
install-pear.patch
includedir.patch
sharedir.patch
$pkgname-fpm-version-suffix.patch
fix-tests-devserver.patch
- xfail-openssl-1.1-test.patch
- atomic-lsapi.patch
- fix-curl-7.83-test.patch
+ fix-lfs64.patch
+ fix-s390x-test.patch
+ fix-icu74.patch
"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -177,6 +189,21 @@ subpackages="$subpackages $pkgname-common::noarch"
subpackages="$subpackages $pkgname-litespeed"
# secfixes:
+# 8.1.16-r0:
+# - CVE-2023-0567
+# - CVE-2023-0568
+# - CVE-2023-0662
+# 8.1.14-r0:
+# - CVE-2022-31631
+# 8.1.12-r0:
+# - CVE-2022-31630
+# - CVE-2022-37454
+# 8.1.11-r0:
+# - CVE-2022-31628
+# - CVE-2022-31629
+# 8.1.6-r2:
+# - CVE-2022-31625
+# - CVE-2022-31626
# 8.1.0-r0:
# - CVE-2021-21707
# 8.1.0_rc5-r0:
@@ -206,9 +233,12 @@ prepare() {
# Fix some bogus permissions.
find . -name '*.[ch]' -exec chmod 644 {} \;
- # XXX: Delete failing tests.
- sed -n '/^[^#]/p' "$srcdir"/disabled-tests.list | while read -r item; do
- rm -r $item # do it in this way to apply globbing...
+ # Remove failing tests includng arch specific ones.
+ local tests="disabled-tests.list disabled-tests.$CARCH.list"
+ local file; for file in $tests; do [ -f "$srcdir"/$file ] && \
+ sed -n '/^[^#]/p' "$srcdir"/$file | while read -r item; do
+ rm -r $item # do it in this way to apply globbing...
+ done
done
autoconf
@@ -220,12 +250,15 @@ prepare() {
# * -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php andypost)
# * -O2 optimize for apps usage (andypost)
_build() {
- export CFLAGS="${CFLAGS/-Os/-O2} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- export CXXFLAGS="${CXXFLAGS/-Os/-O2} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+ local _extra='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ export CFLAGS="${CFLAGS/-Os/-O2} $_extra"
+ export CXXFLAGS="${CXXFLAGS/-Os/-O2} $_extra"
local without_pcre_jit
[ "$CARCH" = "s390x" ] && without_pcre_jit="--without-pcre-jit"
+ export CC=clang
+ export CXX=clang++
EXTENSION_DIR=$_extension_dir ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -239,6 +272,7 @@ _build() {
--with-pic \
--with-config-file-path=/etc/$pkgname \
--with-config-file-scan-dir=$_extension_confd \
+ --disable-rpath \
--disable-short-tags \
\
--enable-bcmath=shared \
@@ -316,6 +350,7 @@ _build() {
--with-xsl=shared \
--with-zip=shared \
--with-zlib \
+ --enable-zend-test=shared \
"$@"
rm -f modules/* # clean-up possible previous build
make
@@ -336,6 +371,7 @@ build() {
_build --enable-phpdbg \
--with-pear=/usr/share/$pkgname \
--enable-fpm \
+ --with-fpm-acl \
$enable_litespeed \
--enable-embed
}
@@ -355,13 +391,13 @@ check() {
# Ignore it for now and continue build even on test failures.
local allow_fail='no'
case "$CARCH" in
- x86 | s390x ) allow_fail='yes'
+ no ) allow_fail='yes'
esac
TESTS="${TESTS:- --show-diff }" NO_INTERACTION=1 REPORT_EXIT_STATUS=1 \
SKIP_SLOW_TESTS=1 SKIP_ONLINE_TESTS=1 TEST_TIMEOUT=10 \
SKIP_PERF_SENSITIVE=1 \
- TZ='' LANG='' LC_ALL='' \
+ TZ='' LANG='' LC_ALL='' TEST_FPM_EXTENSION_DIR=modules \
TRAVIS=true SKIP_IO_CAPTURE_TESTS=1 \
make test || [ "$allow_fail" = yes ]
@@ -370,6 +406,7 @@ check() {
package() {
make -j1 INSTALL_ROOT="$pkgdir" install
+ rm "$pkgdir"/usr/lib/php$_suffix/modules/zend_test.so
install -Dm644 php.ini-production "$pkgdir"/etc/$pkgname/php.ini
@@ -390,15 +427,11 @@ package() {
dev() {
default_dev
replaces="php-dev"
- depends="$depends"
-
- cd "$pkgdir"
- _mv usr/bin/php-config$_suffix \
+ amove \
+ usr/bin/php-config$_suffix \
usr/bin/phpize$_suffix \
- "$subpkgdir"/usr/bin/
-
- _mv ./$_libdir/build "$subpkgdir"/$_libdir/
+ $_libdir/build
if [ "$_default_php" = yes ]; then
ln -s phpize$_suffix "$subpkgdir"/usr/bin/phpize
@@ -444,15 +477,17 @@ embed() {
pkgdesc="PHP$_suffix Embedded Library"
provides="php-embed"
- _mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libphp.so "$subpkgdir"/usr/lib/libphp$_suffix.so
+ # we do this so it matches the name, otherwise SONAME libphp.so conflicts
+ patchelf --set-soname libphp$_suffix.so "$subpkgdir"/usr/lib/libphp$_suffix.so
}
litespeed() {
pkgdesc="PHP$_suffix LiteSpeed SAPI"
provides="php-lightspeed"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/lsphp$_suffix "$subpkgdir"/usr/bin
+ amove usr/bin/lsphp$_suffix
if [ "$_default_php" = yes ]; then
ln -s lsphp$_suffix "$subpkgdir"/usr/bin/lsphp
@@ -463,7 +498,7 @@ cgi() {
pkgdesc="PHP$_suffix Common Gateway Interface"
provides="php-cgi"
- _mv "$pkgdir"/usr/bin/php-cgi$_suffix "$subpkgdir"/usr/bin/
+ amove usr/bin/php-cgi$_suffix
if [ "$_default_php" = yes ]; then
ln -s php-cgi$_suffix "$subpkgdir"/usr/bin/php-cgi
@@ -474,12 +509,8 @@ fpm() {
pkgdesc="PHP$_suffix FastCGI Process Manager"
provides="php-fpm"
- cd "$pkgdir"
-
- _mv var "$subpkgdir"/
- _mv usr/share/$pkgname/fpm "$subpkgdir"/var/lib/$pkgname/
- _mv usr/sbin "$subpkgdir"/usr/
- _mv etc/$pkgname/php-fpm* "$subpkgdir"/etc/$pkgname/
+ amove etc/$pkgname/php-fpm* usr/sbin var
+ amove usr/share/$pkgname/fpm
local file; for file in php-fpm.conf php-fpm.d/www.conf; do
mv "$subpkgdir"/etc/$pkgname/$file.default \
@@ -500,18 +531,15 @@ pear() {
depends="$pkgname $pkgname-xml"
provides="php-pear"
- cd "$pkgdir"
-
mkdir -p "$subpkgdir"/usr/bin
local file; for file in pecl pear peardev; do
- mv usr/bin/$file "$subpkgdir"/usr/bin/$file$_suffix
+ mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin/$file$_suffix
if [ "$_default_php" = yes ]; then
ln -s $file$_suffix "$subpkgdir"/usr/bin/$file
fi
done
- _mv etc/$pkgname/pear.conf "$subpkgdir"/etc/$pkgname/
- _mv usr/share "$subpkgdir"/usr/
+ amove etc/$pkgname/pear.conf usr/share
}
common() {
@@ -519,22 +547,17 @@ common() {
provides="php-common $pkgname-zlib php-zlib $pkgname-json php-json" # for backward compatibility
depends=""
- cd "$pkgdir"
-
- _mv usr/lib "$subpkgdir"/usr/
- _mv etc "$subpkgdir"/
- mkdir -p "$subpkgdir"/$_extension_confd
+ amove etc
+ mkdir -p "$subpkgdir"/$_extension_confd "$subpkgdir"/$_extension_dir
}
phar() {
_extension
- cd "$pkgdir"
-
mkdir -p "$subpkgdir"/usr/bin
- mv usr/bin/phar$_suffix.phar "$subpkgdir"/usr/bin/phar.phar$_suffix
+ mv "$pkgdir"/usr/bin/phar$_suffix.phar "$subpkgdir"/usr/bin/phar.phar$_suffix
- rm usr/bin/phar$_suffix
+ rm "$pkgdir"/usr/bin/phar$_suffix
ln -s phar.phar$_suffix "$subpkgdir"/usr/bin/phar$_suffix
if [ "$_default_php" = yes ]; then
@@ -544,13 +567,13 @@ phar() {
}
_extension() {
- local extname="${subpkgname#$pkgname-}"
+ local extname="${subpkgname#"$pkgname"-}"
local extdepends="$(eval "echo \$_depends_$extname")"
local extdesc="$(head -n1 "$builddir"/ext/$extname/CREDITS 2>/dev/null ||:)"
pkgdesc="PHP$_suffix extension: ${extdesc:-$extname}"
provides="php-$extname"
- : ${extdepends:=$(_resolve_extension_deps "$extname")}
+ : "${extdepends:=$(_resolve_extension_deps "$extname")}"
depends="$depends $extdepends"
local load_order=$(_extension_load_order "$extname")
@@ -559,8 +582,7 @@ _extension() {
local prefix=
[ "$extname" != "opcache" ] || prefix="zend_"
- _mv "$pkgdir"/$_extension_dir/$extname.so \
- "$subpkgdir"/$_extension_dir/
+ amove $_extension_dir/$extname.so
mkdir -p "$subpkgdir"/$_extension_confd
echo "${prefix}extension=$extname" \
@@ -576,8 +598,7 @@ _resolve_extension_deps() {
local config="$builddir/ext/$name/config.w32"
[ -f "$config" ] || return 0
- cat "$config" \
- | sed -En "s/.*ADD_EXTENSION_DEP\('$name', ([^)]+)\).*/\1/p" \
+ sed -En "s/.*ADD_EXTENSION_DEP\('$name', ([^)]+)\).*/\1/p" "$config" \
| tr -d "'," | tr ' ' '\n' \
| sort -u \
| while read -r dep; do
@@ -612,24 +633,22 @@ _extensions_by_load_order() {
printf '%s\n' $list | sort -t ';' -k 1 | sed -E 's/\d+;//'
}
-_mv() {
- local dest; for dest; do true; done # get last argument
- mkdir -p "$dest"
- mv "$@"
-}
-
sha512sums="
-df5ab8e90aced1cc904c6abd25f42b0c59a327fe4f7b518591c23820e711952f3b1e70b31a1c2e90282621891400b492fb099cbadafcd0ef7991ccc2962156de php-8.1.6.tar.xz
+07fb2b8e10e2487635e26bfd8a27949a26b85f76bc3984ad8599224bb7a7f9498d84299335ae5a0bba16599275e9747ab141f73f4f2076ddf49ebec8e76fd0ed php-8.1.27.tar.xz
7dc9f55b12998355a6a6b5cf277285058e66928215f8d0109448d06fb696a74c674f83d18a81bf03f4f0bee06e77979e9a4ee5c81c7fdebff91447f8e697cc69 php81-fpm.initd
98bb27864f1ece80fef18cb286885c8c18de8f9d1076507b6a24df07e33aa400623b90401375e7ebe55d9ff802069d281642ec7d3a58ef8727121aabe7643241 php81-fpm.logrotate
2e3b22b4adbc81c6120757095c89e56642f3e8bf7724af2926f2667759ef082cdcff416334aad87f704a61fcb5b2c11830f17759ac771a3dd4e47d9bc5c7cf72 php81-module.conf
-47ae7600638a2a0691c2fde43382b3dc5c39e2f129ab8ec7dc1dcee11e8b7c6ae2a272aabe0b386461e7139092c09fcb74fdc4fcd1e51874bcdd03d2b2babd6d disabled-tests.list
+2f45b612c0de677d631f3d3fa3450128015c15d6f2f25b653ffb7416c92aedfbbf62690fdc54c94f1ca697859b5dc6dfb69a738ef67726322a872f281ed93637 disabled-tests.list
+65676dea36ff8823dd1e8d7165e48c2719133ca8cf5287d6051f35f70e4bc57f1c93fe9b0196c9307c072187deb08409731f1eef281387ae4367655472f882d3 disabled-tests.ppc64le.list
+378db19d08cec29c4e56f2c82ee0a99b31e5ec3eaac56c40597de442da36a4d7efcc7551577e37a6ca22649d612d42714c93e16e3f7579aeb85a44090bde80fc disabled-tests.riscv64.list
+54930246f22034e6a73020aa95915d14b2a2fcfe121df57eb17fdc663aceeb94c5c4b1800347149a8fb4eaa0edda4224a11133bdb7e0cd34a2065a2de121db0d disabled-tests.s390x.list
+6d3bc15982e13ec4c065b6445e07818d589f2cc677147a57929d1739b3e6b119cc9be6a07d3a99bb5e989e47a62fa6047f967c3c962253845d4bab224b378db3 disabled-tests.x86.list
ec206639d076ddac6c2d1db697a5428ed3be979157db39417af7fbe6ab837e8dc00315ae0e55aea4f92f45ca5827c88cc4933099fad9c962f029ca81bef779d7 install-pear.patch
e88ad17895742b74019912ad45c90af74817d75d7e1f71bd3d4a180b5f710a25d3c73c7410394f415eee0f428a8c5a0ea3702009ef9d2bffdebdd5da748f8b9b includedir.patch
8db38c523a8e0ed64298661d328372ea33ba0a56d23c023299ad94ee43a6db8c49393efcb679e74bbb936383dcacebdfb440bbacdf74068d78d071dd3f795101 sharedir.patch
f43ab399c3b4a2b9a3a329acd32d9cbc690cad697dd0a0e87f3d654028b88af7dd1cd80cbf970c6fe95a44d9b24646640bb4cc9eba15f36afc171504f1060066 php81-fpm-version-suffix.patch
1b64a7cef9e81387f955cb60ffa4e3d2277b4f6072e9328d779c0d447c202c8ee9dff0d8d8c34abc82c150311f51c4e9316a3b72a383ca6c9a6e683bc5b349a0 fix-tests-devserver.patch
-d90e839cfae1cbb42c1dfb0fb73defa55154dbef69bc9a8206e561c2d0ceb43ca778e35dcfa3224570deabe7d59d35dac3f21d0c4bd82ac92cebd5477a30a89d xfail-openssl-1.1-test.patch
-465b38c089d938a4a072b2eff3edaf928455bf873f5eeb65ff3bee9614f5f45c70f285abb50809c2e2d9d259395acae38bd649860ca3b8d65e43447082a51552 atomic-lsapi.patch
-be6a57063414bd255def54d5f6e42cbdc3baec55c8eaf9c8ca6e96d0cb3fec942ebb1868806850859d34c5c45d03a2abfec3fecd1aef04524da8eda01d9041ed fix-curl-7.83-test.patch
+73ad23e675c336b7607ff99fc3a3ffdb381779411c5503ef5a353ad43607070d889e441800abc54080d6be42032e94c3884d05d3bfbc46e5dda93b5e10fc40f7 fix-lfs64.patch
+10c8da2e2ff24903c012b4df4f1fd7ed739429d0630260c398ed255cb45589ee170c29af09f5f57202a5fe37d4e82669196c813a5b916b7f2be2d46e9bfd1d85 fix-s390x-test.patch
+16d283ac2373442f2fbbca4968df92e0114454c7645a797f1f04af27e546293f3312d45aef049357057facd4fb62339ebfe7f59e65d4278910c4195d873955d1 fix-icu74.patch
"