diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 5077ac233f2d..e5a199e2181d 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -145,6 +145,7 @@ malyn = "Michael Alyn Miller "; manveru = "Michael Fellinger "; marcweber = "Marc Weber "; + maurer = "Matthew Maurer "; matejc = "Matej Cotman "; matthiasbeyer = "Matthias Beyer "; mbakke = "Marius Bakke "; diff --git a/pkgs/development/ocaml-modules/bitstring/2.0.4.nix b/pkgs/development/ocaml-modules/bitstring/2.0.4.nix new file mode 100644 index 000000000000..da4bcdcb527a --- /dev/null +++ b/pkgs/development/ocaml-modules/bitstring/2.0.4.nix @@ -0,0 +1,25 @@ +{stdenv, fetchurl, buildOcaml, time}: + +buildOcaml rec { + name = "bitstring"; + version = "2.0.4"; + src = fetchurl { + url = "http://bitstring.googlecode.com/files/ocaml-bitstring-${version}.tar.gz"; + sha256 = "0mapzn2ls5qcrzjm1az50lqjj76ldkmz4fbv2phc9w6smab50qy5"; + }; + + patches = [ ./camlp4.patch ./meta.patch ]; + + buildInputs = [time]; + doCheck = true; + + createFindlibDestdir = true; + hasSharedObjects = true; + + meta = with stdenv.lib; { + description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml."; + homepage = http://code.google.com/p/bitstring/; + license = licenses.lgpl21Plus; + maintainers = [ maintainers.maurer ]; + }; +} diff --git a/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch b/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch new file mode 100644 index 000000000000..24d2e362dfac --- /dev/null +++ b/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch @@ -0,0 +1,44 @@ +diff --git a/Makefile.in b/Makefile.in +index d040f4c..cc1a8f5 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -40,7 +40,7 @@ pkg_extlib = @OCAML_PKG_extlib@ + enable_coverage = @enable_coverage@ + + OCAMLCFLAGS = -g +-OCAMLCPACKAGES = ++OCAMLCPACKAGES = -package camlp4 + OCAMLCLIBS = -linkpkg + OCAMLOPTFLAGS = $(OCAMLCFLAGS) + OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) +@@ -110,12 +110,13 @@ bitstring_persistent.cmi: bitstring_persistent.mli + -I +camlp4 -pp camlp4of -c $< + + pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma +- $(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ ++ $(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \ ++ bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ + -pp camlp4of -c $< -o $@ + + bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma + $(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \ +- $(OCAMLCFLAGS) $(OCAMLCLIBS) \ ++ $(OCAMLCFLAGS) $(OCAMLCLIBS) $(OCAMLCPACKAGES) \ + bitstring.cma bitstring_persistent.cma \ + $< -o $@ + +@@ -158,12 +159,13 @@ tests/test.bmpp: create_test_pattern + + create_test_pattern: create_test_pattern.cmo + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ +- unix.cma -I +camlp4 dynlink.cma camlp4lib.cma \ ++ unix.cma -I `ocamlfind query camlp4` dynlink.cma camlp4lib.cma \ + $(OCAMLCLIBS) \ + -I . bitstring.cma bitstring_persistent.cma $< -o $@ + + create_test_pattern.cmo: create_test_pattern.ml + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ ++ $(OCAMLCPACKAGES) \ + unix.cma -I +camlp4 \ + -I . -c $< -o $@ + diff --git a/pkgs/development/ocaml-modules/bitstring/camlp4.patch b/pkgs/development/ocaml-modules/bitstring/camlp4.patch new file mode 100644 index 000000000000..920c78007bb0 --- /dev/null +++ b/pkgs/development/ocaml-modules/bitstring/camlp4.patch @@ -0,0 +1,84 @@ +diff -rupN ocaml-bitstring-2.0.4.orig/camlp4.patch ocaml-bitstring-2.0.4/camlp4.patch +--- ocaml-bitstring-2.0.4.orig/camlp4.patch 1970-01-01 00:00:00.000000000 +0000 ++++ ocaml-bitstring-2.0.4/camlp4.patch 2015-06-10 18:06:54.016000000 +0000 +@@ -0,0 +1,31 @@ ++--- Makefile.in 2015-06-10 20:05:26.603000000 +0200 +++++ ../bs-old/Makefile.in 2013-05-14 17:42:32.000000000 +0200 ++@@ -40,10 +40,10 @@ ++ enable_coverage = @enable_coverage@ ++ ++ OCAMLCFLAGS = -g ++-OCAMLCPACKAGES = -package camlp4 +++OCAMLCPACKAGES = ++ OCAMLCLIBS = -linkpkg ++ OCAMLOPTFLAGS = ++-OCAMLOPTPACKAGES = -package camlp4 +++OCAMLOPTPACKAGES = ++ OCAMLOPTLIBS = -linkpkg ++ ++ ifneq ($(enable_coverage),no) ++@@ -110,13 +110,12 @@ ++ -I +camlp4 -pp camlp4of -c $< ++ ++ pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma ++- $(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \ ++- bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ +++ $(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ ++ -pp camlp4of -c $< -o $@ ++ ++ bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma ++ $(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \ ++- $(OCAMLCPACKAGES) $(OCAMLCLIBS) \ +++ $(OCAMLCLIBS) \ ++ bitstring.cma bitstring_persistent.cma \ ++ $< -o $@ ++ +diff -rupN ocaml-bitstring-2.0.4.orig/Makefile.in ocaml-bitstring-2.0.4/Makefile.in +--- ocaml-bitstring-2.0.4.orig/Makefile.in 2013-05-14 15:42:32.000000000 +0000 ++++ ocaml-bitstring-2.0.4/Makefile.in 2015-06-25 20:05:52.759000000 +0000 +@@ -40,10 +40,10 @@ pkg_extlib = @OCAML_PKG_extlib@ + enable_coverage = @enable_coverage@ + + OCAMLCFLAGS = -g +-OCAMLCPACKAGES = ++OCAMLCPACKAGES = -package camlp4 + OCAMLCLIBS = -linkpkg + OCAMLOPTFLAGS = +-OCAMLOPTPACKAGES = ++OCAMLOPTPACKAGES = -package camlp4 + OCAMLOPTLIBS = -linkpkg + + ifneq ($(enable_coverage),no) +@@ -110,12 +110,13 @@ bitstring_persistent.cmi: bitstring_pers + -I +camlp4 -pp camlp4of -c $< + + pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma +- $(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ ++ $(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \ ++ bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ + -pp camlp4of -c $< -o $@ + + bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma + $(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \ +- $(OCAMLCLIBS) \ ++ $(OCAMLCPACKAGES) $(OCAMLCLIBS) \ + bitstring.cma bitstring_persistent.cma \ + $< -o $@ + +@@ -158,13 +159,13 @@ tests/test.bmpp: create_test_pattern + + create_test_pattern: create_test_pattern.cmo + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ +- unix.cma -I +camlp4 dynlink.cma camlp4lib.cma \ +- $(OCAMLCLIBS) \ ++ unix.cma -I `$(OCAMLFIND) query camlp4` dynlink.cma camlp4lib.cma \ ++ $(OCAMLCLIBS) $(OCAMLCPACKAGES) \ + -I . bitstring.cma bitstring_persistent.cma $< -o $@ + + create_test_pattern.cmo: create_test_pattern.ml + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ +- unix.cma -I +camlp4 \ ++ unix.cma -I `$(OCAMLFIND) query camlp4` $(OCAMLCPACKAGES) \ + -I . -c $< -o $@ + + # Coverage of tests. diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix new file mode 100644 index 000000000000..b612ec1c0bdb --- /dev/null +++ b/pkgs/development/ocaml-modules/bitstring/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchgit, buildOcaml, time, autoconf, automake}: + +buildOcaml rec { + name = "bitstring"; + version = "f1673f8"; + src = fetchgit { + url = "https://code.google.com/p/bitstring/"; + rev = "f1673f8"; + sha256 = "1lh97qf1b7mq64pxkphr2w91ri5hfwg58cpjb2xd8a453c9jylw4"; + }; + + patches = [ ./camlp4-git.patch ./meta.patch ]; + + buildInputs = [time autoconf automake]; + doCheck = true; + + createFindlibDestdir = true; + hasSharedObjects = true; + + preConfigure = "./bootstrap; echo breakhash"; + + meta = with stdenv.lib; { + description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml."; + homepage = http://code.google.com/p/bitstring/; + license = licenses.lgpl21Plus; + maintainers = [ maintainers.maurer ]; + }; +} diff --git a/pkgs/development/ocaml-modules/bitstring/meta.patch b/pkgs/development/ocaml-modules/bitstring/meta.patch new file mode 100644 index 000000000000..78f44cbe15f5 --- /dev/null +++ b/pkgs/development/ocaml-modules/bitstring/meta.patch @@ -0,0 +1,15 @@ +diff -rupN ocaml-bitstring-2.0.4/META.in ocaml-bitstring-2.0.4.new/META.in +--- ocaml-bitstring-2.0.4/META.in 2013-05-14 17:42:32.000000000 +0200 ++++ ocaml-bitstring-2.0.4.new/META.in 2015-06-11 17:26:11.674000000 +0200 +@@ -15,8 +15,8 @@ package "persistent" ( + + package "syntax" ( + version = "@PACKAGE_VERSION@" +- requires = "camlp4" ++ requires = "camlp4, bitstring.persistent, bitstring" + description = "Syntax extension: bitstring operators" +- archive(syntax,preprocessor) = "-parser o -parser op -printer p unix.cma bitstring.cma bitstring_persistent.cma pa_bitstring.cmo" +- archive(syntax,toploop) = "unix.cma bitstring.cma bitstring_persistent.cma pa_bitstring.cmo" ++ archive(syntax,preprocessor) = "-parser o -parser op -printer p pa_bitstring.cmo" ++ archive(syntax,toploop) = "pa_bitstring.cmo" + ) diff --git a/pkgs/development/ocaml-modules/faillib/default.nix b/pkgs/development/ocaml-modules/faillib/default.nix new file mode 100644 index 000000000000..98acc8032e3f --- /dev/null +++ b/pkgs/development/ocaml-modules/faillib/default.nix @@ -0,0 +1,24 @@ +{stdenv, buildOcaml, fetchurl, herelib, camlp4}: + +buildOcaml rec { + minimumSupportedOcamlVersion = "4.00"; + name = "faillib"; + version = "111.17.00"; + + src = fetchurl { + url = "https://github.com/janestreet/faillib/archive/${version}.tar.gz"; + sha256 = "12dvaxkmgf7yzzvbadcyk1n17llgh6p8qr33867d21npaljy7l9v"; + }; + + propagatedBuildInputs = [ camlp4 herelib ]; + + doCheck = true; + checkPhase = "make test"; + + meta = with stdenv.lib; { + homepage = https://ocaml.janestreet.com/; + description = "Library for dealing with failure in OCaml"; + license = licenses.asl20; + maintainers = [ maintainers.maurer ]; + }; +} diff --git a/pkgs/development/ocaml-modules/io-page/default.nix b/pkgs/development/ocaml-modules/io-page/default.nix index 25fa60139d6e..c883175f6e0f 100644 --- a/pkgs/development/ocaml-modules/io-page/default.nix +++ b/pkgs/development/ocaml-modules/io-page/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchzip, ocaml, findlib, cstruct }: -let version = "1.4.0"; in +let version = "1.5.1"; in stdenv.mkDerivation { name = "ocaml-io-page-${version}"; src = fetchzip { url = "https://github.com/mirage/io-page/archive/v${version}.tar.gz"; - sha256 = "05m1gbcy72i6gikdijbkpw8pfygc86a3l4k8ayyl58019l6qa2fq"; + sha256 = "0y92wbvi129d0i7wr4lpk1ps9l247zaf1ibqqz0i6spgl28dyq79"; }; buildInputs = [ ocaml findlib ]; diff --git a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix new file mode 100644 index 000000000000..fea1ee150446 --- /dev/null +++ b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl, ocaml, findlib, piqi, ulex, easy-format, xmlm, base64, camlp4}: + +stdenv.mkDerivation rec { + version = "0.7.4"; + name = "piqi-ocaml-${version}"; + + src = fetchurl { + url = "https://github.com/alavrik/piqi-ocaml/archive/v${version}.tar.gz"; + sha256 = "064c74f031l847q6s1vilj77n7h7i84jn8c83yid9nha3dssaf7m"; + }; + + buildInputs = [ocaml findlib piqi base64 camlp4]; + + createFindlibDestdir = true; + + installPhase = "DESTDIR=$out make install"; + + meta = with stdenv.lib; { + homepage = http://piqi.org; + description = "Universal schema language and a collection of tools built around it. These are the ocaml bindings."; + license = licenses.asl20; + maintainers = [ maintainers.maurer ]; + }; +} diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix new file mode 100644 index 000000000000..7cca68c4f795 --- /dev/null +++ b/pkgs/development/ocaml-modules/piqi/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, ocaml, findlib, camlp4, which, ulex, easy-format, ocaml_optcomp, xmlm, base64}: + +stdenv.mkDerivation rec { + version = "0.6.12"; + name = "piqi-${version}"; + + src = fetchurl { + url = "https://github.com/alavrik/piqi/archive/v${version}.tar.gz"; + sha256 = "1ifnawnblvibf5rgp6gr4f20266dckfrlryikg1iiq3dx2wfl7f8"; + }; + + buildInputs = [ocaml findlib camlp4 which ocaml_optcomp base64]; + propagatedBuildInputs = [ulex xmlm easy-format]; + + patches = [ ./no-ocamlpath-override.patch ]; + + createFindlibDestdir = true; + + installPhase = '' + make install; + make ocaml-install; + ''; + + meta = with stdenv.lib; { + homepage = http://piqi.org; + description = "Universal schema language and a collection of tools built around it."; + license = licenses.asl20; + maintainers = [ maintainers.maurer ]; + }; +} diff --git a/pkgs/development/ocaml-modules/piqi/no-ocamlpath-override.patch b/pkgs/development/ocaml-modules/piqi/no-ocamlpath-override.patch new file mode 100644 index 000000000000..bf85a42551c0 --- /dev/null +++ b/pkgs/development/ocaml-modules/piqi/no-ocamlpath-override.patch @@ -0,0 +1,17 @@ +diff -rupN piqi-0.6.12.orig/make/Makefile.ocaml piqi-0.6.12/make/Makefile.ocaml +--- piqi-0.6.12.orig/make/Makefile.ocaml 2015-03-13 13:35:19.000000000 +0100 ++++ piqi-0.6.12/make/Makefile.ocaml 2015-06-10 21:19:57.231000000 +0200 +@@ -1,13 +1,5 @@ + OCAMLMAKEFILE := $(PIQI_ROOT)/make/OCamlMakefile + +- +-OCAMLPATH := $(PIQI_BUILD)/lib/ocaml +-ifeq ($(SYSTEM),$(filter $(SYSTEM),mingw mingw64)) +-OCAMLPATH := $(shell cygpath -w $(OCAMLPATH)) +-endif +-export OCAMLPATH +- +- + # make sure camlp4o produces pretty-printed text instead of AST + export CAMLP4_O = $(CAMLP4)o -printer o + diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix new file mode 100644 index 000000000000..0473f64bcdf9 --- /dev/null +++ b/pkgs/development/ocaml-modules/uuidm/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, ocaml, findlib}: + +stdenv.mkDerivation rec { + version = "0.9.5"; + name = "uuidm-${version}"; + src = fetchurl { + url = "http://erratique.ch/software/uuidm/releases/uuidm-${version}.tbz"; + sha256 = "03bgxs119bphv9ggg97nsl5m61s43ixgby05hhggv16iadx9zndm"; + }; + + unpackCmd = "tar -xf $curSrc"; + + buildInputs = [ocaml findlib]; + + configurePhase = "ocaml setup.ml -configure --prefix $prefix"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + description = "An OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122."; + homepage = http://erratique.ch/software/uuidm; + license = licenses.bsd3; + platforms = ocaml.meta.platforms; + maintainers = [ maintainers.maurer ]; + }; +} diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index aa28a3fca787..50918dfc4abc 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { "--private-libraries=NONE" "--builtin-libraries=replace" ] - ++ optional (enableKerberos != null && kerberos.implementation == "krb5") "--with-system-mitkrb5" + ++ optional (enableKerberos && kerberos.implementation == "krb5") "--with-system-mitkrb5" ++ optional (!enableDomainController) "--without-ad-dc" ++ optionals (!enableLDAP) [ "--without-ldap" "--without-ads" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 386ee50c2bef..afcda331b499 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4172,6 +4172,14 @@ let bolt = callPackage ../development/ocaml-modules/bolt { }; + bitstring_2_0_4 = callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { }; + bitstring_git = callPackage ../development/ocaml-modules/bitstring { }; + + bitstring = + if lib.versionOlder "4.02" ocaml_version + then bitstring_git + else bitstring_2_0_4; + camlidl = callPackage ../development/tools/ocaml/camlidl { }; camlp4 = @@ -4277,6 +4285,8 @@ let lwt = ocaml_lwt; }; + faillib = callPackage ../development/ocaml-modules/faillib { }; + fieldslib = callPackage ../development/ocaml-modules/fieldslib { }; fileutils = callPackage ../development/ocaml-modules/fileutils { }; @@ -4429,6 +4439,9 @@ let ounit = callPackage ../development/ocaml-modules/ounit { }; + piqi = callPackage ../development/ocaml-modules/piqi { }; + piqi-ocaml = callPackage ../development/ocaml-modules/piqi-ocaml { }; + re2 = callPackage ../development/ocaml-modules/re2 { }; tyxml = callPackage ../development/ocaml-modules/tyxml { }; @@ -4503,6 +4516,8 @@ let utop = callPackage ../development/tools/ocaml/utop { }; + uuidm = callPackage ../development/ocaml-modules/uuidm { }; + sawja = callPackage ../development/ocaml-modules/sawja { }; uucd = callPackage ../development/ocaml-modules/uucd { }; @@ -6017,7 +6032,7 @@ let frei0r = if stdenv.isDarwin then null else frei0r; game-music-emu = if stdenv.isDarwin then null else game-music-emu; gsm = if stdenv.isDarwin then null else gsm; - jack2 = if stdenv.isDarwin then null else jack2; + libjack2 = if stdenv.isDarwin then null else libjack2; libmodplug = if stdenv.isDarwin then null else libmodplug; libssh = if stdenv.isDarwin then null else libssh; libvpx = if stdenv.isDarwin then null else libvpx; @@ -9356,8 +9371,8 @@ let fatrace = callPackage ../os-specific/linux/fatrace { }; - ffado = callPackage ../os-specific/linux/ffado { }; - libffado = ffado.override { prefix = "lib"; }; + ffadoFull = callPackage ../os-specific/linux/ffado { }; + libffado = ffadoFull.override { prefix = "lib"; }; fbterm = callPackage ../os-specific/linux/fbterm { };