# Build by running "snapcraft". # WARNING: # Snapcraft uses caching for already build steps but it's buggy and can cause strange problems. # Clean the cache by running "snapcraft clean". name: remote-touchpad license: GPL-3.0+ grade: stable adopt-info: remote-touchpad base: core18 confinement: strict apps: remote-touchpad: command: bin/remote-touchpad plugs: - network-bind - desktop - x11 remote-touchpad-wait-on-error: command: usr/bin/remote-touchpad-wait-on-error plugs: - network-bind - desktop - x11 common-id: com.github.unrud.RemoteTouchpad desktop: share/applications/com.github.unrud.RemoteTouchpad.desktop parts: remote-touchpad: plugin: go go-importpath: github.com/Unrud/remote-touchpad go-buildtags: [portal x11] source: . source-type: git build-packages: - gcc - libc6-dev - libxt-dev - libxtst-dev stage-packages: - libxt6 - libxtst6 override-pull: | snapcraftctl pull # WORKAROUND: Snapcraft Go Plugin doesn't set buildtags for go-get GOPATH="$(realpath "${SNAPCRAFT_PART_SRC}/../go")" env --chdir="$GOPATH/src" GOPATH="$GOPATH" go get -t -d -tags 'portal x11' ./github.com/Unrud/remote-touchpad/... # WORKAROUND: Point icon directly to high resolution version otherwise snapcraft automatically chooses lowest resolution sed -e 's|Icon=com.github.unrud.RemoteTouchpad|Icon=/usr/share/icons/hicolor/512x512/apps/com.github.unrud.RemoteTouchpad.png|' -i desktop/com.github.unrud.RemoteTouchpad.desktop override-build: | snapcraftctl build install -Dm0755 -t "${SNAPCRAFT_PART_INSTALL}/usr/bin" desktop/remote-touchpad-wait-on-error install -Dm0644 -t "${SNAPCRAFT_PART_INSTALL}/usr/share/metainfo" desktop/com.github.unrud.RemoteTouchpad.appdata.xml install -Dm0644 -t "${SNAPCRAFT_PART_INSTALL}/usr/share/applications" desktop/com.github.unrud.RemoteTouchpad.desktop for s in 64 128 256 512; do install -Dm0644 desktop/remote-touchpad_${s}.png "${SNAPCRAFT_PART_INSTALL}/usr/share/icons/hicolor/${s}x${s}/apps/com.github.unrud.RemoteTouchpad.png" done parse-info: [usr/share/metainfo/com.github.unrud.RemoteTouchpad.appdata.xml]