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
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ 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] 17+ 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
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 17+ 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] 17+ 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
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 17+ 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] 17+ 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
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 17+ 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] 17+ 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
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 17+ 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] 17+ 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
  2023-10-31 17:08 ` [bug#65367] [PATCH v3 0/4] " Sughosha via Guix-patches via
  6 siblings, 0 replies; 17+ 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] 17+ 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; 17+ 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] 17+ 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
  6 siblings, 4 replies; 17+ 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] 17+ 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; 17+ 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] 17+ 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; 17+ 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] 17+ 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; 17+ 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] 17+ 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; 17+ 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] 17+ 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)
  6 siblings, 4 replies; 17+ 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] 17+ 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; 17+ 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] 17+ 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; 17+ 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] 17+ 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; 17+ 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] 17+ 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; 17+ 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] 17+ messages in thread

end of thread, other threads:[~2023-10-31 17:10 UTC | newest]

Thread overview: 17+ 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

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).