diff --git a/.gitea/workflows/desktop.yml b/.gitea/workflows/desktop.yml index 6ba4a67..6bac8c3 100644 --- a/.gitea/workflows/desktop.yml +++ b/.gitea/workflows/desktop.yml @@ -265,6 +265,7 @@ jobs: libavfilter-dev \ libavformat-dev \ libavutil-dev \ + libcbor-dev \ libdbus-1-dev \ libdav1d-dev \ libde265-dev \ @@ -309,6 +310,52 @@ jobs: zlib1g-dev \ zstd + - name: Install modern libfido2 + shell: bash + run: | + set -euxo pipefail + + rm -rf /tmp/libfido2 + + git clone \ + --depth 1 \ + --branch 1.17.0 \ + https://github.com/Yubico/libfido2.git \ + /tmp/libfido2 + + cmake \ + -S /tmp/libfido2 \ + -B /tmp/libfido2/build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr/local \ + -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_MANPAGES=OFF \ + -DBUILD_TOOLS=OFF + + cmake \ + --build /tmp/libfido2/build \ + --parallel "$(nproc)" + + cmake \ + --install /tmp/libfido2/build + + ldconfig + + echo "=== libfido2 ===" + + PKG_CONFIG_PATH="/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig" \ + pkg-config --modversion libfido2 + + test -f /usr/local/include/fido/es384.h + + ls -la /usr/local/include/fido/ + + echo "=== libraries ===" + + find /usr/local/lib \ + -name 'libfido2*' \ + -print - name: Setup Node.js uses: actions/setup-node@v4 @@ -440,13 +487,48 @@ jobs: shell: bash env: ELECTRON_ARCH: x64 + PKG_CONFIG_PATH: /usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig + LD_LIBRARY_PATH: /usr/local/lib/x86_64-linux-gnu:/usr/local/lib run: | set -euxo pipefail + echo "libfido2 version:" + pkg-config --modversion libfido2 + + echo "libfido2 include flags:" + pkg-config --cflags libfido2 + + echo "Checking ES384 header:" + test -f /usr/local/include/fido/es384.h + cd fluxer-src pnpm --filter fluxer_desktop build + - name: Inspect Linux native libraries + shell: bash + run: | + set -euxo pipefail + + cd fluxer-src + + echo "Searching for WebAuthn native module..." + + find fluxer_desktop \ + -type f \ + \( -name '*.node' -o -name 'libfido2.so*' \) \ + -print + + echo "Dynamic dependencies:" + + while IFS= read -r file; do + echo "===== $file =====" + ldd "$file" || true + done < <( + find fluxer_desktop \ + -type f \ + -name '*.node' + ) - name: Package Linux shell: bash