[arch-commits] Commit in quodlibet/trunk (PKGBUILD)

Bruno Pagani archange at archlinux.org
Tue Dec 22 18:42:19 UTC 2020


    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 <dvzrv at archlinux.org>
+# Maintainer: Bruno Pagani <archange at archlinux.org>
 # Contributor: Eric Bélanger <eric at archlinux.org>
 
-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 <reiter.christoph at gmail.com>
+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 <reiter.christoph at gmail.com>
 
 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
+}



More information about the arch-commits mailing list