Merge pull request #3 from CherryNate/master

MacOS liboqs build
This commit is contained in:
Emendir
2026-01-16 17:36:27 +01:00
committed by GitHub
4 changed files with 257 additions and 2 deletions

7
docs/AppData.md Normal file
View File

@@ -0,0 +1,7 @@
### MacOS
~/Library/Application Support/Endra
### Linux
~/.local/share/Endra

View File

@@ -0,0 +1,56 @@
#!/bin/bash
# Compile and install liboqs
set -euo pipefail # Exit if any command/script fails
# Compilation configuration
LIBOQS_REPO="https://github.com/open-quantum-safe/liboqs.git"
LIBOQS_TAG="0.14.0" # adjust if needed
LIBOQS_INSTALL_PREFIX="/usr/local"
export LD_LIBRARY_PATH="/usr/local/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
# Number of parallel build jobs
NPROC=$(( $(getconf _NPROCESSORS_ONLN) - 1 ))
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
cd $SCRIPT_DIR
source $SCRIPT_DIR/../os_package_utils.sh
source $SCRIPT_DIR/../os_platform_info.sh
WORK_DIR=/tmp/EndraAppBuildLiboqs
LIBOQS_BUILD_DIR="$WORK_DIR/liboqs-build"
if [ -e "$LIBOQS_INSTALL_PREFIX/lib/liboqs.dylib" ]; then
echo "Liboqs is already installed, skipping."
exit 0
fi
echo "=== Clone liboqs ==="
if [ ! -d "$WORK_DIR" ]; then
git clone --depth 1 --branch "${LIBOQS_TAG}" "${LIBOQS_REPO}" $WORK_DIR
else
echo "liboqs directory exists, skipping clone"
fi
cd $WORK_DIR
git checkout ${LIBOQS_TAG} # ensure we're on the desired branch
echo "=== Configure and build liboqs ==="
rm -rf "${LIBOQS_BUILD_DIR}"
mkdir -p "${LIBOQS_BUILD_DIR}"
echo "$(which cmake)"
cmake -S $WORK_DIR -B $LIBOQS_BUILD_DIR \
-DCMAKE_INSTALL_PREFIX="$LIBOQS_INSTALL_PREFIX" \
-DOQS_DIST_BUILD=OFF \
-DBUILD_SHARED_LIBS=ON \
-DOQS_BUILD_ONLY_LIB=ON \
-DOQS_OPT_TARGET=generic
cmake --build $LIBOQS_BUILD_DIR --parallel $NPROC
cmake --build $LIBOQS_BUILD_DIR --target install

View File

@@ -1,2 +1,97 @@
# Auto-generated requirements for macOS
# This file will be generated by get_python_deps.sh
Kivy-Garden==0.1.5
Kivy==2.3.1
Pygments==2.19.2
annotated-types==0.7.0
anyio==4.12.1
appdirs==1.4.4
async-generator==1.10
attrs==25.4.0
base58==2.1.1
blake3==1.0.8
brenthy_tools_beta==4.0.11
cachetools==6.2.4
certifi==2026.1.4
cffi==2.0.0
charset-normalizer==3.4.4
codec-versioning==0.1.0
coincurve==21.0.0
cytoolz==1.1.0
dataclasses-json==0.6.7
decorate-all==0.1.1
dnspython==2.8.0
docutils==0.22.4
eciespy==0.4.6
emtest==0.0.8
endra==0.6.5
environs==14.5.0
eth-hash==0.7.1
eth-keys==0.7.0
eth-typing==5.2.1
eth-utils==5.3.1
filetype==1.2.0
h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
idna==3.11
importlib_metadata==8.7.1
iniconfig==2.3.0
ipfs_node==0.1.12rc6
ipfs_tk==0.1.11
ipfs_toolkit==0.6.0rc8
kivy-garden.qrcode==2021.314
liboqs-python==0.14.1
loguru==0.7.3
marshmallow==3.26.2
mmh3==5.2.0
morphys==1.0
multi_crypt==0.1.3
multiaddr==0.1.1
mypy_extensions==1.1.0
netaddr==1.3.0
outcome==1.3.0.post0
packaging==25.0
pathspec==1.0.3
pluggy==1.6.0
plyer==2.1.0
portalocker==3.2.0
protobuf==6.33.4
psutil==7.2.1
py-cid==0.4.0
py-multibase==2.0.0
py-multicodec==1.0.0
py-multihash==3.0.0
py-strict-typing==0.1.1
pycparser==2.23
pycryptodome==3.23.0
pydantic==2.12.5
pydantic_core==2.41.5
pytest==9.0.2
python-baseconv==1.2.2
python-dotenv==1.2.1
pyzbar==0.1.9
pyzmq==27.1.0
qrcode==8.2
requests==2.32.5
rfc3987==1.3.8
setuptools==80.9.0
six==1.17.0
sniffio==1.3.1
sortedcontainers==2.4.0
termcolor==3.3.0
toolz==1.1.0
tqdm==4.67.1
trio-typing==0.10.0
trio==0.32.0
typing-inspect==0.9.0
typing-inspection==0.4.2
typing_extensions==4.15.0
urllib3==2.6.3
varint==1.0.2
walytis_beta==2.4.34
walytis_beta_api==2.4.16
walytis_beta_embedded==0.0.14
walytis_identities==0.5.0
walytis_mutability==0.1.7
walytis_offchain==0.5.1
wheel==0.45.1
zipp==3.23.0

View File

@@ -1,2 +1,99 @@
# Auto-generated requirements for macOS
# This file will be generated by get_python_deps.sh
Kivy-Garden==0.1.5
Kivy==2.3.1
Pygments==2.19.2
annotated-types==0.7.0
anyio==4.12.1
appdirs==1.4.4
async-generator==1.10
attrs==25.4.0
base58==2.1.1
blake3==1.0.8
brenthy_tools_beta==4.0.11
cachetools==6.2.4
certifi==2026.1.4
cffi==2.0.0
charset-normalizer==3.4.4
codec-versioning==0.1.0
coincurve==21.0.0
cytoolz==1.1.0
dataclasses-json==0.6.7
decorate-all==0.1.1
dnspython==2.8.0
docutils==0.22.4
eciespy==0.4.6
emtest==0.0.8
endra==0.6.5
environs==14.5.0
eth-hash==0.7.1
eth-keys==0.7.0
eth-typing==5.2.1
eth-utils==5.3.1
filetype==1.2.0
h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
idna==3.11
importlib_metadata==8.7.1
iniconfig==2.3.0
ipfs_node==0.1.12rc6
ipfs_tk==0.1.11
ipfs_toolkit==0.6.0rc8
kivy-garden.qrcode==2021.314
liboqs-python==0.14.1
loguru==0.7.3
marshmallow==3.26.2
mmh3==5.2.0
morphys==1.0
multi_crypt==0.1.3
multiaddr==0.1.1
mypy_extensions==1.1.0
netaddr==1.3.0
outcome==1.3.0.post0
packaging==25.0
pathspec==1.0.3
pluggy==1.6.0
plyer==2.1.0
portalocker==3.2.0
protobuf==6.33.4
psutil==7.2.1
py-cid==0.4.0
py-multibase==2.0.0
py-multicodec==1.0.0
py-multihash==3.0.0
py-strict-typing==0.1.1
pycparser==2.23
pycryptodome==3.23.0
pydantic==2.12.5
pydantic_core==2.41.5
pytest==9.0.2
python-baseconv==1.2.2
python-dotenv==1.2.1
pyzbar==0.1.9
pyzmq==27.1.0
qrcode==8.2
requests==2.32.5
rfc3987==1.3.8
setuptools==80.9.0
six==1.17.0
sniffio==1.3.1
sortedcontainers==2.4.0
termcolor==3.3.0
toolz==1.1.0
tqdm==4.67.1
trio-typing==0.10.0
trio==0.32.0
typing-inspect==0.9.0
typing-inspection==0.4.2
typing_extensions==4.15.0
urllib3==2.6.3
varint==1.0.2
walytis_beta==2.4.34
walytis_beta_api==2.4.16
walytis_beta_embedded==0.0.14
walytis_identities==0.5.0
walytis_mutability==0.1.7
walytis_offchain==0.5.1
wheel==0.45.1
zipp==3.23.0