diff --git a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch index 4de7683dcdd3..830fc3fa7f9a 100644 --- a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch +++ b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch @@ -1,7 +1,7 @@ -diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile ---- pakcs-1.11.2-upstream/Makefile 2013-03-21 04:58:38.000000000 -0430 -+++ pakcs-1.11.2/Makefile 2013-05-09 15:04:48.035646127 -0430 -@@ -55,7 +55,6 @@ +diff -Naur pakcs-1.11.3-upstream/Makefile pakcs-1.11.3/Makefile +--- pakcs-1.11.3-upstream/Makefile 2014-01-31 09:10:03.000000000 -0430 ++++ pakcs-1.11.3/Makefile 2014-02-03 20:27:41.558334480 -0430 +@@ -66,7 +66,6 @@ # .PHONY: install install: installscripts @@ -9,21 +9,20 @@ diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile # pre-compile all libraries: @cd lib && $(MAKE) fcy # install the Curry2Prolog compiler as a saved system: -@@ -66,11 +65,6 @@ - @cd lib && $(MAKE) acy - # prepare for separate compilation by compiling all librariers to Prolog code: - @if [ -r bin/pakcs ] ; then cd lib && $(MAKE) pl ; fi +@@ -105,10 +104,6 @@ + # compile the tools: + .PHONY: tools + tools: - # compile the Curry Port Name Server demon: -- @if [ -r bin/pakcs ] ; then cd cpns && $(MAKE) ; fi +- @if [ -r bin/pakcs ] ; then cd cpns && $(MAKE) ; fi - # compile the event handler demon for dynamic web pages: -- @if [ -r bin/pakcs ] ; then cd www && $(MAKE) ; fi -- $(MAKE) tools - $(MAKE) docs - chmod -R go+rX . +- @if [ -r bin/pakcs ] ; then cd www && $(MAKE) ; fi + @if [ -r bin/pakcs ] ; then cd currytools && $(MAKE) ; fi + @if [ -r bin/pakcs ] ; then cd tools && $(MAKE) ; fi -diff -Naur pakcs-1.11.2-upstream/scripts/pakcs.sh pakcs-1.11.2/scripts/pakcs.sh ---- pakcs-1.11.2-upstream/scripts/pakcs.sh 2013-03-21 04:52:59.000000000 -0430 -+++ pakcs-1.11.2/scripts/pakcs.sh 2013-05-09 03:14:23.500876628 -0430 +diff -Naur pakcs-1.11.3-upstream/scripts/pakcs.sh pakcs-1.11.3/scripts/pakcs.sh +--- pakcs-1.11.3-upstream/scripts/pakcs.sh 2014-01-31 09:04:19.000000000 -0430 ++++ pakcs-1.11.3/scripts/pakcs.sh 2014-02-03 20:20:40.775350116 -0430 @@ -16,7 +16,7 @@ # use readline wrapper rlwrap if it is installed and we have tty as stdin: USERLWRAP=no diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix index bb4657d8afff..a3b80c02545b 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/pkgs/development/compilers/pakcs/default.nix @@ -1,11 +1,12 @@ -{ stdenv, fetchurl, cabal, swiProlog, mtl, syb, makeWrapper, rlwrap, tk }: +{ stdenv, fetchurl, cabal, swiProlog, either, mtl, syb +, glibcLocales, makeWrapper, rlwrap, tk }: let - fname = "pakcs-1.11.2"; + fname = "pakcs-1.11.3"; fsrc = fetchurl { url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz"; - sha256 = "1x23kn91v44my4rd8j3247pj8i2myz82rzgbq07asi1x21bpvvmy"; + sha256 = "006bq6cmycq2f4xb3zmnmxyngj64hppk3a083hy0qzj7gl77zvfw"; }; in @@ -29,12 +30,12 @@ stdenv.mkDerivation rec { sourceRoot = "${name}/frontend/curry-frontend"; isLibrary = true; isExecutable = true; - buildDepends = [ mtl syb curryBase ]; + buildDepends = [ either mtl syb curryBase ]; }); src = fsrc; - buildInputs = [ swiProlog makeWrapper rlwrap tk ]; + buildInputs = [ swiProlog makeWrapper glibcLocales rlwrap tk ]; patches = [ ./adjust-buildsystem.patch ]; @@ -48,6 +49,10 @@ stdenv.mkDerivation rec { ''; preBuild = '' + # Some comments in files are in UTF-8, so include the locale needed by GHC runtime. + export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive + export LC_ALL=en_US.UTF-8 + # Set up link to cymake, which has been built already. ensureDir bin/.local ln -s ${curryFront}/bin/cymake bin/.local/ @@ -65,10 +70,6 @@ stdenv.mkDerivation rec { # Fixing PAKCSHOME and related paths. sed -i 's@PAKCSHOME=/tmp/.*@PAKCSHOME='$out/pakcs'@' $out/pakcs/bin/{pakcs,makecurrycgi,parsecurry,.makesavedstate} - # Fix symbolic links into the tmp build dir. - ln -s ../currytools/CASS/cass $out/pakcs/bin/cass - ln -s ../currytools/currydoc/CurryDoc $out/pakcs/bin/currydoc - # The Prolog sources must be rebuilt in their final directory, # to switch the embedded references to the tmp build directory. export TEMP=/tmp