Merge staging into closure-size
The most complex problems were from dealing with switches reverted in the meantime (gcc5, gmp6, ncurses6). It's likely that darwin is (still) broken nontrivially.
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
{stdenv, buildOcaml, fetchurl, ounit, re, cmdliner}:
|
||||
{ stdenv, buildOcaml, fetchzip, cmdliner, stringext }:
|
||||
|
||||
buildOcaml rec {
|
||||
name = "alcotest";
|
||||
version = "0.3.1";
|
||||
version = "0.4.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/samoht/alcotest/archive/${version}.tar.gz";
|
||||
sha256 = "a0e6c9a33c59b206ecc949655fa6e17bdd1078c8b610b14d8f6f0f1b489b0b43";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/mirage/alcotest/archive/${version}.tar.gz";
|
||||
sha256 = "1wcn9hkjf4cbnrz99w940qfjpi0lvd8v63yxwpnafkff871dwk6k";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ ounit re cmdliner ];
|
||||
propagatedBuildInputs = [ cmdliner stringext ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/samoht/alcotest;
|
||||
homepage = https://github.com/mirage/alcotest;
|
||||
description = "A lightweight and colourful test framework";
|
||||
license = stdenv.lib.licenses.isc;
|
||||
maintainers = [ maintainers.ericbmerritt ];
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
let
|
||||
pname = "cmdliner";
|
||||
version = "0.9.7";
|
||||
version = "0.9.8";
|
||||
ocaml_version = (builtins.parseDrvName ocaml.name).version;
|
||||
in
|
||||
|
||||
assert stdenv.lib.versionAtLeast ocaml_version "4.00";
|
||||
assert stdenv.lib.versionAtLeast ocaml_version "3.12";
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
|
||||
sha256 = "0ymzy1l6z85b6779lfxk179igfpf7rgfik70kr3c7lxmzwy8j6cw";
|
||||
sha256 = "0hdxlkgiwjml9dpaa80282a8350if7mc1m6yz2mrd7gci3fszykx";
|
||||
};
|
||||
|
||||
unpackCmd = "tar xjf $src";
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
||||
name = "ocaml-csv-1.4.1";
|
||||
name = "ocaml-csv-1.4.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = https://github.com/Chris00/ocaml-csv/releases/download/1.4.1/csv-1.4.1.tar.gz;
|
||||
sha256 = "1z38qy92lq8qh91bs70vsv868szainif53a2y6rf47ijdila25j4";
|
||||
url = https://github.com/Chris00/ocaml-csv/releases/download/1.4.2/csv-1.4.2.tar.gz;
|
||||
sha256 = "05s8py2qr3889c72g1q07r15pzch3j66xdphxi2sd93h5lvnpi4j";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ];
|
||||
|
||||
@@ -4,6 +4,8 @@ buildOcaml rec {
|
||||
name = "ctypes";
|
||||
version = "0.4.1";
|
||||
|
||||
minimumSupportedOcamlVersion = "4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ocamllabs/ocaml-ctypes/archive/${version}.tar.gz";
|
||||
sha256 = "74564e049de5d3c0e76ea284c225cb658ac1a2b483345be1efb9be4b3c1702f5";
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp,
|
||||
reactivedata, opam}:
|
||||
|
||||
assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4";
|
||||
|
||||
stdenv.mkDerivation rec
|
||||
{
|
||||
pname = "eliom";
|
||||
|
||||
@@ -4,7 +4,7 @@ let
|
||||
inherit (stdenv.lib) getVersion versionAtLeast;
|
||||
|
||||
pname = "gg";
|
||||
version = "0.9.0";
|
||||
version = "0.9.1";
|
||||
webpage = "http://erratique.ch/software/${pname}";
|
||||
in
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${webpage}/releases/${pname}-${version}.tbz";
|
||||
sha256 = "055pza6jbjjj7wgzf7pbn0ccxw76i8w5b2bcnaz8b9m4x6jaa6gh";
|
||||
sha256 = "0czj41sr8jsivl3z8wyblf9k971j3kx2wc3s0c1nhzcc8allg9i2";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib opam ];
|
||||
|
||||
35
pkgs/development/ocaml-modules/llvm/default.nix
Normal file
35
pkgs/development/ocaml-modules/llvm/default.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ stdenv, python, llvm, ocaml, findlib, ctypes }:
|
||||
|
||||
let version = stdenv.lib.getVersion llvm; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ocaml-llvm-${version}";
|
||||
|
||||
inherit (llvm) src;
|
||||
|
||||
buildInputs = [ python llvm ocaml findlib ctypes ];
|
||||
|
||||
configurePhase = ''
|
||||
mkdir build
|
||||
cd build
|
||||
../configure CC=gcc CXX=g++ --disable-compiler-version-checks --prefix=$out \
|
||||
--disable-doxygen --disable-docs --with-ocaml-libdir=$OCAMLFIND_DESTDIR/llvm \
|
||||
--enable-static
|
||||
'';
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
makeFlags = [ "-C bindings" "SYSTEM_LLVM_CONFIG=llvm-config" ];
|
||||
|
||||
postInstall = ''
|
||||
mv $OCAMLFIND_DESTDIR/llvm/META{.llvm,}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (llvm.meta) license homepage;
|
||||
inherit (ocaml.meta) platforms;
|
||||
description = "OCaml bindings distributed with LLVM";
|
||||
maintainers = with stdenv.lib.maintainers; [ vbgl ];
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{stdenv, fetchzip, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl, libev, pkgconfig, ncurses, ocaml_oasis, ocaml_text, glib, camlp4}:
|
||||
{ stdenv, fetchzip, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl, libev, pkgconfig, ncurses, ocaml_oasis, ocaml_text, glib, camlp4, ppx_tools }:
|
||||
|
||||
let
|
||||
version = "2.4.6";
|
||||
@@ -16,11 +16,12 @@ stdenv.mkDerivation {
|
||||
sha256 = "0idci0zadpb8hmblszsrvg6yf36w5a9y6rsdwjc3jww71dgrw5d9";
|
||||
};
|
||||
|
||||
buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib glib ncurses camlp4];
|
||||
buildInputs = [ ocaml_oasis pkgconfig which cryptopp ocaml findlib glib ncurses camlp4 ppx_tools ];
|
||||
|
||||
propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text libev ];
|
||||
|
||||
configureFlags = [ "--enable-react" "--enable-glib" "--enable-ssl" "--enable-text" "--disable-ppx" ]
|
||||
configureFlags = [ "--enable-react" "--enable-glib" "--enable-ssl" "--enable-text" ]
|
||||
++ [ (if versionAtLeast ocaml_version "4.02" then "--enable-ppx" else "--disable-ppx") ]
|
||||
++ optional (versionAtLeast ocaml_version "4.0" && ! versionAtLeast ocaml_version "4.02") "--enable-toplevel";
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
@@ -1,51 +1,12 @@
|
||||
{stdenv, fetchurl, ocaml, findlib}:
|
||||
{ stdenv, fetchurl, ocaml, findlib
|
||||
, version ? if stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.02" then "20151110" else "20140422"
|
||||
}@args:
|
||||
|
||||
let
|
||||
ocaml_version = (builtins.parseDrvName ocaml.name).version;
|
||||
sha256 =
|
||||
if version == "20140422" then "1ki1f2id6a14h9xpv2k8yb6px7dyw8cvwh39csyzj4qpzx7wia0d"
|
||||
else if version == "20151110" then "12ijr1gd808f79d7k7ji9zg23xr4szayfgvm6njqamh0jnspq70r"
|
||||
else throw ("menhir: unknown version " ++ version);
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "menhir-20140422";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://pauillac.inria.fr/~fpottier/menhir/menhir-20140422.tar.gz;
|
||||
sha256 = "1ki1f2id6a14h9xpv2k8yb6px7dyw8cvwh39csyzj4qpzx7wia0d";
|
||||
};
|
||||
|
||||
buildInputs = [ocaml findlib];
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
preBuild = ''
|
||||
#Fix makefiles.
|
||||
RM=$(type -p rm)
|
||||
CHMOD=$(type -p chmod)
|
||||
ENV=$(type -p env)
|
||||
for f in src/Makefile demos/OMakefile* demos/Makefile* demos/ocamldep.wrapper
|
||||
do
|
||||
substituteInPlace $f \
|
||||
--replace /bin/rm $RM \
|
||||
--replace /bin/chmod $CHMOD \
|
||||
--replace /usr/bin/env $ENV
|
||||
done
|
||||
|
||||
export PREFIX=$out
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://pauillac.inria.fr/~fpottier/menhir/;
|
||||
description = "A LR(1) parser generator for OCaml";
|
||||
longDescription = ''
|
||||
Menhir is a LR(1) parser generator for the Objective Caml programming
|
||||
language. That is, Menhir compiles LR(1) grammar specifications down
|
||||
to OCaml code. Menhir was designed and implemented by François Pottier
|
||||
and Yann Régis-Gianas.
|
||||
'';
|
||||
license = with licenses; [
|
||||
qpl /* generator */
|
||||
lgpl2 /* library */
|
||||
];
|
||||
platforms = ocaml.meta.platforms;
|
||||
maintainers = with maintainers; [ z77z ];
|
||||
};
|
||||
}
|
||||
import ./generic.nix (args // { inherit version sha256; })
|
||||
|
||||
47
pkgs/development/ocaml-modules/menhir/generic.nix
Normal file
47
pkgs/development/ocaml-modules/menhir/generic.nix
Normal file
@@ -0,0 +1,47 @@
|
||||
{ version, sha256, stdenv, fetchurl, ocaml, findlib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "menhir-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pauillac.inria.fr/~fpottier/menhir/menhir-${version}.tar.gz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ];
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
preBuild = ''
|
||||
#Fix makefiles.
|
||||
RM=$(type -p rm)
|
||||
CHMOD=$(type -p chmod)
|
||||
ENV=$(type -p env)
|
||||
for f in src/Makefile demos/OMakefile* demos/Makefile* demos/ocamldep.wrapper
|
||||
do
|
||||
substituteInPlace $f \
|
||||
--replace /bin/rm $RM \
|
||||
--replace /bin/chmod $CHMOD \
|
||||
--replace /usr/bin/env $ENV
|
||||
done
|
||||
|
||||
export PREFIX=$out
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://pauillac.inria.fr/~fpottier/menhir/;
|
||||
description = "A LR(1) parser generator for OCaml";
|
||||
longDescription = ''
|
||||
Menhir is a LR(1) parser generator for the Objective Caml programming
|
||||
language. That is, Menhir compiles LR(1) grammar specifications down
|
||||
to OCaml code. Menhir was designed and implemented by François Pottier
|
||||
and Yann Régis-Gianas.
|
||||
'';
|
||||
license = with licenses; [
|
||||
qpl /* generator */
|
||||
lgpl2 /* library */
|
||||
];
|
||||
platforms = ocaml.meta.platforms;
|
||||
maintainers = with maintainers; [ z77z ];
|
||||
};
|
||||
}
|
||||
33
pkgs/development/ocaml-modules/nocrypto/default.nix
Normal file
33
pkgs/development/ocaml-modules/nocrypto/default.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{ stdenv, fetchzip, ocaml, findlib, cstruct, type_conv, zarith, ounit }:
|
||||
|
||||
let
|
||||
version = "0.5.1";
|
||||
ocaml_version = stdenv.lib.getVersion ocaml;
|
||||
in
|
||||
|
||||
assert stdenv.lib.versionAtLeast ocaml_version "4.01";
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ocaml-nocrypto-${version}";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/mirleft/ocaml-nocrypto/archive/${version}.tar.gz";
|
||||
sha256 = "15gffvixk12ghsfra9amfszd473c8h188zfj03ngvblbdm0d80m0";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib type_conv ounit ];
|
||||
propagatedBuildInputs = [ cstruct zarith ];
|
||||
|
||||
configureFlags = "--enable-tests";
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/mirleft/ocaml-nocrypto;
|
||||
description = "Simplest possible crypto to support TLS";
|
||||
platforms = ocaml.meta.platforms;
|
||||
license = stdenv.lib.licenses.bsd2;
|
||||
maintainers = with stdenv.lib.maintainers; [ vbgl ];
|
||||
};
|
||||
}
|
||||
21
pkgs/development/ocaml-modules/ppx_tools/default.nix
Normal file
21
pkgs/development/ocaml-modules/ppx_tools/default.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{ stdenv, fetchzip, ocaml, findlib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ocaml-ppx_tools-0.99.2";
|
||||
src = fetchzip {
|
||||
url = https://github.com/alainfrisch/ppx_tools/archive/ppx_tools_0.99.2.tar.gz;
|
||||
sha256 = "1m09r2sjcb37i4dyhpbk9n2wxkcvpib6bvairsird91fm9w0vqw7";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ];
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Tools for authors of ppx rewriters";
|
||||
homepage = http://www.lexifi.com/ppx_tools;
|
||||
license = licenses.mit;
|
||||
platforms = ocaml.meta.platforms;
|
||||
maintainers = with maintainers; [ vbgl ];
|
||||
};
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
{stdenv, fetchurl, ocaml, findlib }:
|
||||
{ stdenv, fetchzip, ocaml, findlib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ocaml-twt-0.93.2";
|
||||
name = "ocaml-twt-0.94.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://github.com/mlin/twt/archive/v0.93.2.tar.gz;
|
||||
sha256 = "aec091fbd1e6c4d252cf9664237418b4bc8c7d6b7a17475589be78365397e768";
|
||||
src = fetchzip {
|
||||
url = https://github.com/mlin/twt/archive/v0.94.0.tar.gz;
|
||||
sha256 = "0298gdgzl4cifxnc1d8sbrvz1lkiq5r5ifkq1fparm6gvqywpf65";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ];
|
||||
|
||||
28
pkgs/development/ocaml-modules/x509/default.nix
Normal file
28
pkgs/development/ocaml-modules/x509/default.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{ stdenv, fetchzip, ocaml, findlib, asn1-combinators, nocrypto, ounit }:
|
||||
|
||||
let version = "0.4.0"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ocaml-x509-${version}";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/mirleft/ocaml-x509/archive/${version}.tar.gz";
|
||||
sha256 = "0z4c19y625ipx2anpq25pzly1fdi3cklhk130kriybrczvmd2b29";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ounit ];
|
||||
propagatedBuildInputs = [ asn1-combinators nocrypto ];
|
||||
|
||||
configureFlags = "--enable-tests";
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/mirleft/ocaml-x509;
|
||||
description = "X509 (RFC5280) handling in OCaml";
|
||||
platforms = ocaml.meta.platforms;
|
||||
license = stdenv.lib.licenses.bsd2;
|
||||
maintainers = with stdenv.lib.maintainers; [ vbgl ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user