[PATCH 0/5] gnu: Add stargate.

  • Open
  • quality assurance status badge
Details
One participant
  • Sughosha
Owner
unassigned
Submitted by
Sughosha
Severity
normal
S
S
Sughosha wrote on 18 Aug 17:35 +0200
(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 17:35 +0200
[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 17:35 +0200
[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 17:35 +0200
[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
?