Subject: [PATCH] gnu: mixxx: Update to 2.5.

From: Olivier Rojon <[email-masked]>
Date: Sun, 19 Jan 2025 18:28:14 +0000

* gnu/packages/music.scm (mixxx): Update to 2.5.

Change-Id: I865a25668422abcb1c4fa6e0a65ee55212445431
---
 gnu/packages/music.scm | 64 ++++++++++++++++++++++--------------------
 1 file changed, 34 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index eecee3990a..75b63b05ba 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -208,6 +208,7 @@ (define-module (gnu packages music)
   #:use-module (gnu packages video)
   #:use-module (gnu packages vim)       ;for 'xxd'
   #:use-module (gnu packages web)
+  #:use-module (gnu packages vulkan)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages wm)
   #:use-module (gnu packages wxwidgets)
@@ -2402,7 +2403,7 @@ (define-public petri-foo
 (define-public mixxx
   (package
     (name "mixxx")
-    (version "2.4.2")
+    (version "2.5")
     (source
      (origin
        (method git-fetch)
@@ -2411,7 +2412,7 @@ (define-public mixxx
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1xvmha9q2f1gclb5js09l511v3b5zbp3gnbrz11q681cp924byk1"))
+        (base32 "18azgvjpc7nq7ix0xn6h2j74x52wfvqyfsfiv87n9z4s2a41d0ij"))
        (modules '((guix build utils)))
        (snippet
         ;; Delete libraries that we already have or don't need.
@@ -2424,35 +2425,38 @@ (define-public mixxx
            #t))))
     (build-system qt-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'disable-bugged-test
-                    ;; This test regularly fails and aborts the build process, hence it
-                    ;; was disabled (no impact on functionality).  It appears this is a
-                    ;; problem for some upstream as well, as indicated by:
-                    ;; https://github.com/mixxxdj/mixxx/issues/12887 (featuring a
-                    ;; reference to another issue related to the same problem).
-                    (lambda _
-                      (substitute* "src/test/soundproxy_test.cpp"
-                        (("TEST_F\\(SoundSourceProxyTest, firstSoundTest\\)")
-                         "TEST_F(SoundSourceProxyTest, DISABLED_firstSoundTest)"))))
-                  (add-after 'install 'wrap-executable
-                    (lambda* (#:key inputs outputs #:allow-other-keys)
-                      (let* ((out (assoc-ref outputs "out"))
-                             (faad2 (assoc-ref inputs "faad2")))
-                        (wrap-program (string-append out "/bin/mixxx")
-                          `("LD_LIBRARY_PATH" ":" prefix
-                            ,(list (string-append faad2 "/lib"))))))))))
-    (native-inputs (list benchmark googletest python-wrapper qttools-5
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'disable-bugged-test
+                     ;; This test regularly fails and aborts the build process, hence it
+                     ;; was disabled (no impact on functionality).  It appears this is a
+                     ;; problem for some upstream as well, as indicated by:
+                     ;; https://github.com/mixxxdj/mixxx/issues/12887 (featuring a
+                     ;; reference to another issue related to the same problem).
+                     (lambda _
+                       (substitute* "src/test/soundproxy_test.cpp"
+                         (("TEST_F\\(SoundSourceProxyTest, firstSoundTest\\)")
+                          "TEST_F(SoundSourceProxyTest, DISABLED_firstSoundTest)"))))
+                   (add-after 'install 'wrap-executable
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (wrap-program (string-append #$output "/bin/mixxx")
+                         `("QT_PLUGIN_PATH" prefix
+                           (,(string-append #$(this-package-input "qtsvg")
+                                            "/lib/qt6/plugins")))
+                         `("LD_LIBRARY_PATH" prefix
+                           (,(string-append #$(this-package-input "faad2")
+                                            "/lib")))))))))
+    (native-inputs (list benchmark googletest python-wrapper qttools
                          xorg-server-for-tests))
     (inputs (list bash-minimal
                   chromaprint
+                  libxkbcommon
                   faad2
-                  ffmpeg
+                  ffmpeg-4
                   fftw
                   flac
                   glu
                   hidapi
-                  jack-1
                   lame
                   libdjinterop
                   libebur128
@@ -2462,9 +2466,6 @@ (define-public mixxx
                   libmp4v2
                   libmodplug
                   libsndfile
-                  libshout
-                  ;; XXX: Mixxx complains the libshout-idjc package suffers from bug
-                  ;; lp1833225 and refuses to use it.  Use the bundle for now.
                   libshout-idjc
                   libusb
                   libvorbis
@@ -2475,12 +2476,15 @@ (define-public mixxx
                   portaudio
                   portmidi
                   protobuf
-                  qtbase-5
-                  qtdeclarative-5
-                  qtkeychain
+                  qtbase
+                  qtdeclarative
+                  qtkeychain-qt6
                   qtscript
-                  qtsvg-5
+                  qtsvg
                   qtx11extras
+                  qtshadertools
+                  qt5compat
+                  vulkan-headers
                   rubberband
                   soundtouch
                   sqlite
-- 
2.47.1