diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index c203506..2928071 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -155,7 +155,15 @@ jobs: EOF - name: Build Electron desktop - run: nix develop .#electron --command pnpm run build:desktop + run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail + SEVEN_ZIP_DIR="$(mktemp -d)" + mkdir -p "$SEVEN_ZIP_DIR/bin" + ln -s "$(command -v 7za)" "$SEVEN_ZIP_DIR/bin/7za" + cd apps/electron + pnpm run package:raw -- -c.toolsets.sevenZip.url="file://$SEVEN_ZIP_DIR" + EOF - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 7ddc1c5..5142dd3 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -154,7 +154,15 @@ jobs: EOF - name: Build Electron desktop - run: nix develop .#electron --command pnpm run build:desktop + run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail + SEVEN_ZIP_DIR="$(mktemp -d)" + mkdir -p "$SEVEN_ZIP_DIR/bin" + ln -s "$(command -v 7za)" "$SEVEN_ZIP_DIR/bin/7za" + cd apps/electron + pnpm run package:raw -- -c.toolsets.sevenZip.url="file://$SEVEN_ZIP_DIR" + EOF - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 diff --git a/apps/tauri/package.json b/apps/tauri/package.json index d0314d3..7cfe0dc 100644 --- a/apps/tauri/package.json +++ b/apps/tauri/package.json @@ -21,9 +21,9 @@ "dev:mobile:raw": "tauri android dev --host ${TAURI_DEV_HOST:-127.0.0.1}", "start-adb:mobile:raw": "adb devices", "build:mobile:raw": "tauri android build", - "dev:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run dev:mobile:raw; else pnpm run dev:mobile:raw; fi", - "start-adb:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run start-adb:mobile:raw; else pnpm run start-adb:mobile:raw; fi", - "build:mobile": "node render-version.ts && if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run build:mobile:raw; else pnpm run build:mobile:raw; fi && node render-version.ts --unrender", + "dev:mobile": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#tauri --command pnpm run dev:mobile:raw; else pnpm run dev:mobile:raw; fi", + "start-adb:mobile": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#tauri --command pnpm run start-adb:mobile:raw; else pnpm run start-adb:mobile:raw; fi", + "build:mobile": "node render-version.ts && trap 'node render-version.ts --unrender' EXIT && if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#tauri --command pnpm run build:mobile:raw; else pnpm run build:mobile:raw; fi", "gen-icons": "tauri icon ./logo.json && node scripts/sync-electron-icons.ts", "format": "pnpm exec prettier --write .", "lint": "eslint src" diff --git a/apps/tauri/render-version.ts b/apps/tauri/render-version.ts index 0bd3fca..7635bed 100644 --- a/apps/tauri/render-version.ts +++ b/apps/tauri/render-version.ts @@ -1,9 +1,12 @@ import fs from "fs"; import path from "path"; +import { fileURLToPath } from "url"; // Config const PLACEHOLDER_VERSION = "0.0.0"; +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + const rootPackageJsonPath = path.resolve(__dirname, "../../package.json"); const cargoTomlPath = path.resolve(__dirname, "./src-tauri/Cargo.toml"); const tauriConfigPath = path.resolve(__dirname, "./src-tauri/tauri.conf.json"); diff --git a/flake.nix b/flake.nix index 79a6c21..1a05922 100644 --- a/flake.nix +++ b/flake.nix @@ -233,6 +233,7 @@ fakeroot rsync xz + p7zip ] ++ electronRuntimeLibs ++ commonDeps;