mirror of
https://github.com/QYG2297248353/appstore-1panel.git
synced 2024-11-25 09:38:47 +08:00
feat: 更新 install-php-extensions 脚本 (#1406)
This commit is contained in:
parent
149792aba0
commit
ba9bf2f767
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=2.1.28
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,53 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ' | sed -r 's# *<#\n<#g' | grep '<v>' | sed 's#<v>##g' | sed 's# ##g')"
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -422,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -650,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='libssl1.0'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -715,10 +744,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
|
||||
;;
|
||||
ddtrace@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
|
||||
;;
|
||||
ddtrace@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent curl"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
|
||||
;;
|
||||
dba@alpine)
|
||||
@ -732,8 +761,18 @@ buildRequiredPackageLists() {
|
||||
fi
|
||||
;;
|
||||
decimal@debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmpdec[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmpdec-dev"
|
||||
fi
|
||||
;;
|
||||
ecma_intl@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev libidn-dev"
|
||||
;;
|
||||
ecma_intl@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
|
||||
;;
|
||||
enchant@alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 312; then
|
||||
@ -780,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -817,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -910,6 +958,9 @@ buildRequiredPackageLists() {
|
||||
imagick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent imagemagick libgomp"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile imagemagick-dev"
|
||||
if [ $DISTRO_MAJMIN_VERSION -ge 319 ]; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ghostscript libheif libjxl libraw librsvg"
|
||||
fi
|
||||
;;
|
||||
imagick@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmagickwand-6.q16-[0-9]+$ ^libmagickcore-6.q16-[0-9]+-extra$"
|
||||
@ -1015,6 +1066,9 @@ buildRequiredPackageLists() {
|
||||
memcached@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 12; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
fi
|
||||
;;
|
||||
mongo@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl"
|
||||
@ -1026,10 +1080,18 @@ buildRequiredPackageLists() {
|
||||
mongodb@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent libsasl $buildRequiredPackageLists_libssl snappy"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev cyrus-sasl-dev snappy-dev $buildRequiredPackageLists_libssldev zlib-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent zstd-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
fi
|
||||
;;
|
||||
mongodb@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libsnappy[0-9]+(v[0-9]+)?$ ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev libsasl2-dev libsnappy-dev $buildRequiredPackageLists_libssldev zlib1g-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libzstd[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libzstd-dev"
|
||||
fi
|
||||
;;
|
||||
mosquitto@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent mosquitto-libs"
|
||||
@ -1113,6 +1175,12 @@ buildRequiredPackageLists() {
|
||||
php_trie@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
pkcs11@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm"
|
||||
;;
|
||||
pkcs11@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsofthsm2"
|
||||
;;
|
||||
pspell@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent aspell-libs $(expandASpellDictionaries)"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile aspell-dev"
|
||||
@ -1148,6 +1216,10 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
redis@debian)
|
||||
@ -1165,13 +1237,23 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev"
|
||||
fi
|
||||
;;
|
||||
relay@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libssl1.1"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent $buildRequiredPackageLists_libssl"
|
||||
fi
|
||||
;;
|
||||
saxon@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_volatile unzip"
|
||||
;;
|
||||
seasclick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
simdjson@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
@ -1232,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1298,23 +1383,38 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
tensor@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 316; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 310; then
|
||||
if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then
|
||||
IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack"
|
||||
fi
|
||||
;;
|
||||
tensor@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev"
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8"
|
||||
if test $DISTRO_VERSION_NUMBER -le 9; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev"
|
||||
fi
|
||||
;;
|
||||
tidy@alpine)
|
||||
@ -1336,6 +1436,14 @@ buildRequiredPackageLists() {
|
||||
uuid@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile uuid-dev"
|
||||
;;
|
||||
uv@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv-dev"
|
||||
;;
|
||||
uv@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv1-dev"
|
||||
;;
|
||||
vips@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent vips"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile vips-dev"
|
||||
@ -1350,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1564,6 +1680,10 @@ expandInstalledSystemPackageName() {
|
||||
# Output:
|
||||
# The number of processor cores available
|
||||
getProcessorCount() {
|
||||
if test -n "${IPE_PROCESSOR_COUNT:-}"; then
|
||||
echo $IPE_PROCESSOR_COUNT
|
||||
return
|
||||
fi
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
@ -1616,6 +1736,9 @@ getModuleFullPath() {
|
||||
apcu_bc)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/apc.so"
|
||||
;;
|
||||
seasclick)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/SeasClick.so"
|
||||
;;
|
||||
*)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/$1.so"
|
||||
;;
|
||||
@ -1890,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -1937,27 +2060,36 @@ isMicrosoftSqlServerODBCInstalled() {
|
||||
}
|
||||
|
||||
# Install the Microsoft SQL Server ODBC Driver
|
||||
# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
|
||||
installMicrosoftSqlServerODBC() {
|
||||
printf 'Installing the Microsoft SQL Server ODBC Driver\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installMicrosoftSqlServerODBC_arch=arm64
|
||||
;;
|
||||
*)
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
;;
|
||||
debian)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17
|
||||
printf -- '- installing the Microsoft APT key\n'
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
# apt-key is deprecated
|
||||
if test $DISTRO_VERSION_NUMBER -eq 11; then
|
||||
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor --yes --output /usr/share/keyrings/microsoft-prod.gpg
|
||||
else
|
||||
# apt-key is deprecated
|
||||
curl -sSLf https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
fi
|
||||
if ! test -f /etc/apt/sources.list.d/mssql-release.list; then
|
||||
@ -1968,8 +2100,8 @@ installMicrosoftSqlServerODBC() {
|
||||
printf -- '- installing the APT package\n'
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && $DISTRO_VERSION_NUMBER -le 11; then
|
||||
# On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
|
||||
# On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
|
||||
@ -1984,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -1996,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2023,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2041,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2053,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2079,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2087,6 +2230,69 @@ installLibavif() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install libmpdec
|
||||
installLibMPDec() {
|
||||
installLibMPDec_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installLibMPDec_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2203,6 +2409,56 @@ installSourceGuardian() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install Cargo (if not yet installed)
|
||||
installCargo() {
|
||||
if command -v cargo >/dev/null; then
|
||||
return
|
||||
fi
|
||||
printf '# Installing cargo\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
|
||||
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||
;;
|
||||
esac
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y -q
|
||||
. "$HOME/.cargo/env"
|
||||
if test -z "${IPE_UNINSTALL_CARGO:-}"; then
|
||||
IPE_UNINSTALL_CARGO=y
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2268,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2285,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2437,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2444,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2490,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2505,6 +2774,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.3
|
||||
elif test $PHP_MAJMIN_VERSION -le 505; then
|
||||
installRemoteModule_version=1.9.4
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.11.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2581,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2611,29 +2882,43 @@ installRemoteModule() {
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -f /usr/local/lib/libmpdec.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installLibMPDec
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 1200; then
|
||||
if test -z "$(ldconfig -p | grep -E '\slibmpdec.so\s')"; then
|
||||
installLibMPDec
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ds)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 703; then
|
||||
installRemoteModule_version=1.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=1.4.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
ecma_intl)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
fi
|
||||
;;
|
||||
event)
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 2.4.0) -ge 0; then
|
||||
@ -2706,7 +2991,7 @@ installRemoteModule() {
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -e /usr/local/include/libgearman/gearman.h || ! test -e /usr/local/lib/libgearman.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.20/gearmand-1.1.20.tar.gz)"
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.21/gearmand-1.1.21.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount) install-binPROGRAMS
|
||||
@ -2724,7 +3009,7 @@ installRemoteModule() {
|
||||
geos)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=71b5f9001512e16d3cf4657b517e8a051d6ef36f
|
||||
installRemoteModule_version=0def35611f773c951432f1f06a155471a5cb7611
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://git.osgeo.org/gitea/geos/php-geos/archive/$installRemoteModule_version.tar.gz)"
|
||||
cd "$installRemoteModule_src"
|
||||
@ -2768,10 +3053,6 @@ installRemoteModule() {
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=1.55.0
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then
|
||||
case "$DISTRO_VERSION" in
|
||||
alpine@3.13)
|
||||
@ -2807,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2847,6 +3134,13 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
jsonpath)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=1.0.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
luasandbox)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 702; then
|
||||
@ -2971,8 +3265,34 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.2
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=1.11.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.16.2
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 1.17.0) -ge 0; then
|
||||
# Enable developer flags? (yes/no)
|
||||
addConfigureOption enable-mongodb-developer-flags no
|
||||
# Enable code coverage? (yes/no)
|
||||
addConfigureOption enable-mongodb-coverage no
|
||||
# Use system libraries for libbson, libmongoc, and libmongocrypt? (yes/no)
|
||||
addConfigureOption with-mongodb-system-libs no
|
||||
# Enable client-side encryption? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-client-side-encryption yes
|
||||
# Enable Snappy for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-snappy yes
|
||||
# Enable zlib for compression? (auto/system/bundled/no)
|
||||
addConfigureOption with-mongodb-zlib yes
|
||||
# Enable zstd for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-zstd yes
|
||||
# Enable SASL for Kerberos authentication? (auto/cyrus/no)
|
||||
addConfigureOption with-mongodb-sasl yes
|
||||
# Enable crypto and TLS? (auto/openssl/libressl/darwin/no)
|
||||
addConfigureOption with-mongodb-ssl yes
|
||||
# Use system crypto profile (OpenSSL only)? (yes/no)
|
||||
addConfigureOption enable-mongodb-crypto-system-profile yes
|
||||
# Use bundled or system utf8proc for SCRAM-SHA-256 SASLprep? (bundled/system)
|
||||
addConfigureOption with-mongodb-utf8proc bundled
|
||||
fi
|
||||
;;
|
||||
mosquitto)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -2986,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2993,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3002,6 +3334,8 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=4.10.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=22.0.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3013,6 +3347,48 @@ installRemoteModule() {
|
||||
installRemoteModule_sockets=no
|
||||
fi
|
||||
installRemoteModule_openssl=yes
|
||||
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 22.1.2) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.1) -ge 0; then
|
||||
# enable c-ares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.0) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.0.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
@ -3021,25 +3397,38 @@ installRemoteModule() {
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '22.8.0') -ge 0; then
|
||||
# enable hook curl support?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
else
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '4.8.0') -ge 0; then
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
else
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
@ -3092,11 +3481,12 @@ installRemoteModule() {
|
||||
;;
|
||||
protobuf)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=3.12.4
|
||||
else
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=3.23.2
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3154,19 +3544,21 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=4.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=5.3.7
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
# Enable igbinary serializer support?
|
||||
if php --ri igbinary >/dev/null 2>/dev/null; then
|
||||
addConfigureOption 'enable-redis-igbinary' 'yes'
|
||||
addConfigureOption enable-redis-igbinary yes
|
||||
else
|
||||
addConfigureOption 'enable-redis-igbinary' 'no'
|
||||
addConfigureOption enable-redis-igbinary no
|
||||
fi
|
||||
# Enable lzf compression support?
|
||||
addConfigureOption 'enable-redis-lzf' 'yes'
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then
|
||||
addConfigureOption enable-redis-lzf yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then
|
||||
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then
|
||||
installRemoteModule_zstdVersion=1.4.4
|
||||
installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1)
|
||||
@ -3182,7 +3574,19 @@ installRemoteModule() {
|
||||
cd - >/dev/null
|
||||
fi
|
||||
# Enable zstd compression support?
|
||||
addConfigureOption 'enable-redis-zstd' 'yes'
|
||||
addConfigureOption enable-redis-zstd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
|
||||
# Enable msgpack serializer support?
|
||||
if php --ri msgpack >/dev/null 2>/dev/null; then
|
||||
addConfigureOption enable-redis-msgpack yes
|
||||
else
|
||||
addConfigureOption enable-redis-msgpack no
|
||||
fi
|
||||
# Enable lz4 compression?
|
||||
addConfigureOption enable-redis-lz4 yes
|
||||
# Use system liblz4?
|
||||
addConfigureOption with-liblz4 yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
relay)
|
||||
@ -3226,6 +3630,50 @@ installRemoteModule() {
|
||||
installRemoteModule_ini_extra="$(grep -vE '^[ \t]*extension[ \t]*=' $installRemoteModule_src/relay.ini)"
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_majorVersion="${installRemoteModule_version%%.*}"
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-aarch64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-x86_64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
esac
|
||||
else
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-setup64-v${installRemoteModule_version}.zip
|
||||
fi
|
||||
installRemoteModule_dir="$(getPackageSource $installRemoteModule_url)"
|
||||
if ! test -f /usr/lib/libsaxon-*.so; then
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
cp $installRemoteModule_dir/libs/nix/*.so /usr/lib/
|
||||
else
|
||||
cp $installRemoteModule_dir/*.so /usr/lib/
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
seasclick)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=0.1.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
snappy)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3243,7 +3691,11 @@ installRemoteModule() {
|
||||
snuffleupagus)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=0.9.0
|
||||
else
|
||||
installRemoteModule_version=0.10.0
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)"
|
||||
cd "$installRemoteModule_src/src"
|
||||
@ -3272,8 +3724,10 @@ installRemoteModule() {
|
||||
;;
|
||||
solr)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=2.4.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=2.6.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3284,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.13
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3316,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3352,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3370,6 +3829,12 @@ installRemoteModule() {
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $PHP_MAJMIN_VERSION -eq 803; then
|
||||
# see https://github.com/swoole/docker-swoole/issues/45
|
||||
installRemoteModule_curl=no
|
||||
else
|
||||
installRemoteModule_curl=yes
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3378,7 +3843,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable brotli support?
|
||||
@ -3391,7 +3856,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.11) -ge 0; then
|
||||
@ -3406,7 +3871,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.6.1) -ge 0; then
|
||||
@ -3421,7 +3886,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.4.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3545,6 +4010,66 @@ installRemoteModule() {
|
||||
installRemoteModule_version=2.2.3
|
||||
fi
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then
|
||||
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
tideways)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
debian)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
installRemoteModule_src="$installRemoteModule_src/dist"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src/tideways-php"
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installRemoteModule_src="$installRemoteModule_src-alpine"
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_src="$installRemoteModule_src-$PHP_MAJDOTMIN_VERSION"
|
||||
if test $PHP_THREADSAFE -eq 1; then
|
||||
installRemoteModule_src="$installRemoteModule_src-zts"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src.so"
|
||||
if ! test -f "$installRemoteModule_src"; then
|
||||
echo 'tideways does not support the current environment' >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$installRemoteModule_src" $(getPHPExtensionsDir)/tideways.so
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
uopz)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3571,6 +4096,51 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
uv)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=0.2.4
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
vld)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.14.0
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -3751,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -3768,7 +4345,7 @@ moduleMayUsePecl() {
|
||||
@composer | @fix_letsencrypt)
|
||||
return 1
|
||||
;;
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib)
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib | tideways)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
@ -4018,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -4038,6 +4615,10 @@ fixLetsEncrypt() {
|
||||
|
||||
# Cleanup everything at the end of the execution
|
||||
cleanup() {
|
||||
if test "${IPE_UNINSTALL_CARGO:-}" = y; then
|
||||
. "$HOME/.cargo/env"
|
||||
rustup self uninstall -y
|
||||
fi
|
||||
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
|
||||
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
|
||||
@ -4046,25 +4627,27 @@ cleanup() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then
|
||||
apk del icu-data-en >/dev/null 2>&1 || true
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
apk del --purge $PACKAGES_VOLATILE
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test -n "$PACKAGES_PREVIOUS"; then
|
||||
case "$DISTRO" in
|
||||
debian)
|
||||
printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
docker-php-source delete
|
||||
rm -rf /tmp/src
|
||||
rm -rf /tmp/pickle
|
||||
@ -4101,7 +4684,7 @@ esac
|
||||
setPHPVersionVariables
|
||||
setPHPPreinstalledModules
|
||||
case "$PHP_MAJMIN_VERSION" in
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
|
||||
*)
|
||||
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
|
||||
;;
|
||||
@ -4137,6 +4720,7 @@ fi
|
||||
if test $USE_PICKLE -gt 1; then
|
||||
buildPickle
|
||||
fi
|
||||
|
||||
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
|
||||
case "$PHP_MODULE_TO_INSTALL" in
|
||||
@fix_letsencrypt)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=2.1.28
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,53 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ' | sed -r 's# *<#\n<#g' | grep '<v>' | sed 's#<v>##g' | sed 's# ##g')"
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -422,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -650,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='libssl1.0'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -715,10 +744,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
|
||||
;;
|
||||
ddtrace@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
|
||||
;;
|
||||
ddtrace@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent curl"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
|
||||
;;
|
||||
dba@alpine)
|
||||
@ -732,8 +761,18 @@ buildRequiredPackageLists() {
|
||||
fi
|
||||
;;
|
||||
decimal@debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmpdec[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmpdec-dev"
|
||||
fi
|
||||
;;
|
||||
ecma_intl@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev libidn-dev"
|
||||
;;
|
||||
ecma_intl@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
|
||||
;;
|
||||
enchant@alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 312; then
|
||||
@ -780,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -817,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -910,6 +958,9 @@ buildRequiredPackageLists() {
|
||||
imagick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent imagemagick libgomp"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile imagemagick-dev"
|
||||
if [ $DISTRO_MAJMIN_VERSION -ge 319 ]; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ghostscript libheif libjxl libraw librsvg"
|
||||
fi
|
||||
;;
|
||||
imagick@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmagickwand-6.q16-[0-9]+$ ^libmagickcore-6.q16-[0-9]+-extra$"
|
||||
@ -1015,6 +1066,9 @@ buildRequiredPackageLists() {
|
||||
memcached@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 12; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
fi
|
||||
;;
|
||||
mongo@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl"
|
||||
@ -1026,10 +1080,18 @@ buildRequiredPackageLists() {
|
||||
mongodb@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent libsasl $buildRequiredPackageLists_libssl snappy"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev cyrus-sasl-dev snappy-dev $buildRequiredPackageLists_libssldev zlib-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent zstd-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
fi
|
||||
;;
|
||||
mongodb@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libsnappy[0-9]+(v[0-9]+)?$ ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev libsasl2-dev libsnappy-dev $buildRequiredPackageLists_libssldev zlib1g-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libzstd[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libzstd-dev"
|
||||
fi
|
||||
;;
|
||||
mosquitto@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent mosquitto-libs"
|
||||
@ -1113,6 +1175,12 @@ buildRequiredPackageLists() {
|
||||
php_trie@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
pkcs11@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm"
|
||||
;;
|
||||
pkcs11@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsofthsm2"
|
||||
;;
|
||||
pspell@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent aspell-libs $(expandASpellDictionaries)"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile aspell-dev"
|
||||
@ -1148,6 +1216,10 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
redis@debian)
|
||||
@ -1165,13 +1237,23 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev"
|
||||
fi
|
||||
;;
|
||||
relay@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libssl1.1"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent $buildRequiredPackageLists_libssl"
|
||||
fi
|
||||
;;
|
||||
saxon@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_volatile unzip"
|
||||
;;
|
||||
seasclick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
simdjson@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
@ -1232,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1298,23 +1383,38 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
tensor@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 316; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 310; then
|
||||
if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then
|
||||
IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack"
|
||||
fi
|
||||
;;
|
||||
tensor@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev"
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8"
|
||||
if test $DISTRO_VERSION_NUMBER -le 9; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev"
|
||||
fi
|
||||
;;
|
||||
tidy@alpine)
|
||||
@ -1336,6 +1436,14 @@ buildRequiredPackageLists() {
|
||||
uuid@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile uuid-dev"
|
||||
;;
|
||||
uv@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv-dev"
|
||||
;;
|
||||
uv@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv1-dev"
|
||||
;;
|
||||
vips@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent vips"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile vips-dev"
|
||||
@ -1350,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1564,6 +1680,10 @@ expandInstalledSystemPackageName() {
|
||||
# Output:
|
||||
# The number of processor cores available
|
||||
getProcessorCount() {
|
||||
if test -n "${IPE_PROCESSOR_COUNT:-}"; then
|
||||
echo $IPE_PROCESSOR_COUNT
|
||||
return
|
||||
fi
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
@ -1616,6 +1736,9 @@ getModuleFullPath() {
|
||||
apcu_bc)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/apc.so"
|
||||
;;
|
||||
seasclick)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/SeasClick.so"
|
||||
;;
|
||||
*)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/$1.so"
|
||||
;;
|
||||
@ -1890,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -1937,27 +2060,36 @@ isMicrosoftSqlServerODBCInstalled() {
|
||||
}
|
||||
|
||||
# Install the Microsoft SQL Server ODBC Driver
|
||||
# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
|
||||
installMicrosoftSqlServerODBC() {
|
||||
printf 'Installing the Microsoft SQL Server ODBC Driver\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installMicrosoftSqlServerODBC_arch=arm64
|
||||
;;
|
||||
*)
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
;;
|
||||
debian)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17
|
||||
printf -- '- installing the Microsoft APT key\n'
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
# apt-key is deprecated
|
||||
if test $DISTRO_VERSION_NUMBER -eq 11; then
|
||||
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor --yes --output /usr/share/keyrings/microsoft-prod.gpg
|
||||
else
|
||||
# apt-key is deprecated
|
||||
curl -sSLf https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
fi
|
||||
if ! test -f /etc/apt/sources.list.d/mssql-release.list; then
|
||||
@ -1968,8 +2100,8 @@ installMicrosoftSqlServerODBC() {
|
||||
printf -- '- installing the APT package\n'
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && $DISTRO_VERSION_NUMBER -le 11; then
|
||||
# On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
|
||||
# On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
|
||||
@ -1984,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -1996,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2023,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2041,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2053,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2079,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2087,6 +2230,69 @@ installLibavif() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install libmpdec
|
||||
installLibMPDec() {
|
||||
installLibMPDec_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installLibMPDec_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2203,6 +2409,56 @@ installSourceGuardian() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install Cargo (if not yet installed)
|
||||
installCargo() {
|
||||
if command -v cargo >/dev/null; then
|
||||
return
|
||||
fi
|
||||
printf '# Installing cargo\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
|
||||
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||
;;
|
||||
esac
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y -q
|
||||
. "$HOME/.cargo/env"
|
||||
if test -z "${IPE_UNINSTALL_CARGO:-}"; then
|
||||
IPE_UNINSTALL_CARGO=y
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2268,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2285,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2437,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2444,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2490,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2505,6 +2774,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.3
|
||||
elif test $PHP_MAJMIN_VERSION -le 505; then
|
||||
installRemoteModule_version=1.9.4
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.11.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2581,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2611,29 +2882,43 @@ installRemoteModule() {
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -f /usr/local/lib/libmpdec.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installLibMPDec
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 1200; then
|
||||
if test -z "$(ldconfig -p | grep -E '\slibmpdec.so\s')"; then
|
||||
installLibMPDec
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ds)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 703; then
|
||||
installRemoteModule_version=1.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=1.4.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
ecma_intl)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
fi
|
||||
;;
|
||||
event)
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 2.4.0) -ge 0; then
|
||||
@ -2706,7 +2991,7 @@ installRemoteModule() {
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -e /usr/local/include/libgearman/gearman.h || ! test -e /usr/local/lib/libgearman.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.20/gearmand-1.1.20.tar.gz)"
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.21/gearmand-1.1.21.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount) install-binPROGRAMS
|
||||
@ -2724,7 +3009,7 @@ installRemoteModule() {
|
||||
geos)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=71b5f9001512e16d3cf4657b517e8a051d6ef36f
|
||||
installRemoteModule_version=0def35611f773c951432f1f06a155471a5cb7611
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://git.osgeo.org/gitea/geos/php-geos/archive/$installRemoteModule_version.tar.gz)"
|
||||
cd "$installRemoteModule_src"
|
||||
@ -2768,10 +3053,6 @@ installRemoteModule() {
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=1.55.0
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then
|
||||
case "$DISTRO_VERSION" in
|
||||
alpine@3.13)
|
||||
@ -2807,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2847,6 +3134,13 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
jsonpath)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=1.0.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
luasandbox)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 702; then
|
||||
@ -2971,8 +3265,34 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.2
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=1.11.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.16.2
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 1.17.0) -ge 0; then
|
||||
# Enable developer flags? (yes/no)
|
||||
addConfigureOption enable-mongodb-developer-flags no
|
||||
# Enable code coverage? (yes/no)
|
||||
addConfigureOption enable-mongodb-coverage no
|
||||
# Use system libraries for libbson, libmongoc, and libmongocrypt? (yes/no)
|
||||
addConfigureOption with-mongodb-system-libs no
|
||||
# Enable client-side encryption? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-client-side-encryption yes
|
||||
# Enable Snappy for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-snappy yes
|
||||
# Enable zlib for compression? (auto/system/bundled/no)
|
||||
addConfigureOption with-mongodb-zlib yes
|
||||
# Enable zstd for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-zstd yes
|
||||
# Enable SASL for Kerberos authentication? (auto/cyrus/no)
|
||||
addConfigureOption with-mongodb-sasl yes
|
||||
# Enable crypto and TLS? (auto/openssl/libressl/darwin/no)
|
||||
addConfigureOption with-mongodb-ssl yes
|
||||
# Use system crypto profile (OpenSSL only)? (yes/no)
|
||||
addConfigureOption enable-mongodb-crypto-system-profile yes
|
||||
# Use bundled or system utf8proc for SCRAM-SHA-256 SASLprep? (bundled/system)
|
||||
addConfigureOption with-mongodb-utf8proc bundled
|
||||
fi
|
||||
;;
|
||||
mosquitto)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -2986,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2993,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3002,6 +3334,8 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=4.10.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=22.0.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3013,6 +3347,48 @@ installRemoteModule() {
|
||||
installRemoteModule_sockets=no
|
||||
fi
|
||||
installRemoteModule_openssl=yes
|
||||
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 22.1.2) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.1) -ge 0; then
|
||||
# enable c-ares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.0) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.0.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
@ -3021,25 +3397,38 @@ installRemoteModule() {
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '22.8.0') -ge 0; then
|
||||
# enable hook curl support?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
else
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '4.8.0') -ge 0; then
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
else
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
@ -3092,11 +3481,12 @@ installRemoteModule() {
|
||||
;;
|
||||
protobuf)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=3.12.4
|
||||
else
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=3.23.2
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3154,19 +3544,21 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=4.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=5.3.7
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
# Enable igbinary serializer support?
|
||||
if php --ri igbinary >/dev/null 2>/dev/null; then
|
||||
addConfigureOption 'enable-redis-igbinary' 'yes'
|
||||
addConfigureOption enable-redis-igbinary yes
|
||||
else
|
||||
addConfigureOption 'enable-redis-igbinary' 'no'
|
||||
addConfigureOption enable-redis-igbinary no
|
||||
fi
|
||||
# Enable lzf compression support?
|
||||
addConfigureOption 'enable-redis-lzf' 'yes'
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then
|
||||
addConfigureOption enable-redis-lzf yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then
|
||||
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then
|
||||
installRemoteModule_zstdVersion=1.4.4
|
||||
installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1)
|
||||
@ -3182,7 +3574,19 @@ installRemoteModule() {
|
||||
cd - >/dev/null
|
||||
fi
|
||||
# Enable zstd compression support?
|
||||
addConfigureOption 'enable-redis-zstd' 'yes'
|
||||
addConfigureOption enable-redis-zstd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
|
||||
# Enable msgpack serializer support?
|
||||
if php --ri msgpack >/dev/null 2>/dev/null; then
|
||||
addConfigureOption enable-redis-msgpack yes
|
||||
else
|
||||
addConfigureOption enable-redis-msgpack no
|
||||
fi
|
||||
# Enable lz4 compression?
|
||||
addConfigureOption enable-redis-lz4 yes
|
||||
# Use system liblz4?
|
||||
addConfigureOption with-liblz4 yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
relay)
|
||||
@ -3226,6 +3630,50 @@ installRemoteModule() {
|
||||
installRemoteModule_ini_extra="$(grep -vE '^[ \t]*extension[ \t]*=' $installRemoteModule_src/relay.ini)"
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_majorVersion="${installRemoteModule_version%%.*}"
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-aarch64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-x86_64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
esac
|
||||
else
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-setup64-v${installRemoteModule_version}.zip
|
||||
fi
|
||||
installRemoteModule_dir="$(getPackageSource $installRemoteModule_url)"
|
||||
if ! test -f /usr/lib/libsaxon-*.so; then
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
cp $installRemoteModule_dir/libs/nix/*.so /usr/lib/
|
||||
else
|
||||
cp $installRemoteModule_dir/*.so /usr/lib/
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
seasclick)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=0.1.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
snappy)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3243,7 +3691,11 @@ installRemoteModule() {
|
||||
snuffleupagus)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=0.9.0
|
||||
else
|
||||
installRemoteModule_version=0.10.0
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)"
|
||||
cd "$installRemoteModule_src/src"
|
||||
@ -3272,8 +3724,10 @@ installRemoteModule() {
|
||||
;;
|
||||
solr)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=2.4.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=2.6.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3284,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.13
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3316,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3352,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3370,6 +3829,12 @@ installRemoteModule() {
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $PHP_MAJMIN_VERSION -eq 803; then
|
||||
# see https://github.com/swoole/docker-swoole/issues/45
|
||||
installRemoteModule_curl=no
|
||||
else
|
||||
installRemoteModule_curl=yes
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3378,7 +3843,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable brotli support?
|
||||
@ -3391,7 +3856,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.11) -ge 0; then
|
||||
@ -3406,7 +3871,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.6.1) -ge 0; then
|
||||
@ -3421,7 +3886,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.4.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3545,6 +4010,66 @@ installRemoteModule() {
|
||||
installRemoteModule_version=2.2.3
|
||||
fi
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then
|
||||
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
tideways)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
debian)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
installRemoteModule_src="$installRemoteModule_src/dist"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src/tideways-php"
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installRemoteModule_src="$installRemoteModule_src-alpine"
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_src="$installRemoteModule_src-$PHP_MAJDOTMIN_VERSION"
|
||||
if test $PHP_THREADSAFE -eq 1; then
|
||||
installRemoteModule_src="$installRemoteModule_src-zts"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src.so"
|
||||
if ! test -f "$installRemoteModule_src"; then
|
||||
echo 'tideways does not support the current environment' >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$installRemoteModule_src" $(getPHPExtensionsDir)/tideways.so
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
uopz)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3571,6 +4096,51 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
uv)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=0.2.4
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
vld)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.14.0
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -3751,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -3768,7 +4345,7 @@ moduleMayUsePecl() {
|
||||
@composer | @fix_letsencrypt)
|
||||
return 1
|
||||
;;
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib)
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib | tideways)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
@ -4018,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -4038,6 +4615,10 @@ fixLetsEncrypt() {
|
||||
|
||||
# Cleanup everything at the end of the execution
|
||||
cleanup() {
|
||||
if test "${IPE_UNINSTALL_CARGO:-}" = y; then
|
||||
. "$HOME/.cargo/env"
|
||||
rustup self uninstall -y
|
||||
fi
|
||||
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
|
||||
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
|
||||
@ -4046,25 +4627,27 @@ cleanup() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then
|
||||
apk del icu-data-en >/dev/null 2>&1 || true
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
apk del --purge $PACKAGES_VOLATILE
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test -n "$PACKAGES_PREVIOUS"; then
|
||||
case "$DISTRO" in
|
||||
debian)
|
||||
printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
docker-php-source delete
|
||||
rm -rf /tmp/src
|
||||
rm -rf /tmp/pickle
|
||||
@ -4101,7 +4684,7 @@ esac
|
||||
setPHPVersionVariables
|
||||
setPHPPreinstalledModules
|
||||
case "$PHP_MAJMIN_VERSION" in
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
|
||||
*)
|
||||
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
|
||||
;;
|
||||
@ -4137,6 +4720,7 @@ fi
|
||||
if test $USE_PICKLE -gt 1; then
|
||||
buildPickle
|
||||
fi
|
||||
|
||||
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
|
||||
case "$PHP_MODULE_TO_INSTALL" in
|
||||
@fix_letsencrypt)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=2.1.28
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,53 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ' | sed -r 's# *<#\n<#g' | grep '<v>' | sed 's#<v>##g' | sed 's# ##g')"
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -422,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -650,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='libssl1.0'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -715,10 +744,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
|
||||
;;
|
||||
ddtrace@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
|
||||
;;
|
||||
ddtrace@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent curl"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
|
||||
;;
|
||||
dba@alpine)
|
||||
@ -732,8 +761,18 @@ buildRequiredPackageLists() {
|
||||
fi
|
||||
;;
|
||||
decimal@debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmpdec[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmpdec-dev"
|
||||
fi
|
||||
;;
|
||||
ecma_intl@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev libidn-dev"
|
||||
;;
|
||||
ecma_intl@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
|
||||
;;
|
||||
enchant@alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 312; then
|
||||
@ -780,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -817,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -910,6 +958,9 @@ buildRequiredPackageLists() {
|
||||
imagick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent imagemagick libgomp"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile imagemagick-dev"
|
||||
if [ $DISTRO_MAJMIN_VERSION -ge 319 ]; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ghostscript libheif libjxl libraw librsvg"
|
||||
fi
|
||||
;;
|
||||
imagick@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmagickwand-6.q16-[0-9]+$ ^libmagickcore-6.q16-[0-9]+-extra$"
|
||||
@ -1015,6 +1066,9 @@ buildRequiredPackageLists() {
|
||||
memcached@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 12; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
fi
|
||||
;;
|
||||
mongo@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl"
|
||||
@ -1026,10 +1080,18 @@ buildRequiredPackageLists() {
|
||||
mongodb@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent libsasl $buildRequiredPackageLists_libssl snappy"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev cyrus-sasl-dev snappy-dev $buildRequiredPackageLists_libssldev zlib-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent zstd-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
fi
|
||||
;;
|
||||
mongodb@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libsnappy[0-9]+(v[0-9]+)?$ ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev libsasl2-dev libsnappy-dev $buildRequiredPackageLists_libssldev zlib1g-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libzstd[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libzstd-dev"
|
||||
fi
|
||||
;;
|
||||
mosquitto@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent mosquitto-libs"
|
||||
@ -1113,6 +1175,12 @@ buildRequiredPackageLists() {
|
||||
php_trie@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
pkcs11@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm"
|
||||
;;
|
||||
pkcs11@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsofthsm2"
|
||||
;;
|
||||
pspell@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent aspell-libs $(expandASpellDictionaries)"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile aspell-dev"
|
||||
@ -1148,6 +1216,10 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
redis@debian)
|
||||
@ -1165,13 +1237,23 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev"
|
||||
fi
|
||||
;;
|
||||
relay@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libssl1.1"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent $buildRequiredPackageLists_libssl"
|
||||
fi
|
||||
;;
|
||||
saxon@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_volatile unzip"
|
||||
;;
|
||||
seasclick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
simdjson@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
@ -1232,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1298,23 +1383,38 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
tensor@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 316; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 310; then
|
||||
if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then
|
||||
IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack"
|
||||
fi
|
||||
;;
|
||||
tensor@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev"
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8"
|
||||
if test $DISTRO_VERSION_NUMBER -le 9; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev"
|
||||
fi
|
||||
;;
|
||||
tidy@alpine)
|
||||
@ -1336,6 +1436,14 @@ buildRequiredPackageLists() {
|
||||
uuid@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile uuid-dev"
|
||||
;;
|
||||
uv@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv-dev"
|
||||
;;
|
||||
uv@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv1-dev"
|
||||
;;
|
||||
vips@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent vips"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile vips-dev"
|
||||
@ -1350,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1564,6 +1680,10 @@ expandInstalledSystemPackageName() {
|
||||
# Output:
|
||||
# The number of processor cores available
|
||||
getProcessorCount() {
|
||||
if test -n "${IPE_PROCESSOR_COUNT:-}"; then
|
||||
echo $IPE_PROCESSOR_COUNT
|
||||
return
|
||||
fi
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
@ -1616,6 +1736,9 @@ getModuleFullPath() {
|
||||
apcu_bc)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/apc.so"
|
||||
;;
|
||||
seasclick)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/SeasClick.so"
|
||||
;;
|
||||
*)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/$1.so"
|
||||
;;
|
||||
@ -1890,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -1937,27 +2060,36 @@ isMicrosoftSqlServerODBCInstalled() {
|
||||
}
|
||||
|
||||
# Install the Microsoft SQL Server ODBC Driver
|
||||
# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
|
||||
installMicrosoftSqlServerODBC() {
|
||||
printf 'Installing the Microsoft SQL Server ODBC Driver\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installMicrosoftSqlServerODBC_arch=arm64
|
||||
;;
|
||||
*)
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
;;
|
||||
debian)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17
|
||||
printf -- '- installing the Microsoft APT key\n'
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
# apt-key is deprecated
|
||||
if test $DISTRO_VERSION_NUMBER -eq 11; then
|
||||
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor --yes --output /usr/share/keyrings/microsoft-prod.gpg
|
||||
else
|
||||
# apt-key is deprecated
|
||||
curl -sSLf https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
fi
|
||||
if ! test -f /etc/apt/sources.list.d/mssql-release.list; then
|
||||
@ -1968,8 +2100,8 @@ installMicrosoftSqlServerODBC() {
|
||||
printf -- '- installing the APT package\n'
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && $DISTRO_VERSION_NUMBER -le 11; then
|
||||
# On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
|
||||
# On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
|
||||
@ -1984,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -1996,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2023,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2041,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2053,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2079,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2087,6 +2230,69 @@ installLibavif() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install libmpdec
|
||||
installLibMPDec() {
|
||||
installLibMPDec_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installLibMPDec_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2203,6 +2409,56 @@ installSourceGuardian() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install Cargo (if not yet installed)
|
||||
installCargo() {
|
||||
if command -v cargo >/dev/null; then
|
||||
return
|
||||
fi
|
||||
printf '# Installing cargo\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
|
||||
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||
;;
|
||||
esac
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y -q
|
||||
. "$HOME/.cargo/env"
|
||||
if test -z "${IPE_UNINSTALL_CARGO:-}"; then
|
||||
IPE_UNINSTALL_CARGO=y
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2268,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2285,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2437,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2444,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2490,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2505,6 +2774,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.3
|
||||
elif test $PHP_MAJMIN_VERSION -le 505; then
|
||||
installRemoteModule_version=1.9.4
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.11.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2581,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2611,29 +2882,43 @@ installRemoteModule() {
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -f /usr/local/lib/libmpdec.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installLibMPDec
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 1200; then
|
||||
if test -z "$(ldconfig -p | grep -E '\slibmpdec.so\s')"; then
|
||||
installLibMPDec
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ds)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 703; then
|
||||
installRemoteModule_version=1.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=1.4.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
ecma_intl)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
fi
|
||||
;;
|
||||
event)
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 2.4.0) -ge 0; then
|
||||
@ -2706,7 +2991,7 @@ installRemoteModule() {
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -e /usr/local/include/libgearman/gearman.h || ! test -e /usr/local/lib/libgearman.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.20/gearmand-1.1.20.tar.gz)"
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.21/gearmand-1.1.21.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount) install-binPROGRAMS
|
||||
@ -2724,7 +3009,7 @@ installRemoteModule() {
|
||||
geos)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=71b5f9001512e16d3cf4657b517e8a051d6ef36f
|
||||
installRemoteModule_version=0def35611f773c951432f1f06a155471a5cb7611
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://git.osgeo.org/gitea/geos/php-geos/archive/$installRemoteModule_version.tar.gz)"
|
||||
cd "$installRemoteModule_src"
|
||||
@ -2768,10 +3053,6 @@ installRemoteModule() {
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=1.55.0
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then
|
||||
case "$DISTRO_VERSION" in
|
||||
alpine@3.13)
|
||||
@ -2807,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2847,6 +3134,13 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
jsonpath)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=1.0.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
luasandbox)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 702; then
|
||||
@ -2971,8 +3265,34 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.2
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=1.11.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.16.2
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 1.17.0) -ge 0; then
|
||||
# Enable developer flags? (yes/no)
|
||||
addConfigureOption enable-mongodb-developer-flags no
|
||||
# Enable code coverage? (yes/no)
|
||||
addConfigureOption enable-mongodb-coverage no
|
||||
# Use system libraries for libbson, libmongoc, and libmongocrypt? (yes/no)
|
||||
addConfigureOption with-mongodb-system-libs no
|
||||
# Enable client-side encryption? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-client-side-encryption yes
|
||||
# Enable Snappy for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-snappy yes
|
||||
# Enable zlib for compression? (auto/system/bundled/no)
|
||||
addConfigureOption with-mongodb-zlib yes
|
||||
# Enable zstd for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-zstd yes
|
||||
# Enable SASL for Kerberos authentication? (auto/cyrus/no)
|
||||
addConfigureOption with-mongodb-sasl yes
|
||||
# Enable crypto and TLS? (auto/openssl/libressl/darwin/no)
|
||||
addConfigureOption with-mongodb-ssl yes
|
||||
# Use system crypto profile (OpenSSL only)? (yes/no)
|
||||
addConfigureOption enable-mongodb-crypto-system-profile yes
|
||||
# Use bundled or system utf8proc for SCRAM-SHA-256 SASLprep? (bundled/system)
|
||||
addConfigureOption with-mongodb-utf8proc bundled
|
||||
fi
|
||||
;;
|
||||
mosquitto)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -2986,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2993,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3002,6 +3334,8 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=4.10.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=22.0.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3013,6 +3347,48 @@ installRemoteModule() {
|
||||
installRemoteModule_sockets=no
|
||||
fi
|
||||
installRemoteModule_openssl=yes
|
||||
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 22.1.2) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.1) -ge 0; then
|
||||
# enable c-ares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.0) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.0.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
@ -3021,25 +3397,38 @@ installRemoteModule() {
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '22.8.0') -ge 0; then
|
||||
# enable hook curl support?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
else
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '4.8.0') -ge 0; then
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
else
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
@ -3092,11 +3481,12 @@ installRemoteModule() {
|
||||
;;
|
||||
protobuf)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=3.12.4
|
||||
else
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=3.23.2
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3154,19 +3544,21 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=4.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=5.3.7
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
# Enable igbinary serializer support?
|
||||
if php --ri igbinary >/dev/null 2>/dev/null; then
|
||||
addConfigureOption 'enable-redis-igbinary' 'yes'
|
||||
addConfigureOption enable-redis-igbinary yes
|
||||
else
|
||||
addConfigureOption 'enable-redis-igbinary' 'no'
|
||||
addConfigureOption enable-redis-igbinary no
|
||||
fi
|
||||
# Enable lzf compression support?
|
||||
addConfigureOption 'enable-redis-lzf' 'yes'
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then
|
||||
addConfigureOption enable-redis-lzf yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then
|
||||
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then
|
||||
installRemoteModule_zstdVersion=1.4.4
|
||||
installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1)
|
||||
@ -3182,7 +3574,19 @@ installRemoteModule() {
|
||||
cd - >/dev/null
|
||||
fi
|
||||
# Enable zstd compression support?
|
||||
addConfigureOption 'enable-redis-zstd' 'yes'
|
||||
addConfigureOption enable-redis-zstd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
|
||||
# Enable msgpack serializer support?
|
||||
if php --ri msgpack >/dev/null 2>/dev/null; then
|
||||
addConfigureOption enable-redis-msgpack yes
|
||||
else
|
||||
addConfigureOption enable-redis-msgpack no
|
||||
fi
|
||||
# Enable lz4 compression?
|
||||
addConfigureOption enable-redis-lz4 yes
|
||||
# Use system liblz4?
|
||||
addConfigureOption with-liblz4 yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
relay)
|
||||
@ -3226,6 +3630,50 @@ installRemoteModule() {
|
||||
installRemoteModule_ini_extra="$(grep -vE '^[ \t]*extension[ \t]*=' $installRemoteModule_src/relay.ini)"
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_majorVersion="${installRemoteModule_version%%.*}"
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-aarch64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-x86_64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
esac
|
||||
else
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-setup64-v${installRemoteModule_version}.zip
|
||||
fi
|
||||
installRemoteModule_dir="$(getPackageSource $installRemoteModule_url)"
|
||||
if ! test -f /usr/lib/libsaxon-*.so; then
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
cp $installRemoteModule_dir/libs/nix/*.so /usr/lib/
|
||||
else
|
||||
cp $installRemoteModule_dir/*.so /usr/lib/
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
seasclick)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=0.1.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
snappy)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3243,7 +3691,11 @@ installRemoteModule() {
|
||||
snuffleupagus)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=0.9.0
|
||||
else
|
||||
installRemoteModule_version=0.10.0
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)"
|
||||
cd "$installRemoteModule_src/src"
|
||||
@ -3272,8 +3724,10 @@ installRemoteModule() {
|
||||
;;
|
||||
solr)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=2.4.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=2.6.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3284,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.13
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3316,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3352,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3370,6 +3829,12 @@ installRemoteModule() {
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $PHP_MAJMIN_VERSION -eq 803; then
|
||||
# see https://github.com/swoole/docker-swoole/issues/45
|
||||
installRemoteModule_curl=no
|
||||
else
|
||||
installRemoteModule_curl=yes
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3378,7 +3843,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable brotli support?
|
||||
@ -3391,7 +3856,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.11) -ge 0; then
|
||||
@ -3406,7 +3871,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.6.1) -ge 0; then
|
||||
@ -3421,7 +3886,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.4.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3545,6 +4010,66 @@ installRemoteModule() {
|
||||
installRemoteModule_version=2.2.3
|
||||
fi
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then
|
||||
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
tideways)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
debian)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
installRemoteModule_src="$installRemoteModule_src/dist"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src/tideways-php"
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installRemoteModule_src="$installRemoteModule_src-alpine"
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_src="$installRemoteModule_src-$PHP_MAJDOTMIN_VERSION"
|
||||
if test $PHP_THREADSAFE -eq 1; then
|
||||
installRemoteModule_src="$installRemoteModule_src-zts"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src.so"
|
||||
if ! test -f "$installRemoteModule_src"; then
|
||||
echo 'tideways does not support the current environment' >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$installRemoteModule_src" $(getPHPExtensionsDir)/tideways.so
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
uopz)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3571,6 +4096,51 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
uv)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=0.2.4
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
vld)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.14.0
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -3751,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -3768,7 +4345,7 @@ moduleMayUsePecl() {
|
||||
@composer | @fix_letsencrypt)
|
||||
return 1
|
||||
;;
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib)
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib | tideways)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
@ -4018,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -4038,6 +4615,10 @@ fixLetsEncrypt() {
|
||||
|
||||
# Cleanup everything at the end of the execution
|
||||
cleanup() {
|
||||
if test "${IPE_UNINSTALL_CARGO:-}" = y; then
|
||||
. "$HOME/.cargo/env"
|
||||
rustup self uninstall -y
|
||||
fi
|
||||
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
|
||||
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
|
||||
@ -4046,25 +4627,27 @@ cleanup() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then
|
||||
apk del icu-data-en >/dev/null 2>&1 || true
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
apk del --purge $PACKAGES_VOLATILE
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test -n "$PACKAGES_PREVIOUS"; then
|
||||
case "$DISTRO" in
|
||||
debian)
|
||||
printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
docker-php-source delete
|
||||
rm -rf /tmp/src
|
||||
rm -rf /tmp/pickle
|
||||
@ -4101,7 +4684,7 @@ esac
|
||||
setPHPVersionVariables
|
||||
setPHPPreinstalledModules
|
||||
case "$PHP_MAJMIN_VERSION" in
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
|
||||
*)
|
||||
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
|
||||
;;
|
||||
@ -4137,6 +4720,7 @@ fi
|
||||
if test $USE_PICKLE -gt 1; then
|
||||
buildPickle
|
||||
fi
|
||||
|
||||
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
|
||||
case "$PHP_MODULE_TO_INSTALL" in
|
||||
@fix_letsencrypt)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=2.1.28
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,53 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ' | sed -r 's# *<#\n<#g' | grep '<v>' | sed 's#<v>##g' | sed 's# ##g')"
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -422,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -650,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='libssl1.0'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -715,10 +744,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
|
||||
;;
|
||||
ddtrace@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
|
||||
;;
|
||||
ddtrace@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent curl"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
|
||||
;;
|
||||
dba@alpine)
|
||||
@ -732,8 +761,18 @@ buildRequiredPackageLists() {
|
||||
fi
|
||||
;;
|
||||
decimal@debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmpdec[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmpdec-dev"
|
||||
fi
|
||||
;;
|
||||
ecma_intl@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev libidn-dev"
|
||||
;;
|
||||
ecma_intl@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
|
||||
;;
|
||||
enchant@alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 312; then
|
||||
@ -780,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -817,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -910,6 +958,9 @@ buildRequiredPackageLists() {
|
||||
imagick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent imagemagick libgomp"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile imagemagick-dev"
|
||||
if [ $DISTRO_MAJMIN_VERSION -ge 319 ]; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ghostscript libheif libjxl libraw librsvg"
|
||||
fi
|
||||
;;
|
||||
imagick@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmagickwand-6.q16-[0-9]+$ ^libmagickcore-6.q16-[0-9]+-extra$"
|
||||
@ -1015,6 +1066,9 @@ buildRequiredPackageLists() {
|
||||
memcached@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 12; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
fi
|
||||
;;
|
||||
mongo@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl"
|
||||
@ -1026,10 +1080,18 @@ buildRequiredPackageLists() {
|
||||
mongodb@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent libsasl $buildRequiredPackageLists_libssl snappy"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev cyrus-sasl-dev snappy-dev $buildRequiredPackageLists_libssldev zlib-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent zstd-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
fi
|
||||
;;
|
||||
mongodb@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libsnappy[0-9]+(v[0-9]+)?$ ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev libsasl2-dev libsnappy-dev $buildRequiredPackageLists_libssldev zlib1g-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libzstd[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libzstd-dev"
|
||||
fi
|
||||
;;
|
||||
mosquitto@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent mosquitto-libs"
|
||||
@ -1113,6 +1175,12 @@ buildRequiredPackageLists() {
|
||||
php_trie@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
pkcs11@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm"
|
||||
;;
|
||||
pkcs11@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsofthsm2"
|
||||
;;
|
||||
pspell@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent aspell-libs $(expandASpellDictionaries)"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile aspell-dev"
|
||||
@ -1148,6 +1216,10 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
redis@debian)
|
||||
@ -1165,13 +1237,23 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev"
|
||||
fi
|
||||
;;
|
||||
relay@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libssl1.1"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent $buildRequiredPackageLists_libssl"
|
||||
fi
|
||||
;;
|
||||
saxon@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_volatile unzip"
|
||||
;;
|
||||
seasclick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
simdjson@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
@ -1232,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1298,23 +1383,38 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
tensor@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 316; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 310; then
|
||||
if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then
|
||||
IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack"
|
||||
fi
|
||||
;;
|
||||
tensor@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev"
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8"
|
||||
if test $DISTRO_VERSION_NUMBER -le 9; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev"
|
||||
fi
|
||||
;;
|
||||
tidy@alpine)
|
||||
@ -1336,6 +1436,14 @@ buildRequiredPackageLists() {
|
||||
uuid@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile uuid-dev"
|
||||
;;
|
||||
uv@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv-dev"
|
||||
;;
|
||||
uv@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv1-dev"
|
||||
;;
|
||||
vips@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent vips"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile vips-dev"
|
||||
@ -1350,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1564,6 +1680,10 @@ expandInstalledSystemPackageName() {
|
||||
# Output:
|
||||
# The number of processor cores available
|
||||
getProcessorCount() {
|
||||
if test -n "${IPE_PROCESSOR_COUNT:-}"; then
|
||||
echo $IPE_PROCESSOR_COUNT
|
||||
return
|
||||
fi
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
@ -1616,6 +1736,9 @@ getModuleFullPath() {
|
||||
apcu_bc)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/apc.so"
|
||||
;;
|
||||
seasclick)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/SeasClick.so"
|
||||
;;
|
||||
*)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/$1.so"
|
||||
;;
|
||||
@ -1890,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -1937,27 +2060,36 @@ isMicrosoftSqlServerODBCInstalled() {
|
||||
}
|
||||
|
||||
# Install the Microsoft SQL Server ODBC Driver
|
||||
# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
|
||||
installMicrosoftSqlServerODBC() {
|
||||
printf 'Installing the Microsoft SQL Server ODBC Driver\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installMicrosoftSqlServerODBC_arch=arm64
|
||||
;;
|
||||
*)
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
;;
|
||||
debian)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17
|
||||
printf -- '- installing the Microsoft APT key\n'
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
# apt-key is deprecated
|
||||
if test $DISTRO_VERSION_NUMBER -eq 11; then
|
||||
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor --yes --output /usr/share/keyrings/microsoft-prod.gpg
|
||||
else
|
||||
# apt-key is deprecated
|
||||
curl -sSLf https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
fi
|
||||
if ! test -f /etc/apt/sources.list.d/mssql-release.list; then
|
||||
@ -1968,8 +2100,8 @@ installMicrosoftSqlServerODBC() {
|
||||
printf -- '- installing the APT package\n'
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && $DISTRO_VERSION_NUMBER -le 11; then
|
||||
# On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
|
||||
# On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
|
||||
@ -1984,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -1996,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2023,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2041,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2053,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2079,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2087,6 +2230,69 @@ installLibavif() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install libmpdec
|
||||
installLibMPDec() {
|
||||
installLibMPDec_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installLibMPDec_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2203,6 +2409,56 @@ installSourceGuardian() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install Cargo (if not yet installed)
|
||||
installCargo() {
|
||||
if command -v cargo >/dev/null; then
|
||||
return
|
||||
fi
|
||||
printf '# Installing cargo\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
|
||||
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||
;;
|
||||
esac
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y -q
|
||||
. "$HOME/.cargo/env"
|
||||
if test -z "${IPE_UNINSTALL_CARGO:-}"; then
|
||||
IPE_UNINSTALL_CARGO=y
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2268,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2285,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2437,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2444,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2490,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2505,6 +2774,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.3
|
||||
elif test $PHP_MAJMIN_VERSION -le 505; then
|
||||
installRemoteModule_version=1.9.4
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.11.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2581,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2611,29 +2882,43 @@ installRemoteModule() {
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -f /usr/local/lib/libmpdec.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installLibMPDec
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 1200; then
|
||||
if test -z "$(ldconfig -p | grep -E '\slibmpdec.so\s')"; then
|
||||
installLibMPDec
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ds)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 703; then
|
||||
installRemoteModule_version=1.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=1.4.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
ecma_intl)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
fi
|
||||
;;
|
||||
event)
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 2.4.0) -ge 0; then
|
||||
@ -2706,7 +2991,7 @@ installRemoteModule() {
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -e /usr/local/include/libgearman/gearman.h || ! test -e /usr/local/lib/libgearman.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.20/gearmand-1.1.20.tar.gz)"
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.21/gearmand-1.1.21.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount) install-binPROGRAMS
|
||||
@ -2724,7 +3009,7 @@ installRemoteModule() {
|
||||
geos)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=71b5f9001512e16d3cf4657b517e8a051d6ef36f
|
||||
installRemoteModule_version=0def35611f773c951432f1f06a155471a5cb7611
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://git.osgeo.org/gitea/geos/php-geos/archive/$installRemoteModule_version.tar.gz)"
|
||||
cd "$installRemoteModule_src"
|
||||
@ -2768,10 +3053,6 @@ installRemoteModule() {
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=1.55.0
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then
|
||||
case "$DISTRO_VERSION" in
|
||||
alpine@3.13)
|
||||
@ -2807,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2847,6 +3134,13 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
jsonpath)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=1.0.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
luasandbox)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 702; then
|
||||
@ -2971,8 +3265,34 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.2
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=1.11.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.16.2
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 1.17.0) -ge 0; then
|
||||
# Enable developer flags? (yes/no)
|
||||
addConfigureOption enable-mongodb-developer-flags no
|
||||
# Enable code coverage? (yes/no)
|
||||
addConfigureOption enable-mongodb-coverage no
|
||||
# Use system libraries for libbson, libmongoc, and libmongocrypt? (yes/no)
|
||||
addConfigureOption with-mongodb-system-libs no
|
||||
# Enable client-side encryption? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-client-side-encryption yes
|
||||
# Enable Snappy for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-snappy yes
|
||||
# Enable zlib for compression? (auto/system/bundled/no)
|
||||
addConfigureOption with-mongodb-zlib yes
|
||||
# Enable zstd for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-zstd yes
|
||||
# Enable SASL for Kerberos authentication? (auto/cyrus/no)
|
||||
addConfigureOption with-mongodb-sasl yes
|
||||
# Enable crypto and TLS? (auto/openssl/libressl/darwin/no)
|
||||
addConfigureOption with-mongodb-ssl yes
|
||||
# Use system crypto profile (OpenSSL only)? (yes/no)
|
||||
addConfigureOption enable-mongodb-crypto-system-profile yes
|
||||
# Use bundled or system utf8proc for SCRAM-SHA-256 SASLprep? (bundled/system)
|
||||
addConfigureOption with-mongodb-utf8proc bundled
|
||||
fi
|
||||
;;
|
||||
mosquitto)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -2986,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2993,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3002,6 +3334,8 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=4.10.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=22.0.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3013,6 +3347,48 @@ installRemoteModule() {
|
||||
installRemoteModule_sockets=no
|
||||
fi
|
||||
installRemoteModule_openssl=yes
|
||||
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 22.1.2) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.1) -ge 0; then
|
||||
# enable c-ares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.0) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.0.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
@ -3021,25 +3397,38 @@ installRemoteModule() {
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '22.8.0') -ge 0; then
|
||||
# enable hook curl support?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
else
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '4.8.0') -ge 0; then
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
else
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
@ -3092,11 +3481,12 @@ installRemoteModule() {
|
||||
;;
|
||||
protobuf)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=3.12.4
|
||||
else
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=3.23.2
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3154,19 +3544,21 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=4.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=5.3.7
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
# Enable igbinary serializer support?
|
||||
if php --ri igbinary >/dev/null 2>/dev/null; then
|
||||
addConfigureOption 'enable-redis-igbinary' 'yes'
|
||||
addConfigureOption enable-redis-igbinary yes
|
||||
else
|
||||
addConfigureOption 'enable-redis-igbinary' 'no'
|
||||
addConfigureOption enable-redis-igbinary no
|
||||
fi
|
||||
# Enable lzf compression support?
|
||||
addConfigureOption 'enable-redis-lzf' 'yes'
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then
|
||||
addConfigureOption enable-redis-lzf yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then
|
||||
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then
|
||||
installRemoteModule_zstdVersion=1.4.4
|
||||
installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1)
|
||||
@ -3182,7 +3574,19 @@ installRemoteModule() {
|
||||
cd - >/dev/null
|
||||
fi
|
||||
# Enable zstd compression support?
|
||||
addConfigureOption 'enable-redis-zstd' 'yes'
|
||||
addConfigureOption enable-redis-zstd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
|
||||
# Enable msgpack serializer support?
|
||||
if php --ri msgpack >/dev/null 2>/dev/null; then
|
||||
addConfigureOption enable-redis-msgpack yes
|
||||
else
|
||||
addConfigureOption enable-redis-msgpack no
|
||||
fi
|
||||
# Enable lz4 compression?
|
||||
addConfigureOption enable-redis-lz4 yes
|
||||
# Use system liblz4?
|
||||
addConfigureOption with-liblz4 yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
relay)
|
||||
@ -3226,6 +3630,50 @@ installRemoteModule() {
|
||||
installRemoteModule_ini_extra="$(grep -vE '^[ \t]*extension[ \t]*=' $installRemoteModule_src/relay.ini)"
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_majorVersion="${installRemoteModule_version%%.*}"
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-aarch64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-x86_64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
esac
|
||||
else
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-setup64-v${installRemoteModule_version}.zip
|
||||
fi
|
||||
installRemoteModule_dir="$(getPackageSource $installRemoteModule_url)"
|
||||
if ! test -f /usr/lib/libsaxon-*.so; then
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
cp $installRemoteModule_dir/libs/nix/*.so /usr/lib/
|
||||
else
|
||||
cp $installRemoteModule_dir/*.so /usr/lib/
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
seasclick)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=0.1.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
snappy)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3243,7 +3691,11 @@ installRemoteModule() {
|
||||
snuffleupagus)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=0.9.0
|
||||
else
|
||||
installRemoteModule_version=0.10.0
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)"
|
||||
cd "$installRemoteModule_src/src"
|
||||
@ -3272,8 +3724,10 @@ installRemoteModule() {
|
||||
;;
|
||||
solr)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=2.4.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=2.6.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3284,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.13
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3316,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3352,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3370,6 +3829,12 @@ installRemoteModule() {
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $PHP_MAJMIN_VERSION -eq 803; then
|
||||
# see https://github.com/swoole/docker-swoole/issues/45
|
||||
installRemoteModule_curl=no
|
||||
else
|
||||
installRemoteModule_curl=yes
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3378,7 +3843,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable brotli support?
|
||||
@ -3391,7 +3856,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.11) -ge 0; then
|
||||
@ -3406,7 +3871,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.6.1) -ge 0; then
|
||||
@ -3421,7 +3886,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.4.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3545,6 +4010,66 @@ installRemoteModule() {
|
||||
installRemoteModule_version=2.2.3
|
||||
fi
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then
|
||||
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
tideways)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
debian)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
installRemoteModule_src="$installRemoteModule_src/dist"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src/tideways-php"
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installRemoteModule_src="$installRemoteModule_src-alpine"
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_src="$installRemoteModule_src-$PHP_MAJDOTMIN_VERSION"
|
||||
if test $PHP_THREADSAFE -eq 1; then
|
||||
installRemoteModule_src="$installRemoteModule_src-zts"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src.so"
|
||||
if ! test -f "$installRemoteModule_src"; then
|
||||
echo 'tideways does not support the current environment' >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$installRemoteModule_src" $(getPHPExtensionsDir)/tideways.so
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
uopz)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3571,6 +4096,51 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
uv)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=0.2.4
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
vld)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.14.0
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -3751,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -3768,7 +4345,7 @@ moduleMayUsePecl() {
|
||||
@composer | @fix_letsencrypt)
|
||||
return 1
|
||||
;;
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib)
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib | tideways)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
@ -4018,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -4038,6 +4615,10 @@ fixLetsEncrypt() {
|
||||
|
||||
# Cleanup everything at the end of the execution
|
||||
cleanup() {
|
||||
if test "${IPE_UNINSTALL_CARGO:-}" = y; then
|
||||
. "$HOME/.cargo/env"
|
||||
rustup self uninstall -y
|
||||
fi
|
||||
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
|
||||
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
|
||||
@ -4046,25 +4627,27 @@ cleanup() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then
|
||||
apk del icu-data-en >/dev/null 2>&1 || true
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
apk del --purge $PACKAGES_VOLATILE
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test -n "$PACKAGES_PREVIOUS"; then
|
||||
case "$DISTRO" in
|
||||
debian)
|
||||
printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
docker-php-source delete
|
||||
rm -rf /tmp/src
|
||||
rm -rf /tmp/pickle
|
||||
@ -4101,7 +4684,7 @@ esac
|
||||
setPHPVersionVariables
|
||||
setPHPPreinstalledModules
|
||||
case "$PHP_MAJMIN_VERSION" in
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
|
||||
*)
|
||||
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
|
||||
;;
|
||||
@ -4137,6 +4720,7 @@ fi
|
||||
if test $USE_PICKLE -gt 1; then
|
||||
buildPickle
|
||||
fi
|
||||
|
||||
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
|
||||
case "$PHP_MODULE_TO_INSTALL" in
|
||||
@fix_letsencrypt)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=2.1.28
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,53 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ' | sed -r 's# *<#\n<#g' | grep '<v>' | sed 's#<v>##g' | sed 's# ##g')"
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -422,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -650,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='libssl1.0'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -715,10 +744,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
|
||||
;;
|
||||
ddtrace@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
|
||||
;;
|
||||
ddtrace@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent curl"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
|
||||
;;
|
||||
dba@alpine)
|
||||
@ -732,8 +761,18 @@ buildRequiredPackageLists() {
|
||||
fi
|
||||
;;
|
||||
decimal@debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmpdec[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmpdec-dev"
|
||||
fi
|
||||
;;
|
||||
ecma_intl@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev libidn-dev"
|
||||
;;
|
||||
ecma_intl@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
|
||||
;;
|
||||
enchant@alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 312; then
|
||||
@ -780,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -817,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -910,6 +958,9 @@ buildRequiredPackageLists() {
|
||||
imagick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent imagemagick libgomp"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile imagemagick-dev"
|
||||
if [ $DISTRO_MAJMIN_VERSION -ge 319 ]; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ghostscript libheif libjxl libraw librsvg"
|
||||
fi
|
||||
;;
|
||||
imagick@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmagickwand-6.q16-[0-9]+$ ^libmagickcore-6.q16-[0-9]+-extra$"
|
||||
@ -1015,6 +1066,9 @@ buildRequiredPackageLists() {
|
||||
memcached@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 12; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
fi
|
||||
;;
|
||||
mongo@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl"
|
||||
@ -1026,10 +1080,18 @@ buildRequiredPackageLists() {
|
||||
mongodb@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent libsasl $buildRequiredPackageLists_libssl snappy"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev cyrus-sasl-dev snappy-dev $buildRequiredPackageLists_libssldev zlib-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent zstd-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
fi
|
||||
;;
|
||||
mongodb@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libsnappy[0-9]+(v[0-9]+)?$ ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev libsasl2-dev libsnappy-dev $buildRequiredPackageLists_libssldev zlib1g-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libzstd[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libzstd-dev"
|
||||
fi
|
||||
;;
|
||||
mosquitto@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent mosquitto-libs"
|
||||
@ -1113,6 +1175,12 @@ buildRequiredPackageLists() {
|
||||
php_trie@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
pkcs11@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm"
|
||||
;;
|
||||
pkcs11@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsofthsm2"
|
||||
;;
|
||||
pspell@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent aspell-libs $(expandASpellDictionaries)"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile aspell-dev"
|
||||
@ -1148,6 +1216,10 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
redis@debian)
|
||||
@ -1165,13 +1237,23 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev"
|
||||
fi
|
||||
;;
|
||||
relay@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libssl1.1"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent $buildRequiredPackageLists_libssl"
|
||||
fi
|
||||
;;
|
||||
saxon@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_volatile unzip"
|
||||
;;
|
||||
seasclick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
simdjson@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
@ -1232,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1298,23 +1383,38 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
tensor@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 316; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 310; then
|
||||
if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then
|
||||
IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack"
|
||||
fi
|
||||
;;
|
||||
tensor@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev"
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8"
|
||||
if test $DISTRO_VERSION_NUMBER -le 9; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev"
|
||||
fi
|
||||
;;
|
||||
tidy@alpine)
|
||||
@ -1336,6 +1436,14 @@ buildRequiredPackageLists() {
|
||||
uuid@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile uuid-dev"
|
||||
;;
|
||||
uv@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv-dev"
|
||||
;;
|
||||
uv@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv1-dev"
|
||||
;;
|
||||
vips@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent vips"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile vips-dev"
|
||||
@ -1350,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1564,6 +1680,10 @@ expandInstalledSystemPackageName() {
|
||||
# Output:
|
||||
# The number of processor cores available
|
||||
getProcessorCount() {
|
||||
if test -n "${IPE_PROCESSOR_COUNT:-}"; then
|
||||
echo $IPE_PROCESSOR_COUNT
|
||||
return
|
||||
fi
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
@ -1616,6 +1736,9 @@ getModuleFullPath() {
|
||||
apcu_bc)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/apc.so"
|
||||
;;
|
||||
seasclick)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/SeasClick.so"
|
||||
;;
|
||||
*)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/$1.so"
|
||||
;;
|
||||
@ -1890,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -1937,27 +2060,36 @@ isMicrosoftSqlServerODBCInstalled() {
|
||||
}
|
||||
|
||||
# Install the Microsoft SQL Server ODBC Driver
|
||||
# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
|
||||
installMicrosoftSqlServerODBC() {
|
||||
printf 'Installing the Microsoft SQL Server ODBC Driver\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installMicrosoftSqlServerODBC_arch=arm64
|
||||
;;
|
||||
*)
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
;;
|
||||
debian)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17
|
||||
printf -- '- installing the Microsoft APT key\n'
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
# apt-key is deprecated
|
||||
if test $DISTRO_VERSION_NUMBER -eq 11; then
|
||||
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor --yes --output /usr/share/keyrings/microsoft-prod.gpg
|
||||
else
|
||||
# apt-key is deprecated
|
||||
curl -sSLf https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
fi
|
||||
if ! test -f /etc/apt/sources.list.d/mssql-release.list; then
|
||||
@ -1968,8 +2100,8 @@ installMicrosoftSqlServerODBC() {
|
||||
printf -- '- installing the APT package\n'
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && $DISTRO_VERSION_NUMBER -le 11; then
|
||||
# On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
|
||||
# On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
|
||||
@ -1984,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -1996,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2023,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2041,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2053,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2079,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2087,6 +2230,69 @@ installLibavif() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install libmpdec
|
||||
installLibMPDec() {
|
||||
installLibMPDec_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installLibMPDec_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2203,6 +2409,56 @@ installSourceGuardian() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install Cargo (if not yet installed)
|
||||
installCargo() {
|
||||
if command -v cargo >/dev/null; then
|
||||
return
|
||||
fi
|
||||
printf '# Installing cargo\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
|
||||
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||
;;
|
||||
esac
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y -q
|
||||
. "$HOME/.cargo/env"
|
||||
if test -z "${IPE_UNINSTALL_CARGO:-}"; then
|
||||
IPE_UNINSTALL_CARGO=y
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2268,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2285,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2437,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2444,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2490,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2505,6 +2774,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.3
|
||||
elif test $PHP_MAJMIN_VERSION -le 505; then
|
||||
installRemoteModule_version=1.9.4
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.11.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2581,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2611,29 +2882,43 @@ installRemoteModule() {
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -f /usr/local/lib/libmpdec.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installLibMPDec
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 1200; then
|
||||
if test -z "$(ldconfig -p | grep -E '\slibmpdec.so\s')"; then
|
||||
installLibMPDec
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ds)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 703; then
|
||||
installRemoteModule_version=1.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=1.4.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
ecma_intl)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
fi
|
||||
;;
|
||||
event)
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 2.4.0) -ge 0; then
|
||||
@ -2706,7 +2991,7 @@ installRemoteModule() {
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -e /usr/local/include/libgearman/gearman.h || ! test -e /usr/local/lib/libgearman.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.20/gearmand-1.1.20.tar.gz)"
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.21/gearmand-1.1.21.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount) install-binPROGRAMS
|
||||
@ -2724,7 +3009,7 @@ installRemoteModule() {
|
||||
geos)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=71b5f9001512e16d3cf4657b517e8a051d6ef36f
|
||||
installRemoteModule_version=0def35611f773c951432f1f06a155471a5cb7611
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://git.osgeo.org/gitea/geos/php-geos/archive/$installRemoteModule_version.tar.gz)"
|
||||
cd "$installRemoteModule_src"
|
||||
@ -2768,10 +3053,6 @@ installRemoteModule() {
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=1.55.0
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then
|
||||
case "$DISTRO_VERSION" in
|
||||
alpine@3.13)
|
||||
@ -2807,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2847,6 +3134,13 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
jsonpath)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=1.0.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
luasandbox)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 702; then
|
||||
@ -2971,8 +3265,34 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.2
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=1.11.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.16.2
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 1.17.0) -ge 0; then
|
||||
# Enable developer flags? (yes/no)
|
||||
addConfigureOption enable-mongodb-developer-flags no
|
||||
# Enable code coverage? (yes/no)
|
||||
addConfigureOption enable-mongodb-coverage no
|
||||
# Use system libraries for libbson, libmongoc, and libmongocrypt? (yes/no)
|
||||
addConfigureOption with-mongodb-system-libs no
|
||||
# Enable client-side encryption? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-client-side-encryption yes
|
||||
# Enable Snappy for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-snappy yes
|
||||
# Enable zlib for compression? (auto/system/bundled/no)
|
||||
addConfigureOption with-mongodb-zlib yes
|
||||
# Enable zstd for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-zstd yes
|
||||
# Enable SASL for Kerberos authentication? (auto/cyrus/no)
|
||||
addConfigureOption with-mongodb-sasl yes
|
||||
# Enable crypto and TLS? (auto/openssl/libressl/darwin/no)
|
||||
addConfigureOption with-mongodb-ssl yes
|
||||
# Use system crypto profile (OpenSSL only)? (yes/no)
|
||||
addConfigureOption enable-mongodb-crypto-system-profile yes
|
||||
# Use bundled or system utf8proc for SCRAM-SHA-256 SASLprep? (bundled/system)
|
||||
addConfigureOption with-mongodb-utf8proc bundled
|
||||
fi
|
||||
;;
|
||||
mosquitto)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -2986,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2993,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3002,6 +3334,8 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=4.10.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=22.0.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3013,6 +3347,48 @@ installRemoteModule() {
|
||||
installRemoteModule_sockets=no
|
||||
fi
|
||||
installRemoteModule_openssl=yes
|
||||
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 22.1.2) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.1) -ge 0; then
|
||||
# enable c-ares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.0) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.0.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
@ -3021,25 +3397,38 @@ installRemoteModule() {
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '22.8.0') -ge 0; then
|
||||
# enable hook curl support?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
else
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '4.8.0') -ge 0; then
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
else
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
@ -3092,11 +3481,12 @@ installRemoteModule() {
|
||||
;;
|
||||
protobuf)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=3.12.4
|
||||
else
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=3.23.2
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3154,19 +3544,21 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=4.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=5.3.7
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
# Enable igbinary serializer support?
|
||||
if php --ri igbinary >/dev/null 2>/dev/null; then
|
||||
addConfigureOption 'enable-redis-igbinary' 'yes'
|
||||
addConfigureOption enable-redis-igbinary yes
|
||||
else
|
||||
addConfigureOption 'enable-redis-igbinary' 'no'
|
||||
addConfigureOption enable-redis-igbinary no
|
||||
fi
|
||||
# Enable lzf compression support?
|
||||
addConfigureOption 'enable-redis-lzf' 'yes'
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then
|
||||
addConfigureOption enable-redis-lzf yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then
|
||||
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then
|
||||
installRemoteModule_zstdVersion=1.4.4
|
||||
installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1)
|
||||
@ -3182,7 +3574,19 @@ installRemoteModule() {
|
||||
cd - >/dev/null
|
||||
fi
|
||||
# Enable zstd compression support?
|
||||
addConfigureOption 'enable-redis-zstd' 'yes'
|
||||
addConfigureOption enable-redis-zstd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
|
||||
# Enable msgpack serializer support?
|
||||
if php --ri msgpack >/dev/null 2>/dev/null; then
|
||||
addConfigureOption enable-redis-msgpack yes
|
||||
else
|
||||
addConfigureOption enable-redis-msgpack no
|
||||
fi
|
||||
# Enable lz4 compression?
|
||||
addConfigureOption enable-redis-lz4 yes
|
||||
# Use system liblz4?
|
||||
addConfigureOption with-liblz4 yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
relay)
|
||||
@ -3226,6 +3630,50 @@ installRemoteModule() {
|
||||
installRemoteModule_ini_extra="$(grep -vE '^[ \t]*extension[ \t]*=' $installRemoteModule_src/relay.ini)"
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_majorVersion="${installRemoteModule_version%%.*}"
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-aarch64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-x86_64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
esac
|
||||
else
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-setup64-v${installRemoteModule_version}.zip
|
||||
fi
|
||||
installRemoteModule_dir="$(getPackageSource $installRemoteModule_url)"
|
||||
if ! test -f /usr/lib/libsaxon-*.so; then
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
cp $installRemoteModule_dir/libs/nix/*.so /usr/lib/
|
||||
else
|
||||
cp $installRemoteModule_dir/*.so /usr/lib/
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
seasclick)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=0.1.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
snappy)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3243,7 +3691,11 @@ installRemoteModule() {
|
||||
snuffleupagus)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=0.9.0
|
||||
else
|
||||
installRemoteModule_version=0.10.0
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)"
|
||||
cd "$installRemoteModule_src/src"
|
||||
@ -3272,8 +3724,10 @@ installRemoteModule() {
|
||||
;;
|
||||
solr)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=2.4.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=2.6.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3284,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.13
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3316,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3352,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3370,6 +3829,12 @@ installRemoteModule() {
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $PHP_MAJMIN_VERSION -eq 803; then
|
||||
# see https://github.com/swoole/docker-swoole/issues/45
|
||||
installRemoteModule_curl=no
|
||||
else
|
||||
installRemoteModule_curl=yes
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3378,7 +3843,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable brotli support?
|
||||
@ -3391,7 +3856,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.11) -ge 0; then
|
||||
@ -3406,7 +3871,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.6.1) -ge 0; then
|
||||
@ -3421,7 +3886,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.4.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3545,6 +4010,66 @@ installRemoteModule() {
|
||||
installRemoteModule_version=2.2.3
|
||||
fi
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then
|
||||
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
tideways)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
debian)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
installRemoteModule_src="$installRemoteModule_src/dist"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src/tideways-php"
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installRemoteModule_src="$installRemoteModule_src-alpine"
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_src="$installRemoteModule_src-$PHP_MAJDOTMIN_VERSION"
|
||||
if test $PHP_THREADSAFE -eq 1; then
|
||||
installRemoteModule_src="$installRemoteModule_src-zts"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src.so"
|
||||
if ! test -f "$installRemoteModule_src"; then
|
||||
echo 'tideways does not support the current environment' >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$installRemoteModule_src" $(getPHPExtensionsDir)/tideways.so
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
uopz)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3571,6 +4096,51 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
uv)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=0.2.4
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
vld)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.14.0
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -3751,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -3768,7 +4345,7 @@ moduleMayUsePecl() {
|
||||
@composer | @fix_letsencrypt)
|
||||
return 1
|
||||
;;
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib)
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib | tideways)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
@ -4018,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -4038,6 +4615,10 @@ fixLetsEncrypt() {
|
||||
|
||||
# Cleanup everything at the end of the execution
|
||||
cleanup() {
|
||||
if test "${IPE_UNINSTALL_CARGO:-}" = y; then
|
||||
. "$HOME/.cargo/env"
|
||||
rustup self uninstall -y
|
||||
fi
|
||||
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
|
||||
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
|
||||
@ -4046,25 +4627,27 @@ cleanup() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then
|
||||
apk del icu-data-en >/dev/null 2>&1 || true
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
apk del --purge $PACKAGES_VOLATILE
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test -n "$PACKAGES_PREVIOUS"; then
|
||||
case "$DISTRO" in
|
||||
debian)
|
||||
printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
docker-php-source delete
|
||||
rm -rf /tmp/src
|
||||
rm -rf /tmp/pickle
|
||||
@ -4101,7 +4684,7 @@ esac
|
||||
setPHPVersionVariables
|
||||
setPHPPreinstalledModules
|
||||
case "$PHP_MAJMIN_VERSION" in
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
|
||||
*)
|
||||
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
|
||||
;;
|
||||
@ -4137,6 +4720,7 @@ fi
|
||||
if test $USE_PICKLE -gt 1; then
|
||||
buildPickle
|
||||
fi
|
||||
|
||||
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
|
||||
case "$PHP_MODULE_TO_INSTALL" in
|
||||
@fix_letsencrypt)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=2.1.28
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,53 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ' | sed -r 's# *<#\n<#g' | grep '<v>' | sed 's#<v>##g' | sed 's# ##g')"
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -422,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -650,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='libssl1.0'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -715,10 +744,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
|
||||
;;
|
||||
ddtrace@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
|
||||
;;
|
||||
ddtrace@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent curl"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
|
||||
;;
|
||||
dba@alpine)
|
||||
@ -732,8 +761,18 @@ buildRequiredPackageLists() {
|
||||
fi
|
||||
;;
|
||||
decimal@debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmpdec[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmpdec-dev"
|
||||
fi
|
||||
;;
|
||||
ecma_intl@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev libidn-dev"
|
||||
;;
|
||||
ecma_intl@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
|
||||
;;
|
||||
enchant@alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 312; then
|
||||
@ -780,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -817,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -910,6 +958,9 @@ buildRequiredPackageLists() {
|
||||
imagick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent imagemagick libgomp"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile imagemagick-dev"
|
||||
if [ $DISTRO_MAJMIN_VERSION -ge 319 ]; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ghostscript libheif libjxl libraw librsvg"
|
||||
fi
|
||||
;;
|
||||
imagick@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmagickwand-6.q16-[0-9]+$ ^libmagickcore-6.q16-[0-9]+-extra$"
|
||||
@ -1015,6 +1066,9 @@ buildRequiredPackageLists() {
|
||||
memcached@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 12; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
fi
|
||||
;;
|
||||
mongo@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl"
|
||||
@ -1026,10 +1080,18 @@ buildRequiredPackageLists() {
|
||||
mongodb@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent libsasl $buildRequiredPackageLists_libssl snappy"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev cyrus-sasl-dev snappy-dev $buildRequiredPackageLists_libssldev zlib-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent zstd-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
fi
|
||||
;;
|
||||
mongodb@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libsnappy[0-9]+(v[0-9]+)?$ ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev libsasl2-dev libsnappy-dev $buildRequiredPackageLists_libssldev zlib1g-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libzstd[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libzstd-dev"
|
||||
fi
|
||||
;;
|
||||
mosquitto@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent mosquitto-libs"
|
||||
@ -1113,6 +1175,12 @@ buildRequiredPackageLists() {
|
||||
php_trie@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
pkcs11@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm"
|
||||
;;
|
||||
pkcs11@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsofthsm2"
|
||||
;;
|
||||
pspell@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent aspell-libs $(expandASpellDictionaries)"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile aspell-dev"
|
||||
@ -1148,6 +1216,10 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
redis@debian)
|
||||
@ -1165,13 +1237,23 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev"
|
||||
fi
|
||||
;;
|
||||
relay@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libssl1.1"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent $buildRequiredPackageLists_libssl"
|
||||
fi
|
||||
;;
|
||||
saxon@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_volatile unzip"
|
||||
;;
|
||||
seasclick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
simdjson@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
@ -1232,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1298,23 +1383,38 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
tensor@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 316; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 310; then
|
||||
if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then
|
||||
IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack"
|
||||
fi
|
||||
;;
|
||||
tensor@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev"
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8"
|
||||
if test $DISTRO_VERSION_NUMBER -le 9; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev"
|
||||
fi
|
||||
;;
|
||||
tidy@alpine)
|
||||
@ -1336,6 +1436,14 @@ buildRequiredPackageLists() {
|
||||
uuid@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile uuid-dev"
|
||||
;;
|
||||
uv@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv-dev"
|
||||
;;
|
||||
uv@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv1-dev"
|
||||
;;
|
||||
vips@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent vips"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile vips-dev"
|
||||
@ -1350,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1564,6 +1680,10 @@ expandInstalledSystemPackageName() {
|
||||
# Output:
|
||||
# The number of processor cores available
|
||||
getProcessorCount() {
|
||||
if test -n "${IPE_PROCESSOR_COUNT:-}"; then
|
||||
echo $IPE_PROCESSOR_COUNT
|
||||
return
|
||||
fi
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
@ -1616,6 +1736,9 @@ getModuleFullPath() {
|
||||
apcu_bc)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/apc.so"
|
||||
;;
|
||||
seasclick)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/SeasClick.so"
|
||||
;;
|
||||
*)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/$1.so"
|
||||
;;
|
||||
@ -1890,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -1937,27 +2060,36 @@ isMicrosoftSqlServerODBCInstalled() {
|
||||
}
|
||||
|
||||
# Install the Microsoft SQL Server ODBC Driver
|
||||
# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
|
||||
installMicrosoftSqlServerODBC() {
|
||||
printf 'Installing the Microsoft SQL Server ODBC Driver\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installMicrosoftSqlServerODBC_arch=arm64
|
||||
;;
|
||||
*)
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
;;
|
||||
debian)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17
|
||||
printf -- '- installing the Microsoft APT key\n'
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
# apt-key is deprecated
|
||||
if test $DISTRO_VERSION_NUMBER -eq 11; then
|
||||
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor --yes --output /usr/share/keyrings/microsoft-prod.gpg
|
||||
else
|
||||
# apt-key is deprecated
|
||||
curl -sSLf https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
fi
|
||||
if ! test -f /etc/apt/sources.list.d/mssql-release.list; then
|
||||
@ -1968,8 +2100,8 @@ installMicrosoftSqlServerODBC() {
|
||||
printf -- '- installing the APT package\n'
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && $DISTRO_VERSION_NUMBER -le 11; then
|
||||
# On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
|
||||
# On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
|
||||
@ -1984,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -1996,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2023,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2041,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2053,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2079,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2087,6 +2230,69 @@ installLibavif() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install libmpdec
|
||||
installLibMPDec() {
|
||||
installLibMPDec_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installLibMPDec_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2203,6 +2409,56 @@ installSourceGuardian() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install Cargo (if not yet installed)
|
||||
installCargo() {
|
||||
if command -v cargo >/dev/null; then
|
||||
return
|
||||
fi
|
||||
printf '# Installing cargo\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
|
||||
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||
;;
|
||||
esac
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y -q
|
||||
. "$HOME/.cargo/env"
|
||||
if test -z "${IPE_UNINSTALL_CARGO:-}"; then
|
||||
IPE_UNINSTALL_CARGO=y
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2268,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2285,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2437,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2444,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2490,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2505,6 +2774,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.3
|
||||
elif test $PHP_MAJMIN_VERSION -le 505; then
|
||||
installRemoteModule_version=1.9.4
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.11.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2581,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2611,29 +2882,43 @@ installRemoteModule() {
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -f /usr/local/lib/libmpdec.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installLibMPDec
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 1200; then
|
||||
if test -z "$(ldconfig -p | grep -E '\slibmpdec.so\s')"; then
|
||||
installLibMPDec
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ds)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 703; then
|
||||
installRemoteModule_version=1.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=1.4.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
ecma_intl)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
fi
|
||||
;;
|
||||
event)
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 2.4.0) -ge 0; then
|
||||
@ -2706,7 +2991,7 @@ installRemoteModule() {
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -e /usr/local/include/libgearman/gearman.h || ! test -e /usr/local/lib/libgearman.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.20/gearmand-1.1.20.tar.gz)"
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.21/gearmand-1.1.21.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount) install-binPROGRAMS
|
||||
@ -2724,7 +3009,7 @@ installRemoteModule() {
|
||||
geos)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=71b5f9001512e16d3cf4657b517e8a051d6ef36f
|
||||
installRemoteModule_version=0def35611f773c951432f1f06a155471a5cb7611
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://git.osgeo.org/gitea/geos/php-geos/archive/$installRemoteModule_version.tar.gz)"
|
||||
cd "$installRemoteModule_src"
|
||||
@ -2768,10 +3053,6 @@ installRemoteModule() {
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=1.55.0
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then
|
||||
case "$DISTRO_VERSION" in
|
||||
alpine@3.13)
|
||||
@ -2807,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2847,6 +3134,13 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
jsonpath)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=1.0.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
luasandbox)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 702; then
|
||||
@ -2971,8 +3265,34 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.2
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=1.11.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.16.2
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 1.17.0) -ge 0; then
|
||||
# Enable developer flags? (yes/no)
|
||||
addConfigureOption enable-mongodb-developer-flags no
|
||||
# Enable code coverage? (yes/no)
|
||||
addConfigureOption enable-mongodb-coverage no
|
||||
# Use system libraries for libbson, libmongoc, and libmongocrypt? (yes/no)
|
||||
addConfigureOption with-mongodb-system-libs no
|
||||
# Enable client-side encryption? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-client-side-encryption yes
|
||||
# Enable Snappy for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-snappy yes
|
||||
# Enable zlib for compression? (auto/system/bundled/no)
|
||||
addConfigureOption with-mongodb-zlib yes
|
||||
# Enable zstd for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-zstd yes
|
||||
# Enable SASL for Kerberos authentication? (auto/cyrus/no)
|
||||
addConfigureOption with-mongodb-sasl yes
|
||||
# Enable crypto and TLS? (auto/openssl/libressl/darwin/no)
|
||||
addConfigureOption with-mongodb-ssl yes
|
||||
# Use system crypto profile (OpenSSL only)? (yes/no)
|
||||
addConfigureOption enable-mongodb-crypto-system-profile yes
|
||||
# Use bundled or system utf8proc for SCRAM-SHA-256 SASLprep? (bundled/system)
|
||||
addConfigureOption with-mongodb-utf8proc bundled
|
||||
fi
|
||||
;;
|
||||
mosquitto)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -2986,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2993,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3002,6 +3334,8 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=4.10.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=22.0.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3013,6 +3347,48 @@ installRemoteModule() {
|
||||
installRemoteModule_sockets=no
|
||||
fi
|
||||
installRemoteModule_openssl=yes
|
||||
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 22.1.2) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.1) -ge 0; then
|
||||
# enable c-ares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.0) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.0.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
@ -3021,25 +3397,38 @@ installRemoteModule() {
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '22.8.0') -ge 0; then
|
||||
# enable hook curl support?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
else
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '4.8.0') -ge 0; then
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
else
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
@ -3092,11 +3481,12 @@ installRemoteModule() {
|
||||
;;
|
||||
protobuf)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=3.12.4
|
||||
else
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=3.23.2
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3154,19 +3544,21 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=4.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=5.3.7
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
# Enable igbinary serializer support?
|
||||
if php --ri igbinary >/dev/null 2>/dev/null; then
|
||||
addConfigureOption 'enable-redis-igbinary' 'yes'
|
||||
addConfigureOption enable-redis-igbinary yes
|
||||
else
|
||||
addConfigureOption 'enable-redis-igbinary' 'no'
|
||||
addConfigureOption enable-redis-igbinary no
|
||||
fi
|
||||
# Enable lzf compression support?
|
||||
addConfigureOption 'enable-redis-lzf' 'yes'
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then
|
||||
addConfigureOption enable-redis-lzf yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then
|
||||
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then
|
||||
installRemoteModule_zstdVersion=1.4.4
|
||||
installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1)
|
||||
@ -3182,7 +3574,19 @@ installRemoteModule() {
|
||||
cd - >/dev/null
|
||||
fi
|
||||
# Enable zstd compression support?
|
||||
addConfigureOption 'enable-redis-zstd' 'yes'
|
||||
addConfigureOption enable-redis-zstd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
|
||||
# Enable msgpack serializer support?
|
||||
if php --ri msgpack >/dev/null 2>/dev/null; then
|
||||
addConfigureOption enable-redis-msgpack yes
|
||||
else
|
||||
addConfigureOption enable-redis-msgpack no
|
||||
fi
|
||||
# Enable lz4 compression?
|
||||
addConfigureOption enable-redis-lz4 yes
|
||||
# Use system liblz4?
|
||||
addConfigureOption with-liblz4 yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
relay)
|
||||
@ -3226,6 +3630,50 @@ installRemoteModule() {
|
||||
installRemoteModule_ini_extra="$(grep -vE '^[ \t]*extension[ \t]*=' $installRemoteModule_src/relay.ini)"
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_majorVersion="${installRemoteModule_version%%.*}"
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-aarch64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-x86_64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
esac
|
||||
else
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-setup64-v${installRemoteModule_version}.zip
|
||||
fi
|
||||
installRemoteModule_dir="$(getPackageSource $installRemoteModule_url)"
|
||||
if ! test -f /usr/lib/libsaxon-*.so; then
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
cp $installRemoteModule_dir/libs/nix/*.so /usr/lib/
|
||||
else
|
||||
cp $installRemoteModule_dir/*.so /usr/lib/
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
seasclick)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=0.1.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
snappy)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3243,7 +3691,11 @@ installRemoteModule() {
|
||||
snuffleupagus)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=0.9.0
|
||||
else
|
||||
installRemoteModule_version=0.10.0
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)"
|
||||
cd "$installRemoteModule_src/src"
|
||||
@ -3272,8 +3724,10 @@ installRemoteModule() {
|
||||
;;
|
||||
solr)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=2.4.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=2.6.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3284,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.13
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3316,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3352,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3370,6 +3829,12 @@ installRemoteModule() {
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $PHP_MAJMIN_VERSION -eq 803; then
|
||||
# see https://github.com/swoole/docker-swoole/issues/45
|
||||
installRemoteModule_curl=no
|
||||
else
|
||||
installRemoteModule_curl=yes
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3378,7 +3843,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable brotli support?
|
||||
@ -3391,7 +3856,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.11) -ge 0; then
|
||||
@ -3406,7 +3871,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.6.1) -ge 0; then
|
||||
@ -3421,7 +3886,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.4.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3545,6 +4010,66 @@ installRemoteModule() {
|
||||
installRemoteModule_version=2.2.3
|
||||
fi
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then
|
||||
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
tideways)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
debian)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
installRemoteModule_src="$installRemoteModule_src/dist"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src/tideways-php"
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installRemoteModule_src="$installRemoteModule_src-alpine"
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_src="$installRemoteModule_src-$PHP_MAJDOTMIN_VERSION"
|
||||
if test $PHP_THREADSAFE -eq 1; then
|
||||
installRemoteModule_src="$installRemoteModule_src-zts"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src.so"
|
||||
if ! test -f "$installRemoteModule_src"; then
|
||||
echo 'tideways does not support the current environment' >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$installRemoteModule_src" $(getPHPExtensionsDir)/tideways.so
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
uopz)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3571,6 +4096,51 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
uv)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=0.2.4
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
vld)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.14.0
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -3751,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -3768,7 +4345,7 @@ moduleMayUsePecl() {
|
||||
@composer | @fix_letsencrypt)
|
||||
return 1
|
||||
;;
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib)
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib | tideways)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
@ -4018,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -4038,6 +4615,10 @@ fixLetsEncrypt() {
|
||||
|
||||
# Cleanup everything at the end of the execution
|
||||
cleanup() {
|
||||
if test "${IPE_UNINSTALL_CARGO:-}" = y; then
|
||||
. "$HOME/.cargo/env"
|
||||
rustup self uninstall -y
|
||||
fi
|
||||
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
|
||||
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
|
||||
@ -4046,25 +4627,27 @@ cleanup() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then
|
||||
apk del icu-data-en >/dev/null 2>&1 || true
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
apk del --purge $PACKAGES_VOLATILE
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test -n "$PACKAGES_PREVIOUS"; then
|
||||
case "$DISTRO" in
|
||||
debian)
|
||||
printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
docker-php-source delete
|
||||
rm -rf /tmp/src
|
||||
rm -rf /tmp/pickle
|
||||
@ -4101,7 +4684,7 @@ esac
|
||||
setPHPVersionVariables
|
||||
setPHPPreinstalledModules
|
||||
case "$PHP_MAJMIN_VERSION" in
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
|
||||
*)
|
||||
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
|
||||
;;
|
||||
@ -4137,6 +4720,7 @@ fi
|
||||
if test $USE_PICKLE -gt 1; then
|
||||
buildPickle
|
||||
fi
|
||||
|
||||
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
|
||||
case "$PHP_MODULE_TO_INSTALL" in
|
||||
@fix_letsencrypt)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=2.1.28
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,53 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ' | sed -r 's# *<#\n<#g' | grep '<v>' | sed 's#<v>##g' | sed 's# ##g')"
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -422,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -650,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='libssl1.0'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -715,10 +744,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
|
||||
;;
|
||||
ddtrace@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
|
||||
;;
|
||||
ddtrace@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent curl"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
|
||||
;;
|
||||
dba@alpine)
|
||||
@ -732,8 +761,18 @@ buildRequiredPackageLists() {
|
||||
fi
|
||||
;;
|
||||
decimal@debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmpdec[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmpdec-dev"
|
||||
fi
|
||||
;;
|
||||
ecma_intl@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev libidn-dev"
|
||||
;;
|
||||
ecma_intl@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
|
||||
;;
|
||||
enchant@alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 312; then
|
||||
@ -780,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -817,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -910,6 +958,9 @@ buildRequiredPackageLists() {
|
||||
imagick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent imagemagick libgomp"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile imagemagick-dev"
|
||||
if [ $DISTRO_MAJMIN_VERSION -ge 319 ]; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ghostscript libheif libjxl libraw librsvg"
|
||||
fi
|
||||
;;
|
||||
imagick@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmagickwand-6.q16-[0-9]+$ ^libmagickcore-6.q16-[0-9]+-extra$"
|
||||
@ -1015,6 +1066,9 @@ buildRequiredPackageLists() {
|
||||
memcached@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 12; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
fi
|
||||
;;
|
||||
mongo@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl"
|
||||
@ -1026,10 +1080,18 @@ buildRequiredPackageLists() {
|
||||
mongodb@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent libsasl $buildRequiredPackageLists_libssl snappy"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev cyrus-sasl-dev snappy-dev $buildRequiredPackageLists_libssldev zlib-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent zstd-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
fi
|
||||
;;
|
||||
mongodb@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libsnappy[0-9]+(v[0-9]+)?$ ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev libsasl2-dev libsnappy-dev $buildRequiredPackageLists_libssldev zlib1g-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libzstd[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libzstd-dev"
|
||||
fi
|
||||
;;
|
||||
mosquitto@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent mosquitto-libs"
|
||||
@ -1113,6 +1175,12 @@ buildRequiredPackageLists() {
|
||||
php_trie@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
pkcs11@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm"
|
||||
;;
|
||||
pkcs11@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsofthsm2"
|
||||
;;
|
||||
pspell@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent aspell-libs $(expandASpellDictionaries)"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile aspell-dev"
|
||||
@ -1148,6 +1216,10 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
redis@debian)
|
||||
@ -1165,13 +1237,23 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev"
|
||||
fi
|
||||
;;
|
||||
relay@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libssl1.1"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent $buildRequiredPackageLists_libssl"
|
||||
fi
|
||||
;;
|
||||
saxon@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_volatile unzip"
|
||||
;;
|
||||
seasclick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
simdjson@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
@ -1232,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1298,23 +1383,38 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
tensor@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 316; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 310; then
|
||||
if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then
|
||||
IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack"
|
||||
fi
|
||||
;;
|
||||
tensor@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev"
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8"
|
||||
if test $DISTRO_VERSION_NUMBER -le 9; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev"
|
||||
fi
|
||||
;;
|
||||
tidy@alpine)
|
||||
@ -1336,6 +1436,14 @@ buildRequiredPackageLists() {
|
||||
uuid@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile uuid-dev"
|
||||
;;
|
||||
uv@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv-dev"
|
||||
;;
|
||||
uv@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv1-dev"
|
||||
;;
|
||||
vips@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent vips"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile vips-dev"
|
||||
@ -1350,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1564,6 +1680,10 @@ expandInstalledSystemPackageName() {
|
||||
# Output:
|
||||
# The number of processor cores available
|
||||
getProcessorCount() {
|
||||
if test -n "${IPE_PROCESSOR_COUNT:-}"; then
|
||||
echo $IPE_PROCESSOR_COUNT
|
||||
return
|
||||
fi
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
@ -1616,6 +1736,9 @@ getModuleFullPath() {
|
||||
apcu_bc)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/apc.so"
|
||||
;;
|
||||
seasclick)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/SeasClick.so"
|
||||
;;
|
||||
*)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/$1.so"
|
||||
;;
|
||||
@ -1890,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -1937,27 +2060,36 @@ isMicrosoftSqlServerODBCInstalled() {
|
||||
}
|
||||
|
||||
# Install the Microsoft SQL Server ODBC Driver
|
||||
# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
|
||||
installMicrosoftSqlServerODBC() {
|
||||
printf 'Installing the Microsoft SQL Server ODBC Driver\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installMicrosoftSqlServerODBC_arch=arm64
|
||||
;;
|
||||
*)
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
;;
|
||||
debian)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17
|
||||
printf -- '- installing the Microsoft APT key\n'
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
# apt-key is deprecated
|
||||
if test $DISTRO_VERSION_NUMBER -eq 11; then
|
||||
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor --yes --output /usr/share/keyrings/microsoft-prod.gpg
|
||||
else
|
||||
# apt-key is deprecated
|
||||
curl -sSLf https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
fi
|
||||
if ! test -f /etc/apt/sources.list.d/mssql-release.list; then
|
||||
@ -1968,8 +2100,8 @@ installMicrosoftSqlServerODBC() {
|
||||
printf -- '- installing the APT package\n'
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && $DISTRO_VERSION_NUMBER -le 11; then
|
||||
# On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
|
||||
# On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
|
||||
@ -1984,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -1996,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2023,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2041,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2053,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2079,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2087,6 +2230,69 @@ installLibavif() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install libmpdec
|
||||
installLibMPDec() {
|
||||
installLibMPDec_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installLibMPDec_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2203,6 +2409,56 @@ installSourceGuardian() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install Cargo (if not yet installed)
|
||||
installCargo() {
|
||||
if command -v cargo >/dev/null; then
|
||||
return
|
||||
fi
|
||||
printf '# Installing cargo\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
|
||||
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||
;;
|
||||
esac
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y -q
|
||||
. "$HOME/.cargo/env"
|
||||
if test -z "${IPE_UNINSTALL_CARGO:-}"; then
|
||||
IPE_UNINSTALL_CARGO=y
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2268,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2285,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2437,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2444,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2490,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2505,6 +2774,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.3
|
||||
elif test $PHP_MAJMIN_VERSION -le 505; then
|
||||
installRemoteModule_version=1.9.4
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.11.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2581,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2611,29 +2882,43 @@ installRemoteModule() {
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -f /usr/local/lib/libmpdec.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installLibMPDec
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 1200; then
|
||||
if test -z "$(ldconfig -p | grep -E '\slibmpdec.so\s')"; then
|
||||
installLibMPDec
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ds)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 703; then
|
||||
installRemoteModule_version=1.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=1.4.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
ecma_intl)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
fi
|
||||
;;
|
||||
event)
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 2.4.0) -ge 0; then
|
||||
@ -2706,7 +2991,7 @@ installRemoteModule() {
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -e /usr/local/include/libgearman/gearman.h || ! test -e /usr/local/lib/libgearman.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.20/gearmand-1.1.20.tar.gz)"
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.21/gearmand-1.1.21.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount) install-binPROGRAMS
|
||||
@ -2724,7 +3009,7 @@ installRemoteModule() {
|
||||
geos)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=71b5f9001512e16d3cf4657b517e8a051d6ef36f
|
||||
installRemoteModule_version=0def35611f773c951432f1f06a155471a5cb7611
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://git.osgeo.org/gitea/geos/php-geos/archive/$installRemoteModule_version.tar.gz)"
|
||||
cd "$installRemoteModule_src"
|
||||
@ -2768,10 +3053,6 @@ installRemoteModule() {
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=1.55.0
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then
|
||||
case "$DISTRO_VERSION" in
|
||||
alpine@3.13)
|
||||
@ -2807,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2847,6 +3134,13 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
jsonpath)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=1.0.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
luasandbox)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 702; then
|
||||
@ -2971,8 +3265,34 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.2
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=1.11.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.16.2
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 1.17.0) -ge 0; then
|
||||
# Enable developer flags? (yes/no)
|
||||
addConfigureOption enable-mongodb-developer-flags no
|
||||
# Enable code coverage? (yes/no)
|
||||
addConfigureOption enable-mongodb-coverage no
|
||||
# Use system libraries for libbson, libmongoc, and libmongocrypt? (yes/no)
|
||||
addConfigureOption with-mongodb-system-libs no
|
||||
# Enable client-side encryption? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-client-side-encryption yes
|
||||
# Enable Snappy for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-snappy yes
|
||||
# Enable zlib for compression? (auto/system/bundled/no)
|
||||
addConfigureOption with-mongodb-zlib yes
|
||||
# Enable zstd for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-zstd yes
|
||||
# Enable SASL for Kerberos authentication? (auto/cyrus/no)
|
||||
addConfigureOption with-mongodb-sasl yes
|
||||
# Enable crypto and TLS? (auto/openssl/libressl/darwin/no)
|
||||
addConfigureOption with-mongodb-ssl yes
|
||||
# Use system crypto profile (OpenSSL only)? (yes/no)
|
||||
addConfigureOption enable-mongodb-crypto-system-profile yes
|
||||
# Use bundled or system utf8proc for SCRAM-SHA-256 SASLprep? (bundled/system)
|
||||
addConfigureOption with-mongodb-utf8proc bundled
|
||||
fi
|
||||
;;
|
||||
mosquitto)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -2986,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2993,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3002,6 +3334,8 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=4.10.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=22.0.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3013,6 +3347,48 @@ installRemoteModule() {
|
||||
installRemoteModule_sockets=no
|
||||
fi
|
||||
installRemoteModule_openssl=yes
|
||||
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 22.1.2) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.1) -ge 0; then
|
||||
# enable c-ares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.0) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.0.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
@ -3021,25 +3397,38 @@ installRemoteModule() {
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '22.8.0') -ge 0; then
|
||||
# enable hook curl support?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
else
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '4.8.0') -ge 0; then
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
else
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
@ -3092,11 +3481,12 @@ installRemoteModule() {
|
||||
;;
|
||||
protobuf)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=3.12.4
|
||||
else
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=3.23.2
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3154,19 +3544,21 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=4.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=5.3.7
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
# Enable igbinary serializer support?
|
||||
if php --ri igbinary >/dev/null 2>/dev/null; then
|
||||
addConfigureOption 'enable-redis-igbinary' 'yes'
|
||||
addConfigureOption enable-redis-igbinary yes
|
||||
else
|
||||
addConfigureOption 'enable-redis-igbinary' 'no'
|
||||
addConfigureOption enable-redis-igbinary no
|
||||
fi
|
||||
# Enable lzf compression support?
|
||||
addConfigureOption 'enable-redis-lzf' 'yes'
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then
|
||||
addConfigureOption enable-redis-lzf yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then
|
||||
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then
|
||||
installRemoteModule_zstdVersion=1.4.4
|
||||
installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1)
|
||||
@ -3182,7 +3574,19 @@ installRemoteModule() {
|
||||
cd - >/dev/null
|
||||
fi
|
||||
# Enable zstd compression support?
|
||||
addConfigureOption 'enable-redis-zstd' 'yes'
|
||||
addConfigureOption enable-redis-zstd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
|
||||
# Enable msgpack serializer support?
|
||||
if php --ri msgpack >/dev/null 2>/dev/null; then
|
||||
addConfigureOption enable-redis-msgpack yes
|
||||
else
|
||||
addConfigureOption enable-redis-msgpack no
|
||||
fi
|
||||
# Enable lz4 compression?
|
||||
addConfigureOption enable-redis-lz4 yes
|
||||
# Use system liblz4?
|
||||
addConfigureOption with-liblz4 yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
relay)
|
||||
@ -3226,6 +3630,50 @@ installRemoteModule() {
|
||||
installRemoteModule_ini_extra="$(grep -vE '^[ \t]*extension[ \t]*=' $installRemoteModule_src/relay.ini)"
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_majorVersion="${installRemoteModule_version%%.*}"
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-aarch64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-x86_64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
esac
|
||||
else
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-setup64-v${installRemoteModule_version}.zip
|
||||
fi
|
||||
installRemoteModule_dir="$(getPackageSource $installRemoteModule_url)"
|
||||
if ! test -f /usr/lib/libsaxon-*.so; then
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
cp $installRemoteModule_dir/libs/nix/*.so /usr/lib/
|
||||
else
|
||||
cp $installRemoteModule_dir/*.so /usr/lib/
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
seasclick)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=0.1.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
snappy)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3243,7 +3691,11 @@ installRemoteModule() {
|
||||
snuffleupagus)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=0.9.0
|
||||
else
|
||||
installRemoteModule_version=0.10.0
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)"
|
||||
cd "$installRemoteModule_src/src"
|
||||
@ -3272,8 +3724,10 @@ installRemoteModule() {
|
||||
;;
|
||||
solr)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=2.4.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=2.6.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3284,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.13
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3316,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3352,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3370,6 +3829,12 @@ installRemoteModule() {
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $PHP_MAJMIN_VERSION -eq 803; then
|
||||
# see https://github.com/swoole/docker-swoole/issues/45
|
||||
installRemoteModule_curl=no
|
||||
else
|
||||
installRemoteModule_curl=yes
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3378,7 +3843,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable brotli support?
|
||||
@ -3391,7 +3856,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.11) -ge 0; then
|
||||
@ -3406,7 +3871,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.6.1) -ge 0; then
|
||||
@ -3421,7 +3886,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.4.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3545,6 +4010,66 @@ installRemoteModule() {
|
||||
installRemoteModule_version=2.2.3
|
||||
fi
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then
|
||||
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
tideways)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
debian)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
installRemoteModule_src="$installRemoteModule_src/dist"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src/tideways-php"
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installRemoteModule_src="$installRemoteModule_src-alpine"
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_src="$installRemoteModule_src-$PHP_MAJDOTMIN_VERSION"
|
||||
if test $PHP_THREADSAFE -eq 1; then
|
||||
installRemoteModule_src="$installRemoteModule_src-zts"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src.so"
|
||||
if ! test -f "$installRemoteModule_src"; then
|
||||
echo 'tideways does not support the current environment' >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$installRemoteModule_src" $(getPHPExtensionsDir)/tideways.so
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
uopz)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3571,6 +4096,51 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
uv)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=0.2.4
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
vld)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.14.0
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -3751,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -3768,7 +4345,7 @@ moduleMayUsePecl() {
|
||||
@composer | @fix_letsencrypt)
|
||||
return 1
|
||||
;;
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib)
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib | tideways)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
@ -4018,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -4038,6 +4615,10 @@ fixLetsEncrypt() {
|
||||
|
||||
# Cleanup everything at the end of the execution
|
||||
cleanup() {
|
||||
if test "${IPE_UNINSTALL_CARGO:-}" = y; then
|
||||
. "$HOME/.cargo/env"
|
||||
rustup self uninstall -y
|
||||
fi
|
||||
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
|
||||
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
|
||||
@ -4046,25 +4627,27 @@ cleanup() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then
|
||||
apk del icu-data-en >/dev/null 2>&1 || true
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
apk del --purge $PACKAGES_VOLATILE
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test -n "$PACKAGES_PREVIOUS"; then
|
||||
case "$DISTRO" in
|
||||
debian)
|
||||
printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
docker-php-source delete
|
||||
rm -rf /tmp/src
|
||||
rm -rf /tmp/pickle
|
||||
@ -4101,7 +4684,7 @@ esac
|
||||
setPHPVersionVariables
|
||||
setPHPPreinstalledModules
|
||||
case "$PHP_MAJMIN_VERSION" in
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
|
||||
*)
|
||||
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
|
||||
;;
|
||||
@ -4137,6 +4720,7 @@ fi
|
||||
if test $USE_PICKLE -gt 1; then
|
||||
buildPickle
|
||||
fi
|
||||
|
||||
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
|
||||
case "$PHP_MODULE_TO_INSTALL" in
|
||||
@fix_letsencrypt)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=2.1.28
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,53 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ' | sed -r 's# *<#\n<#g' | grep '<v>' | sed 's#<v>##g' | sed 's# ##g')"
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_afterCaret}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -422,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -650,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='libssl1.0'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -715,10 +744,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
|
||||
;;
|
||||
ddtrace@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
|
||||
;;
|
||||
ddtrace@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent curl"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
|
||||
;;
|
||||
dba@alpine)
|
||||
@ -732,8 +761,18 @@ buildRequiredPackageLists() {
|
||||
fi
|
||||
;;
|
||||
decimal@debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmpdec[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmpdec-dev"
|
||||
fi
|
||||
;;
|
||||
ecma_intl@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev libidn-dev"
|
||||
;;
|
||||
ecma_intl@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
|
||||
;;
|
||||
enchant@alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 312; then
|
||||
@ -780,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -817,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -910,6 +958,9 @@ buildRequiredPackageLists() {
|
||||
imagick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent imagemagick libgomp"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile imagemagick-dev"
|
||||
if [ $DISTRO_MAJMIN_VERSION -ge 319 ]; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ghostscript libheif libjxl libraw librsvg"
|
||||
fi
|
||||
;;
|
||||
imagick@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libmagickwand-6.q16-[0-9]+$ ^libmagickcore-6.q16-[0-9]+-extra$"
|
||||
@ -1015,6 +1066,9 @@ buildRequiredPackageLists() {
|
||||
memcached@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 12; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
fi
|
||||
;;
|
||||
mongo@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl"
|
||||
@ -1026,10 +1080,18 @@ buildRequiredPackageLists() {
|
||||
mongodb@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent icu-libs $buildRequiredPackageLists_icuPersistent libsasl $buildRequiredPackageLists_libssl snappy"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile icu-dev cyrus-sasl-dev snappy-dev $buildRequiredPackageLists_libssldev zlib-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent zstd-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
fi
|
||||
;;
|
||||
mongodb@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libsnappy[0-9]+(v[0-9]+)?$ ^libicu[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev libsasl2-dev libsnappy-dev $buildRequiredPackageLists_libssldev zlib1g-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 704; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libzstd[0-9]*$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libzstd-dev"
|
||||
fi
|
||||
;;
|
||||
mosquitto@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent mosquitto-libs"
|
||||
@ -1113,6 +1175,12 @@ buildRequiredPackageLists() {
|
||||
php_trie@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
pkcs11@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent softhsm"
|
||||
;;
|
||||
pkcs11@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsofthsm2"
|
||||
;;
|
||||
pspell@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent aspell-libs $(expandASpellDictionaries)"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile aspell-dev"
|
||||
@ -1148,6 +1216,10 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
redis@debian)
|
||||
@ -1165,13 +1237,23 @@ buildRequiredPackageLists() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test $PHP_MAJMIN_VERSION -ge 702; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev"
|
||||
fi
|
||||
;;
|
||||
relay@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs"
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libssl1.1"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent $buildRequiredPackageLists_libssl"
|
||||
fi
|
||||
;;
|
||||
saxon@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_volatile unzip"
|
||||
;;
|
||||
seasclick@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
simdjson@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
;;
|
||||
@ -1232,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1298,23 +1383,38 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
tensor@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 316; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev"
|
||||
if test $DISTRO_MAJMIN_VERSION -le 310; then
|
||||
if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then
|
||||
IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack"
|
||||
fi
|
||||
;;
|
||||
tensor@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base"
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev"
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8"
|
||||
if test $DISTRO_VERSION_NUMBER -le 9; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 10; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev"
|
||||
elif test $DISTRO_VERSION_NUMBER -le 11; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev"
|
||||
else
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev"
|
||||
fi
|
||||
;;
|
||||
tidy@alpine)
|
||||
@ -1336,6 +1436,14 @@ buildRequiredPackageLists() {
|
||||
uuid@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile uuid-dev"
|
||||
;;
|
||||
uv@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv-dev"
|
||||
;;
|
||||
uv@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libuv1"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libuv1-dev"
|
||||
;;
|
||||
vips@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent vips"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile vips-dev"
|
||||
@ -1350,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1564,6 +1680,10 @@ expandInstalledSystemPackageName() {
|
||||
# Output:
|
||||
# The number of processor cores available
|
||||
getProcessorCount() {
|
||||
if test -n "${IPE_PROCESSOR_COUNT:-}"; then
|
||||
echo $IPE_PROCESSOR_COUNT
|
||||
return
|
||||
fi
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
@ -1616,6 +1736,9 @@ getModuleFullPath() {
|
||||
apcu_bc)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/apc.so"
|
||||
;;
|
||||
seasclick)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/SeasClick.so"
|
||||
;;
|
||||
*)
|
||||
getModuleFullPath_path="$PHP_EXTDIR/$1.so"
|
||||
;;
|
||||
@ -1890,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -1937,27 +2060,36 @@ isMicrosoftSqlServerODBCInstalled() {
|
||||
}
|
||||
|
||||
# Install the Microsoft SQL Server ODBC Driver
|
||||
# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
|
||||
installMicrosoftSqlServerODBC() {
|
||||
printf 'Installing the Microsoft SQL Server ODBC Driver\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installMicrosoftSqlServerODBC_arch=arm64
|
||||
;;
|
||||
*)
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
;;
|
||||
debian)
|
||||
# https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17
|
||||
printf -- '- installing the Microsoft APT key\n'
|
||||
if test $DISTRO_VERSION_NUMBER -ge 11; then
|
||||
# apt-key is deprecated
|
||||
if test $DISTRO_VERSION_NUMBER -eq 11; then
|
||||
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor --yes --output /usr/share/keyrings/microsoft-prod.gpg
|
||||
else
|
||||
# apt-key is deprecated
|
||||
curl -sSLf https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
fi
|
||||
if ! test -f /etc/apt/sources.list.d/mssql-release.list; then
|
||||
@ -1968,8 +2100,8 @@ installMicrosoftSqlServerODBC() {
|
||||
printf -- '- installing the APT package\n'
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && $DISTRO_VERSION_NUMBER -le 11; then
|
||||
# On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
|
||||
# On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
|
||||
@ -1984,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -1996,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2023,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2041,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2053,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2079,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2087,6 +2230,69 @@ installLibavif() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install libmpdec
|
||||
installLibMPDec() {
|
||||
installLibMPDec_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installLibMPDec_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2203,6 +2409,56 @@ installSourceGuardian() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install Cargo (if not yet installed)
|
||||
installCargo() {
|
||||
if command -v cargo >/dev/null; then
|
||||
return
|
||||
fi
|
||||
printf '# Installing cargo\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
# see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
|
||||
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||
;;
|
||||
esac
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y -q
|
||||
. "$HOME/.cargo/env"
|
||||
if test -z "${IPE_UNINSTALL_CARGO:-}"; then
|
||||
IPE_UNINSTALL_CARGO=y
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2268,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2285,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2437,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2444,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2490,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2505,6 +2774,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.3
|
||||
elif test $PHP_MAJMIN_VERSION -le 505; then
|
||||
installRemoteModule_version=1.9.4
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.11.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2581,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2611,29 +2882,43 @@ installRemoteModule() {
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -f /usr/local/lib/libmpdec.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure --disable-cxx
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installLibMPDec
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 1200; then
|
||||
if test -z "$(ldconfig -p | grep -E '\slibmpdec.so\s')"; then
|
||||
installLibMPDec
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ds)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 703; then
|
||||
installRemoteModule_version=1.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=1.4.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
ecma_intl)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
fi
|
||||
;;
|
||||
event)
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 2.4.0) -ge 0; then
|
||||
@ -2706,7 +2991,7 @@ installRemoteModule() {
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! test -e /usr/local/include/libgearman/gearman.h || ! test -e /usr/local/lib/libgearman.so; then
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.20/gearmand-1.1.20.tar.gz)"
|
||||
installRemoteModule_src="$(getPackageSource https://github.com/gearman/gearmand/releases/download/1.1.21/gearmand-1.1.21.tar.gz)"
|
||||
cd -- "$installRemoteModule_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount) install-binPROGRAMS
|
||||
@ -2724,7 +3009,7 @@ installRemoteModule() {
|
||||
geos)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=71b5f9001512e16d3cf4657b517e8a051d6ef36f
|
||||
installRemoteModule_version=0def35611f773c951432f1f06a155471a5cb7611
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://git.osgeo.org/gitea/geos/php-geos/archive/$installRemoteModule_version.tar.gz)"
|
||||
cd "$installRemoteModule_src"
|
||||
@ -2768,10 +3053,6 @@ installRemoteModule() {
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=1.55.0
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then
|
||||
case "$DISTRO_VERSION" in
|
||||
alpine@3.13)
|
||||
@ -2807,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2847,6 +3134,13 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
jsonpath)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=1.0.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
luasandbox)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 702; then
|
||||
@ -2971,8 +3265,34 @@ installRemoteModule() {
|
||||
installRemoteModule_version=1.9.2
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=1.11.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 703; then
|
||||
installRemoteModule_version=1.16.2
|
||||
fi
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 1.17.0) -ge 0; then
|
||||
# Enable developer flags? (yes/no)
|
||||
addConfigureOption enable-mongodb-developer-flags no
|
||||
# Enable code coverage? (yes/no)
|
||||
addConfigureOption enable-mongodb-coverage no
|
||||
# Use system libraries for libbson, libmongoc, and libmongocrypt? (yes/no)
|
||||
addConfigureOption with-mongodb-system-libs no
|
||||
# Enable client-side encryption? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-client-side-encryption yes
|
||||
# Enable Snappy for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-snappy yes
|
||||
# Enable zlib for compression? (auto/system/bundled/no)
|
||||
addConfigureOption with-mongodb-zlib yes
|
||||
# Enable zstd for compression? (auto/yes/no)
|
||||
addConfigureOption with-mongodb-zstd yes
|
||||
# Enable SASL for Kerberos authentication? (auto/cyrus/no)
|
||||
addConfigureOption with-mongodb-sasl yes
|
||||
# Enable crypto and TLS? (auto/openssl/libressl/darwin/no)
|
||||
addConfigureOption with-mongodb-ssl yes
|
||||
# Use system crypto profile (OpenSSL only)? (yes/no)
|
||||
addConfigureOption enable-mongodb-crypto-system-profile yes
|
||||
# Use bundled or system utf8proc for SCRAM-SHA-256 SASLprep? (bundled/system)
|
||||
addConfigureOption with-mongodb-utf8proc bundled
|
||||
fi
|
||||
;;
|
||||
mosquitto)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -2986,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -2993,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3002,6 +3334,8 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=4.10.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=22.0.0
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3013,6 +3347,48 @@ installRemoteModule() {
|
||||
installRemoteModule_sockets=no
|
||||
fi
|
||||
installRemoteModule_openssl=yes
|
||||
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 22.1.2) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.1) -ge 0; then
|
||||
# enable c-ares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.1.0) -ge 0; then
|
||||
# enable coroutine sockets?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 protocol?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable coroutine mysqlnd?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable coroutine curl?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable coroutine postgres?
|
||||
addConfigureOption with-postgres yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 22.0.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
@ -3021,25 +3397,38 @@ installRemoteModule() {
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '22.8.0') -ge 0; then
|
||||
# enable hook curl support?
|
||||
addConfigureOption enable-hook-curl yes
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
else
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '4.8.0') -ge 0; then
|
||||
# enable postgres support?
|
||||
addConfigureOption with-postgres yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
else
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
# enable openssl support?
|
||||
addConfigureOption enable-openssl $installRemoteModule_openssl
|
||||
# enable http2 support?
|
||||
addConfigureOption enable-http2 yes
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
@ -3092,11 +3481,12 @@ installRemoteModule() {
|
||||
;;
|
||||
protobuf)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=3.12.4
|
||||
else
|
||||
# See https://github.com/protocolbuffers/protobuf/issues/10619
|
||||
installRemoteModule_version=3.23.2
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3154,19 +3544,21 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=4.3.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 701; then
|
||||
installRemoteModule_version=5.3.7
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
# Enable igbinary serializer support?
|
||||
if php --ri igbinary >/dev/null 2>/dev/null; then
|
||||
addConfigureOption 'enable-redis-igbinary' 'yes'
|
||||
addConfigureOption enable-redis-igbinary yes
|
||||
else
|
||||
addConfigureOption 'enable-redis-igbinary' 'no'
|
||||
addConfigureOption enable-redis-igbinary no
|
||||
fi
|
||||
# Enable lzf compression support?
|
||||
addConfigureOption 'enable-redis-lzf' 'yes'
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then
|
||||
addConfigureOption enable-redis-lzf yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then
|
||||
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then
|
||||
installRemoteModule_zstdVersion=1.4.4
|
||||
installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1)
|
||||
@ -3182,7 +3574,19 @@ installRemoteModule() {
|
||||
cd - >/dev/null
|
||||
fi
|
||||
# Enable zstd compression support?
|
||||
addConfigureOption 'enable-redis-zstd' 'yes'
|
||||
addConfigureOption enable-redis-zstd yes
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
|
||||
# Enable msgpack serializer support?
|
||||
if php --ri msgpack >/dev/null 2>/dev/null; then
|
||||
addConfigureOption enable-redis-msgpack yes
|
||||
else
|
||||
addConfigureOption enable-redis-msgpack no
|
||||
fi
|
||||
# Enable lz4 compression?
|
||||
addConfigureOption enable-redis-lz4 yes
|
||||
# Use system liblz4?
|
||||
addConfigureOption with-liblz4 yes
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
relay)
|
||||
@ -3226,6 +3630,50 @@ installRemoteModule() {
|
||||
installRemoteModule_ini_extra="$(grep -vE '^[ \t]*extension[ \t]*=' $installRemoteModule_src/relay.ini)"
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_majorVersion="${installRemoteModule_version%%.*}"
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-aarch64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-linux-x86_64-v${installRemoteModule_version}.zip
|
||||
;;
|
||||
esac
|
||||
else
|
||||
installRemoteModule_url=https://downloads.saxonica.com/SaxonC/EE/${installRemoteModule_majorVersion}/libsaxon-EEC-setup64-v${installRemoteModule_version}.zip
|
||||
fi
|
||||
installRemoteModule_dir="$(getPackageSource $installRemoteModule_url)"
|
||||
if ! test -f /usr/lib/libsaxon-*.so; then
|
||||
if test "$installRemoteModule_majorVersion" -ge 12; then
|
||||
cp $installRemoteModule_dir/libs/nix/*.so /usr/lib/
|
||||
else
|
||||
cp $installRemoteModule_dir/*.so /usr/lib/
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
seasclick)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version=0.1.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
snappy)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3243,7 +3691,11 @@ installRemoteModule() {
|
||||
snuffleupagus)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=0.9.0
|
||||
else
|
||||
installRemoteModule_version=0.10.0
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)"
|
||||
cd "$installRemoteModule_src/src"
|
||||
@ -3272,8 +3724,10 @@ installRemoteModule() {
|
||||
;;
|
||||
solr)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=2.4.0
|
||||
elif test $PHP_MAJMIN_VERSION -lt 704; then
|
||||
installRemoteModule_version=2.6.0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3284,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.13
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3316,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3352,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3370,6 +3829,12 @@ installRemoteModule() {
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $PHP_MAJMIN_VERSION -eq 803; then
|
||||
# see https://github.com/swoole/docker-swoole/issues/45
|
||||
installRemoteModule_curl=no
|
||||
else
|
||||
installRemoteModule_curl=yes
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3378,7 +3843,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
# enable brotli support?
|
||||
@ -3391,7 +3856,7 @@ installRemoteModule() {
|
||||
# enable mysqlnd support?
|
||||
addConfigureOption enable-mysqlnd yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.8.11) -ge 0; then
|
||||
@ -3406,7 +3871,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
# enable cares support?
|
||||
addConfigureOption enable-cares yes
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.6.1) -ge 0; then
|
||||
@ -3421,7 +3886,7 @@ installRemoteModule() {
|
||||
# enable json support?
|
||||
addConfigureOption enable-swoole-json yes
|
||||
# enable curl support?
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
addConfigureOption enable-swoole-curl $installRemoteModule_curl
|
||||
elif test $(compareVersions "$installRemoteModule_version" 4.4.0) -ge 0; then
|
||||
# enable sockets supports?
|
||||
addConfigureOption enable-sockets $installRemoteModule_sockets
|
||||
@ -3545,6 +4010,66 @@ installRemoteModule() {
|
||||
installRemoteModule_version=2.2.3
|
||||
fi
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then
|
||||
if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then
|
||||
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
tideways)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
debian)
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
installRemoteModule_architecture=arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
installRemoteModule_src="$installRemoteModule_src/dist"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src/tideways-php"
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installRemoteModule_src="$installRemoteModule_src-alpine"
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_src="$installRemoteModule_src-$PHP_MAJDOTMIN_VERSION"
|
||||
if test $PHP_THREADSAFE -eq 1; then
|
||||
installRemoteModule_src="$installRemoteModule_src-zts"
|
||||
fi
|
||||
installRemoteModule_src="$installRemoteModule_src.so"
|
||||
if ! test -f "$installRemoteModule_src"; then
|
||||
echo 'tideways does not support the current environment' >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$installRemoteModule_src" $(getPHPExtensionsDir)/tideways.so
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
uopz)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
@ -3571,6 +4096,51 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
uv)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=0.2.4
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
vld)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.14.0
|
||||
else
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -3751,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -3768,7 +4345,7 @@ moduleMayUsePecl() {
|
||||
@composer | @fix_letsencrypt)
|
||||
return 1
|
||||
;;
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib)
|
||||
blackfire | geos | ioncube_loader | snuffleupagus | sourceguardian | spx | tdlib | tideways)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
@ -4018,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -4038,6 +4615,10 @@ fixLetsEncrypt() {
|
||||
|
||||
# Cleanup everything at the end of the execution
|
||||
cleanup() {
|
||||
if test "${IPE_UNINSTALL_CARGO:-}" = y; then
|
||||
. "$HOME/.cargo/env"
|
||||
rustup self uninstall -y
|
||||
fi
|
||||
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
|
||||
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
|
||||
@ -4046,25 +4627,27 @@ cleanup() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then
|
||||
apk del icu-data-en >/dev/null 2>&1 || true
|
||||
fi
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
apk del --purge $PACKAGES_VOLATILE
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test -n "$PACKAGES_VOLATILE"; then
|
||||
printf '### REMOVING UNNEEDED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test -n "$PACKAGES_PREVIOUS"; then
|
||||
case "$DISTRO" in
|
||||
debian)
|
||||
printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
docker-php-source delete
|
||||
rm -rf /tmp/src
|
||||
rm -rf /tmp/pickle
|
||||
@ -4101,7 +4684,7 @@ esac
|
||||
setPHPVersionVariables
|
||||
setPHPPreinstalledModules
|
||||
case "$PHP_MAJMIN_VERSION" in
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
|
||||
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
|
||||
*)
|
||||
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
|
||||
;;
|
||||
@ -4137,6 +4720,7 @@ fi
|
||||
if test $USE_PICKLE -gt 1; then
|
||||
buildPickle
|
||||
fi
|
||||
|
||||
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
|
||||
case "$PHP_MODULE_TO_INSTALL" in
|
||||
@fix_letsencrypt)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=master
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,74 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_afterCaret" in
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolveWantedPHPModuleVersion_wantedStability="${resolveWantedPHPModuleVersion_afterCaret##*@}"
|
||||
resolveWantedPHPModuleVersion_wantedVersion="${resolveWantedPHPModuleVersion_afterCaret%@*}"
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolveWantedPHPModuleVersion_wantedStability=''
|
||||
resolveWantedPHPModuleVersion_wantedVersion="$resolveWantedPHPModuleVersion_afterCaret"
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolveWantedPHPModuleVersion_wantedStability"; then
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | grep "<s>$resolveWantedPHPModuleVersion_wantedStability</s>")"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -443,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -671,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='^libssl[0-9]+(\.[0-9]+)*$'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -811,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -848,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -1297,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1438,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1985,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -2039,7 +2067,7 @@ installMicrosoftSqlServerODBC() {
|
||||
alpine)
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
@ -2049,7 +2077,7 @@ installMicrosoftSqlServerODBC() {
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.1.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
@ -2088,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -2100,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2127,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2145,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2157,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2183,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2201,6 +2240,59 @@ installLibMPDec() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2336,6 +2428,37 @@ installCargo() {
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2401,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2418,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2570,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2577,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2623,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2716,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2745,9 +2881,12 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
else
|
||||
installCargo
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
@ -2949,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -3161,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -3168,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3274,11 +3431,6 @@ installRemoteModule() {
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 701; then
|
||||
@ -3333,6 +3485,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=3.12.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3478,8 +3632,8 @@ installRemoteModule() {
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version='11.6'
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
@ -3506,9 +3660,7 @@ installRemoteModule() {
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
set -x
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
exit
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
@ -3586,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.14
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3618,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3654,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3871,7 +4028,7 @@ installRemoteModule() {
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -3887,6 +4044,10 @@ installRemoteModule() {
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
@ -3953,6 +4114,33 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -4133,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -4400,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=master
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,74 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_afterCaret" in
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolveWantedPHPModuleVersion_wantedStability="${resolveWantedPHPModuleVersion_afterCaret##*@}"
|
||||
resolveWantedPHPModuleVersion_wantedVersion="${resolveWantedPHPModuleVersion_afterCaret%@*}"
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolveWantedPHPModuleVersion_wantedStability=''
|
||||
resolveWantedPHPModuleVersion_wantedVersion="$resolveWantedPHPModuleVersion_afterCaret"
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolveWantedPHPModuleVersion_wantedStability"; then
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | grep "<s>$resolveWantedPHPModuleVersion_wantedStability</s>")"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -443,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -671,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='^libssl[0-9]+(\.[0-9]+)*$'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -811,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -848,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -1297,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1438,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1985,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -2039,7 +2067,7 @@ installMicrosoftSqlServerODBC() {
|
||||
alpine)
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
@ -2049,7 +2077,7 @@ installMicrosoftSqlServerODBC() {
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.1.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
@ -2088,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -2100,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2127,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2145,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2157,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2183,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2201,6 +2240,59 @@ installLibMPDec() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2336,6 +2428,37 @@ installCargo() {
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2401,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2418,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2570,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2577,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2623,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2716,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2745,9 +2881,12 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
else
|
||||
installCargo
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
@ -2949,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -3161,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -3168,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3274,11 +3431,6 @@ installRemoteModule() {
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 701; then
|
||||
@ -3333,6 +3485,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=3.12.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3478,8 +3632,8 @@ installRemoteModule() {
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version='11.6'
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
@ -3506,9 +3660,7 @@ installRemoteModule() {
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
set -x
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
exit
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
@ -3586,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.14
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3618,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3654,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3871,7 +4028,7 @@ installRemoteModule() {
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -3887,6 +4044,10 @@ installRemoteModule() {
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
@ -3953,6 +4114,33 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -4133,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -4400,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IPE_VERSION=master
|
||||
IPE_VERSION=2.2.14
|
||||
|
||||
StandWithUkraine() {
|
||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||
@ -357,74 +357,81 @@ getModuleSourceCodePath() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the wanted PHP module version, resolving it if it starts with '^'
|
||||
# Get the actual PHP module version, resolving it if it starts with '^'
|
||||
#
|
||||
# Arguments:
|
||||
# $1: the name of the module to be normalized
|
||||
# $1: the name of the module
|
||||
# $2: the wanted version (optional, if omitted we'll use getWantedPHPModuleVersion)
|
||||
#
|
||||
# Output:
|
||||
# The version to be used
|
||||
resolveWantedPHPModuleVersion() {
|
||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
||||
resolvePHPModuleVersion() {
|
||||
resolvePHPModuleVersion_module="$1"
|
||||
if test $# -lt 2; then
|
||||
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
else
|
||||
resolvePHPModuleVersion_raw="$2"
|
||||
fi
|
||||
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_afterCaret" in
|
||||
case "$resolvePHPModuleVersion_afterCaret" in
|
||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||
resolveWantedPHPModuleVersion_wantedStability="${resolveWantedPHPModuleVersion_afterCaret##*@}"
|
||||
resolveWantedPHPModuleVersion_wantedVersion="${resolveWantedPHPModuleVersion_afterCaret%@*}"
|
||||
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||
;;
|
||||
*)
|
||||
resolveWantedPHPModuleVersion_wantedStability=''
|
||||
resolveWantedPHPModuleVersion_wantedVersion="$resolveWantedPHPModuleVersion_afterCaret"
|
||||
resolvePHPModuleVersion_wantedStability=''
|
||||
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||
;;
|
||||
esac
|
||||
resolveWantedPHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$1/allreleases.xml")"
|
||||
resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")"
|
||||
resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")"
|
||||
# remove line endings, collapse spaces
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')"
|
||||
# one line per release (eg <r><v>1.2.3</v><s>stable</s></r>)
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolveWantedPHPModuleVersion_wantedStability"; then
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||
# keep the lines with the wanted stability
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | grep "<s>$resolveWantedPHPModuleVersion_wantedStability</s>")"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | grep "<s>$resolvePHPModuleVersion_wantedStability</s>")"
|
||||
fi
|
||||
# remove everything's up to '<v>' (included)
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed 's#^.*<v>##')"
|
||||
# keep just the versions
|
||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||
resetIFS
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion.}"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||
# Example: looking for 1.0, found 1.0.1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
done
|
||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||
continue
|
||||
fi
|
||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
||||
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||
# Example: looking for 1.0, found exactly it
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
fi
|
||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
||||
case "$resolvePHPModuleVersion_suffix" in
|
||||
[0-9])
|
||||
# Example: looking for 1.1, but this is 1.10
|
||||
;;
|
||||
*)
|
||||
# Example: looking for 1.1, this is 1.1rc1
|
||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
||||
printf '%s' "$resolvePHPModuleVersion_version"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$1" "$resolveWantedPHPModuleVersion_raw" "$resolveWantedPHPModuleVersion_versions" >&2
|
||||
printf 'Unable to find a version of "%s" compatible with "%s"\nAvailable versions are:\n%s\n' "$resolvePHPModuleVersion_module" "$resolvePHPModuleVersion_raw" "$resolvePHPModuleVersion_versions" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -443,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||
return
|
||||
;;
|
||||
esac
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt"
|
||||
resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")"
|
||||
peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt"
|
||||
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||
peclStabilityFlagToVersion_result=''
|
||||
fi
|
||||
@ -671,7 +679,7 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||
fi
|
||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
||||
buildRequiredPackageLists_libssl='^libssl[0-9]+(\.[0-9]+)*$'
|
||||
buildRequiredPackageLists_libssl="$(apk search | grep -E '^libssl[0-9]' | head -1 | cut -d- -f1)"
|
||||
elif test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libtls')" && test -z "$(apk info 2>/dev/null | grep -E '^libressl.*-libssl')" && test -z "$(apk info 2>/dev/null | grep -E '^libretls-')"; then
|
||||
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||
else
|
||||
@ -811,6 +819,12 @@ buildRequiredPackageLists() {
|
||||
ffi@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||
;;
|
||||
ftp@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
ftp@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||
;;
|
||||
gd@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
||||
@ -848,7 +862,10 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
||||
if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev"
|
||||
elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
@ -1297,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||
;;
|
||||
sourceguardian@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||
;;
|
||||
spx@alpine)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||
;;
|
||||
@ -1438,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||
wddx@debian)
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
||||
;;
|
||||
wikidiff2@alpine)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git"
|
||||
;;
|
||||
wikidiff2@debian)
|
||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libthai0"
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git libthai-dev"
|
||||
;;
|
||||
xdebug@alpine)
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||
@ -1985,11 +2013,11 @@ installOracleInstantClient() {
|
||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
echo 'done.'
|
||||
fi
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
if ! test -e "$ORACLE_INSTANTCLIENT_LIBPATH/sdk" && ! test -L "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"; then
|
||||
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS '$ORACLE_INSTANTCLIENT_LIBPATH/sdk'"
|
||||
UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS $ORACLE_INSTANTCLIENT_LIBPATH/sdk"
|
||||
echo 'done.'
|
||||
fi
|
||||
case "$DISTRO" in
|
||||
@ -2039,7 +2067,7 @@ installMicrosoftSqlServerODBC() {
|
||||
alpine)
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
|
||||
else
|
||||
case $(uname -m) in
|
||||
aarch64 | arm64 | armv8)
|
||||
@ -2049,7 +2077,7 @@ installMicrosoftSqlServerODBC() {
|
||||
installMicrosoftSqlServerODBC_arch=amd64
|
||||
;;
|
||||
esac
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.1.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.3.1-1_$installMicrosoftSqlServerODBC_arch.apk
|
||||
fi
|
||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||
rm -rf /tmp/src/msodbcsql.apk
|
||||
@ -2088,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibaomInstalled() {
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then
|
||||
if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
||||
@ -2100,7 +2128,18 @@ isLibaomInstalled() {
|
||||
# Install libaom
|
||||
installLibaom() {
|
||||
printf 'Installing libaom\n'
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)"
|
||||
installLibaom_version=3.8.1
|
||||
case "$DISTRO_VERSION" in
|
||||
debian@10)
|
||||
case $(uname -m) in
|
||||
aarch* | arm*)
|
||||
#see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543
|
||||
installLibaom_version=3.5.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)"
|
||||
mkdir -- "$installLibaom_dir/my.build"
|
||||
cd -- "$installLibaom_dir/my.build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib ..
|
||||
@ -2127,7 +2166,7 @@ isLibdav1dInstalled() {
|
||||
# Install libdav1d
|
||||
installLibdav1d() {
|
||||
printf 'Installing libdav1d\n'
|
||||
installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)"
|
||||
installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)"
|
||||
mkdir -- "$installLibdav1d_dir/build"
|
||||
cd -- "$installLibdav1d_dir/build"
|
||||
meson --buildtype release -Dprefix=/usr ..
|
||||
@ -2145,7 +2184,7 @@ installLibdav1d() {
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibyuvInstalled() {
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then
|
||||
if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||
@ -2157,7 +2196,7 @@ isLibyuvInstalled() {
|
||||
# Install libyuv
|
||||
installLibyuv() {
|
||||
printf 'Installing libyuv\n'
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)"
|
||||
installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)"
|
||||
mkdir -- "$installLibyuv_dir/build"
|
||||
cd -- "$installLibyuv_dir/build"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||
@ -2183,7 +2222,7 @@ isLibavifInstalled() {
|
||||
# Install libavif
|
||||
installLibavif() {
|
||||
printf 'Installing libavif\n'
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)"
|
||||
installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)"
|
||||
mkdir -- "$installLibavif_dir/build"
|
||||
cd -- "$installLibavif_dir/build"
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib
|
||||
@ -2201,6 +2240,59 @@ installLibMPDec() {
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibDatrieInstalled() {
|
||||
if ! test -f /usr/local/lib/libdatrie.so && ! test -f /usr/lib/libdatrie.so && ! test -f /usr/lib/x86_64*/libdatrie.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/datrie/trie.h && ! test -f /usr/include/datrie/trie.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibDatrie() {
|
||||
printf 'Installing libdatrie\n'
|
||||
installLibDatrie_src="$(getPackageSource https://github.com/tlwg/libdatrie/releases/download/v0.2.13/libdatrie-0.2.13.tar.xz)"
|
||||
cd -- "$installLibDatrie_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Check if libdatrie is installed
|
||||
#
|
||||
# Return:
|
||||
# 0 (true)
|
||||
# 1 (false)
|
||||
isLibThaiInstalled() {
|
||||
return 1
|
||||
if ! test -f /usr/local/lib/libthai.so && ! test -f /usr/lib/libthai.so && ! test -f /usr/lib/x86_64*/libthai.so; then
|
||||
return 1
|
||||
fi
|
||||
if ! test -f /usr/local/include/thai/thailib.h && ! test -f /usr/include/thai/thailib.h; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install libdatrie
|
||||
installLibThai() {
|
||||
printf 'Installing libthai\n'
|
||||
installLibThai_src="$(getPackageSource https://github.com/tlwg/libthai/releases/download/v0.1.29/libthai-0.1.29.tar.xz)"
|
||||
cd -- "$installLibThai_src"
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# Install Composer
|
||||
installComposer() {
|
||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||
@ -2336,6 +2428,37 @@ installCargo() {
|
||||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
case "${IPE_NEWRELIC_DAEMON:-}" in
|
||||
1 | y* | Y*)
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
|
||||
;;
|
||||
esac
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
@ -2401,6 +2524,9 @@ EOF
|
||||
cd - >/dev/null
|
||||
fi
|
||||
;;
|
||||
ftp)
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||
;;
|
||||
gd)
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf --with-vpx-dir
|
||||
@ -2418,6 +2544,11 @@ EOF
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||
installBundledModule_tmp=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test $installBundledModule_tmp -eq 0; then
|
||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||
@ -2570,6 +2701,9 @@ EOF
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||
@ -2577,6 +2711,8 @@ EOF
|
||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||
@ -2623,7 +2759,7 @@ getPackageSource() {
|
||||
installRemoteModule() {
|
||||
installRemoteModule_module="$1"
|
||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||
rm -rf "$CONFIGURE_FILE"
|
||||
installRemoteModule_manuallyInstalled=0
|
||||
@ -2716,7 +2852,7 @@ installRemoteModule() {
|
||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||
installRemoteModule_tmp=0.29.0
|
||||
else
|
||||
installRemoteModule_tmp=0.30.3
|
||||
installRemoteModule_tmp=0.31.0
|
||||
fi
|
||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||
make -s -j$(getProcessorCount) cmake_build
|
||||
@ -2745,9 +2881,12 @@ installRemoteModule() {
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||
installRemoteModule_version=0.75.0
|
||||
else
|
||||
installCargo
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
fi
|
||||
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then
|
||||
installCargo
|
||||
fi
|
||||
;;
|
||||
decimal)
|
||||
@ -2949,6 +3088,12 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
imap)
|
||||
# Include Kerberos Support
|
||||
addConfigureOption with-kerberos yes
|
||||
# Include SSL Support
|
||||
addConfigureOption with-imap-ssl yes
|
||||
;;
|
||||
inotify)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -3161,6 +3306,10 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
@ -3168,6 +3317,14 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
oci8 | pdo_oci)
|
||||
installOracleInstantClient
|
||||
if test "$installRemoteModule_module" = oci8; then
|
||||
addConfigureOption with-oci8 "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
elif test "$installRemoteModule_module" = pdo_oci; then
|
||||
addConfigureOption with-pdo-oci "instantclient,$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||
fi
|
||||
;;
|
||||
opencensus)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=alpha
|
||||
@ -3274,11 +3431,6 @@ installRemoteModule() {
|
||||
addConfigureOption enable-swoole-curl yes
|
||||
fi
|
||||
;;
|
||||
opentelemetry)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=beta
|
||||
fi
|
||||
;;
|
||||
parallel)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 701; then
|
||||
@ -3333,6 +3485,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=3.12.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||
installRemoteModule_version=3.24.4
|
||||
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||
installRemoteModule_version=3.25.3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3478,8 +3632,8 @@ installRemoteModule() {
|
||||
;;
|
||||
saxon)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
installRemoteModule_version='11.6'
|
||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||
installRemoteModule_version='12.4.2'
|
||||
else
|
||||
installRemoteModule_version='12.3'
|
||||
fi
|
||||
@ -3506,9 +3660,7 @@ installRemoteModule() {
|
||||
fi
|
||||
ldconfig || true
|
||||
fi
|
||||
set -x
|
||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||
exit
|
||||
phpize
|
||||
./configure --enable-saxon
|
||||
make -j$(getProcessorCount) install
|
||||
@ -3586,7 +3738,7 @@ installRemoteModule() {
|
||||
spx)
|
||||
if test -z "$installRemoteModule_path"; then
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
installRemoteModule_version=v0.4.14
|
||||
installRemoteModule_version=v0.4.15
|
||||
fi
|
||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||
@ -3618,6 +3770,8 @@ installRemoteModule() {
|
||||
installRemoteModule_version=5.9.0
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=5.10.1
|
||||
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||
installRemoteModule_version=5.11.1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -3654,6 +3808,9 @@ installRemoteModule() {
|
||||
installRemoteModule_version=4.5.10
|
||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||
installRemoteModule_version=4.8.11
|
||||
elif test $PHP_BITS -eq 32; then
|
||||
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
|
||||
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
|
||||
fi
|
||||
else
|
||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||
@ -3871,7 +4028,7 @@ installRemoteModule() {
|
||||
installRemoteModule_architecture=alpine-arm64
|
||||
;;
|
||||
*)
|
||||
installRemoteModule_architecture=alpine
|
||||
installRemoteModule_architecture=alpine-x86_64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -3887,6 +4044,10 @@ installRemoteModule() {
|
||||
;;
|
||||
esac
|
||||
installRemoteModule_url="$(curl -sSLf -o - https://tideways.com/profiler/downloads | grep -Eo "\"[^\"]+/tideways-php-([0-9]+\.[0-9]+\.[0-9]+)-$installRemoteModule_architecture.tar.gz\"" | cut -d'"' -f2)"
|
||||
if test -z "$installRemoteModule_url"; then
|
||||
echo 'Failed to find the tideways tarball to be downloaded'
|
||||
exit 1
|
||||
fi
|
||||
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||
if test -d "$installRemoteModule_src/dist"; then
|
||||
@ -3953,6 +4114,33 @@ installRemoteModule() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
wikidiff2)
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
if ! isLibDatrieInstalled; then
|
||||
installLibDatrie
|
||||
fi
|
||||
if ! isLibThaiInstalled; then
|
||||
installLibThai
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 702; then
|
||||
installRemoteModule_version=1.13.0
|
||||
else
|
||||
installRemoteModule_version="$(git -c versionsort.suffix=- ls-remote --tags --refs --quiet --exit-code --sort=version:refname https://github.com/wikimedia/mediawiki-php-wikidiff2.git 'refs/tags/*.*.*' | tail -1 | cut -d/ -f3)"
|
||||
fi
|
||||
fi
|
||||
installRemoteModule_src="$(getPackageSource "https://codeload.github.com/wikimedia/mediawiki-php-wikidiff2/tar.gz/refs/tags/$installRemoteModule_version")"
|
||||
cd -- "$installRemoteModule_src"
|
||||
phpize
|
||||
./configure
|
||||
make -j$(getProcessorCount)
|
||||
make install
|
||||
cd - >/dev/null
|
||||
installRemoteModule_manuallyInstalled=1
|
||||
;;
|
||||
xdebug)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||
@ -4133,8 +4321,15 @@ installRemoteModule() {
|
||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
case "${IPE_SKIP_CHECK:-}" in
|
||||
1 | y* | Y*) ;;
|
||||
*)
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
;;
|
||||
esac
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
@ -4400,7 +4595,7 @@ fixLetsEncrypt() {
|
||||
invokeAptGetUpdate
|
||||
fi
|
||||
printf -- '- installing newer ca-certificates package\n'
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS ca-certificates
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends ${IPE_APTGET_INSTALLOPTIONS:-} ca-certificates
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
|
Loading…
Reference in New Issue
Block a user