From 70c22f694b78925facd5874153f9db50df171e08 Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Thu, 21 Jan 2021 10:13:25 -0800 Subject: [PATCH] ocamlPackages.ocaml_extlib: 1.7.7 -> 1.7.8 1.7.8 changed the behavior of the minimal build type (which we are keeping as the default because opam-repository does it as well): It now excludes the Base64 module which is prone to namespacing problems. Since google-drive-ocamlfuse still uses the Base64 module, we need to override it to use extlib without the minimal build type. 1.7.9 (?) should make this obsolete as it is planned to split the Base64 module into a separate package. Co-authored-by: sternenseemann --- .../ocaml-modules/extlib/default.nix | 32 ++++++++----------- pkgs/top-level/ocaml-packages.nix | 5 ++- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix index 2a437cd29d34..5c7d36fcc08d 100644 --- a/pkgs/development/ocaml-modules/extlib/default.nix +++ b/pkgs/development/ocaml-modules/extlib/default.nix @@ -1,35 +1,29 @@ -{ stdenv, lib, fetchurl, fetchpatch, ocaml, findlib, cppo, minimal ? true }: +{ stdenv, lib, fetchurl, ocaml, findlib, cppo +# De facto, option minimal seems to be the default. See the README. +, minimal ? true +}: -assert lib.versionAtLeast (lib.getVersion ocaml) "3.11"; - -stdenv.mkDerivation { - name = "ocaml${ocaml.version}-extlib-1.7.7"; +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-extlib"; + version = "1.7.8"; src = fetchurl { - url = "http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.7.tar.gz"; - sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1"; + url = "https://ygrek.org/p/release/ocaml-extlib/extlib-${version}.tar.gz"; + sha256 = "0npq4hq3zym8nmlyji7l5cqk6drx2rkcx73d60rxqh5g8dla8p4k"; }; - patches = [ - (fetchpatch { - url = "https://github.com/ygrek/ocaml-extlib/pull/55.patch"; - sha256 = "0mj3xii56rh8j8brdyv5d06rbs6jjjcy4ib9chafkq3f3sbq795p"; - }) - ]; - buildInputs = [ ocaml findlib cppo ]; createFindlibDestdir = true; + dontConfigure = true; - dontConfigure = true; # Skip configure - # De facto, option minimal=1 seems to be the default. See the README. - buildPhase = "make ${if minimal then "minimal=1" else ""} build"; - installPhase = "make ${if minimal then "minimal=1" else ""} install"; + makeFlags = lib.optional minimal "minimal=1"; meta = { homepage = "https://github.com/ygrek/ocaml-extlib"; description = "Enhancements to the OCaml Standard Library modules"; - license = lib.licenses.lgpl21; + license = lib.licenses.lgpl21Only; platforms = ocaml.meta.platforms or []; + maintainers = [ lib.maintainers.sternenseemann ]; }; } diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 9606cd487208..30f6dca5f16b 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1408,7 +1408,10 @@ let omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { }; - google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { }; + google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { + # needs Base64 module + ocaml_extlib = ocaml_extlib.override { minimal = false; }; + }; hol_light = callPackage ../applications/science/logic/hol_light { };