mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
128 lines
3.8 KiB
YAML
128 lines
3.8 KiB
YAML
name: qelectrotech
|
|
title: QElectroTech
|
|
base: core22
|
|
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
|
|
compression: lzo
|
|
|
|
architectures:
|
|
- build-on: amd64
|
|
build-for: amd64
|
|
- build-on: arm64
|
|
build-for: arm64
|
|
|
|
layout:
|
|
/usr/local/share/qelectrotech:
|
|
symlink: $SNAP/usr/local/share/qelectrotech
|
|
/usr/share/libdrm/amdgpu.ids:
|
|
symlink: $SNAP/kf5/usr/share/libdrm/amdgpu.ids
|
|
|
|
apps:
|
|
qelectrotech:
|
|
command: usr/local/bin/qelectrotech
|
|
common-id: qelectrotech.desktop
|
|
extensions:
|
|
- kde-neon
|
|
plugs: &plugs [opengl, unity7, home, removable-media, gsettings, network, cups-control]
|
|
environment: &env
|
|
TCL_LIBRARY: $SNAP/usr/share/tcltk/tcl8.6
|
|
HOME: $SNAP_USER_COMMON
|
|
PYTHONPATH: $SNAP:$SNAP/lib/python3.8/site-packages:$SNAP/usr/lib/python3.8:$SNAP/usr/lib/python3.8/lib-dynload
|
|
|
|
qet-tb-generator:
|
|
command: 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
|
|
source: https://github.com/raulroda/qet_tb_generator-plugin.git
|
|
python-packages: [PySimpleGUI]
|
|
stage-packages:
|
|
- python3-lxml
|
|
- python3-tk
|
|
- libtk8.6
|
|
|
|
kde-sdk-setup:
|
|
plugin: nil
|
|
build-snaps:
|
|
- kf5-5-108-qt-5-15-10-core22-sdk
|
|
build-packages:
|
|
- g++
|
|
- mesa-common-dev
|
|
- libglvnd-dev
|
|
- rsync
|
|
override-build: |
|
|
rsync -a --ignore-existing /snap/kf5-5-108-qt-5-15-10-core22-sdk/current/ /
|
|
|
|
dxf-to-qet:
|
|
after: [kde-sdk-setup]
|
|
plugin: nil
|
|
source: https://github.com/qelectrotech/DXFtoQET-2020.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: .
|
|
stage-packages: [ git, sqlite3, xdg-user-dirs ]
|
|
build-packages:
|
|
- git
|
|
- libsqlite3-dev
|
|
override-build: |
|
|
displayed_version=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g')
|
|
snap_version="${displayed_version}-g$(git rev-parse --short=8 HEAD)"
|
|
modified_displayed_version="${snap_version}.snap"
|
|
sed -i -E "s|const QString displayedVersion =.*|const QString displayedVersion =\"$modified_displayed_version\";|" sources/qet.h
|
|
craftctl set-version "$snap_version"
|
|
qmake "$SNAPCRAFT_PART_SRC/qelectrotech.pro"
|
|
make -j${SNAPCRAFT_PARALLEL_BUILD_COUNT}
|
|
make install INSTALL_ROOT="$SNAPCRAFT_PART_INSTALL"
|
|
override-stage: |
|
|
craftctl default
|
|
# 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: [kf5-5-108-qt-5-15-10-core22]
|
|
override-prime: |
|
|
set -eux
|
|
for snap in "kf5-5-108-qt-5-15-10-core22"; do # List all content-snaps you're using here
|
|
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" "$SNAPCRAFT_PRIME/usr/{}" \;
|
|
done
|
|
for cruft in bug lintian man; do
|
|
rm -rf $SNAPCRAFT_PRIME/usr/share/$cruft
|
|
done
|
|
find $SNAPCRAFT_PRIME/usr/share/doc/ -type f -not -name 'copyright' -delete
|
|
find $SNAPCRAFT_PRIME/usr/share -type d -empty -delete
|