diff --git a/nymea-app.pro b/nymea-app.pro index 4fb40ff4..ee90a9cc 100644 --- a/nymea-app.pro +++ b/nymea-app.pro @@ -70,6 +70,14 @@ osxbundle.commands += hdiutil convert nymea-app_writable.dmg -format UDRO -o ../ osxbundle.commands += rm nymea-app.dmg nymea-app_writable.dmg QMAKE_EXTRA_TARGETS += osxbundle +# Linux desktop (snap package) +linux:!android: { +desktopfile.files = packaging/linux/nymea-app.desktop +desktopfile.path = /usr/share/applications/ +icons.files = packaging/linux/icons +icons.path = /usr/share/ +INSTALLS += desktopfile icons +} # Translations support TRANSLATIONS += $$files($$absolute_path(nymea-app)/translations/*.ts, true) diff --git a/packaging/linux/exportappicons.sh b/packaging/linux/exportappicons.sh new file mode 100755 index 00000000..fd16a660 --- /dev/null +++ b/packaging/linux/exportappicons.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +function exportImage() { + size=$1 + path=icons/hicolor/${size}x${size}/apps/ + echo Exporting AppIcon with size $size to ${path} + mkdir -p ${path} + inkscape nymea-app.svg -e ${path}/nymea-app.png -C -w ${size} -h ${size} +} + +SIZES=( + "16" + "22" + "24" + "32" + "48" + "64" + "256" +) + +for size in "${SIZES[@]}" ; do + pixels="${size}" + exportImage $pixels +done diff --git a/packaging/linux/icons/hicolor/16x16/apps/nymea-app.png b/packaging/linux/icons/hicolor/16x16/apps/nymea-app.png new file mode 100644 index 00000000..9e79c3e8 Binary files /dev/null and b/packaging/linux/icons/hicolor/16x16/apps/nymea-app.png differ diff --git a/packaging/linux/icons/hicolor/22x22/apps/nymea-app.png b/packaging/linux/icons/hicolor/22x22/apps/nymea-app.png new file mode 100644 index 00000000..697f584c Binary files /dev/null and b/packaging/linux/icons/hicolor/22x22/apps/nymea-app.png differ diff --git a/packaging/linux/icons/hicolor/24x24/apps/nymea-app.png b/packaging/linux/icons/hicolor/24x24/apps/nymea-app.png new file mode 100644 index 00000000..661e1fd8 Binary files /dev/null and b/packaging/linux/icons/hicolor/24x24/apps/nymea-app.png differ diff --git a/packaging/linux/icons/hicolor/256x256/apps/nymea-app.png b/packaging/linux/icons/hicolor/256x256/apps/nymea-app.png new file mode 100644 index 00000000..ac23c898 Binary files /dev/null and b/packaging/linux/icons/hicolor/256x256/apps/nymea-app.png differ diff --git a/packaging/linux/icons/hicolor/32x32/apps/nymea-app.png b/packaging/linux/icons/hicolor/32x32/apps/nymea-app.png new file mode 100644 index 00000000..c9d58f38 Binary files /dev/null and b/packaging/linux/icons/hicolor/32x32/apps/nymea-app.png differ diff --git a/packaging/linux/icons/hicolor/48x48/apps/nymea-app.png b/packaging/linux/icons/hicolor/48x48/apps/nymea-app.png new file mode 100644 index 00000000..0415cce3 Binary files /dev/null and b/packaging/linux/icons/hicolor/48x48/apps/nymea-app.png differ diff --git a/packaging/linux/icons/hicolor/64x64/apps/nymea-app.png b/packaging/linux/icons/hicolor/64x64/apps/nymea-app.png new file mode 100644 index 00000000..ed91aa0a Binary files /dev/null and b/packaging/linux/icons/hicolor/64x64/apps/nymea-app.png differ diff --git a/packaging/linux/nymea-app.desktop b/packaging/linux/nymea-app.desktop new file mode 100644 index 00000000..6a9c90ff --- /dev/null +++ b/packaging/linux/nymea-app.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=nymea:app +Comment=A client application for nymea +Icon=${SNAP}/usr/share/icons/hicolor/256x256/apps/nymea-app.png +Terminal=false +Type=Application +Exec=nymea-app diff --git a/packaging/linux/nymea-app.svg b/packaging/linux/nymea-app.svg new file mode 100644 index 00000000..1936d02b --- /dev/null +++ b/packaging/linux/nymea-app.svg @@ -0,0 +1,603 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/snapcraft.yaml b/snapcraft.yaml new file mode 100644 index 00000000..9b1866e8 --- /dev/null +++ b/snapcraft.yaml @@ -0,0 +1,68 @@ +name: nymea-app +version: developer-build +summary: Control app for nymea +description: | + The nymea daemon is a plugin based IoT (Internet of Things) server. + The server works like a translator for devices, things and services + and allows them to interact. With the powerful rule engine you are + able to connect any device available in the system and create individual + scenes and behaviors for your environment. + +grade: stable +base: core18 +confinement: strict + +environment: + USE_qt5: 1 + +apps: + nymea-app: + command: desktop-launch nymea-app + desktop: usr/share/applications/nymea-app.desktop + environment: + QT_IM_MODULE: qtvirtualkeyboard + __EGL_VENDOR_LIBRARY_DIRS: $SNAP/etc/glvnd/egl_vendor.d:$SNAP/usr/share/glvnd/egl_vendor.d + plugs: + - avahi-observe + - bluez + - network + - opengl + - x11 + +# nymea-app-webgl: +# command: env PATH=$PATH:$SNAP/bin qt5-launch nymea-app -platform webgl:port=8080 +# daemon: simple +# restart-condition: always + +parts: + # Adding the whole guh project containig libguh and plugins + nymea-app: + plugin: qmake + source: . + after: [desktop-qt5] + project-files: [ nymea-app.pro ] +# options: [ CONFIG+=withavahi ] + build-packages: + - qt5-default + - qt5-qmake + - qtbase5-dev + - libavahi-client-dev + - libavahi-common-dev + - libqt5svg5-dev + - libqt5websockets5-dev + - qtconnectivity5-dev + - qtdeclarative5-dev + - qtquickcontrols2-5-dev + - qttools5-dev-tools + stage-packages: + - libqt5gui5 + - libgl1-mesa-dri + - qml-module-qtquick2 + - qml-module-qtquick-controls2 + - qml-module-qtquick-layouts + - qml-module-qtquick-window2 + - qml-module-qt-labs-settings + - libavahi-client3 + - libavahi-common3 + - qml-module-qt-labs-folderlistmodel + - qtvirtualkeyboard-plugin