30 lines
984 B
Bash
30 lines
984 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
root="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
oqs_module="$root/native/third-party/liboqs-php/build/oqsphp.so"
|
||
|
|
skein_module="$root/native/third-party/php-skein/modules/skein.so"
|
||
|
|
|
||
|
|
if [[ ! -f "$oqs_module" || ! -f "$skein_module" ]]; then
|
||
|
|
echo "The modules have not been built. Run ./build-linux.sh first." >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
extension_dir="$(php-config --extension-dir)"
|
||
|
|
php_version="$(php -r 'echo PHP_MAJOR_VERSION . \".\" . PHP_MINOR_VERSION;')"
|
||
|
|
ini_dir="/etc/php/$php_version/mods-available"
|
||
|
|
|
||
|
|
install -m 0755 "$oqs_module" "$extension_dir/oqsphp.so"
|
||
|
|
install -m 0755 "$skein_module" "$extension_dir/skein.so"
|
||
|
|
mkdir -p "$ini_dir"
|
||
|
|
printf '%s\n' 'extension=skein.so' 'extension=oqsphp.so' \
|
||
|
|
> "$ini_dir/contractless-crypto.ini"
|
||
|
|
|
||
|
|
if command -v phpenmod >/dev/null 2>&1; then
|
||
|
|
phpenmod contractless-crypto
|
||
|
|
fi
|
||
|
|
|
||
|
|
php -m | grep -E '^(skein|oqsphp)$'
|
||
|
|
echo "Contractless PHP crypto modules installed and enabled for PHP $php_version."
|