flatpak/com.zettlr.Zettlr/com.zettlr.Zettlr.yaml

108 lines
4.6 KiB
YAML

app-id: com.zettlr.Zettlr
runtime: org.freedesktop.Platform
runtime-version: "20.08"
base: org.electronjs.Electron2.BaseApp
base-version: "20.08"
branch: stable
sdk: org.freedesktop.Sdk
command: run.sh
separate-locales: false
finish-args:
- --share=ipc
- --socket=x11
- --socket=wayland
- --socket=pulseaudio
- --filesystem=host
build-options:
env:
SOURCE_DATE_EPOCH: "1"
cleanup:
- /lib/debug
modules:
- name: "nodejs"
sources:
- type: archive
url: https://nodejs.org/dist/v14.15.4/node-v14.15.4.tar.gz
sha256: 8610d81b2d4afc3a79afbe6209d510125131c45cae22cac63bb767dcfec1cbf0
cleanup:
- /include
- "*"
- name: yarn
sources:
- type: file
url: https://github.com/yarnpkg/yarn/releases/download/v1.22.10/yarn-1.22.10.js
sha256: e094514987bda3cb0839ecfa7d902eb8972e41ed29a841ec14e92772089eb959
buildsystem: simple
build-commands:
- cp yarn-1.22.10.js /app/bin/yarn
- chmod +x /app/bin/yarn
cleanup:
- "*"
- name: pandoc
sources:
- type: archive
url: https://github.com/jgm/pandoc/releases/download/2.11.4/pandoc-2.11.4-linux-amd64.tar.gz
sha256: b15ce6009ab833fb51fc472bf8bb9683cd2bd7f8ac948f3ddeb6b8f9a366d69a
only-arches:
- x86_64
buildsystem: simple
build-commands:
- cp -rav bin/pandoc /app/bin
- name: zettlr
buildsystem: simple
sources:
- type: git
url: https://github.com/Zettlr/Zettlr.git
commit: 0e80c56063884f769349cb21f0712b12e97f9d4b
tag: v1.8.7
dest: zettlr
- ./sources_zettlr.json
- type: shell
commands:
- export DIR_NAME=httpsgithub.comelectronelectronreleasesdownloadv11.1.1electron-v11.1.1-linux-x64.zip && (cd flatpak-node/electron-cache && mkdir -p "$DIR_NAME" && ln -s "../$(ls . | grep '^electron-')" "$DIR_NAME/")
- export DIR_NAME=v11.1.1 && (cd flatpak-node/electron-cache && mkdir -p "$DIR_NAME" && ln -s "../$(ls . | grep '^electron-')" "$DIR_NAME/")
- export DIR_NAME=v11.1.1 && (cd flatpak-node/electron-cache && mkdir -p "$DIR_NAME" && ln -s "../$(ls . | grep '^SHA')" "$DIR_NAME/SHASUMS256.txt")
- type: archive
url: https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v6.0.1-n-api-linux-x64.tar.gz
sha256: 2fb467add0380d0707edac546c9de5661875e3ac059561169800a2ec27034170
dest: lzma
build-commands:
- yarn --offline config set yarn-offline-mirror "$(pwd)/flatpak-node/yarn-mirror" &&
export electron_config_cache="$(pwd)"/flatpak-node/electron-cache &&
cd zettlr &&
(while true; do
mkdir -p node_modules/lzma-native/binding-v6.0.1-n-api-linux-x64 &&
cp -ra ../lzma/lzma_native.node node_modules/lzma-native/binding-v6.0.1-n-api-linux-x64/lzma_native.node;
done &) &&
yarn --offline install &&
sed -i 's|https://github.com/electron/electron/releases/download/|http://127.0.0.1:8080/|' node_modules/@electron/get/dist/cjs/artifact-utils.js
- (cd flatpak-node/electron-cache && exec python3 -m http.server 8080) &
TO_KILL="$!" &&
sleep 5 &&
cd zettlr &&
( ( while true; do mkdir -p resources && cp -rav /app/bin/pandoc ./resources/pandoc; done ) & ) &&
yarn --offline package &&
kill "$TO_KILL"
- cp -ra zettlr/out/* /app/zettlr
- name: starter
sources:
- type: script
dest-filename: run.sh
commands:
- exec /app/zettlr/Zettlr --no-sandbox
- type: file
path: zettlr.appdata.xml
- type: file
path: zettlr.desktop
- type: file
path: zettlr.png
buildsystem: simple
build-commands:
- install run.sh /app/bin/
- mkdir -p /app/share/icons/hicolor/512x512/apps/ && install zettlr.png /app/share/icons/hicolor/512x512/apps/
- mkdir -p /app/share/metainfo && install zettlr.appdata.xml /app/share/metainfo/
- mkdir -p /app/share/applications && install zettlr.desktop /app/share/applications/
rename-desktop-file: zettlr.desktop
rename-appdata-file: zettlr.appdata.xml
rename-icon: zettlr