Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 639edc6c rédigé par Kubat's avatar Kubat
Parcourir les fichiers

BUILD: Add instructions to produce appimages for linux systems

parent a205e100
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!197Draft: Refactor the whole code.
...@@ -25,15 +25,9 @@ A Karaoke player made to replace the old bash scripts on Sakura. ...@@ -25,15 +25,9 @@ A Karaoke player made to replace the old bash scripts on Sakura.
- [rust](https://www.rust-lang.org) compiler with version >= 1.72 - [rust](https://www.rust-lang.org) compiler with version >= 1.72
- [cmake](https://cmake.org/) at least the version 3.17 - [cmake](https://cmake.org/) at least the version 3.17
- a C++ compiler with C++20 support - C++ compiler with [C++20 support](https://en.cppreference.com/w/cpp/20)
- [mpv](https://mpv.io/) development library - [mpv](https://mpv.io/) development library
- [Qt6](https://www.qt.io/) development library, QtCore, QtWidgets, QtOpenGL, QtOpenGLWidgets. - [Qt6](https://www.qt.io/) development library: QtCore, QtWidgets, QtOpenGL, QtOpenGLWidgets.
On arch you may install the following packages: `qt6-multimedia-ffmpeg`, `qt6-translations`,
`qt6-declarative`, `qt6-multimedia`, `qt6-wayland`, `qt6-tools`, `qt6-base`, `qt6-svg`, `mpv`,
`cmake`, `cmake-extra-modules`. The usual way of installing rust is by executing their script:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
To visualize dependencies of the rust part of lektor, you can call the script To visualize dependencies of the rust part of lektor, you can call the script
`utils/scripts/print-cargo-deps.bash` from the workspaces. You will also need to have `dot` utility `utils/scripts/print-cargo-deps.bash` from the workspaces. You will also need to have `dot` utility
...@@ -144,15 +138,44 @@ To produce the zip file for windows users, from the target folder run the follow ...@@ -144,15 +138,44 @@ To produce the zip file for windows users, from the target folder run the follow
## Building a lektord distribution for linux (AppImage) ## Building a lektord distribution for linux (AppImage)
First you need the AppImageKit. We will assume you are using an *x86_64* system. You can download it Note that it is preferable to build AppImages from the older system that you want to support, see
from the github [repository](https://github.com/AppImage/AppImageKit/releases/tag/continuous). As an the [official website](https://appimage.org/). First you need the LinuxDeploy and AppImageTool
alternative you can use the following commands and add the `$HOME/.local/bin` folder to you path. binaries. We will assume you are using an *x86_64* system. You can download it their repositories:
- https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous
- https://github.com/AppImage/AppImageKit/releases/tag/continuous
As an alternative you can use the following commands and add the `$HOME/.local/bin` folder to you path.
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
mv appimagetool-x86_64.AppImage ~/.local/bin/ wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-static-x86_64.AppImage
chmod +x ~/.local/bin/appimagetool-x86_64.AppImage mv appimagetool-x86_64.AppImage ~/.local/bin/appimagetool
mv linuxdeploy-static-x86_64.AppImage ~/.local/bin/linuxdeploy
chmod +x ~/.local/bin/appimagetool
chmod +x ~/.local/bin/linuxdeploy
For the packages needed to build the lektor project, on arch you may install the following packages:
`qt6-multimedia-ffmpeg`, `qt6-translations`, `qt6-declarative`, `qt6-multimedia`, `qt6-wayland`,
`qt6-tools`, `qt6-base`, `qt6-svg`, `mpv`, `cmake`, `cmake-extra-modules`. The usual way of
installing rust is by executing their script:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
After building the lektord executable and .so files, you can use the following commands from the
target folder (where the executable where generated). We will reference the root folder of the
lektord repository as `$ROOT`.
mkdir Amadeus Lektord Lkt # Create one folder for each AppImage
# Do the thing for Lkt
linuxdeploy --appdir Lkt --executable lkt --icon-file $ROOT/utils/desktop/lektor.png --desktop-file $ROOT/utils/desktop/lkt.desktop
appimagetool --comp xz --sign --sign-key $YOUR_SIGN_KEY Lkt
# Do the thing for Lektord
linuxdeploy --appdir Lektord --executable lektord --icon-file $ROOT/utils/desktop/lektor.png --desktop-file $ROOT/utils/desktop/lektord.desktop
appimagetool --comp xz --sign --sign-key $YOUR_SIGN_KEY Lektord
After building the lektord executable and .so files, you can use the following commands: # Do the thing for Amadeus
linuxdeploy --appdir Amadeus --executable lektord --icon-file $ROOT/utils/desktop/amadeus.png --desktop-file $ROOT/utils/desktop/amadeus.desktop
appimagetool --comp xz --sign --sign-key $YOUR_SIGN_KEY Amadeus
--- ---
...@@ -161,4 +184,3 @@ After building the lektord executable and .so files, you can use the following c ...@@ -161,4 +184,3 @@ After building the lektord executable and .so files, you can use the following c
- Finish Amadeus. - Finish Amadeus.
- Query state from lektord in a sensible way. - Query state from lektord in a sensible way.
- Implements a kurisu server in lektord to be able to synchronize with other lektord instances. - Implements a kurisu server in lektord to be able to synchronize with other lektord instances.
- Make two custom themes (one light, the other dark) for amadeus, not the default ones from iced.
...@@ -6,7 +6,7 @@ Icon=amadeus ...@@ -6,7 +6,7 @@ Icon=amadeus
GenericName=Amadeus GenericName=Amadeus
Comment=The Amadeus client for lektord Comment=The Amadeus client for lektord
Keywords=video;audio Keywords=video;audio
Terminal=true Terminal=false
Categories=AudioVideo; Categories=AudioVideo;
StartupNotify=true StartupNotify=true
Exec=lektord -F Exec=amadeus
utils/desktop/amadeus.jpg

126 ko

utils/desktop/amadeus.png

127 ko

[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Type=Application Type=Application
Name=lektord Name=Lektord
Icon=lektor Icon=lektor
GenericName=Lektor deamon GenericName=Lektor deamon
Comment=The lektor deamon Comment=The lektor deamon
...@@ -9,4 +9,4 @@ Keywords=video;audio ...@@ -9,4 +9,4 @@ Keywords=video;audio
Terminal=true Terminal=true
Categories=AudioVideo; Categories=AudioVideo;
StartupNotify=true StartupNotify=true
Exec=lektord -F Exec=lektord
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Type=Application Type=Application
Name=lkt Name=Lkt
Icon=lektor Icon=lektor
GenericName=lkt commnand line client GenericName=lkt commnand line client
Comment=lkt command line client Comment=lkt command line client
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter