Add support for ion (#573)

pull/574/head
Michele Locati 2022-05-13 17:18:20 +02:00 committed by GitHub
parent b2ce432910
commit 3608f58e74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 0 deletions

View File

@ -34,6 +34,7 @@ imap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1
inotify 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1
interbase 5.5 5.6 7.0 7.1 7.2 7.3
intl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1
ion 8.1
ioncube_loader 5.5 5.6 7.0 7.1 7.2 7.3 7.4
jsmin 5.5 5.6 7.0 7.1 7.2 7.3 7.4
json_post 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1

View File

@ -864,6 +864,12 @@ buildRequiredPackageLists() {
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libicu[0-9]+$"
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libicu-dev"
;;
ion@alpine)
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake git"
;;
ion@debian)
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake git"
;;
ldap@alpine)
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libldap"
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile openldap-dev"
@ -2613,6 +2619,25 @@ installRemoteModule() {
fi
fi
;;
ion)
if ! test -f /usr/local/lib/libionc.so || ! test -f /usr/local/include/ionc/ion.h; then
echo 'Installing ion-c... '
installRemoteModule_src="$(mktemp -p /tmp/src -d)"
git clone -q -c advice.detachedHead=false --depth 1 --branch v1.0.6 https://github.com/amzn/ion-c.git "$installRemoteModule_src/ion"
(
cd "$installRemoteModule_src/ion"
git submodule init -q
git submodule update -q
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release .. -Wno-dev
make clean
make -j$(getProcessorCount) install
)
rm -rf "$installRemoteModule_src"
fi
addConfigureOption with-ion "shared,/usr/local"
;;
ioncube_loader)
installIonCubeLoader
installRemoteModule_manuallyInstalled=1

12
scripts/tests/ion Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/env php
<?php
$serialized = ion\serialize(ion\Symbol\PHP::asTable());
$unserialized = ion\unserialize($serialized);
if (!$unserialized instanceof ion\Symbol\Table) {
fwrite(STDERR, "ion doesn't seem to be working\n");
exit(1);
}
echo "ion is working.\n";
return 0;