81 lines
2.7 KiB
Bash
81 lines
2.7 KiB
Bash
# Maintainer: Martchus <martchus@gmx.net>
|
|
|
|
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
|
|
# you also find the URL of a binary repository.
|
|
|
|
# if tests fail due to timeout, you can try to increase the timeout
|
|
# by setting SYNCTHING_TEST_TIMEOUT_FACTOR
|
|
|
|
# set the web view provider: either webkit, webengine, auto or none
|
|
_webview_provider=webkit
|
|
|
|
# set the JavaScript provider: either script, qml, auto or none
|
|
_js_provider=qml
|
|
|
|
# set to non-empty string to enable KIO plugin to show Syncthing actions in
|
|
# Dolphin file browser
|
|
_enable_kio_plugin=1
|
|
|
|
# set to non-empty string to enable Plasmoid for Plasma 5 desktop
|
|
_enable_plasmoid=1
|
|
|
|
_reponame=syncthingtray
|
|
pkgname=syncthingtray-git
|
|
_name=${pkgname%-git}
|
|
pkgver=0.7.2
|
|
pkgrel=1
|
|
arch=('i686' 'x86_64')
|
|
pkgdesc='Tray application for Syncthing'
|
|
license=('GPL')
|
|
depends=('qtutilities-git' 'qt5-svg' 'openssl' 'desktop-file-utils' 'xdg-utils')
|
|
[[ $_webview_provider == none ]] && [[ $_js_provider == none ]] && depends+=('qt5-base')
|
|
[[ $_webview_provider == webkit ]] && depends+=('qt5-webkit')
|
|
[[ $_webview_provider == webengine ]] && depends+=('qt5-webengine')
|
|
[[ $_js_provider == script ]] && depends+=('qt5-script')
|
|
[[ $_js_provider == qml ]] && depends+=('qt5-declarative')
|
|
[[ $_enable_kio_plugin ]] && optdepends+=('kio: KIO plugin for Syncthing actions in Dolphin')
|
|
[[ $_enable_plasmoid ]] && optdepends+=('plasma-workspace: Plasmoid for Plasma 5 desktop')
|
|
makedepends=('cmake' 'qt5-tools' 'git' 'mesa')
|
|
checkdepends=('cppunit' 'syncthing')
|
|
[[ $_enable_kio_plugin ]] && makedepends+=('kio')
|
|
[[ $_enable_plasmoid ]] && makedepends+=('plasma-framework' 'extra-cmake-modules')
|
|
provides=("${_name}")
|
|
conflicts=("${_name}")
|
|
url="https://github.com/Martchus/${_reponame}"
|
|
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git://github.com/Martchus}/${_reponame}.git")
|
|
sha256sums=('SKIP')
|
|
|
|
ephemeral_port() {
|
|
comm -23 <(seq 49152 65535) <(ss -tan | awk '{print $4}' | cut -d':' -f2 | grep "[0-9]\{1,5\}" | sort | uniq) | shuf | head -n 1
|
|
}
|
|
|
|
pkgver() {
|
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
|
echo "$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
|
|
}
|
|
|
|
build() {
|
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
|
local additional_args=
|
|
[[ $_enable_kio_plugin ]] || additional_args+=' -DNO_FILE_ITEM_ACTION_PLUGIN=ON'
|
|
[[ $_enable_plasmoid ]] || additional_args+=' -DNO_PLASMOID=ON'
|
|
cmake \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX="/usr" \
|
|
-DWEBVIEW_PROVIDER="${_webview_provider}" \
|
|
-DJS_PROVIDER="${_js_provider}" \
|
|
-DSYSTEMD_SUPPORT=ON \
|
|
$additional_args
|
|
make
|
|
}
|
|
|
|
check() {
|
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
|
make SYNCTHING_PORT=$(ephemeral_port) check
|
|
}
|
|
|
|
package() {
|
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
|
|
make DESTDIR="${pkgdir}" install
|
|
}
|