Merge recent master into staging

Nixpkgs Hydra: ?compare=1157272

TODO: port e22889064f

Conflicts:
	nixos/tests/gnome3_10.nix (auto-solved)
	pkgs/applications/video/aegisub/default.nix
	pkgs/development/libraries/boost/1.55.nix
This commit is contained in:
Vladimír Čunát
2014-11-05 15:00:44 +01:00
288 changed files with 8123 additions and 4307 deletions
@@ -3,7 +3,7 @@
@@ -1,6 +1,6 @@
# Where binaries are installed:
-BINDIR := /usr/local/bin
-BINDIR := `dirname \`which ocamlc\``
+BINDIR := $(out)/bin
####
@@ -1,13 +1,15 @@
{stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving}:
{stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving, camlp4,
cmdliner, tyxml, reactivedata}:
stdenv.mkDerivation {
name = "js_of_ocaml";
name = "js_of_ocaml-2.5";
src = fetchurl {
url = https://github.com/ocsigen/js_of_ocaml/archive/2.2.tar.gz;
sha256 = "1cp81gpvyxgvzxg0vzyl8aa2zvcixp6m433w8zjifrg6vb7lhp97";
url = https://github.com/ocsigen/js_of_ocaml/archive/2.5.tar.gz;
sha256 = "1prm08nf8szmd3p13ysb0yx1cy6lr671bnwsp25iny8hfbs39sjv";
};
buildInputs = [ocaml findlib ocaml_lwt menhir ocsigen_deriving];
buildInputs = [ocaml findlib ocaml_lwt menhir ocsigen_deriving
cmdliner tyxml camlp4 reactivedata];
patches = [ ./Makefile.conf.diff ];
@@ -1,19 +1,23 @@
{stdenv, fetchurl, ocaml, findlib, yojson, menhir}:
{stdenv, fetchurl, ocaml, findlib, yojson, menhir
, withEmacsMode ? false, emacs}:
assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
stdenv.mkDerivation {
name = "merlin-1.7.1";
name = "merlin-2.0";
src = fetchurl {
url = https://github.com/the-lambda-church/merlin/archive/v1.7.1.tar.gz;
sha256 = "c3b60c7b3fddaa2860e0d8ac0d4fed2ed60e319875734c7ac1a93df524c67aff";
url = https://github.com/the-lambda-church/merlin/archive/v2.0.tar.gz;
sha256 = "1khvmncj6gfk9p5wl07gp6ii9csc5s1bcv892lkfpfbnsspis7cp";
};
buildInputs = [ ocaml findlib yojson menhir ];
buildInputs = [ ocaml findlib yojson menhir ]
++ stdenv.lib.optional withEmacsMode emacs;
preConfigure = "mkdir -p $out/bin";
prefixKey = "--prefix ";
configureFlags = stdenv.lib.optional withEmacsMode "--enable-compiled-emacs-mode";
meta = with stdenv.lib; {
description = "An editor-independent tool to ease the development of programs in OCaml";
@@ -2,11 +2,11 @@
ocamlmod, ocamlify, ounit, expect}:
stdenv.mkDerivation {
name = "ocaml-oasis-0.4.4";
name = "ocaml-oasis-0.4.5";
src = fetchurl {
url = http://forge.ocamlcore.org/frs/download.php/1355/oasis-0.4.4.tar.bz2;
sha256 = "1lsnw9f1jh6106kphxg40qp0sia6cbkbb9ahs5y6ifnfkmllkjhj";
url = http://forge.ocamlcore.org/frs/download.php/1475/oasis-0.4.5.tar.gz;
sha256 = "0i1fifzig2slhb07d1djx6i690b8ys0avsx6ssnihisw841sc8v6";
};
createFindlibDestdir = true;
@@ -0,0 +1,25 @@
--- a/Makefile 2012-02-04 01:24:21.000000000 +0000
+++ b/Makefile 2014-10-29 14:42:08.690188302 +0000
@@ -4,6 +4,8 @@
version.ml pipeline.mli pipeline.ml common.mli common.ml \
utils.mli utils.ml ocaml.mli ocaml.ml
+CAMLP4 := $(shell ocamlfind query camlp4)
+
STDBIN = $(shell dirname `which ocamlfind`)
ifndef PREFIX
PREFIX = $(shell dirname $(STDBIN))
@@ -36,11 +38,11 @@
common: version.ml
ocamlc -pp 'camlp4orf -loc _loc' -c \
- -I +camlp4 pa_opt310.ml && \
+ -I $(CAMLP4) pa_opt310.ml && \
cp pa_opt310.cmo pa_opt.cmo && \
cp pa_opt310.cmi pa_opt.cmi
ocamlc -pp 'camlp4orf -loc _loc' -c \
- -I +camlp4 pa_tryfinally310.ml && \
+ -I $(CAMLP4) pa_tryfinally310.ml && \
cp pa_tryfinally310.cmo pa_tryfinally.cmo && \
cp pa_tryfinally310.cmi pa_tryfinally.cmi
@@ -0,0 +1,26 @@
{stdenv, fetchurl, ocaml, findlib, camlp4}:
stdenv.mkDerivation {
name = "ocamlscript-2.0.3";
src = fetchurl {
url = http://mjambon.com/releases/ocamlscript/ocamlscript-2.0.3.tar.gz;
sha256 = "1v1i24gijxwris8w4hi95r9swld6dm7jbry0zp72767a3g5ivlrd";
};
buildInputs = [ ocaml findlib camlp4 ];
patches = [ ./Makefile.patch ];
buildFlags = "PREFIX=$(out)";
installFlags = "PREFIX=$(out)";
preInstall = "mkdir $out/bin";
createFindlibDestdir = true;
meta = with stdenv.lib; {
homepage = http://martin.jambon.free.fr/ocamlscript.html;
license = licenses.boost;
platforms = ocaml.meta.platforms;
description = "Natively-compiled OCaml scripts";
maintainers = [ maintainers.vbgl ];
};
}
@@ -0,0 +1,11 @@
--- opam-1.2.0/src_ext/Makefile 2014-10-15 21:32:13.000000000 -0400
+++ opam-1.2.0/src_ext/Makefile.new 2014-10-29 17:37:00.785365601 -0400
@@ -51,7 +51,7 @@ archives: $(SRC_EXTS:=.download)
[ -e $(notdir $(URL_$*)) ] || $(FETCH) $(URL_$*)
$(MD5CHECK) $(notdir $(URL_$*)) $(MD5_$*)
-%.stamp: %.download
+%.stamp:
mkdir -p tmp
cd tmp && tar xf$(if $(patsubst %.tar.gz,,$(URL_$*)),j,z) ../$(notdir $(URL_$*))
rm -rf $*
@@ -0,0 +1,79 @@
{ stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
# Opam 1.2.0 only works with ocaml >= 3.12.1 according to ./configure
assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
let
srcs = {
cudf = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/file/33593/cudf-0.7.tar.gz";
sha256 = "92c8a9ed730bbac73f3513abab41127d966c9b9202ab2aaffcd02358c030a701";
};
extlib = fetchurl {
url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz";
sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
};
ocaml_re = fetchurl {
url = "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz";
sha256 = "a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f";
};
ocamlgraph = fetchurl {
url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.5.tar.gz";
sha256 = "d167466435a155c779d5ec25b2db83ad851feb42ebc37dca8ffa345ddaefb82f";
};
dose3 = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/file/33677/dose3-3.2.2.tar.gz";
sha256 = "a30a189f9f298ed1de96d7098440c951f3df2c8da626f7f37f38cbfddefc909c";
};
cmdliner = fetchurl {
url = "http://erratique.ch/software/cmdliner/releases/cmdliner-0.9.4.tbz";
sha256 = "ecb65e2cfd984ec07e97a78f334a80cda41fb8f8bb5e37c41fd33e6a0e2e69ef";
};
uutf = fetchurl {
url = "http://erratique.ch/software/uutf/releases/uutf-0.9.3.tbz";
sha256 = "1f364f89b1179e5182a4d3ad8975f57389d45548735d19054845e06a27107877";
};
jsonm = fetchurl {
url = "http://erratique.ch/software/jsonm/releases/jsonm-0.9.1.tbz";
sha256 = "3fd4dca045d82332da847e65e981d8b504883571d299a3f7e71447d46bc65f73";
};
opam = fetchurl {
url = "https://github.com/ocaml/opam/archive/1.2.0.zip";
sha256 = "b78bb9570fbd1dae50583792525a3dd612f8f90db367771fabd7bf4571ba25f7";
};
};
in
stdenv.mkDerivation rec {
name = "opam-1.2.0";
buildInputs = [ unzip curl ncurses ocaml ];
src = srcs.opam;
postUnpack = ''
ln -sv ${srcs.cudf} $sourceRoot/src_ext/${srcs.cudf.name}
ln -sv ${srcs.extlib} $sourceRoot/src_ext/${srcs.extlib.name}
ln -sv ${srcs.ocaml_re} $sourceRoot/src_ext/${srcs.ocaml_re.name}
ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/${srcs.ocamlgraph.name}
ln -sv ${srcs.dose3} $sourceRoot/src_ext/${srcs.dose3.name}
ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/${srcs.cmdliner.name}
ln -sv ${srcs.uutf} $sourceRoot/src_ext/${srcs.uutf.name}
ln -sv ${srcs.jsonm} $sourceRoot/src_ext/${srcs.jsonm.name}
'';
patches = [ ./1.2.0-src_ext-Makefile.patch ];
postConfigure = "make lib-ext";
# Dirty, but apparently ocp-build requires a TERM
makeFlags = ["TERM=screen"];
doCheck = false;
meta = {
maintainers = [ stdenv.lib.maintainers.henrytill ];
description = "A package manager for OCaml";
homepage = "http://opam.ocamlpro.com/";
platforms = stdenv.lib.platforms.all;
};
}