aboutsummaryrefslogtreecommitdiffhomepage
path: root/AppImage.yml
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2024-05-20 05:03:23 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2024-05-20 05:03:23 +0300
commita83b727a134d1262a1b91aa7fb0154330ca50f5f (patch)
treeb35f706700620f079ba856db08544fd283d5b154 /AppImage.yml
parent90d530fe1067ce9080c58fddc936904db90e361e (diff)
downloadapplause2-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.yml53
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