summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2014-11-13 23:44:35 +0300
committerMichael Raskin <7c6f434c@mail.ru>2014-11-13 23:44:35 +0300
commita6d991ea07ac93392199be56b0c2a7527d29d181 (patch)
tree4899a29be464dc53d936efb6e611530b8c786a03 /pkgs/development/interpreters
parent419e96a5ceb9a9d6875a4907cd05d95e2d2cde54 (diff)
parent67ee94b2371397ec8a3254b91d66a243cc923fff (diff)
downloadnixlib-a6d991ea07ac93392199be56b0c2a7527d29d181.tar
nixlib-a6d991ea07ac93392199be56b0c2a7527d29d181.tar.gz
nixlib-a6d991ea07ac93392199be56b0c2a7527d29d181.tar.bz2
nixlib-a6d991ea07ac93392199be56b0c2a7527d29d181.tar.lz
nixlib-a6d991ea07ac93392199be56b0c2a7527d29d181.tar.xz
nixlib-a6d991ea07ac93392199be56b0c2a7527d29d181.tar.zst
nixlib-a6d991ea07ac93392199be56b0c2a7527d29d181.zip
Merge pull request #4980 from henrytill/racket
racket: update to 6.1.1
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/racket/default.nix55
1 files changed, 32 insertions, 23 deletions
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 310b0d935420..8c26d1f89ef2 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -1,38 +1,47 @@
-{ stdenv, fetchurl, cairo, file, pango, glib, gtk
-, which, libtool, makeWrapper, libjpeg, libpng
-, fontconfig, liberation_ttf, sqlite, openssl } :
+{ stdenv, fetchurl, cairo, file, fontconfig, glib, gtk, freefont_ttf
+, libjpeg, libpng, libtool, makeWrapper, openssl, pango, sqlite, which } :
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "6.1";
+  version = "6.1.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
-    sha256 = "fde283bf5899bb9266ce721db44631c9bac4a4864a7c3211de413fd9503178c6";
+    sha256 = "090269522d20e7a5ce85d2251a126745746ebf5e87554c05efe03f3b7173da75";
   };
 
-  # Various racket executables do run-time searches for these.
-  ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib:${sqlite}/lib:${openssl}/lib";
+  # Various Racket executables do runtime searches for these.
+  ffiSharedLibs = "${cairo}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${libjpeg}/lib:"
+                + "${libpng}/lib:${openssl}/lib:${pango}/lib:${sqlite}/lib";
 
-  buildInputs = [ file libtool which makeWrapper fontconfig liberation_ttf sqlite ];
+  buildInputs = [ file fontconfig freefont_ttf libtool makeWrapper sqlite which ];
 
   preConfigure = ''
     export LD_LIBRARY_PATH=${ffiSharedLibs}:$LD_LIBRARY_PATH
 
-    # Chroot builds do not have access to /etc/fonts/fonts.conf, but the Racket bootstrap
-    # needs a working fontconfig, so here a simple standin is used.
+    # Chroot builds do not have access to /etc/fonts/fonts.conf,
+    # but the Racket bootstrap needs a working fontconfig,
+    # so here a simple temporary stand-in is used.
     mkdir chroot-fontconfig
     cat ${fontconfig}/etc/fonts/fonts.conf > chroot-fontconfig/fonts.conf
     sed -e 's@</fontconfig>@@' -i chroot-fontconfig/fonts.conf
-    echo "<dir>${liberation_ttf}</dir>" >> chroot-fontconfig/fonts.conf
+    echo "<dir>${freefont_ttf}</dir>" >> chroot-fontconfig/fonts.conf
     echo "</fontconfig>" >> chroot-fontconfig/fonts.conf
 
+    # remove extraneous directories from temporary fonts.conf
+    sed -e 's@<dir></dir>@@g' \
+        -e 's@<dir prefix="xdg">fonts</dir>@@g' \
+        -e 's@<dir>~/.fonts</dir>@@g' \
+        -e 's@<cachedir prefix="xdg">fontconfig</cachedir>@@g' \
+        -e 's@<cachedir>~/.fontconfig</cachedir>@@g' \
+        -i chroot-fontconfig/fonts.conf
+
     export FONTCONFIG_FILE=$(pwd)/chroot-fontconfig/fonts.conf
 
     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 
+    sed -e 's@/usr/bin/file@'"$(which file)"'@g' -i foreign/libffi/configure
   '';
 
   configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
@@ -41,25 +50,25 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for p in $(ls $out/bin/) ; do
-      wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}" ;
+      wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}";
     done
   '';
 
   meta = {
-    description = "Programming language derived from Scheme (formerly called PLT Scheme)";
+    description = "A programmable programming language";
     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.
+      Racket is a full-spectrum programming language. It goes beyond
+      Lisp and Scheme with dialects that support objects, types,
+      laziness, and more. Racket enables programmers to link
+      components written in different dialects, and it empowers
+      programmers to create new, project-specific dialects. Racket's
+      libraries support applications from web servers and databases to
+      GUIs and charts.
     '';
 
     homepage = http://racket-lang.org/;
-    license = stdenv.lib.licenses.lgpl2Plus; # and licenses of contained libraries
-    maintainers = [ stdenv.lib.maintainers.kkallio ];
+    license = stdenv.lib.licenses.lgpl3;
+    maintainers = with stdenv.lib.maintainers; [ kkallio henrytill ];
     platforms = stdenv.lib.platforms.linux;
   };
 }