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@@@' -i chroot-fontconfig/fonts.conf
- echo "
${liberation_ttf}" >> chroot-fontconfig/fonts.conf
+ echo "${freefont_ttf}" >> chroot-fontconfig/fonts.conf
echo "" >> chroot-fontconfig/fonts.conf
+ # remove extraneous directories from temporary fonts.conf
+ sed -e 's@@@g' \
+ -e 's@fonts@@g' \
+ -e 's@~/.fonts@@g' \
+ -e 's@fontconfig@@g' \
+ -e 's@~/.fontconfig@@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;
};
}