summary refs log tree commit diff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm182
1 files changed, 134 insertions, 48 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b7369391db..4f0a2d9d1f 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -159,6 +159,7 @@
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages netpbm)
+  #:use-module (gnu packages networking)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -206,50 +207,50 @@
 (define-public audacious
   (package
     (name "audacious")
-    (version "4.3")
+    (version "4.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://distfiles.audacious-media-player.org/"
                            "audacious-" version ".tar.bz2"))
        (sha256
-        (base32 "14chrsh1dacw5r2qpzw0rhg2lchpbya90y96r6w0vry78p44sn17"))))
+        (base32 "0hi0njnw3q7kngmjk837ynagighrbz8a4wpf8bim2nsh85lf5sc5"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags
-       (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
-             "--disable-gtk")
-       #:tests? #f                      ; no check target
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'unpack-plugins
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((plugins (assoc-ref inputs "audacious-plugins")))
-               (invoke "tar" "xvf" plugins))))
-         (add-after 'unpack-plugins 'configure-plugins
-           (lambda* (#:key configure-flags outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (with-directory-excursion
-                   (string-append "audacious-plugins-" ,version)
-                 (substitute* "configure"
-                   (("/bin/sh") (which "sh")))
-                 (apply invoke "./configure"
-                        (append configure-flags
-                                ;; audacious-plugins requires audacious to build.
-                                (list (string-append "PKG_CONFIG_PATH="
-                                                     out "/lib/pkgconfig:"
-                                                     (getenv "PKG_CONFIG_PATH"))
-                                      (string-append "--prefix=" out))))))))
-         (add-after 'configure-plugins 'build-plugins
-           (lambda _
-             (with-directory-excursion
-                 (string-append "audacious-plugins-" ,version)
-               (invoke "make" "-j" (number->string (parallel-job-count))))))
-         (add-after 'build-plugins 'install-plugins
-           (lambda _
-             (with-directory-excursion
-                 (string-append "audacious-plugins-" ,version)
-               (invoke "make" "install")))))))
+     (list
+      #:configure-flags
+      #~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
+              "--disable-gtk")
+      #:tests? #f                       ; no check target
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'unpack-plugins
+            (lambda* (#:key inputs #:allow-other-keys)
+              (invoke "tar" "xvf"
+                      #$(this-package-native-input "audacious-plugins"))))
+          (add-after 'unpack-plugins 'configure-plugins
+            (lambda* (#:key configure-flags outputs #:allow-other-keys)
+              (with-directory-excursion
+                  (string-append "audacious-plugins-" #$version)
+                (substitute* "configure"
+                  (("/bin/sh") (which "sh")))
+                (apply invoke "./configure"
+                       (append configure-flags
+                               ;; audacious-plugins requires audacious to build.
+                               (list (string-append "PKG_CONFIG_PATH="
+                                                    #$output "/lib/pkgconfig:"
+                                                    (getenv "PKG_CONFIG_PATH"))
+                                     (string-append "--prefix=" #$output)))))))
+          (add-after 'configure-plugins 'build-plugins
+            (lambda _
+              (with-directory-excursion
+                  (string-append "audacious-plugins-" #$version)
+                (invoke "make" "-j" (number->string (parallel-job-count))))))
+          (add-after 'build-plugins 'install-plugins
+            (lambda _
+              (with-directory-excursion
+                  (string-append "audacious-plugins-" #$version)
+                (invoke "make" "install")))))))
     (native-inputs
      `(("audacious-plugins"
         ,(origin
@@ -257,7 +258,7 @@
            (uri (string-append "https://distfiles.audacious-media-player.org/"
                                "audacious-plugins-" version ".tar.bz2"))
            (sha256
-            (base32 "1ilzz2fv0mirlfhzhrcbccv996slj65z1ifibzrx0w5xqk4gcbk6"))))
+            (base32 "19n8zpayakszm00bakfzagbbqci95dxv4h7j9ml2sfjqmzijdsid"))))
        ("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")         ; for gdbus-codegen
        ("pkg-config" ,pkg-config)))
@@ -7047,14 +7048,14 @@ midi devices to JACK midi devices.")
 (define-public opustags
   (package
     (name "opustags")
-    (version "1.6.0")
+    (version "1.9.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/fmang/opustags")
                     (commit version)))
               (sha256
-               (base32 "1wsfw713rhi2gg5xc04cx5i31hlw0l3wdflj3r1y8w45bdk6ag1z"))
+               (base32 "1f1bj0ng89plivdwpjc8qkfy8nn1kw5gqnbc74scigz7mw9z443i"))
               (file-name (git-file-name name version))))
     (arguments
      (list
@@ -7072,9 +7073,14 @@ midi devices to JACK midi devices.")
                     (perl-exporter-tiny-lib
                       (string-append #$(this-package-native-input "perl-exporter-tiny")
                                      "/lib/perl5/site_perl/"
+                                     #$(package-version perl)))
+                    (perl-test-deep-lib
+                      (string-append #$(this-package-native-input "perl-test-deep")
+                                     "/lib/perl5/site_perl/"
                                      #$(package-version perl))))
                (setenv "PERL5LIB" (string-append perl-list-moreutils-lib ":"
-                                                 perl-exporter-tiny-lib))))))))
+                                                 perl-exporter-tiny-lib ":"
+                                                 perl-test-deep-lib))))))))
     (build-system cmake-build-system)
     (inputs
       (list libogg))
@@ -7083,6 +7089,7 @@ midi devices to JACK midi devices.")
             ffmpeg
             perl-exporter-tiny
             perl-list-moreutils
+            perl-test-deep
             perl-test-harness))
     (synopsis "Ogg Opus tags editor")
     (description "@code{opustags} is an Ogg Opus tag editor.  It reads and edits
@@ -7095,7 +7102,7 @@ choice.")
 (define-public musikcube
   (package
     (name "musikcube")
-    (version "0.96.10")
+    (version "3.0.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -7104,13 +7111,12 @@ choice.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "06myr83x8jvzlzchg3jsw1163n2lcsbmb176zgnx7xxa26jpdbh1"))))
+                "09q15xlssgg67zg5m0q574k3al2pdjdnm1580mlf0wzr6a021fnd"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; No test suite
        #:configure-flags
        '("-DCMAKE_BUILD_TYPE=Release"
-         "-DENABLE_BUNDLED_TAGLIB=false"
          ;; Use the "wide" ncurses headers but don't look for them in an
          ;; ncursesw directory. For more info:
          ;; https://github.com/clangen/musikcube/wiki/building#compiler-cannot-find-ncurseswcursesh
@@ -7118,7 +7124,7 @@ choice.")
          ;; We will strip the binaries ourselves in the 'strip' phase.
          "-DDISABLE_STRIP=true")))
     (native-inputs
-     (list pkg-config))
+     (list asio pkg-config))
     (inputs
      (list alsa-lib
            boost
@@ -7126,10 +7132,14 @@ choice.")
            ffmpeg-4
            lame
            libev
+           libgme
            libmicrohttpd
+           libogg
            libopenmpt
-           ncurses
+           libvorbis
+           ncurses/tinfo
            openssl
+           pipewire
            pulseaudio
            taglib
            zlib))
@@ -7150,6 +7160,8 @@ streaming audio server.")
              (url "https://github.com/quodlibet/quodlibet")
              (commit (string-append "release-" version))))
        (file-name (git-file-name name version))
+       (patches (search-patches "quodlibet-fix-invalid-glob.patch"
+                                "quodlibet-fix-mtime-tests.patch"))
        (sha256
         (base32 "1i5k93k3bfp7hpcwkbr865mbj9jam3jv2a5k1bazcyp4f5vdrb0v"))))
     (build-system python-build-system)
@@ -7173,9 +7185,7 @@ streaming audio server.")
                           "--ignore=tests/test_browsers_iradio.py"
                           ;; broken upstream
                           "--disable-warnings"
-                          "--ignore=tests/quality"
-                          ;; missing legacy icons in adwaita-icon-theme
-                          "--ignore=tests/plugin/test_trayicon.py")
+                          "--ignore=tests/quality/test_flake8.py")
                   (format #t "test suite not run~%"))))
           (add-after 'install 'glib-or-gtk-wrap ; ensure icons loaded
             (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
@@ -7321,6 +7331,82 @@ the same way, and tries to match each block with one in its brain to play in
 realtime.")
     (license license:gpl2+)))
 
+(define-public le-biniou-data
+  (package
+    (name "le-biniou-data")
+    (version "3.66.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/lebiniou/lebiniou-data")
+                    (commit (string-append "version-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1s8dax6ryfqz7aqq8rj5ipxddshp5mjdvj0mn9kk1zzr55hvkfb7"))))
+    (build-system gnu-build-system)
+    (native-inputs (list autoconf automake libtool))
+    (home-page "https://biniou.net/")
+    (synopsis "Data files for use with Le Biniou")
+    (description
+     "This package contains data files for use with Le Biniou.")
+    (license license:gpl2+)))
+
+(define-public le-biniou
+  (package
+    (name "le-biniou")
+    (version "3.66.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/lebiniou/lebiniou")
+                    (commit (string-append "version-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1fvf944i703yd17kkxgja2xyyznb30p006piclz1rmgkhijp0lcp"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:configure-flags #~(list (string-append "LDFLAGS=-Wl,-rpath="
+                                                    #$output "/lib")
+                                     (string-append
+                                      "LEBINIOU_DATADIR="
+                                      #$(this-package-input "le-biniou-data")))
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'patch
+                          (lambda _
+                            (substitute* "src/bulfius_vui.c"
+                              (("xdg-open")
+                               (string-append
+                                #$(this-package-input "xdg-utils")
+                                "/bin/xdg-open"))))))))
+    (native-inputs (list autoconf
+                         automake
+                         libtool
+                         perl ;for pod2man
+                         pkg-config))
+    (inputs (list alsa-lib
+                  curl
+                  ffmpeg
+                  fftw
+                  glib
+                  imagemagick
+                  jack-1
+                  jansson
+                  le-biniou-data
+                  libcaca
+                  libsndfile
+                  pulseaudio
+                  sdl2
+                  ulfius
+                  xdg-utils))
+    (home-page "https://biniou.net/")
+    (synopsis "Audio visualization and VJing tool")
+    (description
+     "Le Biniou is a music visualization & VJing tool.  It creates live
+visuals based on audio performances or existing tracks.")
+    (license license:gpl2+)))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar