aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/audio.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 13e0f02837..3ce8269358 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1980,6 +1980,51 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
;; GPLv2+ with exception for compositions using these patches.
(license license:gpl2+)))
+(define-public freepats-gm
+ (package
+ (name "freepats-gm")
+ (version "20210329")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://freepats.zenvoid.org/SoundSets/"
+ "FreePats-GeneralMIDI/FreePatsGM-SF2-" version ".7z"))
+ (sha256
+ (base32
+ "19a1mp9yi33j2zff4mjvhrjz97dwwgjwzfdlf84j9xyydhx0crhc"))))
+ (build-system trivial-build-system)
+ (native-inputs
+ `(("p7zip" ,p7zip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let ((dir (string-append "FreePatsGM-SF2-" ,version))
+ (file (string-append "FreePatsGM-" ,version ".sf2"))
+ (out (string-append %output "/share/soundfonts"))
+ (doc (string-append %output "/share/doc/freepats-gm-" ,version)))
+ (use-modules (guix build utils))
+ (invoke (string-append (assoc-ref %build-inputs "p7zip") "/bin/7z")
+ "e" (assoc-ref %build-inputs "source")
+ (string-append dir "/" file)
+ (string-append dir "/gpl.txt")
+ (string-append dir "/cc0.txt")
+ (string-append dir "/readme.txt"))
+ (mkdir-p out)
+ (copy-file file (string-append out "/FreePatsGM.sf2"))
+ (mkdir-p doc)
+ (for-each
+ (lambda (file)
+ (copy-file file (string-append doc "/" file)))
+ (find-files "." "\\.txt$"))
+ #t)))
+ (home-page "https://freepats.zenvoid.org/SoundSets/general-midi.html")
+ (synopsis "General MIDI sound set")
+ (description "FreePats is a project to create a free (as in free software)
+collection of digital instruments for music production. This sound bank is a
+partial release of the General MIDI sound set.")
+ (license (list
+ license:gpl3+ ; with sampling exception
+ license:cc0))))
+
(define-public guitarix
(package
(name "guitarix")