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.scm146
1 files changed, 93 insertions, 53 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index bdf30c67a1..69fe7009be 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -113,6 +113,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages datastructures)
+  #:use-module (gnu packages digest)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages emacs)
@@ -142,6 +143,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libusb)
@@ -6434,62 +6436,100 @@ and as an LV2 plugin.")
     ;; distros to make necessary changes to integrate the software into the
     ;; distribution.
     (name "zrythm")
-    (version "1.0.0-alpha.12.0.1")
+    (version "1.0.0-beta.4.5.62")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append "https://www.zrythm.org/releases/zrythm-"
-                            version ".tar.xz"))
-        (sha256
-          (base32
-           "1si4n8rdg0a3frlbj6yqpyzr4f20v3cpl4m6kv0yf7r25psyl5pk"))))
-   (build-system meson-build-system)
-   (arguments
-    `(#:glib-or-gtk? #t
-      #:configure-flags
-      `("-Dtests=true"
-        "-Dmanpage=true"
-        "-Ddseg_font=false"
-        "-Dgraphviz=enabled" ; for exporting routing graphs
-        "-Dguile=enabled" ; for Guile scripting
-        "-Djack=enabled" ; for JACK audio/MIDI backend
-        "-Drtmidi=enabled" ; for RtMidi backend (ALSA sequencer)
-        "-Dsdl=enabled"))) ; for SDL audio backend (which uses ALSA)
-   (inputs
-    `(("alsa-lib" ,alsa-lib)
-      ("jack" ,jack-1)
-      ("font-dseg" ,font-dseg)
-      ("fftw" ,fftw)
-      ("fftwf" ,fftwf)
-      ("gettext" ,gettext-minimal)
-      ("glibc" ,glibc)
-      ("graphviz" ,graphviz)
-      ("gtk+" ,gtk+)
-      ("gtksourceview" ,gtksourceview)
-      ("guile" ,guile-2.2)
-      ("libaudec" ,libaudec)
-      ("libcyaml" ,libcyaml)
-      ("libsamplerate" ,libsamplerate)
-      ("libsndfile" ,libsndfile)
-      ("libyaml" ,libyaml)
-      ("lilv" ,lilv)
-      ("lv2" ,lv2)
-      ("pulseaudio" ,pulseaudio)
-      ("reproc" ,reproc)
-      ("rubberband" ,rubberband)
-      ("rtmidi" ,rtmidi-4.0)
-      ("sdl2" ,sdl2)
-      ("xdg-utils" ,xdg-utils)
-      ("zstd" ,zstd "lib")))
-   (native-inputs
-     (list pkg-config help2man
-           `(,glib "bin"))) ; for 'glib-compile-resources'
-   (synopsis "Digital audio workstation focusing on usability")
-   (description "Zrythm is a digital audio workstation designed to be
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.zrythm.org/releases/zrythm-"
+                           version ".tar.xz"))
+       (sha256
+        (base32
+         "1nfb3h3aky8f8xslx6qzvcgcfrhlqa1v50kzanmpjxrx9dcllin7"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:tests? #f             ;123 pass, 3 fail. Appears network-related.
+           #:glib-or-gtk? #t
+           #:configure-flags
+           #~(list "-Dtests=true"
+                   "-Dmanpage=false"    ;fish-completions breaks this
+                   "-Ddseg_font=false"
+                   "-Dextra_optimizations=false" ;machine-specific
+                   "-Dgraphviz=enabled" ;for exporting routing graphs
+                   "-Dguile=enabled"    ;for Guile scripting
+                   "-Djack=enabled"     ;for JACK audio/MIDI backend
+                   "-Drtmidi=enabled"   ;for RtMidi backend (ALSA sequencer)
+                   "-Dsdl=enabled")   ;for SDL audio backend (which uses ALSA)
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'build 'disable-guile-auto-compilation
+                 (lambda _
+                   (setenv "GUILE_AUTO_COMPILE" "0")))
+               (add-after 'install 'wrap-program
+                 (lambda _
+                   (wrap-program (string-append #$output "/bin/zrythm")
+                     ;; Wrapping GDK_PIXBUF_MODULE_FILE allows Zrythm to load
+                     ;; its own SVG icons in pure environments.
+                     `("GDK_PIXBUF_MODULE_FILE" =
+                       (,(getenv "GDK_PIXBUF_MODULE_FILE")))))))))
+    (inputs
+     (list alsa-lib
+           boost
+           carla-2.6
+           curl
+           fftw
+           fftwf
+           flex
+           font-dseg
+           gettext-minimal
+           glib-next
+           glibc
+           graphviz
+           gtk
+           gtksourceview
+           guile-2.2
+           jack-2
+           json-glib
+           libadwaita
+           libaudec
+           (module-ref
+            (resolve-interface '(gnu packages debug)) 'libbacktrace)
+           libcyaml
+           libpanel
+           (librsvg-for-system)
+           libsamplerate
+           libsndfile
+           libyaml
+           lilv
+           lv2
+           pango-next
+           pipewire
+           pulseaudio
+           reproc
+           rtmidi
+           rubberband
+           sdl2
+           vamp
+           xdg-utils
+           xxhash
+           zix
+           `(,zstd "lib")))
+    (native-inputs
+     ;; Zrythm require breeze-icons to be installed.  Having them listed in
+     ;; the native inputs cause them to be wrapped and made available via
+     ;; XDG_DATA_DIRS.
+     (list breeze-icons                 ;native because not executable
+           help2man
+           `(,glib-next "bin")          ;for 'glib-compile-resources'
+           pkg-config
+           python-sphinx
+           python-sphinx-intl
+           sassc))
+    (synopsis "Digital audio workstation focusing on usability")
+    (description "Zrythm is a digital audio workstation designed to be
 featureful and easy to use.  It offers unlimited automation options, LV2
 plugin support, JACK support and chord assistance.")
-   (home-page "https://www.zrythm.org")
-   (license license:agpl3+)))
+    (home-page "https://www.zrythm.org/en/index.html")
+    (license license:agpl3+)))
 
 (define-public dragonfly-reverb
   (package