mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-02-24 22:09:58 +01:00
build: Move the Snap recipes
Snapcraft can find its build recipes in 2 places: * a snap/ directory at the top of the sources; * a build-aux/snap/ directory, since Snapcraft 3.3; This commit moves from the former to the latter, so that we can group all the packaging recipes together.
This commit is contained in:
committed by
Laurent Trinques
parent
5265db6cf7
commit
3f38f4b16c
6
build-aux/snap/local/launchers/qelectrotech-launch
Executable file
6
build-aux/snap/local/launchers/qelectrotech-launch
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p "$HOME/.qet"
|
||||
ln -snf "$SNAP/bin/DXFtoQET" "$HOME/.qet/DXFtoQET"
|
||||
|
||||
exec "${@}"
|
||||
147
build-aux/snap/snapcraft.yaml
Normal file
147
build-aux/snap/snapcraft.yaml
Normal file
@@ -0,0 +1,147 @@
|
||||
name: qelectrotech
|
||||
title: QElectroTech
|
||||
base: core18
|
||||
adopt-info: qelectrotech
|
||||
license: GPL-2.0
|
||||
summary: Electrical diagram editor
|
||||
description: |
|
||||
QElectroTech, or QET in short, is a libre and open source desktop application
|
||||
to create diagrams and schematics.
|
||||
|
||||
grade: stable
|
||||
confinement: strict
|
||||
|
||||
layout:
|
||||
/usr/local/share/qelectrotech:
|
||||
bind: $SNAP/usr/local/share/qelectrotech
|
||||
/usr/share/libdrm/amdgpu.ids:
|
||||
bind-file: $SNAP/usr/share/libdrm/amdgpu.ids
|
||||
|
||||
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, cups-control]
|
||||
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: build-aux/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
|
||||
- cups-bsd # for lpr used for printing in general (needs cups-control)
|
||||
|
||||
qet-tb-generator:
|
||||
after: [desktop-qt5]
|
||||
plugin: python
|
||||
python-version: python3
|
||||
source: https://github.com/qelectrotech/qet_tb_generator.git
|
||||
stage-packages:
|
||||
- python3-lxml
|
||||
- python3-tk
|
||||
- libtk8.6
|
||||
|
||||
dxf-to-qet:
|
||||
after: [desktop-qt5]
|
||||
plugin: qmake
|
||||
source: https://github.com/qelectrotech/DXFtoQET.git
|
||||
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
|
||||
snap_version=$(git describe --dirty)
|
||||
modified_displayed_version=$snap_version".snap"
|
||||
sed -i -E "s|const QString displayedVersion =.*|const QString displayedVersion =\"$modified_displayed_version\";|" sources/qet.h
|
||||
snapcraftctl set-version "$snap_version"
|
||||
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
|
||||
stage-packages:
|
||||
- qtwayland5
|
||||
- qt5-gtk-platformtheme
|
||||
- libkf5coreaddons5
|
||||
- libkf5widgetsaddons5
|
||||
- libqt5concurrent5
|
||||
- libqt5printsupport5
|
||||
- libqt5sql5
|
||||
- libqt5xml5
|
||||
- libfam0
|
||||
- libqt5sql5-sqlite
|
||||
- libdrm2
|
||||
Reference in New Issue
Block a user