[PATCH 0/5] gnu: Add stargate.

  • Open
  • quality assurance status badge
Details
2 participants
  • 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
?