diff --git a/data/special-requirements b/data/special-requirements index c3d62bf8..f5a98d23 100644 --- a/data/special-requirements +++ b/data/special-requirements @@ -6,6 +6,7 @@ lz4 !jessie memprof !alpine3.9 !alpine3.10 !alpine3.11 !alpine3.12 !alpine3.13 !alpine3.14 !alpine3.15 parallel zts parle !jessie +phpy !buster pthreads zts saxon !alpine simdjson !jessie !stretch diff --git a/data/supported-extensions b/data/supported-extensions index 8114dd9e..806d27ff 100644 --- a/data/supported-extensions +++ b/data/supported-extensions @@ -82,6 +82,7 @@ pdo_pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 pdo_sqlsrv 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 php_trie 7.3 7.4 8.0 8.1 8.2 8.3 8.4 +phpy 8.1 8.2 8.3 8.4 pkcs11 7.4 8.0 8.1 8.2 8.3 8.4 pq 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 propro 5.5 5.6 7.0 7.1 7.2 7.3 7.4 diff --git a/install-php-extensions b/install-php-extensions index 1c63237d..2de0b1eb 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -1218,6 +1218,20 @@ buildRequiredPackageLists() { php_trie@alpine) buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++" ;; + phpy@alpine) + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent python3" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile python3-dev" + ;; + phpy@debian) + if test $DISTRO_VERSION_NUMBER -ge 12; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libpython3.11" + elif test $DISTRO_VERSION_NUMBER -ge 11; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libpython3.9" + else + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libpython3.7" + fi + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile python3-dev" + ;; pkcs11@alpine) buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm" ;; diff --git a/scripts/tests/phpy b/scripts/tests/phpy new file mode 100755 index 00000000..74909611 --- /dev/null +++ b/scripts/tests/phpy @@ -0,0 +1,41 @@ +#!/usr/bin/env php +uname(); + $unameType = gettype($uname); + if ($unameType !== 'object') { + throw new RuntimeException("os::uname() should return an object, not {$unameType}"); + } + $unameClass = get_class($uname); + if ($unameClass !== 'PyTuple') { + throw new RuntimeException("os::uname() should return a PyTuple instance, not {$unameClass}"); + } + if ($uname->count() < 5) { + throw new RuntimeException('os::uname() should return a PyTuple with at leasd 5 elements'); + } + $sysname = (string) $uname[0]; + $sysNames = ['Linux']; + if (!in_array($sysname, $sysNames, true)) { + throw new RuntimeException("os::uname()[0] should be '" . implode("' or '", $sysNames) . "', '{$sysname}' received"); + } +} catch (RuntimeException $x) { + fwrite(STDERR, rtrim($x->getMessage()) . "\n"); + exit(1); +} +echo "phpy seems ok.\n";