The PAKCS compiler version 1.11.2 expression was not building (I think due to
incompatibility with SWI Prolog 6.6), the attached patch advances the version
to the latest 1.11.3 and gets it to build again.
>From b4e9f5ab5e28323e023663a888a77cde1e9ce997 Mon Sep 17 00:00:00 2001
From: Karn Kallio <[email protected]>
Date: Mon, 3 Feb 2014 22:40:23 -0430
Subject: [PATCH] pakcs: advance version to 1.11.3, which is compatible with
SWI Prolog 6.6
---
.../compilers/pakcs/adjust-buildsystem.patch | 31 +++++++++++-----------
pkgs/development/compilers/pakcs/default.nix | 19 ++++++-------
2 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
index 4de7683..830fc3f 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 bb4657d..a3b80c0 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
--
1.8.5.2
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev