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

114 lines
4.7 KiB
YAML

app-id: com.zettlr.Zettlr
runtime: org.freedesktop.Platform
runtime-version: "21.08"
base: org.electronjs.Electron2.BaseApp
base-version: "21.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"
build-options:
cflags: -Os
cppflags: -Os
cxxflags: -Os
ldflags: -Os
sources:
- type: archive
url: https://nodejs.org/dist/v16.13.0/node-v16.13.0.tar.gz
sha256: 9c00e5b6024cfcbc9105f9c58cf160762e78659a345d100c5bd80a7fb38c684f
cleanup:
- /include
- "*"
- name: yarn
sources:
- type: file
url: https://github.com/yarnpkg/yarn/releases/download/v1.22.17/yarn-1.22.17.js
sha256: 0a7a650c99f34c58cca1aaa82c25424d5383c29db30678450159b035107aea69
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.16/pandoc-2.16-linux-amd64.tar.gz
sha256: d3961adc1805641bf11dcd36ed5f5ed168c84f67e6d7b920ed981cc4ac1e0b07
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: 4bfda751ce4ba73a0be59d812775aafb09af2c93
tag: v2.0.1
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