opam: 2.3.0 -> 2.4.0
This commit is contained in:
parent
4ae8242fb8
commit
4d2c18b7df
@ -8,6 +8,7 @@
|
|||||||
sha,
|
sha,
|
||||||
swhid_core,
|
swhid_core,
|
||||||
uutf,
|
uutf,
|
||||||
|
patch,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildDunePackage {
|
buildDunePackage {
|
||||||
@ -22,6 +23,7 @@ buildDunePackage {
|
|||||||
re
|
re
|
||||||
sha
|
sha
|
||||||
swhid_core
|
swhid_core
|
||||||
|
patch
|
||||||
];
|
];
|
||||||
|
|
||||||
# get rid of check for curl at configure time
|
# get rid of check for curl at configure time
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
buildDunePackage,
|
buildDunePackage,
|
||||||
opam-format,
|
opam-format,
|
||||||
curl,
|
curl,
|
||||||
|
patch,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildDunePackage {
|
buildDunePackage {
|
||||||
@ -10,7 +11,10 @@ buildDunePackage {
|
|||||||
|
|
||||||
inherit (opam-format) src version;
|
inherit (opam-format) src version;
|
||||||
|
|
||||||
propagatedBuildInputs = [ opam-format ];
|
propagatedBuildInputs = [
|
||||||
|
opam-format
|
||||||
|
patch
|
||||||
|
];
|
||||||
|
|
||||||
configureFlags = [ "--disable-checks" ];
|
configureFlags = [ "--disable-checks" ];
|
||||||
|
|
||||||
|
|||||||
@ -15,11 +15,11 @@ assert lib.versionAtLeast ocaml.version "4.08.0";
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "opam";
|
pname = "opam";
|
||||||
version = "2.3.0";
|
version = "2.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/ocaml/opam/releases/download/${finalAttrs.version}/opam-full-${finalAttrs.version}.tar.gz";
|
url = "https://github.com/ocaml/opam/releases/download/${finalAttrs.version}/opam-full-${finalAttrs.version}.tar.gz";
|
||||||
hash = "sha256-UGunaGXcMVtn35qonnq9XBqJen8KkteyaUl0/cUys0Y=";
|
hash = "sha256-EZ9B77EZLa019Ef78cYgL/wzEQXpSdKYCnXfjLLJMoI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
@ -38,12 +38,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
patches = [ ./opam-shebangs.patch ];
|
patches = [ ./opam-shebangs.patch ];
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
# Fix opam sandboxing on nixos. Remove after opam >= 2.4.0 is released
|
|
||||||
substituteInPlace src/state/shellscripts/bwrap.sh \
|
|
||||||
--replace-fail 'for dir in /*; do' 'for dir in /{*,run/current-system/sw}; do'
|
|
||||||
'';
|
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-vendored-deps"
|
"--with-vendored-deps"
|
||||||
"--with-mccs"
|
"--with-mccs"
|
||||||
|
|||||||
@ -2,7 +2,7 @@ diff --git a/src/client/opamInitDefaults.ml b/src/client/opamInitDefaults.ml
|
|||||||
index eca13a7c..1fd66f43 100644
|
index eca13a7c..1fd66f43 100644
|
||||||
--- a/src/client/opamInitDefaults.ml
|
--- a/src/client/opamInitDefaults.ml
|
||||||
+++ b/src/client/opamInitDefaults.ml
|
+++ b/src/client/opamInitDefaults.ml
|
||||||
@@ -42,16 +42,20 @@ let eval_variables = [
|
@@ -38,6 +38,9 @@ let eval_variables =
|
||||||
let os_filter os =
|
let os_filter os =
|
||||||
FOp (FIdent ([], OpamVariable.of_string "os", None), `Eq, FString os)
|
FOp (FIdent ([], OpamVariable.of_string "os", None), `Eq, FString os)
|
||||||
|
|
||||||
@ -12,32 +12,27 @@ index eca13a7c..1fd66f43 100644
|
|||||||
let linux_filter = os_filter "linux"
|
let linux_filter = os_filter "linux"
|
||||||
let macos_filter = os_filter "macos"
|
let macos_filter = os_filter "macos"
|
||||||
let openbsd_filter = os_filter "openbsd"
|
let openbsd_filter = os_filter "openbsd"
|
||||||
let freebsd_filter = os_filter "freebsd"
|
@@ -51,6 +54,7 @@ let win32_filter = os_filter "win32"
|
||||||
let netbsd_filter = os_filter "netbsd"
|
|
||||||
let dragonflybsd_filter = os_filter "dragonfly"
|
|
||||||
let not_open_free_bsd_filter =
|
|
||||||
FNot (FOr (openbsd_filter, freebsd_filter))
|
|
||||||
let win32_filter = os_filter "win32"
|
|
||||||
let not_win32_filter =
|
let not_win32_filter =
|
||||||
FOp (FIdent ([], OpamVariable.of_string "os", None), `Neq, FString "win32")
|
FOp (FIdent ([], OpamVariable.of_string "os", None), `Neq, FString "win32")
|
||||||
let sandbox_filter = FOr (linux_filter, macos_filter)
|
let sandbox_filter = FOr (linux_filter, macos_filter)
|
||||||
+let nixos_filter = os_distribution_filter "nixos"
|
+let nixos_filter = os_distribution_filter "nixos"
|
||||||
|
|
||||||
let gpatch_filter =
|
let gtar_filter = openbsd_filter
|
||||||
FOr (FOr (openbsd_filter, netbsd_filter),
|
let tar_filter = FNot gtar_filter
|
||||||
FOr (freebsd_filter, dragonflybsd_filter))
|
@@ -69,6 +73,11 @@ let sandbox_wrappers =
|
||||||
let patch_filter = FNot gpatch_filter
|
|
||||||
@@ -79,4 +81,9 @@ let wrappers ~sandboxing () =
|
let wrappers ~sandboxing () =
|
||||||
let w = OpamFile.Wrappers.empty in
|
let w = OpamFile.Wrappers.empty in
|
||||||
+ let w = { w with
|
+ let w = { w with
|
||||||
+ OpamFile.Wrappers.
|
+ OpamFile.Wrappers.
|
||||||
+ pre_build = [[CString "%{hooks}%/shebangs.sh", None], Some nixos_filter];
|
+ pre_build = [[CString "%{hooks}%/shebangs.sh", None], Some nixos_filter];
|
||||||
+ }
|
+ }
|
||||||
+ in
|
+ in
|
||||||
if sandboxing then
|
if sandboxing then
|
||||||
List.fold_left OpamFile.Wrappers.(fun w -> function
|
List.fold_left OpamFile.Wrappers.(fun w -> function
|
||||||
| `build wrap_build -> { w with wrap_build }
|
| `build wrap_build -> { w with wrap_build }
|
||||||
@@ -113,6 +122,7 @@ let required_tools ~sandboxing () =
|
@@ -147,6 +156,7 @@ let required_packages_for_cygwin =
|
||||||
let init_scripts () = [
|
let init_scripts () = [
|
||||||
("sandbox.sh", OpamScript.bwrap), Some bwrap_filter;
|
("sandbox.sh", OpamScript.bwrap), Some bwrap_filter;
|
||||||
("sandbox.sh", OpamScript.sandbox_exec), Some macos_filter;
|
("sandbox.sh", OpamScript.sandbox_exec), Some macos_filter;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user