Contractless-PHP-Modules/install-linux.sh

30 lines
984 B
Bash
Executable File

#!/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."