summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/ecl/src-for-default.nix10
-rw-r--r--pkgs/development/compilers/gcc-4.4/default.nix25
-rw-r--r--pkgs/development/compilers/gcc-4.4/pr41818.patch26
-rw-r--r--pkgs/development/compilers/haxe/default.nix174
-rw-r--r--pkgs/development/compilers/jdk/jdk6-linux.nix10
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix36
-rw-r--r--pkgs/development/compilers/mono/default.nix4
-rw-r--r--pkgs/development/compilers/neko/default.nix24
-rw-r--r--pkgs/development/compilers/sbcl/src-for-default.nix10
-rw-r--r--pkgs/development/compilers/scala/default.nix22
-rw-r--r--pkgs/development/compilers/stalin/default.nix9
11 files changed, 251 insertions, 99 deletions
diff --git a/pkgs/development/compilers/ecl/src-for-default.nix b/pkgs/development/compilers/ecl/src-for-default.nix
index bfd9f53ad09..7a90597f5c8 100644
--- a/pkgs/development/compilers/ecl/src-for-default.nix
+++ b/pkgs/development/compilers/ecl/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="10.2.1";
-   name="ecl-10.2.1";
-   hash="1y917ql2dlcg8di1bwhph7zmqaj3c9ywv1iwkdkkfq1ylbn939bj";
-   url="http://downloads.sourceforge.net/ecls/files/ecls/10.2/ecl-${version}.tgz";
-   advertisedUrl="http://downloads.sourceforge.net/ecls/files/ecls/10.2/ecl-10.2.1.tgz";
+   version="10.4.1";
+   name="ecl-10.4.1";
+   hash="0v1wqvvi2zvvmymsgxz7yvqbxf8py6kxani2f4i3bjkayblcypah";
+   url="http://downloads.sourceforge.net/project/ecls/ecls/10.4/ecl-${version}.tar.gz";
+   advertisedUrl="http://downloads.sourceforge.net/project/ecls/ecls/10.4/ecl-10.4.1.tar.gz";
   
   
 }
diff --git a/pkgs/development/compilers/gcc-4.4/default.nix b/pkgs/development/compilers/gcc-4.4/default.nix
index 4307cbc7ccf..d2ba75624db 100644
--- a/pkgs/development/compilers/gcc-4.4/default.nix
+++ b/pkgs/development/compilers/gcc-4.4/default.nix
@@ -57,24 +57,34 @@ let version = "4.4.3";
 
     javaAwtGtk = langJava && gtk != null;
 
-    withCPU = if cross ? cpu then " --with-cpu=${cross.cpu}" else "";
+    /* Cross-gcc settings */
+    gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross;
+    gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross;
+    gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross;
+    withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+    withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+    withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
 
     crossConfigureFlags =
       "--target=${cross.config}" +
-      withCPU +
+      withArch +
+      withCpu +
+      withAbi +
       (if crossStageStatic then
         " --disable-libssp --disable-nls" +
         " --without-headers" +
         " --disable-threads " +
         " --disable-libmudflap " +
         " --disable-libgomp " +
-        " --disable-shared"
+        " --disable-shared" +
+        " --disable-decimal-float" # libdecnumber requires libc
         else
         " --with-headers=${libcCross}/include" +
         " --enable-__cxa_atexit" +
         " --enable-long-long" +
         " --enable-threads=posix" +
-        " --enable-nls"
+        " --enable-nls" +
+        " --disable-decimal-float" # No final libdecnumber (it may work only in 386)
         );
     stageNameAddon = if (crossStageStatic) then "-stage-static" else
       "-stage-final";
@@ -110,7 +120,8 @@ stdenv.mkDerivation ({
     # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
     # target libraries and tools.
     ++ optional langAda ./gnat-cflags.patch
-    ++ optional langVhdl ./ghdl-ortho-cflags.patch;
+    ++ optional langVhdl ./ghdl-ortho-cflags.patch
+    ++ optional (cross != null && cross.arch == "sparc64") ./pr41818.patch;
 
   inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic
     libcCross;
@@ -257,7 +268,9 @@ stdenv.mkDerivation ({
     ];
 
     # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
-    platforms = stdenv.lib.platforms.linux ++ [ "i686-darwin" ];
+    # gnatboot is not available out of linux platforms, so we disable the darwin build
+    # for the gnat (ada compiler).
+    platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false) [ "i686-darwin" ];
   };
 }
 // (if langVhdl then rec {
diff --git a/pkgs/development/compilers/gcc-4.4/pr41818.patch b/pkgs/development/compilers/gcc-4.4/pr41818.patch
new file mode 100644
index 00000000000..98731c46067
--- /dev/null
+++ b/pkgs/development/compilers/gcc-4.4/pr41818.patch
@@ -0,0 +1,26 @@
+From <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818>.  This fixes compilation
+of the sparc64-linux-gnu cross-compiler with shared libraries.
+
+--- trunk/Makefile.in	2010/01/07 19:21:46	155705
++++ trunk/Makefile.in	2010/01/07 19:53:50	155706
+@@ -259,7 +259,7 @@
+ # directories built for the target.
+ TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
+ # This is the list of variables to export in the environment when
+-# configuring subdirectories for the host system.
++# configuring subdirectories for the target system.
+ BASE_TARGET_EXPORTS = \
+ 	$(BASE_EXPORTS) \
+ 	AR="$(AR_FOR_TARGET)"; export AR; \
+@@ -281,7 +281,10 @@
+ 	STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
+ 	WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ 	WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
+-	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
++@if gcc-bootstrap
++	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
++@endif gcc-bootstrap
++	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
+ 
+ RAW_CXX_TARGET_EXPORTS = \
+ 	$(BASE_TARGET_EXPORTS) \
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index 0f1aeddf64b..4bf6390163e 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -3,89 +3,137 @@ args: with args;
 let
 
     src_haxe_swflib = {
-      # REGION AUTO UPDATE:                          { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_swflib-F_01-25-00.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_01-25-00.tar.gz"; sha256 = "ddea39427de23ff58d3b942bbcce2aac7a25dc11ae06ef983653c82614eba9cd"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_swflib-F_23-45-43.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_23-45-43.tar.gz"; sha256 = "a77ce2dda48d28f82b48b96f71404edbf7f58e4c3058b425a473c08d260e0816"; });
       # END
     }.src;
 
     src_haxe_extc = { 
-      # REGION AUTO UPDATE:                          { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_extc-F_01-25-08.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_01-25-08.tar.gz"; sha256 = "ab2100391735d39c93c72b236ec6e9c5cf09461311a7e3a714d867861926ae37"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_extc-F_23-45-44.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_23-45-44.tar.gz"; sha256 = "dd49eb771d52f4d67ca1ebdab1ced9a251dc5799f91896c33bd234690997820f"; });
       # END
     }.src;
 
     src_haxe_extlib_dev = { 
-      # REGION AUTO UPDATE:                          { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_extlib_dev-F_01-25-17.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_01-25-17.tar.gz"; sha256 = "01c3c8afdf47a98320e65c0652492508854ea28ead0437abd17a4228b33c8066"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_extlib_dev-F_23-45-46.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_23-45-46.tar.gz"; sha256 = "0a3566b6119de9063441cecd553248f3bfc00360edd7143f13b3ab0dbc57b310"; });
       # END
     }.src;
 
     src_haxe_xml_light = { 
-      # REGION AUTO UPDATE:                          { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_xml_light-F_01-25-24.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_01-25-24.tar.gz"; sha256 = "7fe244681698995af54085bb2ab873d3dd1ff2fac33aa8e7b00fcbbc50249334"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_xml_light-F_23-45-47.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_23-45-47.tar.gz"; sha256 = "8e1b5a7f1afcb7a6cd8bcac794c3714305ce94a98e989ccf23a38defb6205ed2"; });
       # END
     }.src;
 
     src_haxe_neko_include = { 
-      # REGION AUTO UPDATE:                          { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_neko_include-F_01-25-28.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_01-25-28.tar.gz"; sha256 = "8b642598889cf2fd1f99dfa037eef09b2511d30a8f5a6a75ee02b2e98fa4c6b7"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_neko_include-F_23-45-48.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_23-45-48.tar.gz"; sha256 = "78441ec5a20f25c751afeb46e0ea61db6350794f6c5959264059914682c521a9"; });
       # END
     }.src;
 
+    src_haxe = {
+      # REGION AUTO UPDATE:    { name="haxe-read-only"; type="svn"; url="http://haxe.googlecode.com/svn/trunk"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe-read-only-3207.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-read-only-3207.tar.gz"; sha256 = "2d315ca69fac69674eb562e1349fdebefb0dca4a91eb4ee28371230aaaf60df1"; });
+      # END
+    }.src;
+
+
+    # the HaXe compiler
+    haxe = stdenv.mkDerivation {
+      name = "haxe-cvs";
+
+      buildInputs = [ocaml zlib makeWrapper];
+
+      src = src_haxe;
+
+      inherit zlib;
+
+      buildPhase = ''
+        mkdir -p ocaml/{swflib,extc,extlib-dev,xml-light} neko/libs
+
+        # strange setup. install.ml seems to co the same repo again into haxe directory!
+        tar xfz $src --strip-components=1 -C haxe
+
+        t(){ tar xfz $1 -C $2 --strip-components=2; }
+        t ${src_haxe_swflib} ocaml/swflib
+        t ${src_haxe_extc} ocaml/extc
+        t ${src_haxe_extlib_dev} ocaml/extlib-dev
+        t ${src_haxe_xml_light} ocaml/xml-light
+        t ${src_haxe_neko_include} neko/libs
+
+        sed -e '/download();/d' \
+            -e "s@/usr/lib/@''${zlib}/lib/@g" \
+            doc/install.ml > install.ml
+        
+        ocaml install.ml
+      '';
+
+      # probably rpath should be set properly
+      installPhase = ''
+        ensureDir $out/lib/haxe
+        cp -r bin $out/bin
+        wrapProgram "$out/bin/haxe" \
+          --set "LD_LIBRARY_PATH" $zlib/lib \
+          --set HAXE_LIBRARY_PATH "''${HAXE_LIBRARY_PATH}''${HAXE_LIBRARY_PATH:-:}:$out/lib/haxe/std:."
+        cp -r std $out/lib/haxe/
+      '';
+
+      meta = { 
+        description = "programming language targeting JavaScript, Flash, NekVM, PHP, C++";
+        homepage = http://haxe.org;
+        license = ["GPLv2" "BSD2" /*?*/ ];  # -> docs/license.txt
+        maintainers = [args.lib.maintainers.marcweber];
+        platforms = args.lib.platforms.linux;
+      };
+    };
+
+    # build a tool found in std/tools/${name} source directory
+    # the .hxml files contain a recipe  to cerate a binary.
+    tool = { name, description }: stdenv.mkDerivation {
+
+        inherit name;
+
+        src = src_haxe;
+
+        buildPhase = ''
+          cd std/tools/${name};
+          haxe *.hxml
+          ensureDir $out/bin
+          mv ${name} $out/bin/
+        '';
+
+        buildInputs = [haxe neko];
+
+        dontStrip=1;
+
+        installPhase=":";
+
+        meta = {
+          inherit description;
+          homepage = http://haxe.org;
+          # license = "?"; TODO
+          maintainers = [args.lib.maintainers.marcweber];
+          platforms = args.lib.platforms.linux;
+        };
+
+      };
+
 in
 
-stdenv.mkDerivation {
-  name = "haxe-cvs";
-
-  # REGION AUTO UPDATE:                             { name="haxe"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "haxe"; groups = "haxe_group"; }
-  src= sourceFromHead "haxe-F_01-25-35.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-F_01-25-35.tar.gz"; sha256 = "8e5e5330e2fd7ffbbfe48d40bda03256aefbe30cf1be1d9c9065117b2b179f24"; });
-  # END
-
-  buildInputs = [ocaml zlib makeWrapper];
-
-  inherit zlib;
-
-  buildPhase = ''
-    mkdir -p ocaml/{swflib,extc,extlib-dev,xml-light} neko/libs
-
-    # strange setup. install.ml seems to co the same repo again into haxe directory!
-    tar xfz $src --strip-components=1 -C haxe
-
-    t(){ tar xfz $1 -C $2 --strip-components=2; }
-    t ${src_haxe_swflib} ocaml/swflib
-    t ${src_haxe_extc} ocaml/extc
-    t ${src_haxe_extlib_dev} ocaml/extlib-dev
-    t ${src_haxe_xml_light} ocaml/xml-light
-    t ${src_haxe_neko_include} neko/libs
-
-    sed -e '/download();/d' \
-        -e "s@/usr/lib/@''${zlib}/lib/@g" \
-        doc/install.ml > install.ml
-    
-    ocaml install.ml
-  '';
-
-  # probably rpath should be set properly
-  installPhase = ''
-    ensureDir $out/lib/haxe
-    cp -r bin $out/bin
-    wrapProgram "$out/bin/haxe" \
-      --set "LD_LIBRARY_PATH" $zlib/lib \
-      --set HAXE_LIBRARY_PATH "''${HAXE_LIBRARY_PATH}''${HAXE_LIBRARY_PATH:-:}:$out/lib/haxe/std:."
-    cp -r std $out/lib/haxe/
-  '';
-
-  meta = { 
-    description = "programming language targeting JavaScript, Flash, NekVM, PHP, C++";
-    homepage = http://haxe.org;
-    license = ["GPLv2" "BSD2" /*?*/ ];  # -> docs/license.txt
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
+{
+
+  inherit haxe;
+
+  haxelib = tool {
+    name = "haxelib";
+    description = "haxelib is a HaXe library management tool similar to easyinstall or ruby gems";
   };
+
 }
diff --git a/pkgs/development/compilers/jdk/jdk6-linux.nix b/pkgs/development/compilers/jdk/jdk6-linux.nix
index 4c12e01d70f..ddada14008b 100644
--- a/pkgs/development/compilers/jdk/jdk6-linux.nix
+++ b/pkgs/development/compilers/jdk/jdk6-linux.nix
@@ -13,18 +13,18 @@ assert swingSupport -> xlibs != null;
 
 stdenv.mkDerivation ({
   name =
-    if installjdk then "jdk-1.6.0_16" else "jre-1.6.0_16";
+    if installjdk then "jdk-1.6.0_20" else "jre-1.6.0_20";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = http://download.java.net/dlj/binaries/jdk-6u16-dlj-linux-i586.bin;
-        sha256 = "18syxbfsch7j109qcgjh510yvksbzxawf8ij67mx7p92icgf9ss6";
+        url = http://download.java.net/dlj/binaries/jdk-6u20-dlj-linux-i586.bin;
+        sha256 = "1gjd8y7d0a07lpl6x5j8wgyagf2kspl7xs0xf1k9pd8qzlw17z6v";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = http://download.java.net/dlj/binaries/jdk-6u16-dlj-linux-amd64.bin;
-        sha256 = "1kxk9wp7i5ymcpnp48qxjbkr749nshi068yld4q3rx2s3hvi824k";
+        url = http://download.java.net/dlj/binaries/jdk-6u20-dlj-linux-amd64.bin;
+        sha256 = "124a5lpcqx3nh3n968rvaca0clj4crfmxlgy2db227vllc2jlj0y";
       }
     else
       abort "jdk requires i686-linux or x86_64 linux";
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
new file mode 100644
index 00000000000..629aec850d8
--- /dev/null
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, stdenv }:
+
+let version = "9.0.1"; in
+stdenv.mkDerivation {
+  name = "mit-scheme-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-c-${version}.tar.gz";
+    sha256 = "1g2mifrx0bvag0hlrbk81rkrlm1pbn688zw8b9d2i0sl5g2p1ril";
+  };
+
+  preConfigure = "cd src";
+  buildPhase = "./etc/make-liarc.sh --prefix=$out";
+
+  # XXX: The `check' target doesn't exist.
+  doCheck = false;
+
+  meta = {
+    description = "MIT/GNU Scheme, a native code Scheme compiler";
+
+    longDescription =
+      '' MIT/GNU Scheme is an implementation of the Scheme programming
+         language, providing an interpreter, compiler, source-code debugger,
+         integrated Emacs-like editor, and a large runtime library.  MIT/GNU
+         Scheme is best suited to programming large applications with a rapid
+         development cycle.
+      '';
+
+    homepage = http://www.gnu.org/software/mit-scheme/;
+
+    license = "GPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index 34e12fff18d..fbbaf72fe7d 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -12,6 +12,10 @@ stdenv.mkDerivation {
 
   NIX_LDFLAGS = "-lgcc_s" ;
 
+  # Attempt to fix this error when running "mcs --version":
+  # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image
+  dontStrip = true;
+
   preBuild = "
     makeFlagsArray=(INSTALL=`type -tp install`)
     patchShebangs ./
diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix
index e229bd0db02..ec47d17ba94 100644
--- a/pkgs/development/compilers/neko/default.nix
+++ b/pkgs/development/compilers/neko/default.nix
@@ -14,9 +14,9 @@ composableDerivation {} ( fixed : {
 
   name = "neko-cvs";
 
-  # REGION AUTO UPDATE:           { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; }
-  src= sourceFromHead "neko-F_01-20-32.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_01-20-32.tar.gz"; sha256 = "785449f6df718fe26b6c87a2b7aa3cc587a72e7127582e6300ce966d97d6d16b"; });
+  # REGION AUTO UPDATE:              { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; groups = "haxe_group"; }
+  src = sourceFromHead "neko-F_23-45-39.tar.gz"
+               (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_23-45-39.tar.gz"; sha256 = "fc74720da7a80cc6f0f9ea9842df8a5fa78858f742171365fae66f0b9975d228"; });
   # END
 
   # optionally remove apache mysql like gentoo does?
@@ -28,8 +28,12 @@ composableDerivation {} ( fixed : {
     sed -i \
       -e 's@"/usr/include",@${includes}@' \
       src/tools/install.neko
-    sed -i "s@/usr/local@$out@" Makefile
+    sed -i "s@/usr/local@$out@" Makefile vm/load.c
+    # make sure that nekotools boot finds the neko executable and not our wrapper:
     ensureDir $out/{bin,lib}
+
+    sed -i "s@\"neko\"@\".neko-wrapped\"@" src/tools/nekoboot.neko
+    ln -s ./neko bin/.neko-wrapped
   '';
 
   inherit zlib;
@@ -45,12 +49,18 @@ composableDerivation {} ( fixed : {
   # if stripping was done neko and nekoc would be the same. ?!
   dontStrip = 1;
 
+  # neko-wrapped: nekotools boot has to find it. So don't prefix wrapped executable by "."
   postInstall = ''
-    wrapProgram "$out/bin/nekoc" \
-      --set "LD_LIBRARY_PATH" $out/lib/neko \
+    for prog in nekotools nekoc; do
+      wrapProgram "$out/bin/$prog" \
+        --prefix "LD_LIBRARY_PATH" $out/lib/neko
+    done
   
     wrapProgram "$out/bin/neko" \
-      --set "LD_LIBRARY_PATH" $out/lib/neko \
+      --prefix "LD_LIBRARY_PATH" $out/lib/neko
+
+    # create symlink so that nekotools boot finds not wrapped neko-wrapped executable
+    ln -s  ln -s ../../bin/.neko-wrapped $out/lib/neko
   '';
 
   # TODO make them optional and make them work 
diff --git a/pkgs/development/compilers/sbcl/src-for-default.nix b/pkgs/development/compilers/sbcl/src-for-default.nix
index 2e985f17611..efb90273dc6 100644
--- a/pkgs/development/compilers/sbcl/src-for-default.nix
+++ b/pkgs/development/compilers/sbcl/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="1.0.35";
-   name="sbcl-1.0.35";
-   hash="0iwjaq2a2m2z7ng8sag86vh2l9s2qnw6gv8l0i55qkzpjn9qcb4q";
-   url="http://downloads.sourceforge.net/sbcl/files/sbcl/1.0.35/sbcl-1.0.35-source.tar.bz2";
-   advertisedUrl="http://downloads.sourceforge.net/sbcl/files/sbcl/1.0.35/sbcl-1.0.35-source.tar.bz2";
+   version="1.0.36";
+   name="sbcl-1.0.36";
+   hash="1idshas1zyqdchwv2mhs4x8vzspyr1f1drwinlhynvx35db7in5v";
+   url="http://downloads.sourceforge.net/sbcl/files/sbcl/1.0.36/sbcl-1.0.36-source.tar.bz2";
+   advertisedUrl="http://downloads.sourceforge.net/sbcl/files/sbcl/1.0.36/sbcl-1.0.36-source.tar.bz2";
   
   
 }
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index 6dacef9c1c0..3f824786119 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,22 +1,34 @@
 args: with args;
 
+# at runtime, need jre or jdk
+
 stdenv.mkDerivation rec {
-  name = "scala-2.7.1";
+  name = "scala-2.7.7";
 
   src = fetchurl {
-    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.final.tar.gz";
-    sha256 = "3cad113ed7b84f4f009897f6066bee28459e63a1cf1a6d5d56f10f4d1f9819ec";
+    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.final.tgz";
+    md5 = "5d2294d5aab72fec869c0ba666d28b7e";
   };
 
   installPhase = ''
-    mkdir -p $out
+    ensureDir $out
+    rm bin/*.bat
     mv * $out
-    rm -f $out/bin/*.bat
   '';
 
   phases = "unpackPhase installPhase";
 
   meta = {
     description = "Scala is a general purpose programming language";
+    longDescription = ''
+      Scala is a general purpose programming language designed to express
+      common programming patterns in a concise, elegant, and type-safe way.
+      It smoothly integrates features of object-oriented and functional
+      languages, enabling Java and other programmers to be more productive.
+      Code sizes are typically reduced by a factor of two to three when 
+      compared to an equivalent Java application.
+    '';
+    homepage = http://www.scala-lang.org/;
+    license = "BSD";
   };
 }
diff --git a/pkgs/development/compilers/stalin/default.nix b/pkgs/development/compilers/stalin/default.nix
index 37b7baa4382..acae45626a0 100644
--- a/pkgs/development/compilers/stalin/default.nix
+++ b/pkgs/development/compilers/stalin/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libX11 }:
+{ fetchurl, stdenv, ncompress, libX11 }:
 
 stdenv.mkDerivation rec {
   name = "stalin-0.11";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0lz8riccpigdixwf6dswwva6s4kxaz3dzxhkqhcxgwmffy30vw8s";
   };
 
-  buildInputs = [ libX11 ];
+  buildInputs = [ ncompress libX11 ];
 
   buildPhase = '' ./build '';
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     cp README "$out/doc/${name}"
 
     ensureDir "$out/share/${name}/include"
-    cp include/* "$out/share/${name}/include"
+    cp "include/"* "$out/share/${name}/include"
 
     substituteInPlace "$out/bin/stalin" \
       --replace "$PWD/include/stalin" "$out/share/${name}/include/stalin"
@@ -38,5 +38,8 @@ stdenv.mkDerivation rec {
     homepage = http://www.ece.purdue.edu/~qobi/software.html;
     license = "GPLv2+";
     description = "Stalin, an optimizing Scheme compiler";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }