From a83b727a134d1262a1b91aa7fb0154330ca50f5f Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 20 May 2024 05:03:23 +0300 Subject: 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. --- AppImage.yml | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- TODO | 7 ++----- 3 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 AppImage.yml 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 <