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/compcert/default.nix7
-rw-r--r--pkgs/development/compilers/mlton/default.nix7
-rw-r--r--pkgs/development/compilers/ocaml/3.08.0.nix8
-rw-r--r--pkgs/development/compilers/ocaml/3.10.0.nix3
-rw-r--r--pkgs/development/compilers/ocaml/3.11.2.nix3
-rw-r--r--pkgs/development/compilers/ocaml/3.12.1.nix3
-rw-r--r--pkgs/development/compilers/ocaml/4.00.1.nix4
-rw-r--r--pkgs/development/compilers/ocaml/ber-metaocaml-003.nix4
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix1
-rw-r--r--pkgs/development/compilers/ocaml/metaocaml-3.09.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-construct.sh273
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-linux.nix84
-rw-r--r--pkgs/development/compilers/sbcl/default.nix4
13 files changed, 35 insertions, 372 deletions
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 4957706ea0f8..fb95372a96f7 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -1,7 +1,10 @@
-{ stdenv, fetchurl, coq, ocamlPackages
+{ stdenv, lib, fetchurl
+, coq, ocaml, findlib, menhir
 , tools ? stdenv.cc
 }:
 
+assert lib.versionAtLeast ocaml.version "4.02";
+
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
   version = "2.7.1";
@@ -11,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "1vhbs1fmr9x2imqyd6yfvkbz763jhjfm9wk4nizf9rn1cvxrjqa4";
   };
 
-  buildInputs = [ coq ] ++ (with ocamlPackages; [ ocaml findlib menhir ]);
+  buildInputs = [ coq ocaml findlib menhir ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix
index 9c5ce109b86b..583f6f80137f 100644
--- a/pkgs/development/compilers/mlton/default.nix
+++ b/pkgs/development/compilers/mlton/default.nix
@@ -63,6 +63,8 @@ stdenv.mkDerivation rec {
     substituteInPlace $(pwd)/../${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $(pwd)/../${usr_prefix}/lib/mlton
   '' + stdenv.lib.optionalString stdenv.cc.isClang ''
     sed -i "s_	patch -s -p0 <gdtoa.hide-public-fns.patch_	patch -s -p0 <gdtoa.hide-public-fns.patch\n\tsed -i 's|printf(emptyfmt|printf(\"\"|g' ./gdtoa/arithchk.c_" ./runtime/Makefile
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's|XCFLAGS += -I/usr/local/include -I/sw/include -I/opt/local/include||' ./runtime/Makefile
   '';
 
   preBuild = ''
@@ -83,6 +85,11 @@ stdenv.mkDerivation rec {
     for e in mllex mlyacc ; do
       patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/bin/$e
     done
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    # Patch libgmp linking
+    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile
+    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/bin/mlyacc
+    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/bin/mllex
   '';
 
   doCheck = true;
diff --git a/pkgs/development/compilers/ocaml/3.08.0.nix b/pkgs/development/compilers/ocaml/3.08.0.nix
index 3b0ab46bcd54..4337de702e16 100644
--- a/pkgs/development/compilers/ocaml/3.08.0.nix
+++ b/pkgs/development/compilers/ocaml/3.08.0.nix
@@ -1,10 +1,12 @@
 { stdenv, fetchurl, xlibsWrapper }:
 
-stdenv.mkDerivation {
-  name = "ocaml-3.08.0";
+stdenv.mkDerivation rec {
+  name = "ocaml-${version}";
+  version = "3.08.0";
+
   builder = ./builder.sh;
   src = fetchurl {
-    url = http://tarballs.nixos.org/ocaml-3.08.0.tar.gz;
+    url = "http://tarballs.nixos.org/${name}.tar.gz";
     sha256 = "135g5waj7djzrj0dbc8z1llasfs2iv5asq41jifhldxb4l2b97mx";
   };
   configureScript = ./configure-3.08.0;
diff --git a/pkgs/development/compilers/ocaml/3.10.0.nix b/pkgs/development/compilers/ocaml/3.10.0.nix
index cd18f48ed486..ca21612776f0 100644
--- a/pkgs/development/compilers/ocaml/3.10.0.nix
+++ b/pkgs/development/compilers/ocaml/3.10.0.nix
@@ -2,7 +2,8 @@
 
 stdenv.mkDerivation (rec {
 
-  name = "ocaml-3.10.0";
+  name = "ocaml-${version}";
+  version = "3.10.0";
 
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.10/${name}.tar.bz2";
diff --git a/pkgs/development/compilers/ocaml/3.11.2.nix b/pkgs/development/compilers/ocaml/3.11.2.nix
index c62a8151ef78..df62cd3656b4 100644
--- a/pkgs/development/compilers/ocaml/3.11.2.nix
+++ b/pkgs/development/compilers/ocaml/3.11.2.nix
@@ -8,7 +8,8 @@ in
 
 stdenv.mkDerivation rec {
   
-  name = "ocaml-3.11.2";
+  name = "ocaml-${version}";
+  version = "3.11.2";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.11/${name}.tar.bz2";
diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix
index e14667ce1311..c69554e633a9 100644
--- a/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -8,7 +8,8 @@ in
 
 stdenv.mkDerivation rec {
   
-  name = "ocaml-3.12.1";
+  name = "ocaml-${version}";
+  version = "3.12.1";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.12/${name}.tar.bz2";
diff --git a/pkgs/development/compilers/ocaml/4.00.1.nix b/pkgs/development/compilers/ocaml/4.00.1.nix
index 8ad3620bc737..648ef0d91f9e 100644
--- a/pkgs/development/compilers/ocaml/4.00.1.nix
+++ b/pkgs/development/compilers/ocaml/4.00.1.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  
-  name = "ocaml-4.00.1";
+  name = "ocaml-${version}";
+  version = "4.00.1";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-4.00/${name}.tar.bz2";
diff --git a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
index 6c2bc8cb9ca7..c95d29326a4e 100644
--- a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
+++ b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
@@ -8,7 +8,8 @@ in
 
 stdenv.mkDerivation rec {
   
-  name = "ber-metaocaml-003";
+  name = "ber-metaocaml-${version}";
+  version = "003";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.11/ocaml-3.11.2.tar.bz2";
@@ -66,5 +67,6 @@ stdenv.mkDerivation rec {
       A conservative extension of OCaml with the primitive type of code values,
       and three basic multi-stage expression forms: Brackets, Escape, and Run
     '';
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index f75d6384b905..abded4b66900 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation (args // rec {
   x11inc = x11env + "/include";
 
   inherit name;
+  inherit version;
 
   src = fetchurl {
     url = real_url;
diff --git a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
index 6eca566dd2cd..e9adbeff4904 100644
--- a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
+++ b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
@@ -2,7 +2,8 @@
 
 stdenv.mkDerivation (rec {
 
-  name = "metaocaml-3.09-alpha-30";
+  name = "metaocaml-${version}";
+  version = "3.09-alpha-30";
 
   src = fetchurl {
     url = "http://www.metaocaml.org/dist/old/MetaOCaml_309_alpha_030.tar.gz";
@@ -26,7 +27,8 @@ stdenv.mkDerivation (rec {
   meta = {
     homepage = http://www.metaocaml.org/;
     license = with stdenv.lib.licenses; [ qpl lgpl2 ];
-    desctiption = "A compiled, type-safe, multi-stage programming language";
+    description = "A compiled, type-safe, multi-stage programming language";
+    broken = true;
   };
 
 })
diff --git a/pkgs/development/compilers/oraclejdk/jdk6-construct.sh b/pkgs/development/compilers/oraclejdk/jdk6-construct.sh
deleted file mode 100644
index 16ee0f5a2f04..000000000000
--- a/pkgs/development/compilers/oraclejdk/jdk6-construct.sh
+++ /dev/null
@@ -1,273 +0,0 @@
-#!/bin/bash
-# construct.sh
-# example construction of JRE and JDK directories from the DLJ bundles
-#
-# Copyright © 2006 Sun Microsystems, Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Sun, Sun Microsystems, the Sun logo and Java, Java HotSpot,
-# and JVM  trademarks or registered trademarks of Sun Microsystems,
-# Inc. in the U.S. and other countries.
-
-
-program=`basename $0`
-
-usage () {
-  echo "usage: ${program} path/to/unbundle-jdk path/to/linux-jdk path/to/linux-jre"
-}
-
-getargs() {
-  undir=$1
-  jdkdir=$2
-  jredir=$3
-  if [ ! -d $undir ]; then
-    echo "${program}: unbundle directory not found: $undir"
-    exit 2
-  fi
-  # make sure javahome is the JDK
-  javahome=`echo $undir/*/db/demo`
-  if [ ! -d $javahome ]; then
-    echo "${program}: unbundle directory incorrect: $undir"
-    echo "  expecting $undir/jdk1.5.0_xx"
-    exit 2
-  else
-    javahome=$(dirname $(dirname $javahome))
-  fi
-  # verify JDK dir
-  jdkdirp=`dirname $jdkdir`
-  jdkbase=`basename $jdkdir`
-  if [ ! -d $jdkdirp ]; then
-    echo "${program}: parent directory for JDK does not exist: $jdkdirp"
-    exit 2
-  fi
-  savedir=`pwd`
-  cd $jdkdirp
-  jdkdirp=`pwd`
-  cd $savedir
-  jdkdir=$jdkdirp/$jdkbase
-  # verify JRE dir
-  jredirp=`dirname $jredir`
-  jrebase=`basename $jredir`
-  if [ ! -d $jredirp ]; then
-    echo "${program}: parent directory for JRE does not exist: $jredirp"
-    exit 2
-  fi
-  savedir=`pwd`
-  cd $jredirp
-  jredirp=`pwd`
-  cd $savedir
-  jredir=$jredirp/$jrebase
-}
-
-checkfiles() {
-  if [ -r $jdkdir ]; then
-    echo "${program}: directory for JDK already exists: $jdkdir"
-    exit 2
-  fi
-  if [ -r $jredir ]; then
-    echo "${program}: directory for JRE already exists: $jredir"
-    exit 2
-  fi
-}
-
-copytree() {
-  echo "copying over the JDK tree..."
-  cp -a $javahome $jdkdir
-}
-
-linkrel() {
-  target=$1
-  link=$2
-  # make a softlink from the $link to the $target
-  # make this a relative link
-  targetb=(`echo $target | tr '/' ' '`)
-  linkb=(`echo $link | tr '/' ' '`)
-  (( n = ${#targetb[*]} ))
-  (( m = ${#linkb[*]} ))
-  c=$n  # common length
-  if [ $m -lt $c ]; then
-    (( c = m ))
-  fi
-  for (( i = 0 ; i < c ; i++ )); do
-    if [ ${targetb[$i]} != ${linkb[$i]} ]; then
-      # echo components differ, stopping
-      break
-    fi
-  done
-  rel=""
-  for (( j = i + 1; j < m ; j++ )); do
-    if [ -z $rel ]; then
-      rel=".."
-    else
-      rel="$rel/.."
-    fi
-  done
-  for (( j = i; j < n ; j++ )); do
-    if [ -z $rel ]; then
-      rel=${targetb[$j]}
-    else
-      rel="$rel/${targetb[$j]}"
-    fi
-  done
-  ln -s $rel $link
-}
-
-createjre() {
-  echo "creating JRE directory..."
-  # absolute link
-  # ln -s $jdkdir/jre $jredir
-  # relative link
-  linkrel $jdkdir/jre $jredir
-}
-
-unpackjars() {
-  echo "unpacking jars..."
-  unpack200=$jdkdir/bin/unpack200
-  if [ ! -x $unpack200 ]; then
-    echo "${program}: file missing $unpack200"
-    exit 1
-  fi
-  cd $jdkdir
-  PACKED_JARS=`find . -name '*.pack'`
-  for i in $PACKED_JARS; do
-    # echo $i
-    jdir=`dirname $i`
-    jbase=`basename $i .pack`
-    if ! $unpack200 $jdkdir/$jdir/$jbase.pack $jdkdir/$jdir/$jbase.jar; then
-      echo "${program}: error unpacking $jdkdir/$jdir/$jbase.jar"
-    fi
-    if [ ! -r $jdkdir/$jdir/$jbase.jar ]; then
-      echo "${program}: missing $jdkdir/$jdir/$jbase.jar"
-    else
-      echo "  $jdir/$jbase.jar"
-      # remove pack file
-      rm $jdkdir/$jdir/$jbase.pack
-    fi
-  done
-}
-
-preparecds() {
-  # if this is a client installation...
-  compiler="`$jdkdir/bin/java -client -version 2>&1 | tail -n +3 | cut -d' ' -f1-4`"
-  if [ "X$compiler" = "XJava HotSpot(TM) Client VM" ]; then
-    # create the CDS archive
-    echo "creating the class data sharing archive..."
-    if ! $jdkdir/bin/java -client -Xshare:dump > /dev/null 2>&1; then
-       echo "returned error code $?"
-    fi
-  fi
-}
-
-jreman () {
-  echo "setting up the JRE man pages..."
-  # note this list is slightly different for OpenSolaris bundles
-  jreman=/tmp/jre.man.txt
-cat <<EOF > $jreman
-man/ja_JP.eucJP/man1/java.1
-man/ja_JP.eucJP/man1/javaws.1
-man/ja_JP.eucJP/man1/keytool.1
-man/ja_JP.eucJP/man1/orbd.1
-man/ja_JP.eucJP/man1/pack200.1
-man/ja_JP.eucJP/man1/policytool.1
-man/ja_JP.eucJP/man1/rmid.1
-man/ja_JP.eucJP/man1/rmiregistry.1
-man/ja_JP.eucJP/man1/servertool.1
-man/ja_JP.eucJP/man1/tnameserv.1
-man/ja_JP.eucJP/man1/unpack200.1
-man/man1/java.1
-man/man1/javaws.1
-man/man1/keytool.1
-man/man1/orbd.1
-man/man1/pack200.1
-man/man1/policytool.1
-man/man1/rmid.1
-man/man1/rmiregistry.1
-man/man1/servertool.1
-man/man1/tnameserv.1
-man/man1/unpack200.1
-EOF
-  # create jre/man directory
-  # mkdir $jdkdir/jre/man
-  # move the real JRE man pages to jre/man
-  # link the JDK JRE man pages to jre/man
-  # real JDK man pages stay where they are
-  for m in `cat $jreman`; do
-    manpath=`dirname $jdkdir/jre/$m`
-    mkdir -p $manpath
-    mv $jdkdir/$m $jdkdir/jre/$m
-    linkrel $jdkdir/jre/$m $jdkdir/$m
-  done
-  # link in Japanese man pages
-  ln -s ja_JP.eucJP $jdkdir/jre/man/ja
-  rm $jreman
-}
-
-elimdups() {
-  echo "eliminating duplication between the JDK and JDK/jre..."
-  jdkcomm=/tmp/jdk.bin.comm.txt
-cat <<EOF > $jdkcomm
-bin/ControlPanel
-bin/java
-bin/javaws
-bin/keytool
-bin/orbd
-bin/pack200
-bin/policytool
-bin/rmid
-bin/rmiregistry
-bin/servertool
-bin/tnameserv
-bin/unpack200
-EOF
-  # note there is little point in linking these common files
-  #   COPYRIGHT
-  #   LICENSE
-  #   THIRDPARTYLICENSEREADME.txt
-  # And this file is unique to the JDK
-  #   README.html
-  # And these files are unique to the JDK/jre/
-  #   CHANGES
-  #   README
-  #   Welcome.html
-  for p in `cat $jdkcomm`; do
-    rm $jdkdir/$p
-    # this is a relative link
-    ln -s ../jre/$p $jdkdir/$p
-  done
-  rm $jdkcomm
-}
-
-if [ $# -eq 3 ] ; then
-  getargs $1 $2 $3
-  checkfiles
-  copytree
-  createjre
-  unpackjars
-  preparecds
-  jreman
-  elimdups
-else
-  usage
-  exit 1
-fi
-
-exit 0
-
diff --git a/pkgs/development/compilers/oraclejdk/jdk6-linux.nix b/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
deleted file mode 100644
index 1b33a40635a5..000000000000
--- a/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-{ swingSupport ? true
-, stdenv
-, requireFile
-, unzip
-, makeWrapper
-, xorg ? null
-, installjdk ? true
-, pluginSupport ? true
-, installjce ? false
-}:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-assert swingSupport -> xorg != null;
-
-let
-
-  /**
-   * The JRE libraries are in directories that depend on the CPU.
-   */
-  architecture =
-    if stdenv.system == "i686-linux" then
-      "i386"
-    else if stdenv.system == "x86_64-linux" then
-      "amd64"
-    else
-      abort "jdk requires i686-linux or x86_64 linux";
-
-  jce =
-    if installjce then
-      requireFile {
-        name = "jce_policy-6.zip";
-        url = http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html;
-        sha256 = "0qljzfxbikm8br5k7rkamibp1vkyjrf6blbxpx6hn4k46f62bhnh";
-      }
-    else
-      null;
-in
-
-stdenv.mkDerivation {
-  name =
-    if installjdk then "jdk-1.6.0_45b06" else "jre-1.6.0_45b06";
-
-  src =
-    if stdenv.system == "i686-linux" then
-      requireFile {
-        name = "jdk-6u45-linux-i586.bin";
-        url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
-        sha256 = "0mx3d2qlal5zyz1a7ld1yk2rs8pf9sjxs2jzasais3nq30jmlfym";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      requireFile {
-        name = "jdk-6u45-linux-x64.bin";
-        url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
-        sha256 = "1s0j1pdr6y8c816d9i86rx4zp12nbhmas1rxksp0r53cn7m3ljbb";
-      }
-    else
-      abort "jdk requires i686-linux or x86_64 linux";
-
-  builder = ./dlj-bundle-builder.sh;
-
-  /**
-   * If jdk5 is added, make sure to use the original construct script.
-   * This copy removes references to kinit, klist, ktab, which seem to be
-   * gone in jdk6.
-   */
-  construct = ./jdk6-construct.sh;
-  inherit installjdk;
-
-  buildInputs = [unzip makeWrapper];
-
-  /**
-   * libXt is only needed on amd64
-   */
-  libraries =
-    [stdenv.cc.libc] ++
-    (if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt] else []);
-
-  inherit swingSupport pluginSupport architecture jce;
-  inherit (xorg) libX11;
-
-  mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
-
-  meta.license = stdenv.lib.licenses.unfree;
-}
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 35467080e831..3e660bf5b500 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.3.8";
+  version = "1.3.9";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "0jfhrzsydgxzx0g90bl3fjys0i5biah76lkxjgh16l7h7577y8rh";
+    sha256 = "0vnya755gn1xqjf3crfd1fn9rjzr7p5pjli5mbaxy4wi6za0j3xg";
   };
 
   patchPhase = ''