Date: Tuesday, December 22, 2020 @ 18:42:19 Author: archange Revision: 782767
Also build exfalso as a split package Modified: quodlibet/trunk/PKGBUILD ----------+ PKGBUILD | 138 ++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 97 insertions(+), 41 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-12-22 18:36:28 UTC (rev 782766) +++ PKGBUILD 2020-12-22 18:42:19 UTC (rev 782767) @@ -1,52 +1,37 @@ # Maintainer: David Runge <[email protected]> +# Maintainer: Bruno Pagani <[email protected]> # Contributor: Eric Bélanger <[email protected]> -pkgname=quodlibet +pkgbase=quodlibet +pkgname=(quodlibet exfalso) pkgver=4.3.0 -pkgrel=3 +pkgrel=4 pkgdesc="Music player and music library manager" -arch=('any') -license=('GPL2') -url="https://github.com/quodlibet/quodlibet" -depends=('gst-plugins-base' 'gtk3' 'python-cairo' 'python-feedparser' -'python-gobject' 'python-mutagen' 'python-senf' 'xine-lib') -makedepends=('gst-plugins-bad' 'gst-plugins-good' 'gst-plugins-ugly' -'python-pycodestyle' 'python-sphinx_rtd_theme') -checkdepends=('python-pytest' 'python-xvfbwrapper') -optdepends=('gst-libav: for WMA support' - 'gst-plugins-bad: for mp3, mp4 and opus support and acoustid plugin' - 'gst-plugins-good: for flac, jack and pulseaudio support and replaygain plugin' - 'gst-plugins-ugly: for mp3 support' - 'gtksourceview3: for undo and redo support in multiline text fields' - 'kakasi: Kana Kanji Simple Inverter plugin' - 'libappindicator-gtk3: for tray icon plugin' - 'libkeybinder3: Multimedia keys support' - 'libmodplug: for MOD support' - 'notification-daemon: for notification plugin' - 'python-dbus: for DBus interface, multimedia key support and several plugins' - 'python-musicbrainzngs: for musicrainz plugin' - 'python-pyinotify: for auto library update plugin' - 'rygel: for uPnP media server' - 'webkit2gtk: for lyrics window plugin') -source=("https://github.com/${pkgname}/${pkgname}/releases/download/release-${pkgver}/${pkgname}-${pkgver}.tar.gz"{,.sig}) -sha512sums=('054a31206935ad6bf44420e4d03a4ed7e75523985a944ccf85a0169d2824fd9e44e1c86db75ddef572cf25d73dd5efb588a4cad15bf345cfb6d6d81c3572a10a' - 'SKIP') -validpgpkeys=('0EBF782C5D53F7E5FB02A66746BD761F7A49B0EC') # Christoph Reiter <[email protected]> +arch=(any) +url="https://quodlibet.readthedocs.io/" +license=(GPL2) +depends=(gtk3 python-mutagen python-gobject python-cairo python-feedparser) +makedepends=(gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly + python-pycodestyle python-sphinx_rtd_theme xine-lib) +# python-raven python-senf are currently vendored +checkdepends=(python-pytest python-xvfbwrapper) +source=("https://github.com/${pkgbase}/${pkgbase}/releases/download/release-${pkgver}/${pkgbase}-${pkgver}.tar.gz"{,.sig}) +sha256sums=(a2e5c027a69f138364c57e4adf72f5c08c235bc09a4bcd8f668e2847d76427e0 SKIP) +validpgpkeys=(0EBF782C5D53F7E5FB02A66746BD761F7A49B0EC) # Christoph Reiter <[email protected]> prepare() { - cd "${pkgname}-${pkgver}" + cd ${pkgbase}-${pkgver} # Fix zsh completions dir - sed -e 's|vendor-completions|site-functions|' \ - -i gdist/zsh_completions.py + sed -e 's|vendor-completions|site-functions|' -i gdist/zsh_completions.py } build() { - cd "${pkgname}-${pkgver}" + cd ${pkgbase}-${pkgver} python setup.py build } check() { - cd "${pkgname}-${pkgver}" + cd ${pkgbase}-${pkgver} export PYTHONPATH="build:${PYTHONPATH}" # not running useless linter checks # skipping test_potfile_format because of a gettext 0.21 warning @@ -54,11 +39,82 @@ --deselect tests/test_po.py::test_potfile_format } -package() { - cd "${pkgname}-${pkgver}" - python setup.py install --skip-build \ - --optimize=1 \ - --prefix=/usr \ - --root="${pkgdir}" - install -vDm 644 {README,NEWS} -t "${pkgdir}/usr/share/doc/${pkgname}" +package_quodlibet() { + depends+=(gst-plugins-base xine-lib) +# python-raven python-senf are currently vendored + optdepends=('gst-libav: WMA support' + 'gst-plugins-bad: mp3, mp4 and opus support and acoustid plugin' + 'gst-plugins-good: flac, jack and pulseaudio support and replaygain plugin' + 'gst-plugins-ugly: alternative mp3 support' + 'gtksourceview3: undo and redo support in multiline text fields' + 'kakasi: Kana Kanji Simple Inverter plugin' + 'libappindicator-gtk3: tray icon plugin' + 'libkeybinder3: Multimedia keys support' + 'libmodplug: MOD support' + 'notification-daemon: notification plugin' + 'python-dbus: DBus interface, multimedia key support and several plugins' + 'python-musicbrainzngs: musicbrainz plugin' + 'python-pyinotify: auto library update plugin' + 'rygel: uPnP media server' + 'webkit2gtk: lyrics window plugin') + + cd ${pkgbase}-${pkgver} + python setup.py install --root="${pkgdir}" --skip-build --optimize=1 + install -Dm644 {README,NEWS} -t "${pkgdir}"/usr/share/doc/${pkgbase} } + +package_exfalso() { + optdepends=('gst-plugins-bad: for acoustid plugin' + 'gst-plugins-good: for replaygain plugin' + 'kakasi: for "Kana/Kanji Simple Inverter" plugin' + 'python-dbus: for "Browse Folders" plugin' + 'python-musicbrainzngs: for "MusicBrainz Lookup" plugin') + conflicts=("${pkgbase}") + + cd ${pkgbase}-${pkgver} + python setup.py install --root="${pkgdir}" --skip-build --optimize=1 + + # Remove Quod Libet + internal_name="io.github.${pkgbase}.QuodLibet" + rm "${pkgdir}"/usr/bin/${pkgbase} + rm "${pkgdir}"/usr/share/appdata/${internal_name}.appdata.xml + rm "${pkgdir}"/usr/share/applications/${internal_name}.desktop + rm "${pkgdir}"/usr/share/bash-completion/completions/${pkgbase} + rm -r "${pkgdir}"/usr/share/dbus-1/ + rm -r "${pkgdir}"/usr/share/gnome-shell/ + for i in 16 24 32 48 64 128 256 + do + rm "${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/apps/${internal_name}.png + done + rm "${pkgdir}"/usr/share/icons/hicolor/scalable/apps/${internal_name}.svg + rm "${pkgdir}"/usr/share/icons/hicolor/scalable/apps/${internal_name}-symbolic.svg + rm "${pkgdir}"/usr/share/man/man1/${pkgbase}.1 + rm -r "${pkgdir}"/usr/share/zsh/ + + # Remove plugins + site_packages="$(find ${pkgdir} -type d -name site-packages)" + + for package in _shared covers events gstreamer playlist playorder query + do + rm -r "${site_packages}"/${pkgbase}/ext/${package} + done + + find "${site_packages}"/${pkgbase}/ext/songsmenu \ + -type f \( \ + -name "bookmarks.*" \ + -o -name "duplicates.*" \ + -o -name "editplaycount.*" \ + -o -name "exact_rating.*"\ + -o -name "filterall.*" \ + -o -name "filterbrowser.*" \ + -o -name "forcewrite.*" \ + -o -name "html.*" \ + -o -name "ifp.*" \ + -o -name "importexport.*" \ + -o -name "k3b.*" \ + -o -name "lastfmsync.*" \ + -o -name "migratemetadata.*" \ + -o -name "playlist.*" \ + -o -name "refresh.*" \ + \) -delete +}
