summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO39
-rw-r--r--PKGBUILD69
-rw-r--r--qt5-datasync.rule2
-rw-r--r--subpkg.rule1
4 files changed, 93 insertions, 18 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2532f9d586ec..2e3511c91d9f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = qt5-datasync
pkgdesc = A simple offline-first synchronisation framework, to synchronize data of Qt applications between devices
- pkgver = 3.1.0
+ pkgver = 4.0.0
pkgrel = 1
url = https://github.com/Skycoder42/QtDataSync
arch = i686
@@ -8,16 +8,43 @@ pkgbase = qt5-datasync
license = BSD
makedepends = qt5-tools
makedepends = git
- makedepends = qpm
+ makedepends = qpmx-qpmsource
+ makedepends = qt5-declarative
+ makedepends = pkg-config
+ makedepends = python
+ makedepends = doxygen
+ makedepends = graphviz
+ makedepends = libsecret
+ makedepends = kwallet
depends = qt5-base
- depends = qt5-jsonserializer>=2.1.0
- depends = qt5-backgroundprocess>=1.5.0
+ depends = qt5-jsonserializer
depends = qt5-websockets
+ depends = qt5-scxml
+ depends = qt5-remoteobjects
+ depends = crypto++
optdepends = repkg: Automatically rebuild the package on dependency updates
- source = qt5-datasync-3.1.0::git+https://github.com/Skycoder42/QtDataSync.git#tag=3.1.0
+ optdepends = qt5-datasync-kwallet-keystore: Support for KWallet as keystore
+ optdepends = qt5-datasync-secret-keystore: Support for secret service as keystore (includes gnome keyring)
+ source = qt5-datasync-4.0.0::git+https://github.com/Skycoder42/QtDataSync.git#tag=4.0.0
source = qt5-datasync.rule
+ source = subpkg.rule
sha256sums = SKIP
- sha256sums = 9bfb38bb6338775f16514f5958c4aef3f55a4132253b0ae1a6ac1ace398a99c4
+ sha256sums = 4ac39788aa336a6505fc6a15cb172a48b76832d52cd2e7a68203201b7feb913e
+ sha256sums = 321d7d24f490983f54acb9e7f58ebc2a170b520cd978c4989e28bc1a76513f3b
pkgname = qt5-datasync
+pkgname = qt5-datasync-kwallet-keystore
+ depends = qt5-datasync
+ depends = kwallet
+ optdepends =
+
+pkgname = qt5-datasync-secret-keystore
+ depends = qt5-datasync
+ depends = libsecret
+ optdepends = gnome-keyring: Gnome keyring as keystore backend for libsecret
+
+pkgname = qt5-datasync-doc
+ depends = qt5-datasync
+ optdepends =
+
diff --git a/PKGBUILD b/PKGBUILD
index 2bf3c6d38a50..4a3cd28887d3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,37 +1,54 @@
# Maintainer: Felix Barz <skycoder42.de@gmx.de>
-pkgname=qt5-datasync
-pkgver=3.1.0
+pkgbase=qt5-datasync
+pkgname=(qt5-datasync qt5-datasync-kwallet-keystore qt5-datasync-secret-keystore qt5-datasync-doc)
+group=qt5-datasync-full
+pkgver=4.0.0
pkgrel=1
pkgdesc="A simple offline-first synchronisation framework, to synchronize data of Qt applications between devices"
arch=('i686' 'x86_64')
url="https://github.com/Skycoder42/QtDataSync"
license=('BSD')
-depends=('qt5-base' 'qt5-jsonserializer>=2.1.0' 'qt5-backgroundprocess>=1.5.0' 'qt5-websockets')
-makedepends=('qt5-tools' 'git' 'qpm')
-optdepends=("repkg: Automatically rebuild the package on dependency updates")
+depends=('qt5-base' 'qt5-jsonserializer' 'qt5-websockets' 'qt5-scxml' 'qt5-remoteobjects' 'crypto++')
+makedepends=('qt5-tools' 'git' 'qpmx-qpmsource' 'qt5-declarative' 'pkg-config' 'python' 'doxygen' 'graphviz' 'libsecret' 'kwallet')
+optdepends=("repkg: Automatically rebuild the package on dependency updates"
+ "qt5-datasync-kwallet-keystore: Support for KWallet as keystore"
+ "qt5-datasync-secret-keystore: Support for secret service as keystore (includes gnome keyring)")
_pkgfqn=$pkgname-$pkgver
source=("$_pkgfqn::git+https://github.com/Skycoder42/QtDataSync.git#tag=$pkgver"
- "${pkgname}.rule")
+ "${pkgname}.rule"
+ "subpkg.rule")
sha256sums=('SKIP'
- '9bfb38bb6338775f16514f5958c4aef3f55a4132253b0ae1a6ac1ace398a99c4')
+ '4ac39788aa336a6505fc6a15cb172a48b76832d52cd2e7a68203201b7feb913e'
+ '321d7d24f490983f54acb9e7f58ebc2a170b520cd978c4989e28bc1a76513f3b')
prepare() {
mkdir -p build
- cd "$_pkgfqn/src/3rdparty"
- qpm install
+ cd "$_pkgfqn"
+ echo "CONFIG+=system_cryptopp" >> .qmake.conf
}
build() {
cd build
- qmake -r "../$_pkgfqn/"
+ qmake "../$_pkgfqn/"
+ make qmake_all
make
+ make lrelease
+ make doxygen
}
-package() {
+package_qt5-datasync() {
cd build
+ cd src/datasync
make INSTALL_ROOT="$pkgdir" install
+ cd ../imports
+ make INSTALL_ROOT="$pkgdir" install
+ cd ../plugins/keystores/plain
+ make INSTALL_ROOT="$pkgdir" install
+ cd ../../../../tools
+ make INSTALL_ROOT="$pkgdir" install
+ cd ..
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
find "$pkgdir/usr/lib" -type f -name '*.prl' \
@@ -40,3 +57,33 @@ package() {
install -D -m644 "../$_pkgfqn/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -D -m644 "../${pkgname}.rule" "$pkgdir/etc/repkg/rules/${pkgname}.rule"
}
+
+package_qt5-datasync-kwallet-keystore() {
+ depends=('qt5-datasync' 'kwallet')
+ optdepends=()
+
+ cd build/src/plugins/keystores/kwallet
+ make INSTALL_ROOT="$pkgdir" install
+
+ cd "../../../../../$_pkgfqn"
+ install -D -m644 "../subpkg.rule" "$pkgdir/etc/repkg/rules/${pkgname}.rule"
+}
+
+package_qt5-datasync-secret-keystore() {
+ depends=('qt5-datasync' 'libsecret')
+ optdepends=("gnome-keyring: Gnome keyring as keystore backend for libsecret")
+
+ cd build/src/plugins/keystores/secretservice
+ make INSTALL_ROOT="$pkgdir" install
+
+ cd "../../../../../$_pkgfqn"
+ install -D -m644 "../subpkg.rule" "$pkgdir/etc/repkg/rules/${pkgname}.rule"
+}
+
+package_qt5-datasync-doc() {
+ depends=('qt5-datasync')
+ optdepends=()
+
+ cd build/doc
+ make INSTALL_ROOT="$pkgdir" install
+}
diff --git a/qt5-datasync.rule b/qt5-datasync.rule
index 5cc0cb833247..9a1800f4b8f8 100644
--- a/qt5-datasync.rule
+++ b/qt5-datasync.rule
@@ -1 +1 @@
-qt5-base qt5-jsonserializer qt5-backgroundprocess qt5-websockets
+qt5-base qt5-jsonserializer qt5-websockets qt5-scxml qt5-remoteobjects qt5-declarative crypto++
diff --git a/subpkg.rule b/subpkg.rule
new file mode 100644
index 000000000000..e36e2a06adc7
--- /dev/null
+++ b/subpkg.rule
@@ -0,0 +1 @@
+qt5-datasync