[PATCH 0/5] gnu: Add stargate.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Christopher Baines
  • Sughosha
Owner
unassigned
Submitted by
Sughosha
Severity
normal
Merged with
S
S
Sughosha wrote on 18 Aug 2023 17:35
(address . guix-patches@gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cover.1692372644.git.sughosha@disroot.org
Stargate is a digital audio workstation (DAW), instrument and effect plugins
and wave editor.


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
S
S
Sughosha wrote on 18 Aug 2023 17:35
[PATCH 3/5] gnu: Add python-packaging.
(address . guix-patches@gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
15d851b669b5d666e08973d30b811731e75ce1c0.1692372645.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-packaging): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 18 Aug 2023 17:35
[PATCH 4/5] gnu: Add python-mido.
(address . guix-patches@gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
8937b7766b37fc71719fa6cc90643f53debcef23.1692372645.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-mido): New variable.
---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
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
S
S
Sughosha wrote on 18 Aug 2023 17:35
[PATCH 5/5] gnu: Add stargate.
(address . guix-patches@gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
c26a3dae4c89c8a41e1ed24e6d0a549f3bce9c7a.1692372645.git.sughosha@disroot.org
* gnu/packages/music.scm (stargate): New variable.
---
gnu/packages/music.scm | 182 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 182 insertions(+)

Toggle diff (195 lines)
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
C
C
Christopher Baines wrote on 13 Oct 2023 11:48
(no subject)
(address . control@debbugs.gnu.org)
87bkd297l3.fsf@cbaines.net
merge 65367 65368 65369
thanks
S
S
Sughosha wrote on 31 Oct 2023 14:44
[PATCH v2 0/4] gnu: Add stargate.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cover.1698759715.git.sughosha@disroot.org
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
S
S
Sughosha wrote on 31 Oct 2023 14:44
[PATCH v2 1/4] gnu: Add python-wavefile.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
3171b057e4ae222ea4c0785bc8835901f876a54c.1698759715.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-wavefile): New variable.
---
gnu/packages/python-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (64 lines)
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
S
S
Sughosha wrote on 31 Oct 2023 14:44
[PATCH v2 2/4] gnu: Add python-pymarshal.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
e1d52ef5abaacd0a8dbc33ea9a26f8559ac97a2e.1698759715.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-pymarshal): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 31 Oct 2023 14:44
[PATCH v2 3/4] gnu: Add python-mido.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
3ea301b3a77546ba3bd4b4db2491404c580e7a5a.1698759715.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-mido): New variable.
---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
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
S
S
Sughosha wrote on 31 Oct 2023 14:44
[PATCH v2 4/4] gnu: Add stargate.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
a437054bbe9463d145821d0cf6e3148ba30ddc4e.1698759715.git.sughosha@disroot.org
* gnu/packages/music.scm (stargate): New variable.
---
gnu/packages/music.scm | 182 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 182 insertions(+)

Toggle diff (195 lines)
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
S
S
Sughosha wrote on 31 Oct 2023 18:08
[PATCH v3 2/4] gnu: Add python-pymarshal.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
6669d51237ca582be587698c8c015cd5b539b833.1698771987.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-pymarshal): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 31 Oct 2023 18:08
[PATCH v3 0/4] gnu: Add stargate
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cover.1698771987.git.sughosha@disroot.org
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
S
S
Sughosha wrote on 31 Oct 2023 18:08
[PATCH v3 4/4] gnu: Add stargate.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
63857c53cef88ee9487a0adeba1fbb9cbb91a2bc.1698771987.git.sughosha@disroot.org
* gnu/packages/music.scm (stargate): New variable.
---
gnu/packages/music.scm | 182 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 182 insertions(+)

Toggle diff (195 lines)
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
S
S
Sughosha wrote on 31 Oct 2023 18:08
[PATCH v3 1/4] gnu: Add python-wavefile.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
a566a0b0d88642fdd856f3a115c95b6afad1204a.1698771987.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-wavefile): New variable.

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

Toggle diff (62 lines)
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
S
S
Sughosha wrote on 31 Oct 2023 18:08
[PATCH v3 3/4] gnu: Add python-mido.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
5d406e16ba881087e1297efdad6cb2d66739395e.1698771987.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-mido): New variable.
---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
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
S
S
Sughosha wrote on 5 Jun 17:52 +0200
[PATCH v4 1/4] gnu: Add python-pymarshal.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
7414f5ac144c54eb0ba49d93c99b93d580e137c0.1717602731.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-pymarshal): New variable.

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

Toggle diff (37 lines)
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
S
S
Sughosha wrote on 5 Jun 17:52 +0200
[PATCH v4 3/4] gnu: Add python-wavefile.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
71522b838ec5d548d5124f3c4ab47d3e1738fb7c.1717602731.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-wavefile): New variable.

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

Toggle diff (59 lines)
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
S
S
Sughosha wrote on 5 Jun 17:52 +0200
[PATCH v4 4/4] gnu: Add stargate.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
97fc842e0440b37f5fee11206b95bb4e772c0206.1717602731.git.sughosha@disroot.org
* gnu/packages/music.scm (stargate): New variable.

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

Toggle diff (206 lines)
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
S
S
Sughosha wrote on 5 Jun 17:52 +0200
[PATCH v4 0/4] gnu: Add stargate.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cover.1717602731.git.sughosha@disroot.org
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
S
S
Sughosha wrote on 5 Jun 17:52 +0200
[PATCH v4 2/4] gnu: Add python-mido.
(address . 65367@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
e84adca61a1159aabf6064225f226dc39a02292d.1717602731.git.sughosha@disroot.org
* gnu/packages/python-xyz.scm (python-mido): New variable.

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

Toggle diff (40 lines)
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
L
L
Ludovic Courtès wrote on 13 Jun 11:36 +0200
Re: [bug#65367] [PATCH v4 0/4] gnu: Add stargate.
(name . Sughosha)(address . sughosha@disroot.org)
871q51jiap.fsf@gnu.org
Hi,

Sughosha <sughosha@disroot.org> skribis:

Toggle quote (5 lines)
> 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’.
Closed
S
S
Sughosha wrote on 13 Jun 18:01 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
D80A6FD2-2B5B-4B25-ADC6-FC305DC336CB@disroot.org
On 13 June 2024 3:06:30 pm IST, "Ludovic Courtès" <ludo@gnu.org> wrote:
Toggle quote (16 lines)
>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?
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 65367@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 65367
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch