name: qelectrotech title: QElectroTech base: core20 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 run-on: amd64 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 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 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 command-chain: - bin/qelectrotech-launch 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/ update-instructions: plugin: dump source: build-aux/snap/local/update-instructions organize: '*': update-instructions/ 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: - kde-frameworks-5-qt-5-15-3-core20-sdk build-packages: - g++ - mesa-common-dev - libglvnd-dev - rsync override-build: | rsync -a --ignore-existing /snap/kde-frameworks-5-qt-5-15-3-core20-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-pull: | snapcraftctl pull displayed_version=$(grep "displayedVersion" sources/qet.h | tr -d "\";" | cut -d" " -f5) snap_version="${displayed_version}~$(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 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: [kde-frameworks-5-qt-5-15-3-core20] override-prime: | set -eux for snap in "kde-frameworks-5-qt-5-15-3-core20"; 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