[qet] qet/qet: [5933] Linux: Add support for building snap packages

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 5933
Author:   ppd
Date:     2019-06-24 12:22:46 +0200 (Mon, 24 Jun 2019)
Log Message:
-----------
Linux: Add support for building snap packages

Added Paths:
-----------
    trunk/snap/
    trunk/snap/local/
    trunk/snap/local/launchers/
    trunk/snap/local/launchers/qelectrotech-launch
    trunk/snap/snapcraft.yaml

Added: trunk/snap/local/launchers/qelectrotech-launch
===================================================================
--- trunk/snap/local/launchers/qelectrotech-launch	                        (rev 0)
+++ trunk/snap/local/launchers/qelectrotech-launch	2019-06-24 10:22:46 UTC (rev 5933)
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+mkdir -p "$HOME/.qet"
+ln -snf "$SNAP/bin/DXFtoQET" "$HOME/.qet/DXFtoQET"
+
+exec "${@}"


Property changes on: trunk/snap/local/launchers/qelectrotech-launch
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/snap/snapcraft.yaml
===================================================================
--- trunk/snap/snapcraft.yaml	                        (rev 0)
+++ trunk/snap/snapcraft.yaml	2019-06-24 10:22:46 UTC (rev 5933)
@@ -0,0 +1,148 @@
+name: qelectrotech
+title: QElectroTech
+base: core18
+adopt-info: qelectrotech
+summary: Electrical diagram editor
+description: |
+  QElectroTech, or QET in short, is a libre and open source desktop application 
+  to create diagrams and schematics.
+
+grade: devel
+confinement: strict
+
+layout:
+  /usr/local/share/qelectrotech:
+    bind: $SNAP/usr/local/share/qelectrotech
+
+plugs:
+  gtk-3-themes:
+    interface: content
+    target: $SNAP/data-dir/themes
+    default-provider: gtk-common-themes
+  icon-themes:
+    interface: content
+    target: $SNAP/data-dir/icons
+    default-provider: gtk-common-themes
+  sound-themes:
+    interface: content
+    target: $SNAP/data-dir/sounds
+    default-provider: gtk-common-themes
+
+apps:
+  qelectrotech:
+    adapter: full
+    command: usr/local/bin/qelectrotech
+    command-chain:
+      - bin/desktop-launch 
+      - bin/qelectrotech-launch
+    desktop: usr/local/share/applications/qelectrotech.desktop
+    plugs: &plugs [opengl, x11, unity7, wayland, desktop, desktop-legacy, home, removable-media, gsettings, network]
+    environment: &env
+        __EGL_VENDOR_LIBRARY_DIRS: $SNAP/usr/share/glvnd/egl_vendor.d
+        QT_QPA_PLATFORMTHEME: gtk3
+        QT_AUTO_SCREEN_SCALE_FACTOR: 1
+        DISABLE_WAYLAND: 1
+        TCL_LIBRARY: $SNAP/usr/share/tcltk/tcl8.6
+
+  qet-tb-generator:
+    command: desktop-launch $SNAP/bin/qet_tb_generator
+    plugs: *plugs
+    environment: *env
+
+  dxf-to-qet:
+    command: desktop-launch $SNAP/bin/DXFtoQET
+    plugs: *plugs
+    environment: *env
+
+parts:
+  launchers:
+    plugin: dump
+    source: snap/local/launchers
+    organize:
+      '*': bin/
+
+  desktop-qt5:
+    source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
+    source-subdir: qt
+    plugin: make
+    make-parameters: ["FLAVOR=qt5"]
+    build-packages:
+      - build-essential
+      - qtbase5-dev
+      - dpkg-dev
+    stage-packages:
+      - libxkbcommon0
+      - ttf-ubuntu-font-family
+      - dmz-cursor-theme
+      - light-themes
+      - adwaita-icon-theme
+      - gnome-themes-standard
+      - shared-mime-info
+      - libqt5gui5
+      - libgdk-pixbuf2.0-0
+      - libqt5svg5 # for loading icon themes which are svg
+      - try: [appmenu-qt5] # not available on core18
+      - locales-all 
+      - xdg-user-dirs
+      - fcitx-frontend-qt5
+  
+  qet-tb-generator:
+    after: [desktop-qt5]
+    plugin: python
+    python-version: python3
+    stage-packages: 
+      - python3-lxml
+      - python3-tk
+      - libtk8.6
+    python-packages:
+      - qet_tb_generator
+
+  dxf-to-qet:
+    after: [desktop-qt5]
+    plugin: qmake
+    source: svn://svn.tuxfamily.org/svnroot/qet/qet/branches/DXFtoQET3_DB
+    build-packages:
+      - qtbase5-dev
+    override-build: |
+      snapcraftctl build
+      mkdir -p "$SNAPCRAFT_PART_INSTALL/bin"
+      cp DXFtoQET "$SNAPCRAFT_PART_INSTALL/bin/"
+
+  qelectrotech:
+    after: [desktop-qt5]
+    plugin: qmake
+    source: .
+    override-pull: |
+      snapcraftctl pull
+      if [ -d .git ]; then
+        revision=$(git svn find-rev HEAD)
+      else
+        revision=$(svn --xml info | grep revision=\" | tail -1 | cut -d\" -f2)
+      fi
+      version=$(cat sources/qet.h |grep "const QString version" |  cut -d\" -f2 | cut -d\" -f1)
+      tag=$(cat sources/qet.h | grep displayedVersion |  cut -d\" -f2 | cut -d\" -f1)
+      snapcraftctl set-version "$tag~svn$revision"
+    override-stage: |
+      snapcraftctl stage
+      # patch desktop file with correct icon path
+      SED_CMD="sed -i -E s|^Icon=(.*)|Icon=\${SNAP}/usr/local/share/icons/hicolor/128x128/apps/\1.png|g" 
+      $SED_CMD usr/local/share/applications/qelectrotech.desktop
+    build-packages: 
+      - g++
+      - qttools5-dev-tools
+      - libqt5svg5-dev
+      - libkf5widgetsaddons-dev
+      - libkf5coreaddons-dev
+      - git-svn
+    stage-packages: 
+      - qtwayland5
+      - qt5-gtk-platformtheme
+      - libkf5coreaddons5
+      - libkf5widgetsaddons5
+      - libqt5concurrent5
+      - libqt5printsupport5
+      - libqt5sql5
+      - libqt5xml5
+      - libfam0
+      - libqt5sql5-sqlite
+      - libdrm2


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/