diff --git a/.gitignore b/.gitignore index c6a99a5..ff0ec83 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,10 @@ ui_*.h Makefile* *build-* +*.snap +installer/packages/SoundBand/parts +installer/packages/SoundBand/prime +installer/packages/SoundBand/stage # QtCreator *.autosave diff --git a/CQtDeployer b/CQtDeployer index d456ce7..941478e 160000 --- a/CQtDeployer +++ b/CQtDeployer @@ -1 +1 @@ -Subproject commit d456ce7f86f2d4c0cc53442e4b00273815a89d6f +Subproject commit 941478e99bb8817f540d49a3426c7686253b8aac diff --git a/SoundBand.pro b/SoundBand.pro index 220205c..49fca81 100644 --- a/SoundBand.pro +++ b/SoundBand.pro @@ -4,6 +4,8 @@ CONFIG += ordered include($$PWD/installer/deploy/deployFiles.pri) message( DEPLOY_FILES_MASTER = $$DEPLOY_FILES) +ENABLE_SNAP = 1 #only linux +ENABLE_INSTALLER = 0 #only desctop SUBDIRS += Sync \ QuasarAppLib/QuasarApp.pro \ @@ -13,14 +15,30 @@ SUBDIRS += Sync \ SoundBand.depends = Sync QuasarAppLib/QuasarApp.pro -!android:{ - message(desktopVersion: enabled) - CONFIG(release, debug|release): { +equals( ENABLE_INSTALLER, 1) { + !android:{ + message(desktopVersion: enabled) + CONFIG(release, debug|release): { - SUBDIRS += installer + SUBDIRS += installer - } else { - message( Selected Debug mode. The installer will not be created ) + } else { + message( Selected Debug mode. The installer will not be created ) + } + } +} + +equals( ENABLE_SNAP, 1) { + !android:{ + message(desktopVersion: enabled) + CONFIG(release, debug|release): { + + SUBDIRS += installer/packages/SoundBand/snap.pro + + } else { + message( Selected Debug mode. The snap will not be created ) + + } } } diff --git a/installer/packages/SoundBand/runSnap.sh b/installer/packages/SoundBand/runSnap.sh new file mode 100755 index 0000000..3c1951b --- /dev/null +++ b/installer/packages/SoundBand/runSnap.sh @@ -0,0 +1,15 @@ +#!/bin/sh +OLD_DIR=$PWD +BASE_DIR=$(dirname $0) +TARGET_DIR="$BASE_DIR/../../" +echo "selected target dir $TARGET_DIR" +echo "cd to snapcraft dir $BASE_DIR" +cd $BASE_DIR + +snapcraft + +echo "return to old dir $OLD_DIR" +cd $OLD_DIR + +rm -f $TARGET_DIR/*.snap +mv $BASE_DIR/*.snap $TARGET_DIR diff --git a/installer/packages/SoundBand/snap.pro b/installer/packages/SoundBand/snap.pro new file mode 100644 index 0000000..75c46fb --- /dev/null +++ b/installer/packages/SoundBand/snap.pro @@ -0,0 +1,41 @@ +include($$PWD/../../deploy/targetList.pri) +include($$PWD/../../deploy/deployFiles.pri) + + +TEMPLATE = aux + +SNAPCRAFT = runSnap.sh + +DESTDIR = $$PWD + +INPUT = $$PWD/snap/snapcraft.yaml +snapApp.input = INPUT +snapApp.output = $$SNAPCRAFT +LINUXDEPLOY = $$PWD/../../../CQtDeployer/build/CQtDeployer + +QT_DIR = $$dirname(QMAKE_QMAKE) +QML_DIR = $$QT_DIR/../qml + +unix { + message($$DESTDIR); + message($$TARGET_LIST); + + for(command, TARGET_LIST) { + snapApp.commands += $$LINUXDEPLOY -bin $$TARGET_PATH/$$command -qmlDir $$QML_DIR -qmake $$QMAKE_QMAKE && + } + + snapApp.commands += $$DESTDIR/$$SNAPCRAFT + snapApp.CONFIG += target_predeps no_link combine + + message( snapComands = "$$snapApp.commands") +} + + +QMAKE_EXTRA_COMPILERS += snapApp + +DISTFILES += \ + +unix:extraclean.commands = $$SNAPCRAFT clean soundband + +distclean.depends = extraclean +QMAKE_EXTRA_TARGETS += distclean extraclean diff --git a/installer/packages/SoundBand/snap/.snapcraft/state b/installer/packages/SoundBand/snap/.snapcraft/state new file mode 100644 index 0000000..0278549 --- /dev/null +++ b/installer/packages/SoundBand/snap/.snapcraft/state @@ -0,0 +1,4 @@ +!GlobalState +assets: + build-packages: [] + build-snaps: [] diff --git a/installer/packages/SoundBand/snap/gui/QtDeployer.desktop b/installer/packages/SoundBand/snap/gui/QtDeployer.desktop new file mode 100644 index 0000000..b56dffa --- /dev/null +++ b/installer/packages/SoundBand/snap/gui/QtDeployer.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Name=SoundBand +Comment=Mobile and desktop song sync audio player. working on wifi. +Exec=sound-band +Icon=/snap/soundband/current/meta/gui/icon.png +Terminal=false +Type=Application +Categories=utils;Application; +X-GNOME-Bugzilla-Bugzilla=GNOME +X-GNOME-Bugzilla-Product=sound-band +X-GNOME-Bugzilla-Component=General +X-GNOME-Bugzilla-Version=1.0 +StartupNotify=true +Name[ru_RU]=SoundBand diff --git a/installer/packages/SoundBand/snap/snapcraft.yaml b/installer/packages/SoundBand/snap/snapcraft.yaml new file mode 100644 index 0000000..fa355d7 --- /dev/null +++ b/installer/packages/SoundBand/snap/snapcraft.yaml @@ -0,0 +1,28 @@ +name: soundband +version: '1.0' +summary: Mobile and desktop song sync audio player. working on wifi. +description: | + SoundBand is a cross-platform application for synchronous music playback on all your devices. supported platform: + Linux + Android + Windows + + +grade: stable # must be 'stable' to release into candidate/stable channels +confinement: strict # use 'strict' once you have the right plugs and slots + + +icon: data/icons/icon.png + +apps: + soundband: + command: desktop-launch $SNAP/AppRun.sh + + plugs: [desktop, unity7, home, opengl, x11, wayland, gsettings, pulseaudio, alsa] + +parts: + soundband: + plugin: dump + source: data/ + + after: [desktop-qt5]