This patch adds a Nix expression for Racket to Nixpkgs.

Racket is the descendent of PLT Scheme; it has a web page here : 
http://racket-lang.org/

The Nix expression in the patch is largely copied from the Nixpkgs Nix 
expression for PLT Scheme.

From c91439485543bd801035458371c8ee3f7f5aeefc Mon Sep 17 00:00:00 2001
From: Karn Kallio <kkal...@eka.(none)>
Date: Mon, 20 Sep 2010 17:32:19 -0430
Subject: [PATCH] Add Nix expression for Racket.

---
 pkgs/development/interpreters/racket/default.nix |   70 ++++++++++++++++++++++
 pkgs/top-level/all-packages.nix                  |    2 +
 2 files changed, 72 insertions(+), 0 deletions(-)
 create mode 100644 pkgs/development/interpreters/racket/default.nix

diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
new file mode 100644
index 0000000..6d83a5e
--- /dev/null
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, fetchurl
+, cairo
+, coreutils
+, file
+, libjpeg
+, libpng
+, libtool
+, libXaw
+, libXext
+, libXft
+, libXrender
+, libXt
+, libXmu
+, mesa
+, pkgconfig
+, which } :
+
+stdenv.mkDerivation rec {
+  name = "racket";
+  version = "5.0.1";
+  pname = "${name}-${version}";
+
+  src = fetchurl {
+    url = "http://download.racket-lang.org/installers/${version}/${name}/${pname}-src-unix.tgz";;
+    sha256 = "18bzzzbxvr888lnpwggismq5grysrwlyg2dp026hhv5n2mk5sfvn";
+  };
+
+  buildInputs = [ cairo
+                  coreutils
+		  file
+		  libjpeg
+		  libpng
+		  libtool
+		  libXaw
+		  libXext
+                  libXft
+		  libXrender
+		  libXt
+		  libXmu
+		  mesa
+		  pkgconfig
+		  which
+		];
+
+  preConfigure = ''
+    cd src
+    sed -e 's@/usr/bin/uname@'"$(which uname)"'@g' -i configure
+    sed -e 's@/usr/bin/file@'"$(which file)"'@g' -i foreign/libffi/configure 
+  '';
+
+  configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
+
+  meta = {
+    description = "Racket (formerly called PLT Scheme) is a programming language derived from Scheme.";
+    longDescription = ''
+      Racket (formerly called PLT Scheme) is a programming language derived
+      from Scheme. The Racket project has four primary components: the
+      implementation of Racket, a JIT compiler; DrRacket, the Racket program
+      development environment; the TeachScheme! outreach, an attempt to turn
+      Computing and Programming into "an indispensable part of the liberal
+      arts curriculum"; and PLaneT, Racket's web-based package
+      distribution system for user-contributed packages.
+    '';
+
+    homepage = http://racket-lang.org/;
+    license = "LGPL";
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 35a0d44..0eaf5c3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2139,6 +2139,8 @@ let
 
   qi = callPackage ../development/compilers/qi { };
 
+  racket = callPackage ../development/interpreters/racket { };
+
   ruby18 = callPackage ../development/interpreters/ruby { };
   #ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; };
   ruby = ruby18;
-- 
1.7.2.3

_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to