ocamlPackages.opam-repository: init at 2.0.7

This commit is contained in:
sternenseemann 2020-05-20 23:27:01 +02:00 committed by Vincent Laporte
parent ee1ea8609c
commit b604e4aedd
3 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,24 @@
{ lib, buildDunePackage, unzip, opam-format, curl }:
buildDunePackage rec {
pname = "opam-repository";
minimumOCamlVersion = "4.02";
inherit (opam-format) src version;
patches = [ ./download-tool.patch ];
postPatch = ''
substituteInPlace src/repository/opamRepositoryConfig.ml \
--replace "SUBSTITUTE_NIXOS_CURL_PATH" "\"${curl}/bin/curl\""
'';
nativeBuildInputs = [ unzip ];
buildInputs = [ curl ];
propagatedBuildInputs = [ opam-format ];
meta = opam-format.meta // {
description = "OPAM repository and remote sources handling, including curl/wget, rsync, git, mercurial, darcs backends";
maintainers = with lib.maintainers; [ sternenseemann ];
};
}

View file

@ -0,0 +1,29 @@
diff --git a/src/repository/opamRepositoryConfig.ml b/src/repository/opamRepositoryConfig.ml
index c2954c1d..528fc621 100644
--- a/src/repository/opamRepositoryConfig.ml
+++ b/src/repository/opamRepositoryConfig.ml
@@ -27,23 +27,7 @@ type 'a options_fun =
'a
let default = {
- download_tool = lazy (
- try
- let tools =
- if OpamStd.Sys.(os () = Darwin)
- then ["wget", `Default; "curl", `Curl]
- else ["curl", `Curl; "wget", `Default]
- in
- let cmd, kind =
- List.find (fun (c,_) -> OpamSystem.resolve_command c <> None) tools
- in
- [ CIdent cmd, None ], kind
- with Not_found ->
- OpamConsole.error_and_exit `Configuration_error
- "Could not find a suitable download command. Please make sure you \
- have either \"curl\" or \"wget\" installed, or specify a custom \
- command through variable OPAMFETCH."
- );
+ download_tool = lazy ([ CIdent SUBSTITUTE_NIXOS_CURL_PATH, None ], `Curl);
validation_hook = None;
retries = 3;
force_checksums = None;

View file

@ -686,6 +686,10 @@ let
inherit (pkgs) unzip;
};
opam-repository = callPackage ../development/ocaml-modules/opam-repository {
inherit (pkgs) unzip;
};
opium = callPackage ../development/ocaml-modules/opium { };
opium_kernel = callPackage ../development/ocaml-modules/opium_kernel { };