Subject: Re: [bug#42473] [PATCH] gnu: zrythm: Update to 0.8.694.

From: Alexandros Theodotou <[email-masked]>
Date: Thu, 10 Sep 2020 14:16:31 +0100

Hi Ludo,

> (I personally think wording that also includes Debian and Fedora, for
> instance, would be welcome, but it’s beyond the scope of this issue.)

Indeed, would be a good idea to add the "major" distros. Will add them
soon.

> There haven’t been further comments on this issue from fellow
> co-maintainers so I would suggest that you post a patch updating to
> the
> latest release and I’ll gladly apply it.

Attaching the 4 patches required to update zrythm to 0.8.911 (including
a new dependency: reproc, and updated dependencies: libaudec &
libcyaml).

For libaudec, mp3 handling is done via the embedded tinymp3 library now
(which could perhaps be packaged in the future and add an option to use
a system version) so ffmpeg is no longer necessary (same for zrythm).

For zrythm, I moved some dependencies from native-inputs to inputs
since they are better suited there (I was initially misunderstanding
what "native-inputs" meant when I first submitted it). Zstd is now also
a dependency (used to compress/decompress project files).

There are a few more updates I want to make to add support for optional
features but I will do that in future patches. Let's just get the
latest version working first.

Thanks,
Alex

On Thu, 2020-09-10 at 12:22 +0200, Ludovic Courtès wrote:
> Hi Alexandros!
> 
> AIUI, the FSDG-distro exemption at
> <https://www.zrythm.org/en/trademarks.html> applies to the latest
> release (and presumably foreseeable releases as well):
> 
>   You may further distribute altered copies of Zrythm that include
> the
>   Zrythm trademarks, provided that alterations solely serve the
> purposes
>   of:
> 
>   • porting Zrythm to a free system distribution currently approved
> by
>     the Free Software Foundation at
>     https://www.gnu.org/distros/free-distros.html, OR
> 
>   • fixing a bug in Zrythm that has already been acknowledged by
>     Alexandros Theodotou or CVE (https://cve.mitre.org/)
> 
> (I personally think wording that also includes Debian and Fedora, for
> instance, would be welcome, but it’s beyond the scope of this issue.)
> 
> There haven’t been further comments on this issue from fellow
> co-maintainers so I would suggest that you post a patch updating to
> the
> latest release and I’ll gladly apply it.
> 
> Thanks in advance, and apologies for the delay!
> 
> Ludo’.
From 315b2618d2a95a950790d2a0bba05747b880505a Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <[email-masked]>
Date: Thu, 10 Sep 2020 14:03:20 +0100
Subject: [PATCH 4/4] gnu: zrythm: Update to 0.8.911.

* gnu/packages/music.scm (zrythm): Update to 0.8.911.
---
 gnu/packages/music.scm | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index ae8579cb47..affe067d7c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5365,8 +5365,13 @@ and as an LV2 plugin.")
 
 (define-public zrythm
   (package
+    ;; Zrythm contains trademarks and comes with a trademark policy found in
+    ;; TRADMARKS.md inside the release distribution.  The trademark policy
+    ;; allows verbatim re-distribution, and it also allows FSF-approved
+    ;; distros to make necessary changes to integrate the software into the
+    ;; distribution.
     (name "zrythm")
-    (version "0.8.333")
+    (version "0.8.911")
     (source
       (origin
         (method url-fetch)
@@ -5374,13 +5379,13 @@ and as an LV2 plugin.")
                             version ".tar.xz"))
         (sha256
           (base32
-            "0x2kxr5zz058jpy6k6ymj0fi2gqfcgrlv4qkwz9443hjy5345iwb"))))
+            "1xyp70sjc2k5pfdqbwqa988v86da0rmmyl8ry86bqv4ja80sc6g9"))))
    (build-system meson-build-system)
    (arguments
     `(#:glib-or-gtk? #t
       #:configure-flags
-      `("-Denable_tests=true" "-Dmanpage=true"
-        "-Dinstall_dseg_font=false" "-Denable_ffmpeg=true")
+      `("-Dtests=true" "-Dmanpage=true"
+        "-Ddseg_font=false")
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch-xdg-open
@@ -5402,18 +5407,20 @@ and as an LV2 plugin.")
       ("gtk+" ,gtk+)
       ("gtksourceview" ,gtksourceview)
       ("guile" ,guile-2.2)
+      ("libaudec" ,libaudec)
       ("libcyaml" ,libcyaml)
       ("libsamplerate" ,libsamplerate)
       ("libsndfile" ,libsndfile)
       ("libyaml" ,libyaml)
       ("lilv" ,lilv)
+      ("lv2" ,lv2)
+      ("reproc" ,reproc)
+      ("rubberband" ,rubberband)
       ("xdg-utils" ,xdg-utils)
-      ("rubberband" ,rubberband)))
+      ("zstd" ,zstd "lib")))
    (native-inputs
      `(("pkg-config" ,pkg-config)
        ("help2man" ,help2man)
-       ("libaudec" ,libaudec)
-       ("lv2" ,lv2)
        ("glib" ,glib "bin"))) ;for 'glib-compile-resources'
    (synopsis "Digital audio workstation focusing on usability")
    (description "Zrythm is a digital audio workstation designed to be
-- 
2.27.0

From c578fa80f6a07748e103e8c43355a354a749801e Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <[email-masked]>
Date: Thu, 10 Sep 2020 13:53:45 +0100
Subject: [PATCH 3/4] gnu: libaudec: Update to 0.2.3.

* gnu/packages/audio.scm (libaudec): Update to 0.2.3.
---
 gnu/packages/audio.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 631b935f5e..9e1dac3e6a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4610,7 +4610,7 @@ in the package.")
 (define-public libaudec
   (package
     (name "libaudec")
-    (version "0.2.2")
+    (version "0.2.3")
     (source
       (origin
         (method git-fetch)
@@ -4620,14 +4620,14 @@ in the package.")
         (file-name (git-file-name name version))
         (sha256
           (base32
-            "04mpmfmqc43asw0m3zxhb6jj4qms7x4jw7mx4xb1d3lh16xllniz"))))
+            "04hw61db8wscj28qjyiaiafx8xl87njgmvqszxyhs4gmg8xgjip7"))))
    (build-system meson-build-system)
    (arguments
-    `(#:configure-flags `("-Denable_tests=true -Denable_ffmpeg=true")))
+     ;; Compile tests.
+    `(#:configure-flags `("-Dtests=true")))
    (inputs
     `(("libsamplerate" ,libsamplerate)
-      ("libsndfile" ,libsndfile)
-      ("ffmpeg" ,ffmpeg)))
+      ("libsndfile" ,libsndfile)))
    (native-inputs
      `(("pkg-config", pkg-config)))
    (synopsis "Library for reading and resampling audio files")
-- 
2.27.0

From 10df2f9e6d8e533fc4df9ec067ef88468d788034 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <[email-masked]>
Date: Thu, 10 Sep 2020 13:49:51 +0100
Subject: [PATCH 2/4] gnu: libcyaml: Update to 1.1.0.

* gnu/packages/web.scm (libcyaml): Update to 1.1.0.
---
 gnu/packages/web.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index b674019b8f..01f8a6bfc2 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5027,6 +5027,7 @@ written in C.  It is developed as part of the NetSurf project.")
   (package
     (name "libcyaml")
     (version "1.0.1")
+    (version "1.1.0")
     (source
      (origin
        (method git-fetch)
@@ -5036,6 +5037,7 @@ written in C.  It is developed as part of the NetSurf project.")
        (file-name (git-file-name name version))
        (sha256
         (base32 "0h5ydyqdl8kzh526np3jsi0pm7ks16nh1hjkdsjcd6pacw7y6i6z"))))
+        (base32 "1al5cbild3qimm59rmaj3i8m57qhinwshz7r67p7fqsccijrz71b"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
-- 
2.27.0

From 62dbf6ea03a35300be72e220732c9fd7de2a5e60 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <[email-masked]>
Date: Thu, 10 Sep 2020 13:45:25 +0100
Subject: [PATCH 1/4] gnu: Add reproc.

* gnu/packages/cpp.scm (reproc): New variable.
---
 gnu/packages/cpp.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 78f0f28716..5ee7171158 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2020 Vinicius Monego <[email-masked]>
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2020 Michael Rohleder <[email-masked]>
+;;; Copyright © 2020 Alexandros Theodotou <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -493,6 +494,36 @@ it's own version of the tool, this is a fork that aims to be more responsive
 and make @code{cpplint} usable in wider contexts.")
     (license license:bsd-3)))
 
+(define-public reproc
+  (package
+    (name "reproc")
+    (version "14.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/DaanDeMeyer/reproc")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1n71wb50qv2dmhjgw7azx5gigbrp19l2n3d41g9p05l5l0y1qg0q"))))
+   (build-system cmake-build-system)
+   (arguments
+      ;; No tests.
+    `(#:tests? #f
+      ;; Enable building of shared library.
+      #:configure-flags `("-DBUILD_SHARED_LIBS=1")))
+   (native-inputs
+    `(("pkg-config" ,pkg-config)))
+   (synopsis "Process IO library")
+   (description "reproc (Redirected Process) is a C/C++ library that
+simplifies starting, stopping and communicating with external programs.  The
+main use case is executing command line applications directly from C or C++
+code and retrieving their output.")
+   (home-page "https://github.com/DaanDeMeyer/reproc")
+   (license license:expat)))
+
 (define-public sobjectizer
   (package
     (name "sobjectizer")
-- 
2.27.0