diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2024-05-20 05:03:23 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2024-05-20 05:03:23 +0300 |
commit | a83b727a134d1262a1b91aa7fb0154330ca50f5f (patch) | |
tree | b35f706700620f079ba856db08544fd283d5b154 /AppImage.yml | |
parent | 90d530fe1067ce9080c58fddc936904db90e361e (diff) | |
download | applause2-a83b727a134d1262a1b91aa7fb0154330ca50f5f.tar.gz |
added AppImage via pkg2appimage
* Docker turned out to be impractical since you cannot connect a dockerized Jack client
to a Jack server on the host as library versions would have to match exactly.
Neither did I get Netjack to run in Docker.
Also when running in Docker, it would be tricky to get gnuplot to work (and Tcl/Tk support in the future).
Especially the Jupyter notebook packaging would have been a lot easier, though with Docker.
* AppImage will automatically avoid bundling libjack and require a compatible libjack on the host instead.
* Using pkg2appimage ensures we can pull in dependencies as Debian packages.
* This version of AppImage.yml does not contain Jupyter notebooks.
Diffstat (limited to 'AppImage.yml')
-rw-r--r-- | AppImage.yml | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/AppImage.yml b/AppImage.yml new file mode 100644 index 0000000..c6c6ab5 --- /dev/null +++ b/AppImage.yml @@ -0,0 +1,53 @@ +app: applause + +ingredients: + packages: + # The binary links against these: + - libreadline + # libjack must be used from the host system... + #- libjack-jackd2 + #- libluajit-5.1 + # Required only at runtime. + # Development packages are not strictly required, but they provide the plain *.so symlinks + # that LuaJIT FFI expects: + - libsndfile1-dev + - libasound2-dev + - feedgnuplot + # FIXME: No matter what, we cannot get rid of gnuplot-qt, pulled in by feedgnuplot... + #- gnuplot-x11 + dist: focal + sources: + - deb http://archive.ubuntu.com/ubuntu/ focal main universe + script: + - wget -O applause.tar.gz -c "https://github.com/rhaberkorn/applause2/archive/refs/heads/master.tar.gz" + # Will leave an "applause2-master" directory. + - tar xzf applause.tar.gz + # NOTE: The LuaJIT from Ubuntu is too outdated. + - wget -O luajit.tar.gz -c "https://github.com/LuaJIT/LuaJIT/archive/refs/heads/v2.1.tar.gz" + # Will leave a "LuaJIT-2.1" directory. + - tar xzf luajit.tar.gz + +script: + # Install build-time dependencies + - sudo apt-get install -y build-essential lua5.1 libreadline-dev libjack-jackd2-dev + - make -C ../LuaJIT-2.1 DESTDIR=`pwd` PREFIX=/usr install + - make -C ../applause2-master LUA_CFLAGS="-I`pwd`/usr/include/luajit-2.1" LUA_LDFLAGS="-L`pwd`/usr/lib -lluajit-5.1" + - cp -r ../applause2-master ./usr/share/applause + # Will be required by the ILua fork + - ln -s ../share/applause/ilua-wrapper.sh ./usr/bin/lua + - ln -s ../share/applause/ilua-wrapper.sh ./usr/bin/applause + # Some thinning - remove unneeded files + - find . -name "*.a" -delete + - rm -rf ./usr/share/doc +# - cp ../applause2-master/applause.desktop . + - cat >applause.desktop <<EOF + - [Desktop Entry] + - Type=Application + - Categories=Audio + - Icon=applause + - Name=Applause (CLI) + - Exec=applause %u + - Terminal=true + - EOF + # FIXME: Add a real icon. + - touch applause.svg |