unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#65367] [PATCH 0/5] gnu: Add stargate.
@ 2023-08-18 15:35 Sughosha via Guix-patches via
  2023-08-18 15:35 ` [bug#65368] [PATCH 1/5] gnu: Add python-wavefile Sughosha via Guix-patches via
                   ` (7 more replies)
  0 siblings, 8 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-08-18 15:35 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha

Stargate is a digital audio workstation (DAW), instrument and effect plugins
and wave editor.

https://github.com/stargatedaw/stargate

Sughosha (5):
  gnu: Add python-wavefile.
  gnu: Add python-pymarshal.
  gnu: Add python-packaging.
  gnu: Add python-mido.
  gnu: Add stargate.

 gnu/packages/music.scm      | 182 ++++++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm | 100 ++++++++++++++++++++
 2 files changed, 282 insertions(+)


base-commit: 1b2d43fe016848ea2ec16ff18cbc14340944fc4e
-- 
2.41.0





^ permalink raw reply	[flat|nested] 24+ messages in thread

* [bug#65368] [PATCH 1/5] gnu: Add python-wavefile.
  2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
@ 2023-08-18 15:35 ` Sughosha via Guix-patches via
  2023-10-08 23:50   ` [bug#65368] Sharlatan Hellseher
  2023-08-18 15:35 ` [bug#65369] [PATCH 2/5] gnu: Add python-pymarshal Sughosha via Guix-patches via
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-08-18 15:35 UTC (permalink / raw)
  To: 65368; +Cc: Sughosha, Lars-Dominik Braun, jgart

* gnu/packages/python-xyz.scm (python-wavefile): New variable.
---
 gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c5e170b628..7f8c976753 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -163,6 +163,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages astronomy)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
@@ -230,6 +231,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-check)
@@ -1711,6 +1713,37 @@ (define-public python-pymediainfo
 access the technical and tag data for video and audio files.")
     (license license:expat)))
 
+(define-public python-wavefile
+  (package
+    (name "python-wavefile")
+    (version "1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "wavefile" version))
+              (sha256
+               (base32
+                "02qcms8xx24r1d14idwyx04sw9ydp6rivff5s64hgp668mnfdar3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-libsndfile-path
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "wavefile/libsndfile.py"
+                     (("libsndfile\\.so")
+                      (search-input-file inputs "/lib/libsndfile.so")))))
+               (add-before 'check 'check-setup
+                 (lambda _
+                   (setenv "HOME" "/tmp")
+                   (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH")))))))
+    (inputs
+     (list libsndfile))
+    (propagated-inputs (list python-numpy python-pyaudio))
+    (home-page "https://github.com/vokimon/python-wavefile")
+    (synopsis "Pythonic wave file reader and writer")
+    (description "This package provides pythonic wave file reader and writer.")
+    (license license:gpl3+)))
+
 (define-public python-psutil
   (package
     (name "python-psutil")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65369] [PATCH 2/5] gnu: Add python-pymarshal.
  2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
  2023-08-18 15:35 ` [bug#65368] [PATCH 1/5] gnu: Add python-wavefile Sughosha via Guix-patches via
@ 2023-08-18 15:35 ` Sughosha via Guix-patches via
  2023-08-18 15:35 ` [bug#65367] [PATCH 3/5] gnu: Add python-packaging Sughosha via Guix-patches via
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-08-18 15:35 UTC (permalink / raw)
  To: 65369; +Cc: Sughosha, Lars-Dominik Braun, jgart

* gnu/packages/python-xyz.scm (python-pymarshal): New variable.
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7f8c976753..67721666ec 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -30686,6 +30686,28 @@ (define-public python-peachpy
 supports x86_64 instructions up to AVX-512 and SHA.")
       (license license:bsd-2))))
 
+(define-public python-pymarshal
+  (package
+    (name "python-pymarshal")
+    (version "2.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pymarshal" version))
+              (sha256
+               (base32
+                "1lhb7yim60pvclbd440zd4n50xs1d2rvmnrhhvib3hyv0dxil5j3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:tests? #f)) ;fails due to unrecognized arguments
+    (native-inputs
+     (list python-pytest))
+    (propagated-inputs (list python-bson python-pyyaml))
+    (home-page "https://gitlab.com/d3v-t00lz/pymarshal")
+    (synopsis "Pythonic implementation of Golang struct (un)marshalling")
+    (description "PyMarshal replicates the feature of (un)marshalling structs
+in Golang.")
+    (license license:bsd-2)))
+
 (define-public python-sgmllib3k
   (let ((commit "799964676f35349ca2dd04503e34c2b3ad522c0d")
         (revision "1"))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH 3/5] gnu: Add python-packaging.
  2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
  2023-08-18 15:35 ` [bug#65368] [PATCH 1/5] gnu: Add python-wavefile Sughosha via Guix-patches via
  2023-08-18 15:35 ` [bug#65369] [PATCH 2/5] gnu: Add python-pymarshal Sughosha via Guix-patches via
@ 2023-08-18 15:35 ` Sughosha via Guix-patches via
  2023-08-18 15:35 ` [bug#65367] [PATCH 4/5] gnu: Add python-mido Sughosha via Guix-patches via
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-08-18 15:35 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha, Lars-Dominik Braun, jgart

* gnu/packages/python-xyz.scm (python-packaging): New variable.
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 67721666ec..84f0e3a049 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -23069,6 +23069,28 @@ (define-public python-tqdm
 design and layout.")
     (license (list license:mpl2.0 license:expat))))
 
+(define-public python-packaging
+  (package
+    (name "python-packaging")
+    (version "23.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "packaging" version))
+              (sha256
+               (base32
+                "0krkvmkqgm7y1i7w6zhyklqm2l84n1abx60q8d2adzvc5c6ri4m3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; test_elffile.py, test_manylinux.py, test,markers.py and
+     ;; test_metadata.py fail.
+     (list #:tests? #f))
+    (native-inputs
+     (list python-flit-core))
+    (home-page "https://packaging.pypa.io/en/stable/")
+    (synopsis "Core utilities for Python packages")
+    (description "This package provides core utilities for Python packages.")
+    (license (list license:asl2.0 license:bsd-2))))
+
 (define-public python-pkginfo
   (package
     (name "python-pkginfo")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH 4/5] gnu: Add python-mido.
  2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
                   ` (2 preceding siblings ...)
  2023-08-18 15:35 ` [bug#65367] [PATCH 3/5] gnu: Add python-packaging Sughosha via Guix-patches via
@ 2023-08-18 15:35 ` Sughosha via Guix-patches via
  2023-08-18 15:35 ` [bug#65367] [PATCH 5/5] gnu: Add stargate Sughosha via Guix-patches via
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-08-18 15:35 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha, Lars-Dominik Braun, jgart

* gnu/packages/python-xyz.scm (python-mido): New variable.
---
 gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 84f0e3a049..a249e6d846 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -23039,6 +23039,29 @@ (define-public python-pydub
 @code{ffmpeg} to open various audio formats.")
     (license license:expat))) ; MIT license
 
+(define-public python-mido
+  (package
+    (name "python-mido")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "mido" version))
+              (sha256
+               (base32
+                "1al6r86pa0700862cm5qmzz5q94qrgdv4392hkws7g1lrqx2wa44"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (delete 'sanity-check)))) ;fails
+    (propagated-inputs (list python-importlib-metadata python-packaging))
+    (native-inputs (list python-pytest))
+    (home-page "https://mido.readthedocs.io/en/stable/")
+    (synopsis "MIDI Objects for Python")
+    (description "This library is for working with MIDI 1.0 ports, messages and
+files.")
+    (license license:expat)))
+
 (define-public python-tqdm
   (package
     (name "python-tqdm")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH 5/5] gnu: Add stargate.
  2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
                   ` (3 preceding siblings ...)
  2023-08-18 15:35 ` [bug#65367] [PATCH 4/5] gnu: Add python-mido Sughosha via Guix-patches via
@ 2023-08-18 15:35 ` Sughosha via Guix-patches via
  2023-10-31 13:44 ` [bug#65367] [PATCH v2 0/4] " Sughosha via Guix-patches via
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-08-18 15:35 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha

* gnu/packages/music.scm (stargate): New variable.
---
 gnu/packages/music.scm | 182 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 182 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 8681bb1c10..3ffdf0fc30 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3479,6 +3479,188 @@ (define-public aj-snapshot
 from the command line.")
     (license license:gpl3+)))
 
+(define-public stargate
+  (package
+    (name "stargate")
+    (version "23.08.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/stargatedaw/stargate")
+                    (commit (string-append "release-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0flnvf9f175bk8xmhpfqjvw10jxhd5cl55viwahai3p531ld30zc"))
+              (modules '((guix build utils)))
+              ;; Devendor bundled packages.
+              (snippet
+               '(with-directory-excursion "src"
+                  (delete-file-recursively "sg_py_vendor")
+                  (substitute* (find-files "sglib" "\\.py$")
+                    (("from sg_py_vendor ") ""))
+                  (substitute* "Makefile"
+                    ((" sg_py_vendor") "")
+                    (("install -m 755 vendor") "# install -m 755 vendor"))))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:test-target "tests"
+           #:make-flags
+           #~(list "distro"
+                   "PREFIX=/"
+                   "SG_DIR=/lib/stargate"
+                   (string-append "CC=" #$(cc-for-target))
+                   (string-append "CXX=" #$(cxx-for-target))
+                   (string-append "DESTDIR=" #$output))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'change-directory
+                 (lambda _
+                   (chdir "src")))
+               (delete 'configure) ;no configure script
+               (add-before 'build 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "sgui/widgets/hardware_dialog.py"
+                     (("libportaudio\\.so")
+                      (search-input-file inputs "/lib/libportaudio.so"))
+                     (("libportmidi\\.so")
+                      (search-input-file inputs "/lib/libportmidi.so")))
+                   (substitute* "test_parse.sh"
+                     (("python") (which "python3")))
+                   (substitute* "engine/tests/test_daw.c"
+                     (("INSTALL_PREFIX") "// INSTALL_PREFIX"))
+                   (with-directory-excursion "files/share"
+                     (substitute* '("applications/stargate.desktop"
+                                    "doc/stargate/copyright")
+                       (("/usr") #$output)))))
+               (add-before 'check 'check-setup
+                 (lambda _
+                   (setenv "HOME" "/tmp")
+                   (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+                   ;; test_to_from_str_reorder fails.
+                   (delete-file "test/sglib/models/daw/routing/test_midi.py")
+                   ;; Disable testing with browser.
+                   (substitute* "Makefile"
+                     (("\\$\\(BROWSER\\)") "# $(BROWSER)"))))
+               (replace 'install
+                 (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                   (let ((bin (string-append #$output "/bin"))
+                         (lib (string-append #$output "/lib/stargate"))
+                         (share (string-append #$output "/share")))
+                     (rename-file "files/share" "share")
+                     (apply invoke "make" "install_self_contained" make-flags)
+                     (mkdir-p bin)
+                     (symlink (string-append lib "/scripts/stargate")
+                              (string-append bin "/stargate"))
+                     (copy-recursively "share" share))))
+               (add-after 'install 'wrap-program
+                 (lambda _
+                   (wrap-program (string-append #$output "/bin/stargate")
+                     `("GUIX_PYTHONPATH" ":" prefix
+                       (,(getenv "GUIX_PYTHONPATH")))
+                     `("LD_LIBRARY_PATH" ":" prefix
+                       (,(getenv "PATH")))
+                     `("PATH" ":" prefix
+                       (,(getenv "PATH")))))))))
+    (native-inputs
+     (list pkg-config
+           python-gcovr
+           python-packaging
+           python-pytest
+           python-pytest-cov
+           python-pytest-runner))
+    (inputs
+     (list alsa-lib
+           bash-minimal
+           fftw
+           fftwf
+           jq
+           libsndfile
+           portaudio
+           portmidi
+           python
+           python-jinja2
+           python-mido
+           python-mutagen
+           python-psutil
+           python-pymarshal
+           python-pyqt
+           python-pyyaml
+           python-wavefile
+           python-yq
+           rubberband
+           ;; Fork of the libsbsms.
+           (let ((commit "90fab3440063dc9b6c1c2a8f74c2d92bd0e423f9")
+                 (revision "0"))
+             (package/inherit libsbsms
+               (name "stargate-sbsms")
+               (version (git-version "0" revision commit))
+               (source
+                (origin
+                  (method git-fetch)
+                  (uri
+                   (git-reference
+                     (url "https://github.com/stargatedaw/stargate-sbsms")
+                     (commit commit)))
+                  (sha256
+                   (base32
+                    "11srnzgpavcj6n70zjdm7488jzrprk71mg9dgr1sa6vwp575hf2m"))))
+               (arguments
+                (substitute-keyword-arguments (package-arguments libsbsms)
+                  ((#:phases phases)
+                   #~(modify-phases #$phases
+                       (delete 'fix-ar-lib-path)
+                       (add-before 'build 'change-directory
+                         (lambda _
+                           (chdir "cli")))
+                       (replace 'configure
+                         (lambda _
+                           (setenv "DESTDIR" #$output)
+                           (setenv "PREFIX" "/")))
+                       (add-after 'install 'rename-binary
+                            (lambda _
+                              (with-directory-excursion
+                                (string-append #$output "/bin")
+                                (rename-file "sbsms"
+                                            "stargate-sbsms"))))
+                       (delete 'check)))))
+               (native-inputs
+                (list libsndfile))
+               (home-page "https://stargatedaw/stargate-sbsms")))
+           ;; Fork of soundtouch with extra features and fixes.
+           (let ((commit "464f474c0be5d7e0970909dd30593012e4621468")
+                 (revision "0"))
+             (package/inherit soundtouch
+               (name "stargate-soundtouch")
+               (version (git-version "0" revision commit))
+               (source
+                (origin
+                  (method git-fetch)
+                  (uri
+                   (git-reference
+                     (url "https://github.com/stargatedaw/stargate-soundtouch")
+                     (commit commit)))
+                  (sha256
+                   (base32
+                    "1aw2j1f10p8n4s197b1nd3g1rjvwbrrszc9gwsbwk01c6nb3nr9v"))))
+               (arguments
+                (list #:phases
+                      #~(modify-phases %standard-phases
+                          (add-after 'install 'rename-binary
+                            (lambda _
+                              (with-directory-excursion
+                                (string-append #$output "/bin")
+                                (rename-file "soundstretch"
+                                            "stargate-soundstretch")))))))
+               (home-page "https://stargatedaw/stargate-soundtouch")))))
+    (home-page "https://github.com/stargatedaw/stargate")
+    (synopsis "Digital audio workstation")
+    (description
+     "Stargate is a digital audio workstation, with built-in instrument and
+effect plugins and wave editor, providing innovative features, especially for
+EDM production.")
+    (license license:gpl3)))
+
 (define-public qtractor
   (package
     (name "qtractor")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65368]
  2023-08-18 15:35 ` [bug#65368] [PATCH 1/5] gnu: Add python-wavefile Sughosha via Guix-patches via
@ 2023-10-08 23:50   ` Sharlatan Hellseher
  0 siblings, 0 replies; 24+ messages in thread
From: Sharlatan Hellseher @ 2023-10-08 23:50 UTC (permalink / raw)
  To: 65368

Hi,

It's mentioned 1/5 in the subject of the this issue. Are you planned
to send rest of the patches?

Patch looks ok from the first glance but description may be longer
take a look at project's README
https://github.com/vokimon/python-wavefile/blob/master/README.md, may
be include some core features and description of what is Wevefile is.

Input missing portaudio19, check README.
Native inputs is missing which requires pytest according to GitHub Actions.

Thanks,
Oleg

--
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v2 0/4] gnu: Add stargate.
  2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
                   ` (4 preceding siblings ...)
  2023-08-18 15:35 ` [bug#65367] [PATCH 5/5] gnu: Add stargate Sughosha via Guix-patches via
@ 2023-10-31 13:44 ` Sughosha via Guix-patches via
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 1/4] gnu: Add python-wavefile Sughosha via Guix-patches via
                     ` (3 more replies)
  2023-10-31 17:08 ` [bug#65367] [PATCH v3 0/4] " Sughosha via Guix-patches via
  2024-06-05 15:52 ` [bug#65367] [PATCH v4 0/4] " Sughosha via Guix-patches via
  7 siblings, 4 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 13:44 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha

Sughosha (4):
  gnu: Add python-wavefile.
  gnu: Add python-pymarshal.
  gnu: Add python-mido.
  gnu: Add stargate.

 gnu/packages/music.scm      | 182 ++++++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm |  82 ++++++++++++++++
 2 files changed, 264 insertions(+)


base-commit: c0895371c5759c7d9edb330774e90f192cc4cf2c
-- 
2.41.0





^ permalink raw reply	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v2 1/4] gnu: Add python-wavefile.
  2023-10-31 13:44 ` [bug#65367] [PATCH v2 0/4] " Sughosha via Guix-patches via
@ 2023-10-31 13:44   ` Sughosha via Guix-patches via
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 2/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 13:44 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-xyz.scm (python-wavefile): New variable.
---
 gnu/packages/python-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6001e7e6eb..85930b1fad 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -169,6 +169,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages astronomy)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
@@ -236,6 +237,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-check)
@@ -1801,6 +1803,41 @@ (define-public python-pymediainfo
 access the technical and tag data for video and audio files.")
     (license license:expat)))
 
+(define-public python-wavefile
+  (package
+    (name "python-wavefile")
+    (version "1.6.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "wavefile" version))
+              (sha256
+               (base32
+                "04mdcxq7n1vnwb9y65j0cwpy91ik5rh9vki1f45xqnh4ygz91n75"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-libsndfile-path
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "wavefile/libsndfile.py"
+                     (("libsndfile\\.so")
+                      (search-input-file inputs "/lib/libsndfile.so")))))
+               (add-before 'check 'check-setup
+                 (lambda _
+                   (setenv "HOME" "/tmp")
+                   (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH")))))))
+    (native-inputs
+     (list python-pytest))
+    (inputs
+     (list libsndfile portaudio))
+    (propagated-inputs (list python-numpy python-pyaudio))
+    (home-page "https://github.com/vokimon/python-wavefile")
+    (synopsis "Pythonic audio file reader and writer")
+    (description
+     "This package provides pythonic libsndfile wrapper to read and write audio
+files.")
+    (license license:gpl3+)))
+
 (define-public python-psutil
   (package
     (name "python-psutil")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v2 2/4] gnu: Add python-pymarshal.
  2023-10-31 13:44 ` [bug#65367] [PATCH v2 0/4] " Sughosha via Guix-patches via
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 1/4] gnu: Add python-wavefile Sughosha via Guix-patches via
@ 2023-10-31 13:44   ` Sughosha via Guix-patches via
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 3/4] gnu: Add python-mido Sughosha via Guix-patches via
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 4/4] gnu: Add stargate Sughosha via Guix-patches via
  3 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 13:44 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-xyz.scm (python-pymarshal): New variable.
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 85930b1fad..617225e50e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31200,6 +31200,28 @@ (define-public python-peachpy
 supports x86_64 instructions up to AVX-512 and SHA.")
       (license license:bsd-2))))
 
+(define-public python-pymarshal
+  (package
+    (name "python-pymarshal")
+    (version "2.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pymarshal" version))
+              (sha256
+               (base32
+                "1lhb7yim60pvclbd440zd4n50xs1d2rvmnrhhvib3hyv0dxil5j3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:tests? #f)) ;fails due to unrecognized arguments
+    (native-inputs
+     (list python-pytest))
+    (propagated-inputs (list python-bson python-pyyaml))
+    (home-page "https://gitlab.com/d3v-t00lz/pymarshal")
+    (synopsis "Pythonic implementation of Golang struct (un)marshalling")
+    (description "PyMarshal replicates the feature of (un)marshalling structs
+in Golang.")
+    (license license:bsd-2)))
+
 (define-public python-sgmllib3k
   (let ((commit "799964676f35349ca2dd04503e34c2b3ad522c0d")
         (revision "1"))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v2 3/4] gnu: Add python-mido.
  2023-10-31 13:44 ` [bug#65367] [PATCH v2 0/4] " Sughosha via Guix-patches via
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 1/4] gnu: Add python-wavefile Sughosha via Guix-patches via
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 2/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
@ 2023-10-31 13:44   ` Sughosha via Guix-patches via
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 4/4] gnu: Add stargate Sughosha via Guix-patches via
  3 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 13:44 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-xyz.scm (python-mido): New variable.
---
 gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 617225e50e..07aa624990 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -23365,6 +23365,29 @@ (define-public python-pydub
 @code{ffmpeg} to open various audio formats.")
     (license license:expat))) ; MIT license
 
+(define-public python-mido
+  (package
+    (name "python-mido")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "mido" version))
+              (sha256
+               (base32
+                "1al6r86pa0700862cm5qmzz5q94qrgdv4392hkws7g1lrqx2wa44"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (delete 'sanity-check)))) ;fails
+    (propagated-inputs (list python-importlib-metadata python-packaging))
+    (native-inputs (list python-pytest))
+    (home-page "https://mido.readthedocs.io/en/stable/")
+    (synopsis "MIDI Objects for Python")
+    (description "This library is for working with MIDI 1.0 ports, messages and
+files.")
+    (license license:expat)))
+
 (define-public python-tqdm
   (package
     (name "python-tqdm")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v2 4/4] gnu: Add stargate.
  2023-10-31 13:44 ` [bug#65367] [PATCH v2 0/4] " Sughosha via Guix-patches via
                     ` (2 preceding siblings ...)
  2023-10-31 13:44   ` [bug#65367] [PATCH v2 3/4] gnu: Add python-mido Sughosha via Guix-patches via
@ 2023-10-31 13:44   ` Sughosha via Guix-patches via
  3 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 13:44 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha

* gnu/packages/music.scm (stargate): New variable.
---
 gnu/packages/music.scm | 182 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 182 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b181c86b45..34f46fbb2c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3479,6 +3479,188 @@ (define-public aj-snapshot
 from the command line.")
     (license license:gpl3+)))
 
+(define-public stargate
+  (package
+    (name "stargate")
+    (version "23.08.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/stargatedaw/stargate")
+                    (commit (string-append "release-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0flnvf9f175bk8xmhpfqjvw10jxhd5cl55viwahai3p531ld30zc"))
+              (modules '((guix build utils)))
+              ;; Devendor bundled packages.
+              (snippet
+               '(with-directory-excursion "src"
+                  (delete-file-recursively "sg_py_vendor")
+                  (substitute* (find-files "sglib" "\\.py$")
+                    (("from sg_py_vendor ") ""))
+                  (substitute* "Makefile"
+                    ((" sg_py_vendor") "")
+                    (("install -m 755 vendor") "# install -m 755 vendor"))))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:test-target "tests"
+           #:make-flags
+           #~(list "distro"
+                   "PREFIX=/"
+                   "SG_DIR=/lib/stargate"
+                   (string-append "CC=" #$(cc-for-target))
+                   (string-append "CXX=" #$(cxx-for-target))
+                   (string-append "DESTDIR=" #$output))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'change-directory
+                 (lambda _
+                   (chdir "src")))
+               (delete 'configure) ;no configure script
+               (add-before 'build 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "sgui/widgets/hardware_dialog.py"
+                     (("libportaudio\\.so")
+                      (search-input-file inputs "/lib/libportaudio.so"))
+                     (("libportmidi\\.so")
+                      (search-input-file inputs "/lib/libportmidi.so")))
+                   (substitute* "test_parse.sh"
+                     (("python") (which "python3")))
+                   (substitute* "engine/tests/test_daw.c"
+                     (("INSTALL_PREFIX") "// INSTALL_PREFIX"))
+                   (with-directory-excursion "files/share"
+                     (substitute* '("applications/stargate.desktop"
+                                    "doc/stargate/copyright")
+                       (("/usr") #$output)))))
+               (add-before 'check 'check-setup
+                 (lambda _
+                   (setenv "HOME" "/tmp")
+                   (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+                   ;; test_to_from_str_reorder fails.
+                   (delete-file "test/sglib/models/daw/routing/test_midi.py")
+                   ;; Disable testing with browser.
+                   (substitute* "Makefile"
+                     (("\\$\\(BROWSER\\)") "# $(BROWSER)"))))
+               (replace 'install
+                 (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                   (let ((bin (string-append #$output "/bin"))
+                         (lib (string-append #$output "/lib/stargate"))
+                         (share (string-append #$output "/share")))
+                     (rename-file "files/share" "share")
+                     (apply invoke "make" "install_self_contained" make-flags)
+                     (mkdir-p bin)
+                     (symlink (string-append lib "/scripts/stargate")
+                              (string-append bin "/stargate"))
+                     (copy-recursively "share" share))))
+               (add-after 'install 'wrap-program
+                 (lambda _
+                   (wrap-program (string-append #$output "/bin/stargate")
+                     `("GUIX_PYTHONPATH" ":" prefix
+                       (,(getenv "GUIX_PYTHONPATH")))
+                     `("LD_LIBRARY_PATH" ":" prefix
+                       (,(getenv "PATH")))
+                     `("PATH" ":" prefix
+                       (,(getenv "PATH")))))))))
+    (native-inputs
+     (list pkg-config
+           python-gcovr
+           python-packaging
+           python-pytest
+           python-pytest-cov
+           python-pytest-runner))
+    (inputs
+     (list alsa-lib
+           bash-minimal
+           fftw
+           fftwf
+           jq
+           libsndfile
+           portaudio
+           portmidi
+           python
+           python-jinja2
+           python-mido
+           python-mutagen
+           python-psutil
+           python-pymarshal
+           python-pyqt
+           python-pyyaml
+           python-wavefile
+           python-yq
+           rubberband
+           ;; Fork of the libsbsms.
+           (let ((commit "90fab3440063dc9b6c1c2a8f74c2d92bd0e423f9")
+                 (revision "0"))
+             (package/inherit libsbsms
+               (name "stargate-sbsms")
+               (version (git-version "0" revision commit))
+               (source
+                (origin
+                  (method git-fetch)
+                  (uri
+                   (git-reference
+                     (url "https://github.com/stargatedaw/stargate-sbsms")
+                     (commit commit)))
+                  (sha256
+                   (base32
+                    "11srnzgpavcj6n70zjdm7488jzrprk71mg9dgr1sa6vwp575hf2m"))))
+               (arguments
+                (substitute-keyword-arguments (package-arguments libsbsms)
+                  ((#:phases phases)
+                   #~(modify-phases #$phases
+                       (delete 'fix-ar-lib-path)
+                       (add-before 'build 'change-directory
+                         (lambda _
+                           (chdir "cli")))
+                       (replace 'configure
+                         (lambda _
+                           (setenv "DESTDIR" #$output)
+                           (setenv "PREFIX" "/")))
+                       (add-after 'install 'rename-binary
+                            (lambda _
+                              (with-directory-excursion
+                                (string-append #$output "/bin")
+                                (rename-file "sbsms"
+                                            "stargate-sbsms"))))
+                       (delete 'check)))))
+               (native-inputs
+                (list libsndfile))
+               (home-page "https://stargatedaw/stargate-sbsms")))
+           ;; Fork of soundtouch with extra features and fixes.
+           (let ((commit "464f474c0be5d7e0970909dd30593012e4621468")
+                 (revision "0"))
+             (package/inherit soundtouch
+               (name "stargate-soundtouch")
+               (version (git-version "0" revision commit))
+               (source
+                (origin
+                  (method git-fetch)
+                  (uri
+                   (git-reference
+                     (url "https://github.com/stargatedaw/stargate-soundtouch")
+                     (commit commit)))
+                  (sha256
+                   (base32
+                    "1aw2j1f10p8n4s197b1nd3g1rjvwbrrszc9gwsbwk01c6nb3nr9v"))))
+               (arguments
+                (list #:phases
+                      #~(modify-phases %standard-phases
+                          (add-after 'install 'rename-binary
+                            (lambda _
+                              (with-directory-excursion
+                                (string-append #$output "/bin")
+                                (rename-file "soundstretch"
+                                            "stargate-soundstretch")))))))
+               (home-page "https://stargatedaw/stargate-soundtouch")))))
+    (home-page "https://github.com/stargatedaw/stargate")
+    (synopsis "Digital audio workstation")
+    (description
+     "Stargate is a digital audio workstation, with built-in instrument and
+effect plugins and wave editor, providing innovative features, especially for
+EDM production.")
+    (license license:gpl3)))
+
 (define-public qtractor
   (package
     (name "qtractor")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v3 0/4] gnu: Add stargate
  2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
                   ` (5 preceding siblings ...)
  2023-10-31 13:44 ` [bug#65367] [PATCH v2 0/4] " Sughosha via Guix-patches via
@ 2023-10-31 17:08 ` Sughosha via Guix-patches via
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 1/4] gnu: Add python-wavefile Sughosha via Guix-patches via
                     ` (3 more replies)
  2024-06-05 15:52 ` [bug#65367] [PATCH v4 0/4] " Sughosha via Guix-patches via
  7 siblings, 4 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 17:08 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha

Sughosha (4):
  gnu: Add python-wavefile.
  gnu: Add python-pymarshal.
  gnu: Add python-mido.
  gnu: Add stargate.

 gnu/packages/music.scm      | 182 ++++++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm |  80 ++++++++++++++++
 2 files changed, 262 insertions(+)


base-commit: c0895371c5759c7d9edb330774e90f192cc4cf2c
-- 
2.41.0





^ permalink raw reply	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v3 1/4] gnu: Add python-wavefile.
  2023-10-31 17:08 ` [bug#65367] [PATCH v3 0/4] " Sughosha via Guix-patches via
@ 2023-10-31 17:08   ` Sughosha via Guix-patches via
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 2/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 17:08 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-xyz.scm (python-wavefile): New variable.

Change-Id: I147c1bc9a71b4d304f31d2184e863e1c141bae40
---
 gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6001e7e6eb..53e57f8b49 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -169,6 +169,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages astronomy)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
@@ -236,6 +237,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-check)
@@ -1801,6 +1803,39 @@ (define-public python-pymediainfo
 access the technical and tag data for video and audio files.")
     (license license:expat)))
 
+(define-public python-wavefile
+  (package
+    (name "python-wavefile")
+    (version "1.6.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "wavefile" version))
+              (sha256
+               (base32
+                "04mdcxq7n1vnwb9y65j0cwpy91ik5rh9vki1f45xqnh4ygz91n75"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-libsndfile-path
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "wavefile/libsndfile.py"
+                     (("libsndfile\\.so")
+                      (search-input-file inputs "/lib/libsndfile.so")))))
+               (add-before 'check 'check-setup
+                 (lambda _
+                   (setenv "HOME" "/tmp")
+                   (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH")))))))
+    (inputs
+     (list libsndfile portaudio))
+    (propagated-inputs (list python-numpy python-pyaudio))
+    (home-page "https://github.com/vokimon/python-wavefile")
+    (synopsis "Pythonic audio file reader and writer")
+    (description
+     "This package provides pythonic libsndfile wrapper to read and write audio
+files.")
+    (license license:gpl3+)))
+
 (define-public python-psutil
   (package
     (name "python-psutil")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v3 2/4] gnu: Add python-pymarshal.
  2023-10-31 17:08 ` [bug#65367] [PATCH v3 0/4] " Sughosha via Guix-patches via
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 1/4] gnu: Add python-wavefile Sughosha via Guix-patches via
@ 2023-10-31 17:08   ` Sughosha via Guix-patches via
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 3/4] gnu: Add python-mido Sughosha via Guix-patches via
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 4/4] gnu: Add stargate Sughosha via Guix-patches via
  3 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 17:08 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-xyz.scm (python-pymarshal): New variable.
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 53e57f8b49..205691f46a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31198,6 +31198,28 @@ (define-public python-peachpy
 supports x86_64 instructions up to AVX-512 and SHA.")
       (license license:bsd-2))))
 
+(define-public python-pymarshal
+  (package
+    (name "python-pymarshal")
+    (version "2.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pymarshal" version))
+              (sha256
+               (base32
+                "1lhb7yim60pvclbd440zd4n50xs1d2rvmnrhhvib3hyv0dxil5j3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:tests? #f)) ;fails due to unrecognized arguments
+    (native-inputs
+     (list python-pytest))
+    (propagated-inputs (list python-bson python-pyyaml))
+    (home-page "https://gitlab.com/d3v-t00lz/pymarshal")
+    (synopsis "Pythonic implementation of Golang struct (un)marshalling")
+    (description "PyMarshal replicates the feature of (un)marshalling structs
+in Golang.")
+    (license license:bsd-2)))
+
 (define-public python-sgmllib3k
   (let ((commit "799964676f35349ca2dd04503e34c2b3ad522c0d")
         (revision "1"))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v3 3/4] gnu: Add python-mido.
  2023-10-31 17:08 ` [bug#65367] [PATCH v3 0/4] " Sughosha via Guix-patches via
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 1/4] gnu: Add python-wavefile Sughosha via Guix-patches via
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 2/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
@ 2023-10-31 17:08   ` Sughosha via Guix-patches via
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 4/4] gnu: Add stargate Sughosha via Guix-patches via
  3 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 17:08 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-xyz.scm (python-mido): New variable.
---
 gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 205691f46a..0864f284e1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -23363,6 +23363,29 @@ (define-public python-pydub
 @code{ffmpeg} to open various audio formats.")
     (license license:expat))) ; MIT license
 
+(define-public python-mido
+  (package
+    (name "python-mido")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "mido" version))
+              (sha256
+               (base32
+                "1al6r86pa0700862cm5qmzz5q94qrgdv4392hkws7g1lrqx2wa44"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (delete 'sanity-check)))) ;fails
+    (propagated-inputs (list python-importlib-metadata python-packaging))
+    (native-inputs (list python-pytest))
+    (home-page "https://mido.readthedocs.io/en/stable/")
+    (synopsis "MIDI Objects for Python")
+    (description "This library is for working with MIDI 1.0 ports, messages and
+files.")
+    (license license:expat)))
+
 (define-public python-tqdm
   (package
     (name "python-tqdm")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v3 4/4] gnu: Add stargate.
  2023-10-31 17:08 ` [bug#65367] [PATCH v3 0/4] " Sughosha via Guix-patches via
                     ` (2 preceding siblings ...)
  2023-10-31 17:08   ` [bug#65367] [PATCH v3 3/4] gnu: Add python-mido Sughosha via Guix-patches via
@ 2023-10-31 17:08   ` Sughosha via Guix-patches via
  3 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2023-10-31 17:08 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha

* gnu/packages/music.scm (stargate): New variable.
---
 gnu/packages/music.scm | 182 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 182 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b181c86b45..34f46fbb2c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3479,6 +3479,188 @@ (define-public aj-snapshot
 from the command line.")
     (license license:gpl3+)))
 
+(define-public stargate
+  (package
+    (name "stargate")
+    (version "23.08.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/stargatedaw/stargate")
+                    (commit (string-append "release-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0flnvf9f175bk8xmhpfqjvw10jxhd5cl55viwahai3p531ld30zc"))
+              (modules '((guix build utils)))
+              ;; Devendor bundled packages.
+              (snippet
+               '(with-directory-excursion "src"
+                  (delete-file-recursively "sg_py_vendor")
+                  (substitute* (find-files "sglib" "\\.py$")
+                    (("from sg_py_vendor ") ""))
+                  (substitute* "Makefile"
+                    ((" sg_py_vendor") "")
+                    (("install -m 755 vendor") "# install -m 755 vendor"))))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:test-target "tests"
+           #:make-flags
+           #~(list "distro"
+                   "PREFIX=/"
+                   "SG_DIR=/lib/stargate"
+                   (string-append "CC=" #$(cc-for-target))
+                   (string-append "CXX=" #$(cxx-for-target))
+                   (string-append "DESTDIR=" #$output))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'change-directory
+                 (lambda _
+                   (chdir "src")))
+               (delete 'configure) ;no configure script
+               (add-before 'build 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "sgui/widgets/hardware_dialog.py"
+                     (("libportaudio\\.so")
+                      (search-input-file inputs "/lib/libportaudio.so"))
+                     (("libportmidi\\.so")
+                      (search-input-file inputs "/lib/libportmidi.so")))
+                   (substitute* "test_parse.sh"
+                     (("python") (which "python3")))
+                   (substitute* "engine/tests/test_daw.c"
+                     (("INSTALL_PREFIX") "// INSTALL_PREFIX"))
+                   (with-directory-excursion "files/share"
+                     (substitute* '("applications/stargate.desktop"
+                                    "doc/stargate/copyright")
+                       (("/usr") #$output)))))
+               (add-before 'check 'check-setup
+                 (lambda _
+                   (setenv "HOME" "/tmp")
+                   (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+                   ;; test_to_from_str_reorder fails.
+                   (delete-file "test/sglib/models/daw/routing/test_midi.py")
+                   ;; Disable testing with browser.
+                   (substitute* "Makefile"
+                     (("\\$\\(BROWSER\\)") "# $(BROWSER)"))))
+               (replace 'install
+                 (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                   (let ((bin (string-append #$output "/bin"))
+                         (lib (string-append #$output "/lib/stargate"))
+                         (share (string-append #$output "/share")))
+                     (rename-file "files/share" "share")
+                     (apply invoke "make" "install_self_contained" make-flags)
+                     (mkdir-p bin)
+                     (symlink (string-append lib "/scripts/stargate")
+                              (string-append bin "/stargate"))
+                     (copy-recursively "share" share))))
+               (add-after 'install 'wrap-program
+                 (lambda _
+                   (wrap-program (string-append #$output "/bin/stargate")
+                     `("GUIX_PYTHONPATH" ":" prefix
+                       (,(getenv "GUIX_PYTHONPATH")))
+                     `("LD_LIBRARY_PATH" ":" prefix
+                       (,(getenv "PATH")))
+                     `("PATH" ":" prefix
+                       (,(getenv "PATH")))))))))
+    (native-inputs
+     (list pkg-config
+           python-gcovr
+           python-packaging
+           python-pytest
+           python-pytest-cov
+           python-pytest-runner))
+    (inputs
+     (list alsa-lib
+           bash-minimal
+           fftw
+           fftwf
+           jq
+           libsndfile
+           portaudio
+           portmidi
+           python
+           python-jinja2
+           python-mido
+           python-mutagen
+           python-psutil
+           python-pymarshal
+           python-pyqt
+           python-pyyaml
+           python-wavefile
+           python-yq
+           rubberband
+           ;; Fork of the libsbsms.
+           (let ((commit "90fab3440063dc9b6c1c2a8f74c2d92bd0e423f9")
+                 (revision "0"))
+             (package/inherit libsbsms
+               (name "stargate-sbsms")
+               (version (git-version "0" revision commit))
+               (source
+                (origin
+                  (method git-fetch)
+                  (uri
+                   (git-reference
+                     (url "https://github.com/stargatedaw/stargate-sbsms")
+                     (commit commit)))
+                  (sha256
+                   (base32
+                    "11srnzgpavcj6n70zjdm7488jzrprk71mg9dgr1sa6vwp575hf2m"))))
+               (arguments
+                (substitute-keyword-arguments (package-arguments libsbsms)
+                  ((#:phases phases)
+                   #~(modify-phases #$phases
+                       (delete 'fix-ar-lib-path)
+                       (add-before 'build 'change-directory
+                         (lambda _
+                           (chdir "cli")))
+                       (replace 'configure
+                         (lambda _
+                           (setenv "DESTDIR" #$output)
+                           (setenv "PREFIX" "/")))
+                       (add-after 'install 'rename-binary
+                            (lambda _
+                              (with-directory-excursion
+                                (string-append #$output "/bin")
+                                (rename-file "sbsms"
+                                            "stargate-sbsms"))))
+                       (delete 'check)))))
+               (native-inputs
+                (list libsndfile))
+               (home-page "https://stargatedaw/stargate-sbsms")))
+           ;; Fork of soundtouch with extra features and fixes.
+           (let ((commit "464f474c0be5d7e0970909dd30593012e4621468")
+                 (revision "0"))
+             (package/inherit soundtouch
+               (name "stargate-soundtouch")
+               (version (git-version "0" revision commit))
+               (source
+                (origin
+                  (method git-fetch)
+                  (uri
+                   (git-reference
+                     (url "https://github.com/stargatedaw/stargate-soundtouch")
+                     (commit commit)))
+                  (sha256
+                   (base32
+                    "1aw2j1f10p8n4s197b1nd3g1rjvwbrrszc9gwsbwk01c6nb3nr9v"))))
+               (arguments
+                (list #:phases
+                      #~(modify-phases %standard-phases
+                          (add-after 'install 'rename-binary
+                            (lambda _
+                              (with-directory-excursion
+                                (string-append #$output "/bin")
+                                (rename-file "soundstretch"
+                                            "stargate-soundstretch")))))))
+               (home-page "https://stargatedaw/stargate-soundtouch")))))
+    (home-page "https://github.com/stargatedaw/stargate")
+    (synopsis "Digital audio workstation")
+    (description
+     "Stargate is a digital audio workstation, with built-in instrument and
+effect plugins and wave editor, providing innovative features, especially for
+EDM production.")
+    (license license:gpl3)))
+
 (define-public qtractor
   (package
     (name "qtractor")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v4 0/4] gnu: Add stargate.
  2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
                   ` (6 preceding siblings ...)
  2023-10-31 17:08 ` [bug#65367] [PATCH v3 0/4] " Sughosha via Guix-patches via
@ 2024-06-05 15:52 ` Sughosha via Guix-patches via
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 1/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
                     ` (4 more replies)
  7 siblings, 5 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2024-06-05 15:52 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha

In v4 patch series, packages are up to date, Enabled some tests, improved
comments and fixed some mistakes in patching.

Sughosha (4):
  gnu: Add python-pymarshal.
  gnu: Add python-mido.
  gnu: Add python-wavefile.
  gnu: Add stargate.

 gnu/packages/music.scm      | 186 ++++++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm |  83 ++++++++++++++++
 2 files changed, 269 insertions(+)


base-commit: bf202e8bdd10dbd01da391ef635d1a31197251c1
-- 
2.45.1





^ permalink raw reply	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v4 1/4] gnu: Add python-pymarshal.
  2024-06-05 15:52 ` [bug#65367] [PATCH v4 0/4] " Sughosha via Guix-patches via
@ 2024-06-05 15:52   ` Sughosha via Guix-patches via
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 2/4] gnu: Add python-mido Sughosha via Guix-patches via
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2024-06-05 15:52 UTC (permalink / raw)
  To: 65367
  Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, Tanguy Le Carrour, jgart

* gnu/packages/python-xyz.scm (python-pymarshal): New variable.

Change-Id: I6a1d2f8f21869856a9a227bed213d9f71204b2d4
---
 gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c22df7728a..f4fc6c8768 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4485,6 +4485,30 @@ (define-public python-jsonargparse
 variables.")
     (license license:expat)))
 
+(define-public python-pymarshal
+  (package
+    (name "python-pymarshal")
+    (version "2.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pymarshal" version))
+              (sha256
+               (base32
+                "1lhb7yim60pvclbd440zd4n50xs1d2rvmnrhhvib3hyv0dxil5j3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; Test fails with this error:
+     ;; "CovReportWarning: Failed to generate report: No data to report."
+     (list #:tests? #f))
+    (native-inputs
+     (list python-pytest python-pytest-cov))
+    (propagated-inputs (list python-bson python-pyyaml))
+    (home-page "https://gitlab.com/d3v-t00lz/pymarshal")
+    (synopsis "Pythonic implementation of Golang struct (un)marshalling")
+    (description "PyMarshal replicates the feature of (un)marshalling structs
+in Golang.")
+    (license license:bsd-2)))
+
 (define-public python-simplejson
   (package
     (name "python-simplejson")
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v4 2/4] gnu: Add python-mido.
  2024-06-05 15:52 ` [bug#65367] [PATCH v4 0/4] " Sughosha via Guix-patches via
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 1/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
@ 2024-06-05 15:52   ` Sughosha via Guix-patches via
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 3/4] gnu: Add python-wavefile Sughosha via Guix-patches via
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2024-06-05 15:52 UTC (permalink / raw)
  To: 65367
  Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, Tanguy Le Carrour, jgart

* gnu/packages/python-xyz.scm (python-mido): New variable.

Change-Id: I4bdc6dc6f059dd16c0e0a4152a5e9b5bf84764ee
---
 gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f4fc6c8768..7073c1cca5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -36176,6 +36176,33 @@ (define-public python-clrprint
 colors.")
     (license license:expat)))
 
+(define-public python-mido
+  (package
+    (name "python-mido")
+    (version "1.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "mido" version))
+              (sha256
+               (base32
+                "0j63cydiinfyrvlhydzsb00cb7dyvrw3bnhjbdyp63vkxnv2isis"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               ;; This package requires python-packaging~=23.1 which is not yet
+               ;; updated to. As per pyproject.toml, it is required to provide
+               ;; a nice version_info opbject.
+               ;; TODO: After updating python-packaging, fix this.
+               (delete 'sanity-check))))
+    (propagated-inputs (list python-importlib-metadata python-packaging))
+    (native-inputs (list python-pytest))
+    (home-page "https://mido.readthedocs.io/en/stable/")
+    (synopsis "MIDI Objects for Python")
+    (description "This library is for working with MIDI 1.0 ports, messages and
+files.")
+    (license license:expat)))
+
 (define-public python-musical-scales
   (package
     (name "python-musical-scales")
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v4 3/4] gnu: Add python-wavefile.
  2024-06-05 15:52 ` [bug#65367] [PATCH v4 0/4] " Sughosha via Guix-patches via
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 1/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 2/4] gnu: Add python-mido Sughosha via Guix-patches via
@ 2024-06-05 15:52   ` Sughosha via Guix-patches via
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 4/4] gnu: Add stargate Sughosha via Guix-patches via
  2024-06-13  9:36   ` bug#65367: [PATCH v4 0/4] " Ludovic Courtès
  4 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2024-06-05 15:52 UTC (permalink / raw)
  To: 65367
  Cc: Sughosha, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, Tanguy Le Carrour, jgart

* gnu/packages/python-xyz.scm (python-wavefile): New variable.

Change-Id: Ied8fe04eea6f9a79cdde6382931a7009cf71f8f4
---
 gnu/packages/python-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7073c1cca5..667e0ffd6c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -176,6 +176,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages astronomy)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
@@ -248,6 +249,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-check)
@@ -4419,6 +4421,36 @@ (define-public python-simpleaudio
 audio playback capability for Python 3 on OSX, Windows, and Linux.")
     (license license:expat))) ; MIT license
 
+(define-public python-wavefile
+  (package
+    (name "python-wavefile")
+    (version "1.6.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "wavefile" version))
+              (sha256
+               (base32
+                "04mdcxq7n1vnwb9y65j0cwpy91ik5rh9vki1f45xqnh4ygz91n75"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-libsndfile-path
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "wavefile/libsndfile.py"
+                     (("'libsndfile")
+                      (string-append "'" (assoc-ref inputs "libsndfile")
+                                     "/lib/libsndfile"))))))))
+    (inputs
+     (list libsndfile portaudio))
+    (propagated-inputs (list python-numpy python-pyaudio))
+    (home-page "https://github.com/vokimon/python-wavefile")
+    (synopsis "Pythonic audio file reader and writer")
+    (description
+     "This package provides pythonic libsndfile wrapper to read and write audio
+files.")
+    (license license:gpl3+)))
+
 (define-public python-jsonalias
   (package
     (name "python-jsonalias")
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v4 4/4] gnu: Add stargate.
  2024-06-05 15:52 ` [bug#65367] [PATCH v4 0/4] " Sughosha via Guix-patches via
                     ` (2 preceding siblings ...)
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 3/4] gnu: Add python-wavefile Sughosha via Guix-patches via
@ 2024-06-05 15:52   ` Sughosha via Guix-patches via
  2024-06-13  9:36   ` bug#65367: [PATCH v4 0/4] " Ludovic Courtès
  4 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2024-06-05 15:52 UTC (permalink / raw)
  To: 65367; +Cc: Sughosha

* gnu/packages/music.scm (stargate): New variable.

Change-Id: I625c68746ca6bdf9f8de6ebde602ffa7428a2a0c
---
 gnu/packages/music.scm | 186 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 186 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 14adf46401..d73e8d4d34 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -196,6 +196,7 @@ (define-module (gnu packages music)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages valgrind)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages vim)       ;for 'xxd'
@@ -5179,6 +5180,191 @@ (define-public lmms
 can receive input from a MIDI keyboard.")
     (license license:gpl2+)))
 
+(define-public stargate
+  (package
+    (name "stargate")
+    (version "24.02.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/stargatedaw/stargate")
+                    (commit (string-append "release-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0hy0pf6gcw4hjhsvb1x60m1v0wqm28j7cc91g1vcna2f42kk8gyh"))
+              (modules '((guix build utils)))
+              (snippet
+               '(with-directory-excursion "src"
+                  ;; Delete bundled libraries.
+                  (delete-file-recursively "sg_py_vendor")
+                  ;; Disable compiling and installing bundled libraries.
+                  (substitute* "Makefile"
+                    ((" sg_py_vendor") "")
+                    (("install -m 755 vendor") "# install -m 755 vendor"))
+                  ;; Import python modules from packaged libraries.
+                  (substitute* (find-files "sglib" "\\.py$")
+                    (("from sg_py_vendor ") "")
+                    (("from sg_py_vendor.") "from "))
+                  (substitute* "engine/tests/test_daw.c"
+                    ;; Disable assignment of a string to an expression with
+                    ;; array type which fails tests.
+                    (("INSTALL_PREFIX =") "// INSTALL_PREFIX"))
+                  ;; Disable manual tests requiring opening a browser.
+                  (substitute* '("Makefile"
+                                 "engine/Makefile"
+                                 "engine/libcds/Makefile")
+                    (("\\$\\(BROWSER\\)") "# $(BROWSER)"))))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:test-target "tests"
+           #:make-flags
+           #~(list "PREFIX=/"
+                   "LIBDIR=/lib"
+                   "INCLUDEDIR=/include"
+                   (string-append "DESTDIR=" #$output)
+                   (string-append "CC=" #$(cc-for-target))
+                   (string-append "CXX=" #$(cxx-for-target)))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-portaudio-path
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "src/sgui/widgets/hardware_dialog.py"
+                     (("\\\"libportaudio")
+                      (string-append "\"" (assoc-ref inputs "portaudio")
+                                     "/lib/libportaudio")))))
+               (add-after 'patch-portaudio-path 'change-directory
+                 (lambda _
+                   (chdir "src")))
+               (delete 'configure) ;no configure script
+               (add-before 'build 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "test_parse.sh"
+                     (("python") (which "python3")))
+                   (with-directory-excursion "files/share"
+                     (substitute* '"applications/stargate.desktop"
+                       (("/usr") #$output)))))
+               (replace 'build
+                 (lambda* (#:key (make-flags '()) (parallel-build? #t)
+                           #:allow-other-keys)
+                   (apply invoke "make" "-Cengine"
+                          `(,@(if parallel-build?
+                                `("-j" ,(number->string (parallel-job-count)))
+                                '())
+                          ,@make-flags))))
+               (add-before 'check 'check-setup
+                 (lambda _
+                   (setenv "HOME" "/tmp")
+                   (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+                   ;; Test fails with AssertionError.
+                   (delete-file "test/sglib/models/daw/routing/test_midi.py")))
+               (add-after 'install 'wrap-program
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (wrap-program (string-append #$output "/bin/stargate")
+                     `("GUIX_PYTHONPATH" ":" prefix
+                       (,(getenv "GUIX_PYTHONPATH")))
+                     `("PATH" ":" prefix
+                       (,(getenv "PATH")))))))))
+    (native-inputs
+     (list pkg-config
+           python-gcovr
+           python-packaging
+           python-pytest
+           python-pytest-cov
+           python-pytest-runner))
+    (inputs
+     (list alsa-lib
+           bash-minimal
+           fftw
+           fftwf
+           jq
+           libsndfile
+           portaudio
+           portmidi
+           python
+           python-jinja2
+           python-mido
+           python-mutagen
+           python-numpy
+           python-psutil
+           python-pymarshal
+           python-pyqt
+           python-pyyaml
+           python-wavefile
+           python-yq
+           rubberband
+           valgrind
+           ;; Stargate's fork of sbsms.
+           (let ((commit "90fab3440063dc9b6c1c2a8f74c2d92bd0e423f9")
+                 (revision "0"))
+             (package/inherit libsbsms
+               (name "stargate-sbsms")
+               (version (git-version "0" revision commit))
+               (source
+                (origin
+                  (method git-fetch)
+                  (uri
+                   (git-reference
+                     (url "https://github.com/stargatedaw/stargate-sbsms")
+                     (commit commit)))
+                  (sha256
+                   (base32
+                    "11srnzgpavcj6n70zjdm7488jzrprk71mg9dgr1sa6vwp575hf2m"))))
+               (arguments
+                (substitute-keyword-arguments (package-arguments libsbsms)
+                  ((#:phases phases)
+                   #~(modify-phases #$phases
+                       (delete 'fix-ar-lib-path)
+                       (add-before 'build 'change-directory
+                         (lambda _
+                           (chdir "cli")))
+                       (replace 'configure
+                         (lambda _
+                           (setenv "DESTDIR" #$output)
+                           (setenv "PREFIX" "/")))
+                       (add-after 'install 'rename-sbsms
+                            (lambda _
+                              (with-directory-excursion (string-append #$output
+                                                                       "/bin")
+                                (rename-file "sbsms" "stargate-sbsms"))))
+                       (delete 'check)))))
+               (native-inputs
+                (list libsndfile))
+               (home-page "https://stargatedaw/stargate-sbsms")))
+           ;; Stargate's fork of soundtouch.
+           (let ((commit "464f474c0be5d7e0970909dd30593012e4621468")
+                 (revision "0"))
+             (package/inherit soundtouch
+               (name "stargate-soundtouch")
+               (version (git-version "0" revision commit))
+               (source
+                (origin
+                  (method git-fetch)
+                  (uri
+                   (git-reference
+                     (url "https://github.com/stargatedaw/stargate-soundtouch")
+                     (commit commit)))
+                  (sha256
+                   (base32
+                    "1aw2j1f10p8n4s197b1nd3g1rjvwbrrszc9gwsbwk01c6nb3nr9v"))))
+               (arguments
+                (list #:phases
+                      #~(modify-phases %standard-phases
+                          (add-after 'install 'rename-soundstretch
+                            (lambda _
+                              (with-directory-excursion (string-append #$output
+                                                                       "/bin")
+                                (rename-file "soundstretch"
+                                             "stargate-soundstretch")))))))
+               (home-page "https://stargatedaw/stargate-soundtouch")))))
+    (home-page "https://github.com/stargatedaw/stargate")
+    (synopsis "Digital audio workstation")
+    (description
+     "Stargate is a digital audio workstation with built-in instrument and
+effect plugins and wave editor, providing innovative features, especially for
+EDM production.")
+    (license license:gpl3)))
+
 (define-public liquidsfz
   (package
     (name "liquidsfz")
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 24+ messages in thread

* bug#65367: [PATCH v4 0/4] gnu: Add stargate.
  2024-06-05 15:52 ` [bug#65367] [PATCH v4 0/4] " Sughosha via Guix-patches via
                     ` (3 preceding siblings ...)
  2024-06-05 15:52   ` [bug#65367] [PATCH v4 4/4] gnu: Add stargate Sughosha via Guix-patches via
@ 2024-06-13  9:36   ` Ludovic Courtès
  2024-06-13 16:01     ` [bug#65367] " Sughosha via Guix-patches via
  4 siblings, 1 reply; 24+ messages in thread
From: Ludovic Courtès @ 2024-06-13  9:36 UTC (permalink / raw)
  To: Sughosha; +Cc: 65369-done, 65367-done

Hi,

Sughosha <sughosha@disroot.org> skribis:

>   gnu: Add python-pymarshal.
>   gnu: Add python-mido.
>   gnu: Add python-wavefile.
>   gnu: Add stargate.

I applied the whole series and followed up with a patch that moves
‘stargate-sbsms’ and ‘stargate-soundtouch’ to audio.scm.

Thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [bug#65367] [PATCH v4 0/4] gnu: Add stargate.
  2024-06-13  9:36   ` bug#65367: [PATCH v4 0/4] " Ludovic Courtès
@ 2024-06-13 16:01     ` Sughosha via Guix-patches via
  0 siblings, 0 replies; 24+ messages in thread
From: Sughosha via Guix-patches via @ 2024-06-13 16:01 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 65369-done, 65367-done

On 13 June 2024 3:06:30 pm IST, "Ludovic Courtès" <ludo@gnu.org> wrote:
>Hi,
>
>Sughosha <sughosha@disroot.org> skribis:
>
>>   gnu: Add python-pymarshal.
>>   gnu: Add python-mido.
>>   gnu: Add python-wavefile.
>>   gnu: Add stargate.
>
>I applied the whole series and followed up with a patch that moves
>‘stargate-sbsms’ and ‘stargate-soundtouch’ to audio.scm.
>
>Thanks!
>
>Ludo’.

Hi Ludo, thanks for applying the patches. But does it make sence to package stargate's forks (which are modified to work with stargate), when we already have the upstream packages (both libsbms and soundtorch) packaged?




^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2024-06-13 16:03 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-18 15:35 [bug#65367] [PATCH 0/5] gnu: Add stargate Sughosha via Guix-patches via
2023-08-18 15:35 ` [bug#65368] [PATCH 1/5] gnu: Add python-wavefile Sughosha via Guix-patches via
2023-10-08 23:50   ` [bug#65368] Sharlatan Hellseher
2023-08-18 15:35 ` [bug#65369] [PATCH 2/5] gnu: Add python-pymarshal Sughosha via Guix-patches via
2023-08-18 15:35 ` [bug#65367] [PATCH 3/5] gnu: Add python-packaging Sughosha via Guix-patches via
2023-08-18 15:35 ` [bug#65367] [PATCH 4/5] gnu: Add python-mido Sughosha via Guix-patches via
2023-08-18 15:35 ` [bug#65367] [PATCH 5/5] gnu: Add stargate Sughosha via Guix-patches via
2023-10-31 13:44 ` [bug#65367] [PATCH v2 0/4] " Sughosha via Guix-patches via
2023-10-31 13:44   ` [bug#65367] [PATCH v2 1/4] gnu: Add python-wavefile Sughosha via Guix-patches via
2023-10-31 13:44   ` [bug#65367] [PATCH v2 2/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
2023-10-31 13:44   ` [bug#65367] [PATCH v2 3/4] gnu: Add python-mido Sughosha via Guix-patches via
2023-10-31 13:44   ` [bug#65367] [PATCH v2 4/4] gnu: Add stargate Sughosha via Guix-patches via
2023-10-31 17:08 ` [bug#65367] [PATCH v3 0/4] " Sughosha via Guix-patches via
2023-10-31 17:08   ` [bug#65367] [PATCH v3 1/4] gnu: Add python-wavefile Sughosha via Guix-patches via
2023-10-31 17:08   ` [bug#65367] [PATCH v3 2/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
2023-10-31 17:08   ` [bug#65367] [PATCH v3 3/4] gnu: Add python-mido Sughosha via Guix-patches via
2023-10-31 17:08   ` [bug#65367] [PATCH v3 4/4] gnu: Add stargate Sughosha via Guix-patches via
2024-06-05 15:52 ` [bug#65367] [PATCH v4 0/4] " Sughosha via Guix-patches via
2024-06-05 15:52   ` [bug#65367] [PATCH v4 1/4] gnu: Add python-pymarshal Sughosha via Guix-patches via
2024-06-05 15:52   ` [bug#65367] [PATCH v4 2/4] gnu: Add python-mido Sughosha via Guix-patches via
2024-06-05 15:52   ` [bug#65367] [PATCH v4 3/4] gnu: Add python-wavefile Sughosha via Guix-patches via
2024-06-05 15:52   ` [bug#65367] [PATCH v4 4/4] gnu: Add stargate Sughosha via Guix-patches via
2024-06-13  9:36   ` bug#65367: [PATCH v4 0/4] " Ludovic Courtès
2024-06-13 16:01     ` [bug#65367] " Sughosha via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).