Snapcraft packaging for quasselcore
authorChristian <christian@twotoasts.de>
Sat, 16 Jul 2016 14:48:10 +0000 (16:48 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 13 Sep 2016 21:37:16 +0000 (23:37 +0200)
Resolves GH-235.

snap.wrapper [new file with mode: 0755]
snapcraft.yaml [new file with mode: 0644]

diff --git a/snap.wrapper b/snap.wrapper
new file mode 100755 (executable)
index 0000000..d901d52
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+if [ "$SNAP_ARCH" = "amd64" ]; then
+    ARCH="x86_64-linux-gnu"
+elif [ "$SNAP_ARCH" = "armhf" ]; then
+    ARCH="arm-linux-gnueabihf"
+else
+    ARCH="$SNAP_ARCH-linux-gnu"
+fi
+export PATH="$SNAP/bin:$SNAP/usr/bin:$PATH"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/$ARCH:$SNAP/usr/lib/$ARCH"
+export LD_LIBRARY_PATH="$SNAP/usr/lib/$ARCH:$LD_LIBRARY_PATH"
+
+LD_LIBRARY_PATH=$SNAP_LIBRARY_PATH:$LD_LIBRARY_PATH
+
+export QT_PLUGIN_PATH=$SNAP/usr/lib/$ARCH/qt5/plugins
+
+export XDG_CONFIG_HOME=$HOME/.config
+CERT=$XDG_CONFIG_HOME/quassel-irc.org/quasselCert.pem
+test ! -f $CERT && openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout $CERT -out $CERT -batch
+
+exec $@
diff --git a/snapcraft.yaml b/snapcraft.yaml
new file mode 100644 (file)
index 0000000..17b72fd
--- /dev/null
@@ -0,0 +1,34 @@
+name: quasselcore
+version: "0.12.4"
+summary: Modern, cross-platform IRC client (core)
+description: |
+ This is a modern, cross-platform, distributed IRC client. One
+ (or multiple) client(s) can attach to and detach from a central core. It's
+ much like the popular combination of screen and a text-based IRC client such
+ as WeeChat, but graphical.
+confinement: strict
+
+apps:
+    quasselcore:
+        command: wrap quasselcore
+        plugs: [network-bind]
+        daemon: simple
+
+parts:
+    quasselcore:
+        source: .
+        plugin: cmake
+        configflags: [-DUSE_QT5=1, -DWANT_MONO=0, -DWANT_QTCLIENT=0, -DCMAKE_BUILD_TYPE=Release]
+        build-packages:
+            - cmake
+            - g++
+            - zlib1g-dev
+            - qttools5-dev
+            - qtscript5-dev
+            - libqt5sql5-sqlite
+        stage-packages:
+            - libqt5sql5-sqlite
+    environment:
+        plugin: copy
+        files:
+            snap.wrapper: bin/wrap