diff options
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r-- | gnu/packages/music.scm | 175 |
1 files changed, 127 insertions, 48 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 34b37ca510..798aad11f7 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -55,6 +55,7 @@ ;;; Copyright © 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2024 Parnikkapore <poomklao@yahoo.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -135,6 +136,7 @@ #:use-module (gnu packages gnunet) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) + #:use-module (gnu packages golang-xyz) #:use-module (gnu packages gpodder) #:use-module (gnu packages graphics) #:use-module (gnu packages graphviz) @@ -190,6 +192,7 @@ #:use-module (gnu packages terminals) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) + #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) @@ -598,6 +601,76 @@ you create custom user interfaces for your MIDI hardware.") license:gpl3 ;JUCE license:bsd-3))))) +(define-public qmmp + (package + (name "qmmp") + (version "2.1.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://qmmp.ylsoftware.com/files/qmmp/" + (version-major+minor version) "/" + "qmmp-" version ".tar.bz2")) + (sha256 + (base32 "0wqy4dh5cci67d822zn2535l0vsvd9c9sqsbscz4j530c6y6g9z6")))) + (build-system qt-build-system) + (arguments + (list #:qtbase qtbase + #:tests? #f ; there are no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/plugins/Ui/skinned/skinreader.cpp" + (("\"(tar|unzip)\"" _ name) + (let ((file (string-append "/bin/" name))) + (string-append "\"" (search-input-file inputs file) "\""))))))))) + (inputs + ;; Missing optional inputs: + ;; libsidplay2 ; input plugin + ;; projectm ; visualization plugin + (list alsa-lib + curl + enca + faad2 + ffmpeg + flac + jack-2 + libarchive + libbs2b + libcddb + libcdio-paranoia + libgme + libmad + libshout + libsndfile + libvorbis + libxmp + opusfile + opus + pipewire + pulseaudio + qtmultimedia + qttools + soxr + taglib + tar ; for loading skins + unzip ; for loading skins + wavpack + wildmidi)) + (native-inputs + (list pkg-config)) + (home-page "https://qmmp.ylsoftware.com") + (properties + `((release-monitoring-url . "https://qmmp.ylsoftware.com/downloads.php"))) + (synopsis "Qt-based music player") + (description "Music player with support for most common audio formats, and +plugins for various additional features such as visualization, effects and +online service integration. In addition to a Qt-based interface it supports +Winamp/XMMS skins.") + (license (list license:gpl2+ ; code + license:cc-by-sa4.0)))) ; src/plugins/Ui/skinned/glare + (define-public strawberry (package (name "strawberry") @@ -2186,7 +2259,7 @@ your own lessons.") (define-public powertabeditor (package (name "powertabeditor") - (version "2.0.0-alpha14") + (version "2.0.0-alpha19") (source (origin (method git-fetch) (uri (git-reference @@ -2195,30 +2268,29 @@ your own lessons.") (file-name (git-file-name name version)) (sha256 (base32 - "1wsvni2aa9h2bpndlic7ckch4n600ahwm56n521y5vxivwjx3jmj")))) + "1fbrfw1ky57nms47pcfdrrwpa2jmgc8vgc68sz96wkvs49zzm5d1")))) (build-system cmake-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check (lambda _ (invoke "bin/pte_tests"))) - (add-after 'unpack 'fix-pugixml-detection - (lambda _ - (substitute* "cmake/third_party/pugixml.cmake" - (("add_library") "#add_library")) - #t))))) + (list + #:phases + '(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? (invoke "bin/pte_tests"))))))) (inputs - `(("alsa-lib" ,alsa-lib) - ("boost" ,boost) - ("minizip" ,minizip) - ("pugixml" ,pugixml) - ("qtbase" ,qtbase-5) - ("rapidjson" ,rapidjson) - ("rtmidi" ,rtmidi) - ("timidity" ,timidity++) - ("zlib" ,zlib))) + (list alsa-lib + boost + minizip + nlohmann-json + pugixml + qtbase-5 + qttools-5 ;for Qt5LinguistTools + rtmidi + timidity++ + zlib)) (native-inputs (list doctest pkg-config)) - (home-page "https://github.com/powertab/powertabedito") + (home-page "https://github.com/powertab/powertabeditor") (synopsis "Guitar tablature editor") (description "Power Tab Editor 2.0 is the successor to the famous original Power Tab @@ -5899,8 +5971,6 @@ console music players.") (build-system go-build-system) (native-inputs (list lua - go-github-com-mattn-go-isatty - go-github-com-mattn-go-colorable go-github-com-aarzilli-golua go-gitlab-com-ambrevar-damerau go-gitlab-com-ambrevar-golua-unicode @@ -6138,47 +6208,56 @@ and reverb.") (define-public lsp-plugins (package (name "lsp-plugins") - (version "1.2.3") + (version "1.2.15") (source (origin (method url-fetch) - (uri (string-append "https://github.com/sadko4u/lsp-plugins" + (uri (string-append "https://github.com/lsp-plugins/lsp-plugins" "/releases/download/" version "/lsp-plugins-src-" version ".tar.gz")) (sha256 - (base32 "0asgwrkyncxz5h7kjkbwm78z8l2jndxvsrgd634m5x9n37gjsgvs")))) + (base32 "1bpkbmy8djz304rlsf9zp7bkyc874gnpfihkigqg4fj667x2xfcj")))) (build-system gnu-build-system) (arguments - `(#:make-flags - (list - (string-append "CC=" ,(cc-for-target)) - "BUILD_MODULES=\"lv2 ladspa jack\"" "VST_UI=0" - (string-append "PREFIX=" (assoc-ref %outputs "out")) - (string-append "ETC_PATH=" (assoc-ref %outputs "out") "/etc")) - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "make" "config" "TEST=1" - (string-append "PREFIX=" out) - (string-append "ETCDIR=" out "/etc"))))) - (replace 'check - (lambda _ - (invoke ".build/host/lsp-plugin-fw/lsp-plugins-test" "utest")))))) + (list + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (invoke "make" "config" + "STRICT=1" + "TEST=1" + "FEATURES=clap doc jack ladspa lv2 vst2 xdg" + (string-append "PREFIX=" #$output) + (string-append "ETCDIR=" #$output "/etc")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke ".build/host/lsp-plugin-fw/lsp-plugins-test" "utest")))) + (add-after 'install 'move-large-subdirs + (lambda _ + (define (move-to-output output path) + (let ((source (string-append #$output path)) + (target (string-append output path))) + (mkdir-p (dirname target)) + (rename-file source target))) + (move-to-output #$output:doc "/share/doc") ; 29MB + (move-to-output #$output:lv2 "/lib/lv2") ; 32MB + (move-to-output #$output:bin "/bin") ; Avoid cluttering xdg menu + (move-to-output #$output:bin "/share") + (move-to-output #$output:bin "/etc")))))) (inputs (list cairo freetype - hicolor-icon-theme - jack-1 - ladspa + jack-2 libsndfile libx11 libxrandr - lv2 mesa)) - (native-inputs - (list pkg-config php)) + (native-inputs (list pkg-config php)) + (outputs '("out" "doc" "lv2" "debug")) (synopsis "Audio plugin collection") (description "LSP (Linux Studio Plugins) is a collection of audio plugins available as LADSPA/LV2 plugins and as standalone JACK |