From 5986a4d17567cb4cdaa6a70abe7be232619a173b Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Thu, 19 Mar 2009 14:34:16 +0000
Subject: [PATCH] * More cleanup.  Updated to the latest Stratego/XT 0.17.

svn path=/nixpkgs/trunk/; revision=14610
---
 .../compilers/java-front/builder.sh           |  4 --
 .../compilers/java-front/default.nix          | 14 ----
 .../development/compilers/strategoxt/0.16.nix | 54 ++++++++++++---
 .../development/compilers/strategoxt/0.17.nix | 65 ++++++++++++++++---
 .../compilers/strategoxt/builder.sh           |  4 --
 .../libraries/stratego-libraries-0.17pre.nix  | 19 ------
 .../utils/strategoxt-utils-0.16.nix           | 12 ----
 pkgs/development/tools/parsing/sdf/builder.sh |  5 --
 .../development/tools/parsing/sdf/default.nix |  1 -
 .../tools/parsing/sdf/sdf2-bundle-2.2.nix     | 14 ----
 .../tools/parsing/sdf/sdf2-bundle-2.3.3.nix   | 12 ----
 .../tools/parsing/sdf/sdf2-bundle-2.4.nix     | 12 ----
 pkgs/top-level/all-packages.nix               | 53 +++------------
 13 files changed, 111 insertions(+), 158 deletions(-)
 delete mode 100644 pkgs/development/compilers/java-front/builder.sh
 delete mode 100644 pkgs/development/compilers/java-front/default.nix
 delete mode 100644 pkgs/development/compilers/strategoxt/builder.sh
 delete mode 100644 pkgs/development/compilers/strategoxt/libraries/stratego-libraries-0.17pre.nix
 delete mode 100644 pkgs/development/compilers/strategoxt/utils/strategoxt-utils-0.16.nix
 delete mode 100644 pkgs/development/tools/parsing/sdf/builder.sh
 delete mode 100644 pkgs/development/tools/parsing/sdf/default.nix
 delete mode 100644 pkgs/development/tools/parsing/sdf/sdf2-bundle-2.2.nix
 delete mode 100644 pkgs/development/tools/parsing/sdf/sdf2-bundle-2.3.3.nix
 delete mode 100644 pkgs/development/tools/parsing/sdf/sdf2-bundle-2.4.nix

diff --git a/pkgs/development/compilers/java-front/builder.sh b/pkgs/development/compilers/java-front/builder.sh
deleted file mode 100644
index 0177abcccea2..000000000000
--- a/pkgs/development/compilers/java-front/builder.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-source $stdenv/setup
-
-configureFlags="--with-aterm=$aterm --with-sdf=$sdf --with-strategoxt=$strategoxt"
-genericBuild
diff --git a/pkgs/development/compilers/java-front/default.nix b/pkgs/development/compilers/java-front/default.nix
deleted file mode 100644
index fc60e72a5627..000000000000
--- a/pkgs/development/compilers/java-front/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, aterm, sdf, strategoxt, pkgconfig}:
-
-stdenv.mkDerivation {
-  name = "java-front-0.9";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://buildfarm.st.ewi.tudelft.nl/releases/strategoxt/java-front-0.9pre17376-qi43zwhy/java-front-0.9pre17376.tar.gz;
-    md5 = "fec70158b110c77a2e5db29676438029";
-  };
-
-  inherit aterm sdf strategoxt;
-  buildInputs = [pkgconfig aterm sdf strategoxt];
-}
diff --git a/pkgs/development/compilers/strategoxt/0.16.nix b/pkgs/development/compilers/strategoxt/0.16.nix
index e87afc3bdc04..5795787c06a7 100644
--- a/pkgs/development/compilers/strategoxt/0.16.nix
+++ b/pkgs/development/compilers/strategoxt/0.16.nix
@@ -1,15 +1,51 @@
-{stdenv, fetchurl, aterm, sdf, pkgconfig}:
+{stdenv, fetchurl, aterm, pkgconfig, getopt}:
 
-stdenv.mkDerivation {
+rec {
 
-  name = "strategoxt-0.16";
-  builder = ./builder.sh;
+  inherit aterm;
+  
 
-  src = fetchurl {
-    url = http://nix.cs.uu.nl/dist/stratego/strategoxt-0.16/strategoxt-0.16.tar.gz;
-    md5 = "8b8eabbd785faa84ec20134b63d4829e";
+  sdf = stdenv.mkDerivation rec {
+    name = "sdf2-bundle-2.3.3";
+
+    src = fetchurl {
+      url = ftp://ftp.stratego-language.org/pub/stratego/sdf2/sdf2-bundle-2.3.3/sdf2-bundle-2.3.3.tar.gz;
+      md5 = "62ecabe5fbb8bbe043ee18470107ef88";
+    };
+
+    buildInputs = [pkgconfig aterm getopt];
+
+    preConfigure = ''
+      substituteInPlace pgen/src/sdf2table.src \
+        --replace getopt ${getopt}/bin/getopt
+    '';
+
+    configureFlags = "--disable-static";
+
+    meta = {
+      homepage = http://www.program-transformation.org/Sdf/SdfBundle;
+      meta = "Tools for the SDF2 Syntax Definition Formalism, including the `pgen' parser generator and `sglr' parser";
+    };
   };
 
-  inherit aterm sdf;
-  buildInputs = [pkgconfig aterm sdf];
+  
+  strategoxt = stdenv.mkDerivation {
+    name = "strategoxt-0.16";
+
+    src = fetchurl {
+      url = ftp://ftp.strategoxt.org/pub/stratego/StrategoXT/strategoxt-0.16/strategoxt-0.16.tar.gz;
+      md5 = "8b8eabbd785faa84ec20134b63d4829e";
+    };
+
+    buildInputs = [pkgconfig aterm sdf getopt];
+
+    configureFlags = "--disable-static";
+
+    meta = {
+      homepage = http://strategoxt.org/;
+      meta = "A language and toolset for program transformation";
+    };
+  };
+  
+    
 }
diff --git a/pkgs/development/compilers/strategoxt/0.17.nix b/pkgs/development/compilers/strategoxt/0.17.nix
index fa56d6e35e63..0d9e64e267af 100644
--- a/pkgs/development/compilers/strategoxt/0.17.nix
+++ b/pkgs/development/compilers/strategoxt/0.17.nix
@@ -1,15 +1,62 @@
-{stdenv, fetchurl, aterm, sdf, pkgconfig}:
+{stdenv, fetchurl, aterm, pkgconfig, getopt}:
 
-stdenv.mkDerivation {
+rec {
 
-  name = "strategoxt-0.17";
-  builder = ./builder.sh;
+  inherit aterm;
 
-  src = fetchurl {
-    url = http://buildfarm.st.ewi.tudelft.nl/releases/strategoxt/strategoxt-0.17M3pre17099/strategoxt-0.17M3pre17099.tar.gz;
-    md5 = "fc9bc3cb6d80bfa6ee1fadd2dd828c72";
+  
+  sdf = stdenv.mkDerivation rec {
+    name = "sdf2-bundle-2.4pre212034";
+
+    src = fetchurl {
+      url = "http://releases.strategoxt.org/strategoxt-0.17/sdf2-bundle/${name}-37nm9z7p/sdf2-bundle-2.4.tar.gz";
+      sha256 = "2ec83151173378f48a3326e905d11049d094bf9f0c7cff781bc2fce0f3afbc11";
+    };
+
+    buildInputs = [pkgconfig aterm];
+
+    preConfigure = ''
+      substituteInPlace pgen/src/sdf2table.src \
+        --replace getopt ${getopt}/bin/getopt
+    '';
+
+    configureFlags = "--disable-static";
+
+    meta = {
+      homepage = http://www.program-transformation.org/Sdf/SdfBundle;
+      meta = "Tools for the SDF2 Syntax Definition Formalism, including the `pgen' parser generator and `sglr' parser";
+    };
   };
 
-  inherit aterm sdf;
-  buildInputs = [pkgconfig aterm sdf];
+  
+  strategoxt = stdenv.mkDerivation rec {
+    name = "strategoxt-0.17pre18269";
+
+    src = fetchurl {
+      url = "http://releases.strategoxt.org/strategoxt/${name}-a0f0wy0j/${name}.tar.gz";
+      sha256 = "7c51c2452bd45f34cd480b6b3cbaac50e0fc53fbb1a884d97cf4e2c2b5330577";
+    };
+
+    buildInputs = [pkgconfig aterm sdf getopt];
+
+    configureFlags = "--disable-static";
+
+    meta = {
+      homepage = http://strategoxt.org/;
+      meta = "A language and toolset for program transformation";
+    };
+  };
+
+
+  /*
+  libraries = ... {
+    configureFlags =
+      if stdenv ? isMinGW && stdenv.isMinGW then "--with-std=C99" else "";
+
+    # avoids loads of warnings about too big description fields because of a broken debug format
+    CFLAGS =
+      if stdenv ? isMinGW && stdenv.isMinGW then "-O2" else null;
+  };
+  */
+  
 }
diff --git a/pkgs/development/compilers/strategoxt/builder.sh b/pkgs/development/compilers/strategoxt/builder.sh
deleted file mode 100644
index da02ebcb5e92..000000000000
--- a/pkgs/development/compilers/strategoxt/builder.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-source $stdenv/setup
-
-configureFlags="--with-aterm=$aterm --with-sdf=$sdf"
-genericBuild
diff --git a/pkgs/development/compilers/strategoxt/libraries/stratego-libraries-0.17pre.nix b/pkgs/development/compilers/strategoxt/libraries/stratego-libraries-0.17pre.nix
deleted file mode 100644
index 89e26542f498..000000000000
--- a/pkgs/development/compilers/strategoxt/libraries/stratego-libraries-0.17pre.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{stdenv, fetchurl, pkgconfig, aterm}:
-
-stdenv.mkDerivation {
-  name = "stratego-libraries-0.17";
-  src =
-    fetchurl {
-      url = http://www.cs.uu.nl/people/martin/stratego-libraries.tar.gz;
-      md5 = "e99ce18179400c8ef373e8e668a4c576";
-    };
-
-  buildInputs = [pkgconfig aterm];
-
-  configureFlags =
-    if stdenv ? isMinGW && stdenv.isMinGW then "--with-std=C99" else "";
-
-  # avoids loads of warnings about too big description fields because of a broken debug format
-  CFLAGS =
-    if stdenv ? isMinGW && stdenv.isMinGW then "-O2" else null;
-}
diff --git a/pkgs/development/compilers/strategoxt/utils/strategoxt-utils-0.16.nix b/pkgs/development/compilers/strategoxt/utils/strategoxt-utils-0.16.nix
deleted file mode 100644
index fa4aac54ba69..000000000000
--- a/pkgs/development/compilers/strategoxt/utils/strategoxt-utils-0.16.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{stdenv, fetchurl, aterm, sdf, strategoxt, pkgconfig}:
-
-stdenv.mkDerivation {
-  name = "strategoxt-utils-0.16";
-  src = fetchurl {
-    url = http://nix.cs.uu.nl/dist/stratego/strategoxt-utils-0.16/strategoxt-utils-0.16.tar.gz;
-    md5 = "a118d67e7a2f1eb61f0cfccbe61aa509";
-  };
-
-  inherit aterm sdf;
-  buildInputs = [pkgconfig aterm sdf strategoxt];
-}
diff --git a/pkgs/development/tools/parsing/sdf/builder.sh b/pkgs/development/tools/parsing/sdf/builder.sh
deleted file mode 100644
index 083b2be77964..000000000000
--- a/pkgs/development/tools/parsing/sdf/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup
-
-configureFlags="--with-aterm=$aterm"
-
-genericBuild
\ No newline at end of file
diff --git a/pkgs/development/tools/parsing/sdf/default.nix b/pkgs/development/tools/parsing/sdf/default.nix
deleted file mode 100644
index 02c0fe8579b1..000000000000
--- a/pkgs/development/tools/parsing/sdf/default.nix
+++ /dev/null
@@ -1 +0,0 @@
-import ./sdf2-bundle-2.3.3.nix
diff --git a/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.2.nix b/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.2.nix
deleted file mode 100644
index 46dcefd0eaaa..000000000000
--- a/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.2.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, aterm, getopt}:
-
-stdenv.mkDerivation {
-  name = "sdf2-bundle-2.2";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = ftp://ftp.stratego-language.org/pub/stratego/sdf2/sdf2-bundle-2.2.tar.gz;
-    md5 = "995a1739134615b60b1fe796d6c9d0e6";
-  };
-
-  buildInputs = [aterm];
-  propagatedBuildInputs = [getopt];
-  inherit aterm;
-}
diff --git a/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.3.3.nix b/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.3.3.nix
deleted file mode 100644
index c2620b561abe..000000000000
--- a/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.3.3.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{stdenv, fetchurl, aterm, getopt, pkgconfig}:
-
-stdenv.mkDerivation {
-  name = "sdf2-bundle-2.3.3";
-  src = fetchurl {
-    url = ftp://ftp.stratego-language.org/pub/stratego/sdf2/sdf2-bundle-2.3.3/sdf2-bundle-2.3.3.tar.gz;
-    md5 = "62ecabe5fbb8bbe043ee18470107ef88";
-  };
-
-  buildInputs = [aterm pkgconfig];
-  propagatedBuildInputs = [getopt];
-}
diff --git a/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.4.nix b/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.4.nix
deleted file mode 100644
index 7d62d7430700..000000000000
--- a/pkgs/development/tools/parsing/sdf/sdf2-bundle-2.4.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{stdenv, fetchurl, aterm, getopt, pkgconfig}:
-
-stdenv.mkDerivation {
-  name = "sdf2-bundle-2.4";
-  src = fetchurl {
-    url = http://buildfarm.st.ewi.tudelft.nl/releases/meta-environment/sdf2-bundle-2.4pre212034-2nspl1xc/sdf2-bundle-2.4.tar.gz;
-    md5 = "00107bef17d3fb8486575f8974fb384b";
-  };
-
-  buildInputs = [aterm pkgconfig];
-  propagatedBuildInputs = [getopt];
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9ec5df0469b9..c1ece39be2cf 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -449,7 +449,8 @@ let
   };
 
   bibtextools = import ../tools/typesetting/bibtex-tools {
-    inherit fetchurl stdenv aterm tetex hevea sdf strategoxt;
+    inherit fetchurl stdenv aterm tetex hevea;
+    inherit (strategoPackages016) strategoxt sdf;
   };
 
   bittorrent = import ../tools/networking/p2p/bittorrent {
@@ -1825,13 +1826,6 @@ let
     inherit gmp;
   };
 
-  javafront = import ../development/compilers/java-front {
-    inherit stdenv fetchurl pkgconfig;
-    sdf = sdf24;
-    aterm = aterm25;
-    strategoxt = strategoxt017;
-  };
-
   #TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test
   # commented out because it's using the new configuration style proposal which is unstable
   hugs = import ../development/compilers/hugs {
@@ -1965,25 +1959,15 @@ let
     inherit (xlibs) libX11;
   };
 
-  strategoLibraries = import ../development/compilers/strategoxt/libraries/stratego-libraries-0.17pre.nix {
-    inherit stdenv fetchurl pkgconfig aterm;
-  };
+  strategoPackages = strategoPackages017;
 
-  strategoxt = strategoxt017;
-
-  strategoxt016 = import ../development/compilers/strategoxt/0.16.nix {
-    inherit fetchurl pkgconfig sdf aterm;
+  strategoPackages016 = import ../development/compilers/strategoxt/0.16.nix {
+    inherit fetchurl pkgconfig aterm getopt;
     stdenv = overrideInStdenv stdenv [gnumake380];
   };
 
-  strategoxt017 = import ../development/compilers/strategoxt/0.17.nix {
-    inherit fetchurl stdenv pkgconfig;
-    sdf = sdf24;
-    aterm = aterm25;
-  };
-
-  strategoxtUtils = import ../development/compilers/strategoxt/utils {
-    inherit fetchurl pkgconfig stdenv aterm sdf strategoxt;
+  strategoPackages017 = import ../development/compilers/strategoxt/0.17.nix {
+    inherit fetchurl stdenv pkgconfig aterm getopt;
   };
 
   swiProlog = composedArgsAndFun (selectVersion ../development/compilers/swi-prolog "5.6.51") {
@@ -1999,10 +1983,8 @@ let
   };
 
   webdsl = import ../development/compilers/webdsl {
-    inherit stdenv fetchurl pkgconfig javafront;
-    aterm = aterm25;
-    sdf = sdf24;
-    strategoxt = strategoxt017;
+    inherit stdenv fetchurl pkgconfig;
+    strategoPackages = strategoPackages017;
   };
 
   win32hello = import ../development/compilers/visual-c++/test {
@@ -2577,21 +2559,6 @@ let
     inherit fetchurl stdenv python makeWrapper;
   };
 
-  sdf = import ../development/tools/parsing/sdf {
-    inherit fetchurl aterm getopt pkgconfig;
-    # Note: sdf2-bundle currently requires GNU make 3.80; remove
-    # explicit dependency when this is fixed.
-    stdenv = overrideInStdenv stdenv [gnumake380];
-  };
-
-  sdf24 = import ../development/tools/parsing/sdf/sdf2-bundle-2.4.nix {
-    inherit fetchurl getopt pkgconfig;
-    aterm = aterm25;
-    # Note: sdf2-bundle currently requires GNU make 3.80; remove
-    # explicit dependency when this is fixed.
-    stdenv = overrideInStdenv stdenv [gnumake380];
-  };
-
   sloccount = import ../development/tools/misc/sloccount {
     inherit fetchurl stdenv perl;
   };
@@ -2716,7 +2683,7 @@ let
     inherit fetchurl stdenv aspell which;
   });
 
-  aterm = aterm28;
+  aterm = aterm25;
 
   aterm242fixes = import ../development/libraries/aterm/2.4.2-fixes.nix {
     inherit fetchurl stdenv;