about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/licenses.nix5
-rw-r--r--pkgs/data/soundfonts/generaluser/default.nix25
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 32 insertions, 0 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix
index b9310ef6c5b8..b530500741bb 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -389,6 +389,11 @@ in mkLicense lset) ({
     free = false;
   };
 
+  generaluser = {
+    fullName = "GeneralUser GS License v2.0";
+    url = "http://www.schristiancollins.com/generaluser.php"; # license included in sources
+  };
+
   gpl1Only = {
     spdxId = "GPL-1.0-only";
     fullName = "GNU General Public License v1.0 only";
diff --git a/pkgs/data/soundfonts/generaluser/default.nix b/pkgs/data/soundfonts/generaluser/default.nix
new file mode 100644
index 000000000000..5191199e6471
--- /dev/null
+++ b/pkgs/data/soundfonts/generaluser/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  pname = "generaluser";
+  version = "1.471";
+
+  # we can't use fetchurl since stdenv does not handle unpacking *.zip's by default.
+  src = fetchzip {
+    # Linked on http://www.schristiancollins.com/generaluser.php:
+    url = "https://www.dropbox.com/s/4x27l49kxcwamp5/GeneralUser_GS_${version}.zip";
+    sha256 = "sha256-lwUlWubXiVZ8fijKuNF54YQjT0uigjNAbjKaNjmC51s=";
+  };
+
+  installPhase = ''
+    install -Dm644 GeneralUser*.sf2 $out/share/soundfonts/GeneralUser-GS.sf2
+  '';
+
+  meta = with lib; {
+    description = "a SoundFont bank featuring 259 instrument presets and 11 drum kits";
+    homepage = "http://www.schristiancollins.com/generaluser.php";
+    license = licenses.generaluser;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ckie ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2044082af767..6ea032671c78 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24329,6 +24329,8 @@ with pkgs;
 
   soundfont-fluid = callPackage ../data/soundfonts/fluid { };
 
+  soundfont-generaluser = callPackage ../data/soundfonts/generaluser { };
+
   soundfont-ydp-grand = callPackage ../data/soundfonts/ydp-grand { };
 
   spdx-license-list-data = callPackage ../data/misc/spdx-license-list-data { };