summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD83
1 files changed, 52 insertions, 31 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 9f7a16eaf6a6..9960ecbe196f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,67 +1,81 @@
# Maintainer: Score_Under <seejay 11@gmail com>
options=(!strip) # Don't strip libs because there aren't any
-DOC_DIRS=(opt/hydrus/help)
-pkgbase=hydrus
-pkgname=(hydrus)
-pkgver=407
+pkgname=hydrus
+_pkgname=hydrus
+pkgver=570
pkgrel=2
pkgdesc="Danbooru-like image tagging and searching system for the desktop"
arch=(any)
-license=(WTFPL)
-install=hydrus.install
-conflicts=(hydrus-docs hydrus-sources)
+license=(custom)
url=http://hydrusnetwork.github.io/hydrus/
-depends=(python opencv python-beautifulsoup4 python-yaml
+depends=(python python-opencv python-beautifulsoup4 python-yaml
'python-lz4>=0.10.1' python-numpy python-twisted python-pillow
python-pysocks python-psutil python-send2trash python-html5lib
- python-requests hdf5 python-pyqt5 python-qtpy python-pyopenssl
- emoji-font python-mpv)
+ python-requests python-qtpy emoji-font python-mpv
+ python-lxml python-urllib3 python-typing_extensions
+ python-service-identity # required by twisted for https hostname verification
+ qt6-multimedia # https://aur.archlinux.org/packages/hydrus#comment-914337
+ qt6-svg # https://aur.archlinux.org/packages/hydrus#comment-923550
+ python-pyqt6)
makedepends=(git)
optdepends=('ffmpeg: show duration and other information on video thumbnails'
'miniupnpc: automatic port forwarding'
'desktop-file-utils: to add Hydrus to your desktop environment menus'
+ 'hydrus-docs: offline documentation'
+ 'python-cbor2: cbor support in client-server communication'
+ 'python-chardet: detect text encoding more accurately'
'python-cloudscraper: bypass cloudflare "checking your browser" challenges'
- 'python-cloudscraper: bypass cloudflare "checking your browser" challenges'
- 'python-pyqtchart: display bandwidth usage charts')
-source=("${pkgbase}::git+https://github.com/hydrusnetwork/${pkgbase}.git#commit=1bc9679913a476719f15d07917e4d725acd72776"
+ 'python-dateutil: improved fuzzy date search'
+ 'python-dateparser: date string to timestamp parser for predicate system'
+ 'python-psd-tools: handle PSD files and extract thumbnails'
+ 'python-pympler: debug menus to profile memory usage'
+ # 'python-pyqt6-charts: display bandwidth usage charts'
+ 'python-cryptography: to generate certificates for accessing client API and server via HTTPS'
+ 'python-pyopenssl: to generate certificates for accessing client API and server via HTTPS'
+ 'qt6-webengine: to display PDF thumbnails'
+ # 'python-pyparsing: currently unused'
+ # 'speedcopy: may speed up file transfers'
+ 'swftools: to display SWF thumbnails')
+conflicts=(hydrus-docs-dummy)
+source=("${_pkgname}::git+https://github.com/hydrusnetwork/${_pkgname}.git#commit=abaea811340afa9262e230e77d263f2b2348718f"
paths-in-opt.patch
hydrus-client
hydrus-server
hydrus.desktop)
-sha256sums=('SKIP'
- 'c3a171448f6904434d720a394c11ff405a960f17079a7ae2c4ef6e0395198ee0'
- '7b0dbc6f38f9aaff409e435ba807199575166976b52715d6b54418f89dbde634'
- '463841cc16059b516cc327cfbc30d3383e2236b085ba2d503e82f5be39444806'
+sha256sums=('2fc593c662151f4cbe79f9d7926e322a6c5a2e55358b4f21a456e561ab95b923'
+ 'f9f5a5927c7f2c016dbab3e4135a921918617ba393babd9b6a903ff5d0154cdd'
+ 'b1854ecac184385f0aa48fcefd426223fac3eeec0f1180ba58b6a58b03257d68'
+ '5956d418d29fe19f54263acf47adce7c6d134d19ec65e2810d4517ce83529480'
'9b8c2603a8040ae80152ff9a718ad3e8803fdc3029a939e3c0e932ea35ded923')
prepare() {
- cd "$pkgbase"
- git apply < ../paths-in-opt.patch
-
- # Remove unit tests
- rm -f "hydrus/Test"*.py
- rm -rf "static/testing"
+ cd "${srcdir}/${_pkgname}"
+ patch -Np1 < ../paths-in-opt.patch
}
build() {
- cd "$pkgbase"
+ cd "${srcdir}/${_pkgname}"
msg 'Compiling .py files...'
python -OO -m compileall -fq .
}
-package_hydrus() {
- cd "$pkgbase"
+package() {
+ cd "${srcdir}/${_pkgname}"
# Create /opt/hydrus and copy hydrus files to there
install -m755 -d "${pkgdir}/opt/hydrus"
- cp -r help hydrus static client.pyw server.py "${pkgdir}/opt/hydrus/"
+ cp -r hydrus static hydrus_client.py hydrus_server.py "${pkgdir}/opt/hydrus/"
+
+ # Remove unit tests
+ rm -rf "${pkgdir}/opt/hydrus/hydrus/test" "${pkgdir}/opt/hydrus/static/testing"
# Create and populate /opt/hydrus/bin
install -d -m755 "${pkgdir}/opt/hydrus/bin"
ln -s /usr/bin/upnpc "${pkgdir}/opt/hydrus/bin/upnpc_linux"
ln -s /usr/bin/ffmpeg "${pkgdir}/opt/hydrus/bin/ffmpeg"
+ ln -s /usr/bin/swfrender "${pkgdir}/opt/hydrus/bin/swfrender_linux"
# Install hydrus-client and hydrus-server executables
install -d -m755 "${pkgdir}/usr/bin"
@@ -69,10 +83,17 @@ package_hydrus() {
# Install .desktop shortcut
install -d -m755 "${pkgdir}/usr/share/applications"
- install -m644 ../hydrus.desktop "${pkgdir}/usr/share/applications/${pkgbase}.desktop"
+ install -m644 ../hydrus.desktop "${pkgdir}/usr/share/applications/io.github.hydrusnetwork.hydrus.desktop"
# Install license files
- install -d -m755 "${pkgdir}/usr/share/licenses/${pkgbase}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgbase}/"
- install -m644 license.txt "${pkgdir}/usr/share/licenses/${pkgbase}/"
+ install -d -m755 "${pkgdir}/usr/share/licenses/${_pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${_pkgname}/"
+ install -m644 license.txt "${pkgdir}/usr/share/licenses/${_pkgname}/"
}
+
+# Tests (they don't pass!)
+# makedepends+=(python-httmock)
+# check() {
+# cd "${srcdir}/${_pkgname}"
+# python -m unittest discover -s hydrus/test -p 'Test*.py'
+# }