From 67ee94b2371397ec8a3254b91d66a243cc923fff Mon Sep 17 00:00:00 2001 From: Henry Till Date: Thu, 13 Nov 2014 14:29:44 -0500 Subject: [PATCH] racket: update to 6.1.1 --- .../interpreters/racket/default.nix | 55 +++++++++++-------- 1 file 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@@@' -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; }; }