feat: 更新 install-php-extensions 脚本 (#1406)
This commit is contained in:
parent
22d27f43a1
commit
2bcf8074f3
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IPE_VERSION=master
|
IPE_VERSION=2.2.14
|
||||||
|
|
||||||
StandWithUkraine() {
|
StandWithUkraine() {
|
||||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||||
|
|
@ -357,74 +357,81 @@ getModuleSourceCodePath() {
|
||||||
fi
|
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:
|
# 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:
|
# Output:
|
||||||
# The version to be used
|
# The version to be used
|
||||||
resolveWantedPHPModuleVersion() {
|
resolvePHPModuleVersion() {
|
||||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
resolvePHPModuleVersion_module="$1"
|
||||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
if test $# -lt 2; then
|
||||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
else
|
||||||
|
resolvePHPModuleVersion_raw="$2"
|
||||||
|
fi
|
||||||
|
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||||
|
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||||
|
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
case "$resolveWantedPHPModuleVersion_afterCaret" in
|
case "$resolvePHPModuleVersion_afterCaret" in
|
||||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||||
resolveWantedPHPModuleVersion_wantedStability="${resolveWantedPHPModuleVersion_afterCaret##*@}"
|
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||||
resolveWantedPHPModuleVersion_wantedVersion="${resolveWantedPHPModuleVersion_afterCaret%@*}"
|
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
resolveWantedPHPModuleVersion_wantedStability=''
|
resolvePHPModuleVersion_wantedStability=''
|
||||||
resolveWantedPHPModuleVersion_wantedVersion="$resolveWantedPHPModuleVersion_afterCaret"
|
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
# 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>)
|
# 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')"
|
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||||
if test -n "$resolveWantedPHPModuleVersion_wantedStability"; then
|
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||||
# keep the lines with the wanted stability
|
# 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
|
fi
|
||||||
# remove everything's up to '<v>' (included)
|
# 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
|
# keep just the versions
|
||||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | cut -d'<' -f1)"
|
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||||
resetIFS
|
resetIFS
|
||||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion.}"; then
|
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||||
# Example: looking for 1.0, found 1.0.1
|
# Example: looking for 1.0, found 1.0.1
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||||
# Example: looking for 1.0, found exactly it
|
# Example: looking for 1.0, found exactly it
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
case "$resolvePHPModuleVersion_suffix" in
|
||||||
[0-9])
|
[0-9])
|
||||||
# Example: looking for 1.1, but this is 1.10
|
# Example: looking for 1.1, but this is 1.10
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Example: looking for 1.1, this is 1.1rc1
|
# Example: looking for 1.1, this is 1.1rc1
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
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
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -443,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||||
peclStabilityFlagToVersion_result=''
|
peclStabilityFlagToVersion_result=''
|
||||||
fi
|
fi
|
||||||
|
|
@ -671,7 +679,7 @@ buildRequiredPackageLists() {
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||||
fi
|
fi
|
||||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
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
|
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)
|
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||||
else
|
else
|
||||||
|
|
@ -811,6 +819,12 @@ buildRequiredPackageLists() {
|
||||||
ffi@debian)
|
ffi@debian)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||||
;;
|
;;
|
||||||
|
ftp@alpine)
|
||||||
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||||
|
;;
|
||||||
|
ftp@debian)
|
||||||
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||||
|
;;
|
||||||
gd@alpine)
|
gd@alpine)
|
||||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
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_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
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
|
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||||
1 | y* | Y*) ;;
|
1 | y* | Y*) ;;
|
||||||
*)
|
*)
|
||||||
|
|
@ -1297,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||||
;;
|
;;
|
||||||
|
sourceguardian@alpine)
|
||||||
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||||
|
;;
|
||||||
spx@alpine)
|
spx@alpine)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||||
;;
|
;;
|
||||||
|
|
@ -1438,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||||
wddx@debian)
|
wddx@debian)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
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)
|
xdebug@alpine)
|
||||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||||
|
|
@ -1985,11 +2013,11 @@ installOracleInstantClient() {
|
||||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||||
echo 'done.'
|
echo 'done.'
|
||||||
fi
|
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"
|
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/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.'
|
echo 'done.'
|
||||||
fi
|
fi
|
||||||
case "$DISTRO" in
|
case "$DISTRO" in
|
||||||
|
|
@ -2039,7 +2067,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
alpine)
|
alpine)
|
||||||
rm -rf /tmp/src/msodbcsql.apk
|
rm -rf /tmp/src/msodbcsql.apk
|
||||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
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
|
else
|
||||||
case $(uname -m) in
|
case $(uname -m) in
|
||||||
aarch64 | arm64 | armv8)
|
aarch64 | arm64 | armv8)
|
||||||
|
|
@ -2049,7 +2077,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
installMicrosoftSqlServerODBC_arch=amd64
|
installMicrosoftSqlServerODBC_arch=amd64
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
fi
|
||||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||||
rm -rf /tmp/src/msodbcsql.apk
|
rm -rf /tmp/src/msodbcsql.apk
|
||||||
|
|
@ -2088,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
# 0 (true)
|
# 0 (true)
|
||||||
# 1 (false)
|
# 1 (false)
|
||||||
isLibaomInstalled() {
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
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
|
# Install libaom
|
||||||
installLibaom() {
|
installLibaom() {
|
||||||
printf 'Installing libaom\n'
|
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"
|
mkdir -- "$installLibaom_dir/my.build"
|
||||||
cd -- "$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 ..
|
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
|
# Install libdav1d
|
||||||
installLibdav1d() {
|
installLibdav1d() {
|
||||||
printf 'Installing libdav1d\n'
|
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"
|
mkdir -- "$installLibdav1d_dir/build"
|
||||||
cd -- "$installLibdav1d_dir/build"
|
cd -- "$installLibdav1d_dir/build"
|
||||||
meson --buildtype release -Dprefix=/usr ..
|
meson --buildtype release -Dprefix=/usr ..
|
||||||
|
|
@ -2145,7 +2184,7 @@ installLibdav1d() {
|
||||||
# 0 (true)
|
# 0 (true)
|
||||||
# 1 (false)
|
# 1 (false)
|
||||||
isLibyuvInstalled() {
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||||
|
|
@ -2157,7 +2196,7 @@ isLibyuvInstalled() {
|
||||||
# Install libyuv
|
# Install libyuv
|
||||||
installLibyuv() {
|
installLibyuv() {
|
||||||
printf 'Installing libyuv\n'
|
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"
|
mkdir -- "$installLibyuv_dir/build"
|
||||||
cd -- "$installLibyuv_dir/build"
|
cd -- "$installLibyuv_dir/build"
|
||||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||||
|
|
@ -2183,7 +2222,7 @@ isLibavifInstalled() {
|
||||||
# Install libavif
|
# Install libavif
|
||||||
installLibavif() {
|
installLibavif() {
|
||||||
printf 'Installing libavif\n'
|
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"
|
mkdir -- "$installLibavif_dir/build"
|
||||||
cd -- "$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
|
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
|
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
|
# Install Composer
|
||||||
installComposer() {
|
installComposer() {
|
||||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||||
|
|
@ -2336,6 +2428,37 @@ installCargo() {
|
||||||
fi
|
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
|
# Install a bundled PHP module given its handle
|
||||||
#
|
#
|
||||||
# Arguments:
|
# Arguments:
|
||||||
|
|
@ -2401,6 +2524,9 @@ EOF
|
||||||
cd - >/dev/null
|
cd - >/dev/null
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
ftp)
|
||||||
|
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||||
|
;;
|
||||||
gd)
|
gd)
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
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
|
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
|
installBundledModule_tmp=1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
debian)
|
||||||
|
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||||
|
installBundledModule_tmp=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
if test $installBundledModule_tmp -eq 0; then
|
if test $installBundledModule_tmp -eq 0; then
|
||||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||||
|
|
@ -2570,6 +2701,9 @@ EOF
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
case "${IPE_SKIP_CHECK:-}" in
|
||||||
|
1 | y* | Y*) ;;
|
||||||
|
*)
|
||||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||||
|
|
@ -2577,6 +2711,8 @@ EOF
|
||||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||||
|
|
@ -2623,7 +2759,7 @@ getPackageSource() {
|
||||||
installRemoteModule() {
|
installRemoteModule() {
|
||||||
installRemoteModule_module="$1"
|
installRemoteModule_module="$1"
|
||||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||||
rm -rf "$CONFIGURE_FILE"
|
rm -rf "$CONFIGURE_FILE"
|
||||||
installRemoteModule_manuallyInstalled=0
|
installRemoteModule_manuallyInstalled=0
|
||||||
|
|
@ -2716,7 +2852,7 @@ installRemoteModule() {
|
||||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||||
installRemoteModule_tmp=0.29.0
|
installRemoteModule_tmp=0.29.0
|
||||||
else
|
else
|
||||||
installRemoteModule_tmp=0.30.3
|
installRemoteModule_tmp=0.31.0
|
||||||
fi
|
fi
|
||||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||||
make -s -j$(getProcessorCount) cmake_build
|
make -s -j$(getProcessorCount) cmake_build
|
||||||
|
|
@ -2745,9 +2881,12 @@ installRemoteModule() {
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||||
installRemoteModule_version=0.75.0
|
installRemoteModule_version=0.75.0
|
||||||
else
|
|
||||||
installCargo
|
|
||||||
fi
|
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
|
fi
|
||||||
;;
|
;;
|
||||||
decimal)
|
decimal)
|
||||||
|
|
@ -2949,6 +3088,12 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
imap)
|
||||||
|
# Include Kerberos Support
|
||||||
|
addConfigureOption with-kerberos yes
|
||||||
|
# Include SSL Support
|
||||||
|
addConfigureOption with-imap-ssl yes
|
||||||
|
;;
|
||||||
inotify)
|
inotify)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||||
|
|
@ -3161,6 +3306,10 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
newrelic)
|
||||||
|
installNewRelic
|
||||||
|
installRemoteModule_manuallyInstalled=2
|
||||||
|
;;
|
||||||
oauth)
|
oauth)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||||
|
|
@ -3168,6 +3317,14 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
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)
|
opencensus)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
installRemoteModule_version=alpha
|
installRemoteModule_version=alpha
|
||||||
|
|
@ -3274,11 +3431,6 @@ installRemoteModule() {
|
||||||
addConfigureOption enable-swoole-curl yes
|
addConfigureOption enable-swoole-curl yes
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
opentelemetry)
|
|
||||||
if test -z "$installRemoteModule_version"; then
|
|
||||||
installRemoteModule_version=beta
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
parallel)
|
parallel)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 701; then
|
if test $PHP_MAJMIN_VERSION -le 701; then
|
||||||
|
|
@ -3333,6 +3485,8 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=3.12.4
|
installRemoteModule_version=3.12.4
|
||||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||||
installRemoteModule_version=3.24.4
|
installRemoteModule_version=3.24.4
|
||||||
|
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||||
|
installRemoteModule_version=3.25.3
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
@ -3478,8 +3632,8 @@ installRemoteModule() {
|
||||||
;;
|
;;
|
||||||
saxon)
|
saxon)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||||
installRemoteModule_version='11.6'
|
installRemoteModule_version='12.4.2'
|
||||||
else
|
else
|
||||||
installRemoteModule_version='12.3'
|
installRemoteModule_version='12.3'
|
||||||
fi
|
fi
|
||||||
|
|
@ -3506,9 +3660,7 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
ldconfig || true
|
ldconfig || true
|
||||||
fi
|
fi
|
||||||
set -x
|
|
||||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||||
exit
|
|
||||||
phpize
|
phpize
|
||||||
./configure --enable-saxon
|
./configure --enable-saxon
|
||||||
make -j$(getProcessorCount) install
|
make -j$(getProcessorCount) install
|
||||||
|
|
@ -3586,7 +3738,7 @@ installRemoteModule() {
|
||||||
spx)
|
spx)
|
||||||
if test -z "$installRemoteModule_path"; then
|
if test -z "$installRemoteModule_path"; then
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
installRemoteModule_version=v0.4.14
|
installRemoteModule_version=v0.4.15
|
||||||
fi
|
fi
|
||||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||||
|
|
@ -3618,6 +3770,8 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=5.9.0
|
installRemoteModule_version=5.9.0
|
||||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||||
installRemoteModule_version=5.10.1
|
installRemoteModule_version=5.10.1
|
||||||
|
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||||
|
installRemoteModule_version=5.11.1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
@ -3654,6 +3808,9 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=4.5.10
|
installRemoteModule_version=4.5.10
|
||||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||||
installRemoteModule_version=4.8.11
|
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
|
fi
|
||||||
else
|
else
|
||||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||||
|
|
@ -3871,7 +4028,7 @@ installRemoteModule() {
|
||||||
installRemoteModule_architecture=alpine-arm64
|
installRemoteModule_architecture=alpine-arm64
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
installRemoteModule_architecture=alpine
|
installRemoteModule_architecture=alpine-x86_64
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
@ -3887,6 +4044,10 @@ installRemoteModule() {
|
||||||
;;
|
;;
|
||||||
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)"
|
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"
|
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||||
if test -d "$installRemoteModule_src/dist"; then
|
if test -d "$installRemoteModule_src/dist"; then
|
||||||
|
|
@ -3953,6 +4114,33 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
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)
|
xdebug)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||||
|
|
@ -4133,8 +4321,15 @@ installRemoteModule() {
|
||||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||||
fi
|
fi
|
||||||
postProcessModule "$installRemoteModule_module"
|
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"
|
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check if a module/helper may be installed using the pecl archive
|
# Check if a module/helper may be installed using the pecl archive
|
||||||
|
|
@ -4400,7 +4595,7 @@ fixLetsEncrypt() {
|
||||||
invokeAptGetUpdate
|
invokeAptGetUpdate
|
||||||
fi
|
fi
|
||||||
printf -- '- installing newer ca-certificates package\n'
|
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
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IPE_VERSION=master
|
IPE_VERSION=2.2.14
|
||||||
|
|
||||||
StandWithUkraine() {
|
StandWithUkraine() {
|
||||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||||
|
|
@ -357,74 +357,81 @@ getModuleSourceCodePath() {
|
||||||
fi
|
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:
|
# 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:
|
# Output:
|
||||||
# The version to be used
|
# The version to be used
|
||||||
resolveWantedPHPModuleVersion() {
|
resolvePHPModuleVersion() {
|
||||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
resolvePHPModuleVersion_module="$1"
|
||||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
if test $# -lt 2; then
|
||||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
else
|
||||||
|
resolvePHPModuleVersion_raw="$2"
|
||||||
|
fi
|
||||||
|
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||||
|
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||||
|
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
case "$resolveWantedPHPModuleVersion_afterCaret" in
|
case "$resolvePHPModuleVersion_afterCaret" in
|
||||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||||
resolveWantedPHPModuleVersion_wantedStability="${resolveWantedPHPModuleVersion_afterCaret##*@}"
|
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||||
resolveWantedPHPModuleVersion_wantedVersion="${resolveWantedPHPModuleVersion_afterCaret%@*}"
|
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
resolveWantedPHPModuleVersion_wantedStability=''
|
resolvePHPModuleVersion_wantedStability=''
|
||||||
resolveWantedPHPModuleVersion_wantedVersion="$resolveWantedPHPModuleVersion_afterCaret"
|
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
# 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>)
|
# 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')"
|
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||||
if test -n "$resolveWantedPHPModuleVersion_wantedStability"; then
|
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||||
# keep the lines with the wanted stability
|
# 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
|
fi
|
||||||
# remove everything's up to '<v>' (included)
|
# 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
|
# keep just the versions
|
||||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | cut -d'<' -f1)"
|
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||||
resetIFS
|
resetIFS
|
||||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion.}"; then
|
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||||
# Example: looking for 1.0, found 1.0.1
|
# Example: looking for 1.0, found 1.0.1
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||||
# Example: looking for 1.0, found exactly it
|
# Example: looking for 1.0, found exactly it
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
case "$resolvePHPModuleVersion_suffix" in
|
||||||
[0-9])
|
[0-9])
|
||||||
# Example: looking for 1.1, but this is 1.10
|
# Example: looking for 1.1, but this is 1.10
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Example: looking for 1.1, this is 1.1rc1
|
# Example: looking for 1.1, this is 1.1rc1
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
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
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -443,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||||
peclStabilityFlagToVersion_result=''
|
peclStabilityFlagToVersion_result=''
|
||||||
fi
|
fi
|
||||||
|
|
@ -671,7 +679,7 @@ buildRequiredPackageLists() {
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||||
fi
|
fi
|
||||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
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
|
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)
|
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||||
else
|
else
|
||||||
|
|
@ -811,6 +819,12 @@ buildRequiredPackageLists() {
|
||||||
ffi@debian)
|
ffi@debian)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||||
;;
|
;;
|
||||||
|
ftp@alpine)
|
||||||
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||||
|
;;
|
||||||
|
ftp@debian)
|
||||||
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||||
|
;;
|
||||||
gd@alpine)
|
gd@alpine)
|
||||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
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_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
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
|
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||||
1 | y* | Y*) ;;
|
1 | y* | Y*) ;;
|
||||||
*)
|
*)
|
||||||
|
|
@ -1297,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||||
;;
|
;;
|
||||||
|
sourceguardian@alpine)
|
||||||
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||||
|
;;
|
||||||
spx@alpine)
|
spx@alpine)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||||
;;
|
;;
|
||||||
|
|
@ -1438,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||||
wddx@debian)
|
wddx@debian)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
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)
|
xdebug@alpine)
|
||||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||||
|
|
@ -1985,11 +2013,11 @@ installOracleInstantClient() {
|
||||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||||
echo 'done.'
|
echo 'done.'
|
||||||
fi
|
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"
|
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/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.'
|
echo 'done.'
|
||||||
fi
|
fi
|
||||||
case "$DISTRO" in
|
case "$DISTRO" in
|
||||||
|
|
@ -2039,7 +2067,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
alpine)
|
alpine)
|
||||||
rm -rf /tmp/src/msodbcsql.apk
|
rm -rf /tmp/src/msodbcsql.apk
|
||||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
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
|
else
|
||||||
case $(uname -m) in
|
case $(uname -m) in
|
||||||
aarch64 | arm64 | armv8)
|
aarch64 | arm64 | armv8)
|
||||||
|
|
@ -2049,7 +2077,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
installMicrosoftSqlServerODBC_arch=amd64
|
installMicrosoftSqlServerODBC_arch=amd64
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
fi
|
||||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||||
rm -rf /tmp/src/msodbcsql.apk
|
rm -rf /tmp/src/msodbcsql.apk
|
||||||
|
|
@ -2088,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
# 0 (true)
|
# 0 (true)
|
||||||
# 1 (false)
|
# 1 (false)
|
||||||
isLibaomInstalled() {
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
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
|
# Install libaom
|
||||||
installLibaom() {
|
installLibaom() {
|
||||||
printf 'Installing libaom\n'
|
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"
|
mkdir -- "$installLibaom_dir/my.build"
|
||||||
cd -- "$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 ..
|
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
|
# Install libdav1d
|
||||||
installLibdav1d() {
|
installLibdav1d() {
|
||||||
printf 'Installing libdav1d\n'
|
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"
|
mkdir -- "$installLibdav1d_dir/build"
|
||||||
cd -- "$installLibdav1d_dir/build"
|
cd -- "$installLibdav1d_dir/build"
|
||||||
meson --buildtype release -Dprefix=/usr ..
|
meson --buildtype release -Dprefix=/usr ..
|
||||||
|
|
@ -2145,7 +2184,7 @@ installLibdav1d() {
|
||||||
# 0 (true)
|
# 0 (true)
|
||||||
# 1 (false)
|
# 1 (false)
|
||||||
isLibyuvInstalled() {
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||||
|
|
@ -2157,7 +2196,7 @@ isLibyuvInstalled() {
|
||||||
# Install libyuv
|
# Install libyuv
|
||||||
installLibyuv() {
|
installLibyuv() {
|
||||||
printf 'Installing libyuv\n'
|
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"
|
mkdir -- "$installLibyuv_dir/build"
|
||||||
cd -- "$installLibyuv_dir/build"
|
cd -- "$installLibyuv_dir/build"
|
||||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||||
|
|
@ -2183,7 +2222,7 @@ isLibavifInstalled() {
|
||||||
# Install libavif
|
# Install libavif
|
||||||
installLibavif() {
|
installLibavif() {
|
||||||
printf 'Installing libavif\n'
|
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"
|
mkdir -- "$installLibavif_dir/build"
|
||||||
cd -- "$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
|
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
|
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
|
# Install Composer
|
||||||
installComposer() {
|
installComposer() {
|
||||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||||
|
|
@ -2336,6 +2428,37 @@ installCargo() {
|
||||||
fi
|
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
|
# Install a bundled PHP module given its handle
|
||||||
#
|
#
|
||||||
# Arguments:
|
# Arguments:
|
||||||
|
|
@ -2401,6 +2524,9 @@ EOF
|
||||||
cd - >/dev/null
|
cd - >/dev/null
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
ftp)
|
||||||
|
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||||
|
;;
|
||||||
gd)
|
gd)
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
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
|
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
|
installBundledModule_tmp=1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
debian)
|
||||||
|
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||||
|
installBundledModule_tmp=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
if test $installBundledModule_tmp -eq 0; then
|
if test $installBundledModule_tmp -eq 0; then
|
||||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||||
|
|
@ -2570,6 +2701,9 @@ EOF
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
case "${IPE_SKIP_CHECK:-}" in
|
||||||
|
1 | y* | Y*) ;;
|
||||||
|
*)
|
||||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||||
|
|
@ -2577,6 +2711,8 @@ EOF
|
||||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||||
|
|
@ -2623,7 +2759,7 @@ getPackageSource() {
|
||||||
installRemoteModule() {
|
installRemoteModule() {
|
||||||
installRemoteModule_module="$1"
|
installRemoteModule_module="$1"
|
||||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||||
rm -rf "$CONFIGURE_FILE"
|
rm -rf "$CONFIGURE_FILE"
|
||||||
installRemoteModule_manuallyInstalled=0
|
installRemoteModule_manuallyInstalled=0
|
||||||
|
|
@ -2716,7 +2852,7 @@ installRemoteModule() {
|
||||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||||
installRemoteModule_tmp=0.29.0
|
installRemoteModule_tmp=0.29.0
|
||||||
else
|
else
|
||||||
installRemoteModule_tmp=0.30.3
|
installRemoteModule_tmp=0.31.0
|
||||||
fi
|
fi
|
||||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||||
make -s -j$(getProcessorCount) cmake_build
|
make -s -j$(getProcessorCount) cmake_build
|
||||||
|
|
@ -2745,9 +2881,12 @@ installRemoteModule() {
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||||
installRemoteModule_version=0.75.0
|
installRemoteModule_version=0.75.0
|
||||||
else
|
|
||||||
installCargo
|
|
||||||
fi
|
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
|
fi
|
||||||
;;
|
;;
|
||||||
decimal)
|
decimal)
|
||||||
|
|
@ -2949,6 +3088,12 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
imap)
|
||||||
|
# Include Kerberos Support
|
||||||
|
addConfigureOption with-kerberos yes
|
||||||
|
# Include SSL Support
|
||||||
|
addConfigureOption with-imap-ssl yes
|
||||||
|
;;
|
||||||
inotify)
|
inotify)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||||
|
|
@ -3161,6 +3306,10 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
newrelic)
|
||||||
|
installNewRelic
|
||||||
|
installRemoteModule_manuallyInstalled=2
|
||||||
|
;;
|
||||||
oauth)
|
oauth)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||||
|
|
@ -3168,6 +3317,14 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
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)
|
opencensus)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
installRemoteModule_version=alpha
|
installRemoteModule_version=alpha
|
||||||
|
|
@ -3274,11 +3431,6 @@ installRemoteModule() {
|
||||||
addConfigureOption enable-swoole-curl yes
|
addConfigureOption enable-swoole-curl yes
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
opentelemetry)
|
|
||||||
if test -z "$installRemoteModule_version"; then
|
|
||||||
installRemoteModule_version=beta
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
parallel)
|
parallel)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 701; then
|
if test $PHP_MAJMIN_VERSION -le 701; then
|
||||||
|
|
@ -3333,6 +3485,8 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=3.12.4
|
installRemoteModule_version=3.12.4
|
||||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||||
installRemoteModule_version=3.24.4
|
installRemoteModule_version=3.24.4
|
||||||
|
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||||
|
installRemoteModule_version=3.25.3
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
@ -3478,8 +3632,8 @@ installRemoteModule() {
|
||||||
;;
|
;;
|
||||||
saxon)
|
saxon)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||||
installRemoteModule_version='11.6'
|
installRemoteModule_version='12.4.2'
|
||||||
else
|
else
|
||||||
installRemoteModule_version='12.3'
|
installRemoteModule_version='12.3'
|
||||||
fi
|
fi
|
||||||
|
|
@ -3506,9 +3660,7 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
ldconfig || true
|
ldconfig || true
|
||||||
fi
|
fi
|
||||||
set -x
|
|
||||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||||
exit
|
|
||||||
phpize
|
phpize
|
||||||
./configure --enable-saxon
|
./configure --enable-saxon
|
||||||
make -j$(getProcessorCount) install
|
make -j$(getProcessorCount) install
|
||||||
|
|
@ -3586,7 +3738,7 @@ installRemoteModule() {
|
||||||
spx)
|
spx)
|
||||||
if test -z "$installRemoteModule_path"; then
|
if test -z "$installRemoteModule_path"; then
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
installRemoteModule_version=v0.4.14
|
installRemoteModule_version=v0.4.15
|
||||||
fi
|
fi
|
||||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||||
|
|
@ -3618,6 +3770,8 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=5.9.0
|
installRemoteModule_version=5.9.0
|
||||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||||
installRemoteModule_version=5.10.1
|
installRemoteModule_version=5.10.1
|
||||||
|
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||||
|
installRemoteModule_version=5.11.1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
@ -3654,6 +3808,9 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=4.5.10
|
installRemoteModule_version=4.5.10
|
||||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||||
installRemoteModule_version=4.8.11
|
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
|
fi
|
||||||
else
|
else
|
||||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||||
|
|
@ -3871,7 +4028,7 @@ installRemoteModule() {
|
||||||
installRemoteModule_architecture=alpine-arm64
|
installRemoteModule_architecture=alpine-arm64
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
installRemoteModule_architecture=alpine
|
installRemoteModule_architecture=alpine-x86_64
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
@ -3887,6 +4044,10 @@ installRemoteModule() {
|
||||||
;;
|
;;
|
||||||
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)"
|
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"
|
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||||
if test -d "$installRemoteModule_src/dist"; then
|
if test -d "$installRemoteModule_src/dist"; then
|
||||||
|
|
@ -3953,6 +4114,33 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
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)
|
xdebug)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||||
|
|
@ -4133,8 +4321,15 @@ installRemoteModule() {
|
||||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||||
fi
|
fi
|
||||||
postProcessModule "$installRemoteModule_module"
|
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"
|
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check if a module/helper may be installed using the pecl archive
|
# Check if a module/helper may be installed using the pecl archive
|
||||||
|
|
@ -4400,7 +4595,7 @@ fixLetsEncrypt() {
|
||||||
invokeAptGetUpdate
|
invokeAptGetUpdate
|
||||||
fi
|
fi
|
||||||
printf -- '- installing newer ca-certificates package\n'
|
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
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ if ! which docker-php-ext-configure >/dev/null || ! which docker-php-ext-enable
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IPE_VERSION=master
|
IPE_VERSION=2.2.14
|
||||||
|
|
||||||
StandWithUkraine() {
|
StandWithUkraine() {
|
||||||
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
if test -t 1 && ! grep -Eq '^VERSION=.*jessie' /etc/os-release; then
|
||||||
|
|
@ -357,74 +357,81 @@ getModuleSourceCodePath() {
|
||||||
fi
|
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:
|
# 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:
|
# Output:
|
||||||
# The version to be used
|
# The version to be used
|
||||||
resolveWantedPHPModuleVersion() {
|
resolvePHPModuleVersion() {
|
||||||
resolveWantedPHPModuleVersion_raw="$(getWantedPHPModuleVersion "$1")"
|
resolvePHPModuleVersion_module="$1"
|
||||||
resolveWantedPHPModuleVersion_afterCaret="${resolveWantedPHPModuleVersion_raw#^}"
|
if test $# -lt 2; then
|
||||||
if test "$resolveWantedPHPModuleVersion_raw" = "$resolveWantedPHPModuleVersion_afterCaret"; then
|
resolvePHPModuleVersion_raw="$(getWantedPHPModuleVersion "$installRemoteModule_module")"
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_raw"
|
else
|
||||||
|
resolvePHPModuleVersion_raw="$2"
|
||||||
|
fi
|
||||||
|
resolvePHPModuleVersion_afterCaret="${resolvePHPModuleVersion_raw#^}"
|
||||||
|
if test "$resolvePHPModuleVersion_raw" = "$resolvePHPModuleVersion_afterCaret"; then
|
||||||
|
printf '%s' "$resolvePHPModuleVersion_raw"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
case "$resolveWantedPHPModuleVersion_afterCaret" in
|
case "$resolvePHPModuleVersion_afterCaret" in
|
||||||
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
?*@snapshot | ?*@devel | ?*@alpha | ?*@beta | ?*@stable)
|
||||||
resolveWantedPHPModuleVersion_wantedStability="${resolveWantedPHPModuleVersion_afterCaret##*@}"
|
resolvePHPModuleVersion_wantedStability="${resolvePHPModuleVersion_afterCaret##*@}"
|
||||||
resolveWantedPHPModuleVersion_wantedVersion="${resolveWantedPHPModuleVersion_afterCaret%@*}"
|
resolvePHPModuleVersion_wantedVersion="${resolvePHPModuleVersion_afterCaret%@*}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
resolveWantedPHPModuleVersion_wantedStability=''
|
resolvePHPModuleVersion_wantedStability=''
|
||||||
resolveWantedPHPModuleVersion_wantedVersion="$resolveWantedPHPModuleVersion_afterCaret"
|
resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret"
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
# 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>)
|
# 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')"
|
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | sed -r 's#<r#\n<r#g')"
|
||||||
if test -n "$resolveWantedPHPModuleVersion_wantedStability"; then
|
if test -n "$resolvePHPModuleVersion_wantedStability"; then
|
||||||
# keep the lines with the wanted stability
|
# 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
|
fi
|
||||||
# remove everything's up to '<v>' (included)
|
# 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
|
# keep just the versions
|
||||||
resolveWantedPHPModuleVersion_versions="$(printf '%s' "$resolveWantedPHPModuleVersion_versions" | cut -d'<' -f1)"
|
resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_versions" | cut -d'<' -f1)"
|
||||||
resetIFS
|
resetIFS
|
||||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||||
if test "$resolveWantedPHPModuleVersion_version" != "${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion.}"; then
|
if test "$resolvePHPModuleVersion_version" != "${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion.}"; then
|
||||||
# Example: looking for 1.0, found 1.0.1
|
# Example: looking for 1.0, found 1.0.1
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
for resolveWantedPHPModuleVersion_version in $resolveWantedPHPModuleVersion_versions; do
|
for resolvePHPModuleVersion_version in $resolvePHPModuleVersion_versions; do
|
||||||
resolveWantedPHPModuleVersion_suffix="${resolveWantedPHPModuleVersion_version#$resolveWantedPHPModuleVersion_wantedVersion}"
|
resolvePHPModuleVersion_suffix="${resolvePHPModuleVersion_version#$resolvePHPModuleVersion_wantedVersion}"
|
||||||
if test "$resolveWantedPHPModuleVersion_version" = "$resolveWantedPHPModuleVersion_suffix"; then
|
if test "$resolvePHPModuleVersion_version" = "$resolvePHPModuleVersion_suffix"; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if test -z "$resolveWantedPHPModuleVersion_suffix"; then
|
if test -z "$resolvePHPModuleVersion_suffix"; then
|
||||||
# Example: looking for 1.0, found exactly it
|
# Example: looking for 1.0, found exactly it
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
case "$resolveWantedPHPModuleVersion_suffix" in
|
case "$resolvePHPModuleVersion_suffix" in
|
||||||
[0-9])
|
[0-9])
|
||||||
# Example: looking for 1.1, but this is 1.10
|
# Example: looking for 1.1, but this is 1.10
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Example: looking for 1.1, this is 1.1rc1
|
# Example: looking for 1.1, this is 1.1rc1
|
||||||
printf '%s' "$resolveWantedPHPModuleVersion_version"
|
printf '%s' "$resolvePHPModuleVersion_version"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
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
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -443,7 +450,8 @@ resolvePeclStabilityVersion() {
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then
|
||||||
peclStabilityFlagToVersion_result=''
|
peclStabilityFlagToVersion_result=''
|
||||||
fi
|
fi
|
||||||
|
|
@ -671,7 +679,7 @@ buildRequiredPackageLists() {
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $PHPIZE_DEPS"
|
||||||
fi
|
fi
|
||||||
if test -z "$(apk info 2>/dev/null | grep -E ^libssl)"; then
|
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
|
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)
|
buildRequiredPackageLists_libssl=$(apk search -q libressl*-libtls)
|
||||||
else
|
else
|
||||||
|
|
@ -811,6 +819,12 @@ buildRequiredPackageLists() {
|
||||||
ffi@debian)
|
ffi@debian)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libffi-dev"
|
||||||
;;
|
;;
|
||||||
|
ftp@alpine)
|
||||||
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||||
|
;;
|
||||||
|
ftp@debian)
|
||||||
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev"
|
||||||
|
;;
|
||||||
gd@alpine)
|
gd@alpine)
|
||||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent freetype libjpeg-turbo libpng libxpm"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile freetype-dev libjpeg-turbo-dev libpng-dev libxpm-dev"
|
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_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev"
|
||||||
if test $PHP_MAJMIN_VERSION -ge 801; then
|
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
|
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||||
1 | y* | Y*) ;;
|
1 | y* | Y*) ;;
|
||||||
*)
|
*)
|
||||||
|
|
@ -1297,6 +1314,9 @@ buildRequiredPackageLists() {
|
||||||
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libcurl3-gnutls"
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-gnutls-dev libxml2-dev"
|
||||||
;;
|
;;
|
||||||
|
sourceguardian@alpine)
|
||||||
|
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent eudev-libs"
|
||||||
|
;;
|
||||||
spx@alpine)
|
spx@alpine)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib-dev"
|
||||||
;;
|
;;
|
||||||
|
|
@ -1438,6 +1458,14 @@ buildRequiredPackageLists() {
|
||||||
wddx@debian)
|
wddx@debian)
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libxml2-dev"
|
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)
|
xdebug@alpine)
|
||||||
if test $PHP_MAJMIN_VERSION -ge 800; then
|
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||||
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile linux-headers"
|
||||||
|
|
@ -1985,11 +2013,11 @@ installOracleInstantClient() {
|
||||||
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
mv "$installOracleInstantClient_src" "$ORACLE_INSTANTCLIENT_LIBPATH"
|
||||||
echo 'done.'
|
echo 'done.'
|
||||||
fi
|
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"
|
printf 'Downloading Oracle Instant SDK v%s... ' "$installOracleInstantClient_version"
|
||||||
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
installOracleInstantClient_src="$(getPackageSource $installOracleInstantClient_sdk)"
|
||||||
ln -sf "$installOracleInstantClient_src/sdk" "$ORACLE_INSTANTCLIENT_LIBPATH/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.'
|
echo 'done.'
|
||||||
fi
|
fi
|
||||||
case "$DISTRO" in
|
case "$DISTRO" in
|
||||||
|
|
@ -2039,7 +2067,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
alpine)
|
alpine)
|
||||||
rm -rf /tmp/src/msodbcsql.apk
|
rm -rf /tmp/src/msodbcsql.apk
|
||||||
if test $PHP_MAJMIN_VERSION -le 703; then
|
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
|
else
|
||||||
case $(uname -m) in
|
case $(uname -m) in
|
||||||
aarch64 | arm64 | armv8)
|
aarch64 | arm64 | armv8)
|
||||||
|
|
@ -2049,7 +2077,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
installMicrosoftSqlServerODBC_arch=amd64
|
installMicrosoftSqlServerODBC_arch=amd64
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
fi
|
||||||
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk
|
||||||
rm -rf /tmp/src/msodbcsql.apk
|
rm -rf /tmp/src/msodbcsql.apk
|
||||||
|
|
@ -2088,7 +2116,7 @@ installMicrosoftSqlServerODBC() {
|
||||||
# 0 (true)
|
# 0 (true)
|
||||||
# 1 (false)
|
# 1 (false)
|
||||||
isLibaomInstalled() {
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then
|
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
|
# Install libaom
|
||||||
installLibaom() {
|
installLibaom() {
|
||||||
printf 'Installing libaom\n'
|
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"
|
mkdir -- "$installLibaom_dir/my.build"
|
||||||
cd -- "$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 ..
|
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
|
# Install libdav1d
|
||||||
installLibdav1d() {
|
installLibdav1d() {
|
||||||
printf 'Installing libdav1d\n'
|
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"
|
mkdir -- "$installLibdav1d_dir/build"
|
||||||
cd -- "$installLibdav1d_dir/build"
|
cd -- "$installLibdav1d_dir/build"
|
||||||
meson --buildtype release -Dprefix=/usr ..
|
meson --buildtype release -Dprefix=/usr ..
|
||||||
|
|
@ -2145,7 +2184,7 @@ installLibdav1d() {
|
||||||
# 0 (true)
|
# 0 (true)
|
||||||
# 1 (false)
|
# 1 (false)
|
||||||
isLibyuvInstalled() {
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then
|
||||||
|
|
@ -2157,7 +2196,7 @@ isLibyuvInstalled() {
|
||||||
# Install libyuv
|
# Install libyuv
|
||||||
installLibyuv() {
|
installLibyuv() {
|
||||||
printf 'Installing libyuv\n'
|
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"
|
mkdir -- "$installLibyuv_dir/build"
|
||||||
cd -- "$installLibyuv_dir/build"
|
cd -- "$installLibyuv_dir/build"
|
||||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. ..
|
||||||
|
|
@ -2183,7 +2222,7 @@ isLibavifInstalled() {
|
||||||
# Install libavif
|
# Install libavif
|
||||||
installLibavif() {
|
installLibavif() {
|
||||||
printf 'Installing libavif\n'
|
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"
|
mkdir -- "$installLibavif_dir/build"
|
||||||
cd -- "$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
|
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
|
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
|
# Install Composer
|
||||||
installComposer() {
|
installComposer() {
|
||||||
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
installComposer_version="$(getWantedPHPModuleVersion @composer)"
|
||||||
|
|
@ -2336,6 +2428,37 @@ installCargo() {
|
||||||
fi
|
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
|
# Install a bundled PHP module given its handle
|
||||||
#
|
#
|
||||||
# Arguments:
|
# Arguments:
|
||||||
|
|
@ -2401,6 +2524,9 @@ EOF
|
||||||
cd - >/dev/null
|
cd - >/dev/null
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
ftp)
|
||||||
|
docker-php-ext-configure ftp --with-openssl-dir=/usr
|
||||||
|
;;
|
||||||
gd)
|
gd)
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
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
|
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
|
installBundledModule_tmp=1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
debian)
|
||||||
|
if test $DISTRO_VERSION_NUMBER -ge 12; then
|
||||||
|
installBundledModule_tmp=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
if test $installBundledModule_tmp -eq 0; then
|
if test $installBundledModule_tmp -eq 0; then
|
||||||
case "${IPE_GD_WITHOUTAVIF:-}" in
|
case "${IPE_GD_WITHOUTAVIF:-}" in
|
||||||
|
|
@ -2570,6 +2701,9 @@ EOF
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
case "${IPE_SKIP_CHECK:-}" in
|
||||||
|
1 | y* | Y*) ;;
|
||||||
|
*)
|
||||||
php -r 'return;' >/dev/null 2>/dev/null || true
|
php -r 'return;' >/dev/null 2>/dev/null || true
|
||||||
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
|
||||||
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
|
||||||
|
|
@ -2577,6 +2711,8 @@ EOF
|
||||||
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
# Fetch a tar.gz file, extract it and returns the path of the extracted folder.
|
||||||
|
|
@ -2623,7 +2759,7 @@ getPackageSource() {
|
||||||
installRemoteModule() {
|
installRemoteModule() {
|
||||||
installRemoteModule_module="$1"
|
installRemoteModule_module="$1"
|
||||||
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
printf '### INSTALLING REMOTE MODULE %s ###\n' "$installRemoteModule_module"
|
||||||
installRemoteModule_version="$(resolveWantedPHPModuleVersion "$installRemoteModule_module")"
|
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module")"
|
||||||
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
installRemoteModule_path="$(getModuleSourceCodePath "$installRemoteModule_module")"
|
||||||
rm -rf "$CONFIGURE_FILE"
|
rm -rf "$CONFIGURE_FILE"
|
||||||
installRemoteModule_manuallyInstalled=0
|
installRemoteModule_manuallyInstalled=0
|
||||||
|
|
@ -2716,7 +2852,7 @@ installRemoteModule() {
|
||||||
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
if test $(compareVersions "$(cmake --version | head -n1 | sed -E 's/^.* //')" '3.7') -lt 0; then
|
||||||
installRemoteModule_tmp=0.29.0
|
installRemoteModule_tmp=0.29.0
|
||||||
else
|
else
|
||||||
installRemoteModule_tmp=0.30.3
|
installRemoteModule_tmp=0.31.0
|
||||||
fi
|
fi
|
||||||
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
cd "$(getPackageSource https://github.com/commonmark/cmark/archive/$installRemoteModule_tmp.tar.gz)"
|
||||||
make -s -j$(getProcessorCount) cmake_build
|
make -s -j$(getProcessorCount) cmake_build
|
||||||
|
|
@ -2745,9 +2881,12 @@ installRemoteModule() {
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -lt 700; then
|
if test $PHP_MAJMIN_VERSION -lt 700; then
|
||||||
installRemoteModule_version=0.75.0
|
installRemoteModule_version=0.75.0
|
||||||
else
|
|
||||||
installCargo
|
|
||||||
fi
|
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
|
fi
|
||||||
;;
|
;;
|
||||||
decimal)
|
decimal)
|
||||||
|
|
@ -2949,6 +3088,12 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
imap)
|
||||||
|
# Include Kerberos Support
|
||||||
|
addConfigureOption with-kerberos yes
|
||||||
|
# Include SSL Support
|
||||||
|
addConfigureOption with-imap-ssl yes
|
||||||
|
;;
|
||||||
inotify)
|
inotify)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||||
|
|
@ -3161,6 +3306,10 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
newrelic)
|
||||||
|
installNewRelic
|
||||||
|
installRemoteModule_manuallyInstalled=2
|
||||||
|
;;
|
||||||
oauth)
|
oauth)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||||
|
|
@ -3168,6 +3317,14 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
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)
|
opencensus)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
installRemoteModule_version=alpha
|
installRemoteModule_version=alpha
|
||||||
|
|
@ -3274,11 +3431,6 @@ installRemoteModule() {
|
||||||
addConfigureOption enable-swoole-curl yes
|
addConfigureOption enable-swoole-curl yes
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
opentelemetry)
|
|
||||||
if test -z "$installRemoteModule_version"; then
|
|
||||||
installRemoteModule_version=beta
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
parallel)
|
parallel)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 701; then
|
if test $PHP_MAJMIN_VERSION -le 701; then
|
||||||
|
|
@ -3333,6 +3485,8 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=3.12.4
|
installRemoteModule_version=3.12.4
|
||||||
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
elif test $PHP_MAJMIN_VERSION -lt 800; then
|
||||||
installRemoteModule_version=3.24.4
|
installRemoteModule_version=3.24.4
|
||||||
|
elif test $PHP_MAJMIN_VERSION -lt 801; then
|
||||||
|
installRemoteModule_version=3.25.3
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
@ -3478,8 +3632,8 @@ installRemoteModule() {
|
||||||
;;
|
;;
|
||||||
saxon)
|
saxon)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
if test $PHP_MAJMIN_VERSION -ge 800; then
|
||||||
installRemoteModule_version='11.6'
|
installRemoteModule_version='12.4.2'
|
||||||
else
|
else
|
||||||
installRemoteModule_version='12.3'
|
installRemoteModule_version='12.3'
|
||||||
fi
|
fi
|
||||||
|
|
@ -3506,9 +3660,7 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
ldconfig || true
|
ldconfig || true
|
||||||
fi
|
fi
|
||||||
set -x
|
|
||||||
cd "$installRemoteModule_dir/Saxon.C.API"
|
cd "$installRemoteModule_dir/Saxon.C.API"
|
||||||
exit
|
|
||||||
phpize
|
phpize
|
||||||
./configure --enable-saxon
|
./configure --enable-saxon
|
||||||
make -j$(getProcessorCount) install
|
make -j$(getProcessorCount) install
|
||||||
|
|
@ -3586,7 +3738,7 @@ installRemoteModule() {
|
||||||
spx)
|
spx)
|
||||||
if test -z "$installRemoteModule_path"; then
|
if test -z "$installRemoteModule_path"; then
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
installRemoteModule_version=v0.4.14
|
installRemoteModule_version=v0.4.15
|
||||||
fi
|
fi
|
||||||
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
if test "${installRemoteModule_version%.*}" = "$installRemoteModule_version"; then
|
||||||
installRemoteModule_displayVersion="$installRemoteModule_version"
|
installRemoteModule_displayVersion="$installRemoteModule_version"
|
||||||
|
|
@ -3618,6 +3770,8 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=5.9.0
|
installRemoteModule_version=5.9.0
|
||||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||||
installRemoteModule_version=5.10.1
|
installRemoteModule_version=5.10.1
|
||||||
|
elif test $PHP_MAJMIN_VERSION -le 800; then
|
||||||
|
installRemoteModule_version=5.11.1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
@ -3654,6 +3808,9 @@ installRemoteModule() {
|
||||||
installRemoteModule_version=4.5.10
|
installRemoteModule_version=4.5.10
|
||||||
elif test $PHP_MAJMIN_VERSION -le 704; then
|
elif test $PHP_MAJMIN_VERSION -le 704; then
|
||||||
installRemoteModule_version=4.8.11
|
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
|
fi
|
||||||
else
|
else
|
||||||
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
|
||||||
|
|
@ -3871,7 +4028,7 @@ installRemoteModule() {
|
||||||
installRemoteModule_architecture=alpine-arm64
|
installRemoteModule_architecture=alpine-arm64
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
installRemoteModule_architecture=alpine
|
installRemoteModule_architecture=alpine-x86_64
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
@ -3887,6 +4044,10 @@ installRemoteModule() {
|
||||||
;;
|
;;
|
||||||
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)"
|
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"
|
printf 'Downloading tideways from %s\n' "$installRemoteModule_url"
|
||||||
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
installRemoteModule_src="$(getPackageSource $installRemoteModule_url)"
|
||||||
if test -d "$installRemoteModule_src/dist"; then
|
if test -d "$installRemoteModule_src/dist"; then
|
||||||
|
|
@ -3953,6 +4114,33 @@ installRemoteModule() {
|
||||||
fi
|
fi
|
||||||
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)
|
xdebug)
|
||||||
if test -z "$installRemoteModule_version"; then
|
if test -z "$installRemoteModule_version"; then
|
||||||
if test $PHP_MAJMIN_VERSION -le 500; then
|
if test $PHP_MAJMIN_VERSION -le 500; then
|
||||||
|
|
@ -4133,8 +4321,15 @@ installRemoteModule() {
|
||||||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||||
fi
|
fi
|
||||||
postProcessModule "$installRemoteModule_module"
|
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"
|
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check if a module/helper may be installed using the pecl archive
|
# Check if a module/helper may be installed using the pecl archive
|
||||||
|
|
@ -4400,7 +4595,7 @@ fixLetsEncrypt() {
|
||||||
invokeAptGetUpdate
|
invokeAptGetUpdate
|
||||||
fi
|
fi
|
||||||
printf -- '- installing newer ca-certificates package\n'
|
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
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue