From 7f3cb9e2d1a1bf478f5d0450963ebfc7ef298c4f Mon Sep 17 00:00:00 2001 From: WardPearce Date: Thu, 24 Oct 2024 17:17:50 +1300 Subject: [PATCH] More progress on flatpak --- flatpak/.gitignore | 5 +- flatpak/us.materialio.app.json | 67 +++++++++---------- materialious/electron/package.json | 3 +- .../electron/patch_capacitor_plugin.py | 5 +- materialious/package-lock.json | 4 +- 5 files changed, 44 insertions(+), 40 deletions(-) diff --git a/flatpak/.gitignore b/flatpak/.gitignore index 46e5d9d1..7aadca68 100644 --- a/flatpak/.gitignore +++ b/flatpak/.gitignore @@ -1 +1,4 @@ -.flatpak-builder \ No newline at end of file +.flatpak-builder +build +builddir +generated-sources.json \ No newline at end of file diff --git a/flatpak/us.materialio.app.json b/flatpak/us.materialio.app.json index ee0952f2..d65ee3a8 100644 --- a/flatpak/us.materialio.app.json +++ b/flatpak/us.materialio.app.json @@ -5,56 +5,53 @@ "sdk": "org.freedesktop.Sdk", "base": "org.electronjs.Electron2.BaseApp", "base-version": "23.08", - "command": "./app/materialious", + "command": "run.sh", "finish-args": [ - "--share=network", - "--socket=x11", - "--socket=wayland", - "--device=all", "--share=ipc", - "--share=home", - "--talk-name=org.freedesktop.Flatpak", - "--talk-name=org.freedesktop.portal.Desktop" + "--socket=x11", + "--socket=pulseaudio", + "--share=network" ], "sdk-extensions": [ - "org.freedesktop.Sdk.Extension.node18" + "org.freedesktop.Sdk.Extension.node20" ], "build-options": { - "append-path": "/usr/lib/sdk/node18/bin" + "append-path": "/usr/lib/sdk/node20/bin", + "env": { + "XDG_CACHE_HOME": "/run/build/us.materialio.app/flatpak-node/cache", + "npm_config_cache": "/run/build/us.materialio.app/flatpak-node/npm-cache", + "npm_config_nodedir": "/usr/lib/sdk/node20", + "npm_config_offline": false + } }, "modules": [ { - "name": "nodejs", + "name": "electron-build", "buildsystem": "simple", "build-commands": [ - "cd ./materialious", - "npm install", - "npm run build", - "npx cap sync @capacitor-community/electron", - "cd ./electron", - "python patch_capacitor_plugin.py", - "npm install", - "npm run electron:make" + "cd ./main && npm install --offline", + "cd ./main && npm run build", + "cd ./main && npx cap sync @capacitor-community/electron", + "cd ./main/electron && python patch_capacitor_plugin.py", + "cd ./main/electron && npm install --offline", + ". ../flatpak-node/electron-builder-arch-args.sh && cd ./main/electron && npm run dist -- $ELECTRON_BUILDER_ARCH_ARGS --linux --dir", + "cp -a ./main/electron/dist/linux*unpacked /app/main", + "install -Dm755 -t /app/bin/ ../run.sh" ], "sources": [ { - "type": "git", - "url": "https://github.com/Materialious/Materialious.git", - "tag": "main" - } - ] - }, - { - "name": "materialious", - "buildsystem": "simple", - "build-commands": [ - "cp -r ./materialious/electron/dist/linux-unpacked /app/" - ], - "sources": [ + "type": "dir", + "path": "../materialious", + "dest": "main" + }, { - "type": "path", - "path": "dist" - } + "type": "script", + "dest-filename": "run.sh", + "commands": [ + "zypak-wrapper.sh /app/main/us.materialio.app \"$@\"" + ] + }, + "generated-sources.json" ] } ] diff --git a/materialious/electron/package.json b/materialious/electron/package.json index 50c8a0fd..eff4dd41 100644 --- a/materialious/electron/package.json +++ b/materialious/electron/package.json @@ -17,7 +17,8 @@ "electron:start-live": "node ./live-runner.js", "electron:start": "npm run build && electron --inspect=5858 ./", "electron:pack": "npm run build && electron-builder build --dir -c ./electron-builder.config.json", - "electron:make": "npm run build && electron-builder build -c ./electron-builder.config.json -p always" + "electron:make": "npm run build && electron-builder build -c ./electron-builder.config.json -p always", + "dist": "electron-builder" }, "dependencies": { "@capacitor-community/electron": "^5.0.0", diff --git a/materialious/electron/patch_capacitor_plugin.py b/materialious/electron/patch_capacitor_plugin.py index 0a1eb8d4..d3b2f144 100644 --- a/materialious/electron/patch_capacitor_plugin.py +++ b/materialious/electron/patch_capacitor_plugin.py @@ -25,7 +25,10 @@ def run(): if "dependencies" not in package: return - package["dependencies"].pop("capacitor-nodejs") + try: + package["dependencies"].pop("capacitor-nodejs") + except KeyError: + return f_.close() diff --git a/materialious/package-lock.json b/materialious/package-lock.json index eb583d3a..75a4ba22 100644 --- a/materialious/package-lock.json +++ b/materialious/package-lock.json @@ -1,12 +1,12 @@ { "name": "materialious", - "version": "1.6.14", + "version": "1.6.16", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "materialious", - "version": "1.6.14", + "version": "1.6.16", "dependencies": { "@capacitor-community/electron": "^5.0.1", "@capacitor/android": "6.1.2",