diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 81 |
1 files changed, 51 insertions, 30 deletions
@@ -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=430 +pkgname=hydrus +_pkgname=hydrus +pkgver=573 pkgrel=1 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-qtpy emoji-font python-mpv - qt5-python-bindings) + 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-pyqtchart: display bandwidth usage charts' - 'python-pyopenssl: to generate certificates for accessing client API and server via HTTPS') -source=("${pkgbase}::git+https://github.com/hydrusnetwork/${pkgbase}.git#commit=0db1e676661ecaca96470bf76c06f65871a99b05" + '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=e820b5ef22352702f39cc510fb87059100dbaf2f" paths-in-opt.patch hydrus-client hydrus-server hydrus.desktop) sha256sums=('SKIP' - 'bac23f99d7ac1fea5c1fea4c3ff478c1fc327017b6a68be1212d752390f252fd' - 'd2cb826ce0dd1892ab95fc3b14dbe6bd312210f653d0aea31938eeb7e361fdc5' - '463841cc16059b516cc327cfbc30d3383e2236b085ba2d503e82f5be39444806' + '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' +# } |