mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-05-27 09:09:59 +02:00
This prevents the config and the user collection from being backed up by snapd on update. If the user reverts qelectrotech, the current collection will thus not be overwritten by the possibly outdated backup. Add a migration script that automatically transfers the user's .qet directory to the new location.
118 lines
3.5 KiB
YAML
118 lines
3.5 KiB
YAML
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/kf5/usr/share/libdrm/amdgpu.ids
|
|
|
|
apps:
|
|
qelectrotech:
|
|
command: usr/local/bin/qelectrotech
|
|
command-chain:
|
|
- bin/qelectrotech-launch
|
|
desktop: usr/local/share/applications/qelectrotech.desktop
|
|
extensions: [kde-neon]
|
|
plugs: &plugs [opengl, unity7, home, removable-media, gsettings, network, cups-control]
|
|
environment: &env
|
|
__EGL_VENDOR_LIBRARY_DIRS: $SNAP/kf5/usr/share/glvnd/egl_vendor.d:$SNAP/usr/share/glvnd/egl_vendor.d
|
|
TCL_LIBRARY: $SNAP/usr/share/tcltk/tcl8.6
|
|
QT_QPA_PLATFORMTHEME: gtk3
|
|
QT_AUTO_SCREEN_SCALE_FACTOR: 1
|
|
HOME: $SNAP_USER_COMMON
|
|
|
|
qet-tb-generator:
|
|
command: bin/qelectrotech-launch $SNAP/bin/qet_tb_generator
|
|
extensions: [kde-neon]
|
|
plugs: *plugs
|
|
environment: *env
|
|
|
|
dxf-to-qet:
|
|
command: bin/DXFtoQET
|
|
extensions: [kde-neon]
|
|
plugs: *plugs
|
|
environment: *env
|
|
|
|
parts:
|
|
launchers:
|
|
plugin: dump
|
|
source: build-aux/snap/local/launchers
|
|
organize:
|
|
'*': bin/
|
|
|
|
qet-tb-generator:
|
|
plugin: python
|
|
python-version: python3
|
|
source: https://github.com/qelectrotech/qet_tb_generator.git
|
|
stage-packages:
|
|
- python3-lxml
|
|
- python3-tk
|
|
- libtk8.6
|
|
|
|
kde-sdk-setup:
|
|
plugin: nil
|
|
build-snaps:
|
|
- kde-frameworks-5-core18-sdk
|
|
build-packages:
|
|
- g++
|
|
- mesa-common-dev
|
|
- libglvnd-dev
|
|
- rsync
|
|
override-build: |
|
|
rsync -a --ignore-existing /snap/kde-frameworks-5-core18-sdk/current/ /
|
|
|
|
dxf-to-qet:
|
|
after: [kde-sdk-setup]
|
|
plugin: nil
|
|
source: https://github.com/qelectrotech/DXFtoQET.git
|
|
override-build: |
|
|
qmake "$SNAPCRAFT_PART_SRC/DXFtoQET.pro"
|
|
make -j$(nproc)
|
|
mkdir -p "$SNAPCRAFT_PART_INSTALL/bin"
|
|
cp DXFtoQET "$SNAPCRAFT_PART_INSTALL/bin/"
|
|
|
|
qelectrotech:
|
|
after: [kde-sdk-setup]
|
|
plugin: nil
|
|
source: .
|
|
build-packages:
|
|
- git
|
|
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-build: |
|
|
qmake "$SNAPCRAFT_PART_SRC/qelectrotech.pro"
|
|
make -j$(nproc)
|
|
make install INSTALL_ROOT="$SNAPCRAFT_PART_INSTALL"
|
|
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
|
|
|
|
cleanup:
|
|
after: [qelectrotech, dxf-to-qet, qet-tb-generator]
|
|
plugin: nil
|
|
build-snaps: [core18, kde-frameworks-5-core18]
|
|
override-prime: |
|
|
# Remove all files from snap that are already included in the base snap or in
|
|
# any connected content snaps
|
|
set -eux
|
|
for snap in "core18" "kde-frameworks-5-core18"; do # List all content-snaps and base snaps you're using here
|
|
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" \;
|
|
done
|