about summary refs log tree commit diff
path: root/pkgs/applications/audio/chuck
diff options
context:
space:
mode:
authorSiarhei Zirukin <ftrvxmtrx@gmail.com>2014-10-27 23:28:10 +0100
committerSiarhei Zirukin <ftrvxmtrx@gmail.com>2014-10-28 08:59:17 +0100
commitd49e6e4b23f4aff9e62d2034773dc62300380a31 (patch)
treea056fd278f0d59f4694d38c2af49251abfd32834 /pkgs/applications/audio/chuck
parent5b024276262701efbbdb121499f7aead31a23e68 (diff)
added chuck package
Diffstat (limited to 'pkgs/applications/audio/chuck')
-rw-r--r--pkgs/applications/audio/chuck/darwin-limits.patch13
-rw-r--r--pkgs/applications/audio/chuck/default.nix38
2 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/applications/audio/chuck/darwin-limits.patch b/pkgs/applications/audio/chuck/darwin-limits.patch
new file mode 100644
index 0000000000000..3387f72554418
--- /dev/null
+++ b/pkgs/applications/audio/chuck/darwin-limits.patch
@@ -0,0 +1,13 @@
+--- a/src/util_string.cpp	2014-10-27 22:52:11.875981552 +0100
++++ b/src/util_string.cpp	2014-10-27 22:54:18.613001994 +0100
+@@ -40,6 +40,10 @@
+ #include <linux/limits.h>
+ #endif // __PLATFORM_LINUX__
+ 
++#ifdef __PLATFORM_MACOSX__
++#include <limits.h>
++#endif // __PLATFORM_MACOSX__
++
+ #include <stdio.h>
+ using namespace std;
+ 
diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix
new file mode 100644
index 0000000000000..7725ba1e4c80a
--- /dev/null
+++ b/pkgs/applications/audio/chuck/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, alsaLib, bison, flex, libsndfile, which }:
+
+stdenv.mkDerivation rec {
+  version = "1.3.4.0";
+  name = "chuck-${version}";
+
+  src = fetchurl {
+    url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz";
+    sha256 = "0cwbk8b1i18nkh2nxwzk2prranw83lgglxw7ccnp6b0r2b2yfpmn";
+  };
+
+  buildInputs = [ bison flex libsndfile which ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
+
+  patches = [ ./darwin-limits.patch ];
+
+  postPatch = ''
+    substituteInPlace src/makefile --replace "/usr/bin" "$out/bin"
+    substituteInPlace src/makefile.osx --replace "xcodebuild" "/usr/bin/xcodebuild"
+    substituteInPlace src/makefile.osx --replace "weak_framework" "framework"
+  '';
+
+  buildPhase =
+    stdenv.lib.optionals stdenv.isLinux  ["make -C src linux-alsa"] ++
+    stdenv.lib.optionals stdenv.isDarwin ["make -C src osx"];
+
+  installPhase = ''
+    install -Dm755 ./src/chuck $out/bin/chuck
+  '';
+
+  meta = {
+    description = "Programming language for real-time sound synthesis and music creation";
+    homepage = http://chuck.cs.princeton.edu;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
+    maintainers = with stdenv.lib.maintainers; [ ftrvxmtrx ];
+  };
+}