From 736e30baf3c8e4da05fa98ffe7a2440d2cf91757 Mon Sep 17 00:00:00 2001 From: Kate Date: Mon, 4 Mar 2024 21:17:45 +0000 Subject: [PATCH 01/15] Upgrade the vendored dune to 3.14.0 --- Makefile | 4 ++-- master_changes.md | 1 + src_ext/Makefile | 2 +- src_ext/Makefile.packages | 2 +- src_ext/Makefile.sources | 5 ++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index b0f068e0762..731b946adf7 100644 --- a/Makefile +++ b/Makefile @@ -46,9 +46,9 @@ endif src_ext/dune-local/dune.exe: src_ext/dune-local.stamp $(DUNE_SECONDARY) ifeq ($(DUNE_SECONDARY),) - cd src_ext/dune-local && ocaml bootstrap.ml + cd src_ext/dune-local && ocaml boot/bootstrap.ml else - cd src_ext/dune-local && ( unset OCAMLLIB ; unset CAML_LD_LIBRARY_PATH ; PATH="$(dir $(realpath $(DUNE_SECONDARY))):$$PATH" ../../$(DUNE_SECONDARY) bootstrap.ml ) + cd src_ext/dune-local && ( unset OCAMLLIB ; unset CAML_LD_LIBRARY_PATH ; PATH="$(dir $(realpath $(DUNE_SECONDARY))):$$PATH" ../../$(DUNE_SECONDARY) boot/bootstrap.ml ) endif src_ext/dune-local.stamp: diff --git a/master_changes.md b/master_changes.md index b307c56837f..d99fa8ff1cc 100644 --- a/master_changes.md +++ b/master_changes.md @@ -54,6 +54,7 @@ New option/command/subcommand are prefixed with ◈. * ## Build + * Upgrade the vendored dune to 3.14.0 [#5869 @kit-ty-kate] ## Infrastructure * diff --git a/src_ext/Makefile b/src_ext/Makefile index 780403247a8..8e2558d6857 100644 --- a/src_ext/Makefile +++ b/src_ext/Makefile @@ -108,7 +108,7 @@ DUNE_CLONE= endif dune-local/_boot/install/default/bin/dune$(EXE): $(DUNE_CLONE) - cd dune-local && ocaml bootstrap.ml && ./boot.exe --release + cd dune-local && ocaml boot/bootstrap.ml && ./boot.exe --release build-pkg: clone-pkg $(PKG_EXTS:=.pkgbuild) @ diff --git a/src_ext/Makefile.packages b/src_ext/Makefile.packages index 599dbbc8068..1306b17545f 100644 --- a/src_ext/Makefile.packages +++ b/src_ext/Makefile.packages @@ -107,7 +107,7 @@ dose3-pkg-build: dune install "--prefix=$(OCAMLROOT)" -p dose3 dose3 dune-local-pkg-build: - ocaml bootstrap.ml + ocaml boot/bootstrap.ml cp dune.exe $(OCAMLBIN)/dune$(EXT_EXE) mccs-pkg-build: diff --git a/src_ext/Makefile.sources b/src_ext/Makefile.sources index 4213ec67567..4def6681f04 100644 --- a/src_ext/Makefile.sources +++ b/src_ext/Makefile.sources @@ -64,9 +64,8 @@ MD5_result = 1b82dec78849680b49ae9a8a365b831b $(call PKG_SAME,result) # NB If minimum OCaml version for Dune changes, update DUNE_SECONDARY in configure.ac -URL_dune-local = https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz -MD5_dune-local = 46d1bde258ef60f60f053e88fe9d937b - +URL_dune-local = https://github.com/ocaml/dune/releases/download/3.14.0/dune-3.14.0.tbz +MD5_dune-local = bff778fff4996b890e5af3da7ecf5baa $(call PKG_SAME,dune-local) URL_PKG_findlib = http://download.camlcity.org/download/findlib-1.9.1.tar.gz From 5954f9b9d0cc68c931e81339ae5a18516db45603 Mon Sep 17 00:00:00 2001 From: Kate Date: Tue, 5 Mar 2024 16:31:20 +0000 Subject: [PATCH 02/15] Make the makefile compatible with dune >= 2.9.1 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 731b946adf7..89057fbff94 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ else DUNE_EXE= # NB make does not export the PATH update in Makefile.config to $(shell ...) ifeq ($(shell PATH='$(PATH)' $(DUNE) build --root . --help=plain 2>/dev/null \ - | grep -F -- '$(DUNE_PROMOTE_ARG) '),) + | grep -F -- '$(DUNE_PROMOTE_ARG)'),) DUNE_PROMOTE_ARG = endif endif From 42f6933df178f9f1c73866fca90c2f93eacd188e Mon Sep 17 00:00:00 2001 From: Michael Hendricks Date: Tue, 22 Feb 2022 09:09:28 -0700 Subject: [PATCH 03/15] Better recognize depexts on Gentoo, NetBSD, OpenBSD Gentoo, NetBSD, and OpenBSD name packages in a /-separated hierarchy. For example, libgmp is available as "dev-libs/gmp" (on Gentoo[1]) or "devel/gmp" (on NetBSD[2], or OpenBSD[3]). The first fix in this commit (the change to the `short_name` function) removes the leading "/" from the package's short name. Prior to this commit, if `pkg` were "dev-libs/gmp", then `short_name` would be "/gmp". That doesn't match the depext name of "gmp" so opam thought the package wasn't installed. OpenBSD also uses flavors and subpackages[4] in some of its package names. For example, OpenBSD has two subpackages for the "devel/gmp" package: main and cxx. That means that the full name for libgmp on OpenBSD is likely to be "devel/gmp,-main". Prior to this commit, `short_name` for this package was "gmp,-main". This commit introduces `no_flavor` which removes the flavors and subpackages from package names, if present. That causes "devel/gmp,-main" on OpenBSD to have a `no_flavor` name of "gmp". This name matches the depext name, so that opam recognizes that libgmp is installed. 1: https://packages.gentoo.org/packages/dev-libs/gmp 2: https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/gmp/index.html 3: https://github.com/openbsd/ports/tree/b12d29201e832eb5a230d54449ff2a13502c9fbb/devel/gmp 4: https://man.openbsd.org/OpenBSD-7.0/pkgpath.7 --- master_changes.md | 2 +- src/state/opamSysInteract.ml | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/master_changes.md b/master_changes.md index d99fa8ff1cc..4d4bf494ab7 100644 --- a/master_changes.md +++ b/master_changes.md @@ -18,7 +18,7 @@ New option/command/subcommand are prefixed with ◈. * ## Install - * + * Better recognize depexts on Gentoo, NetBSD, OpenBSD [#5065 @mndrix] ## Remove * diff --git a/src/state/opamSysInteract.ml b/src/state/opamSysInteract.ml index 7b6374c71e3..24a46eb9091 100644 --- a/src/state/opamSysInteract.ml +++ b/src/state/opamSysInteract.ml @@ -193,11 +193,17 @@ let packages_status packages = let short_name = match String.rindex pkg '/' with | exception Not_found -> pkg - | idx -> String.sub pkg idx (String.length pkg - idx) + | idx -> String.sub pkg (idx+1) (String.length pkg - idx - 1) + in + let no_flavor = + match String.index short_name ',' with + | exception Not_found -> short_name + | idx -> String.sub short_name 0 idx in set |> OpamSysPkg.Set.add (OpamSysPkg.of_string pkg) |> OpamSysPkg.Set.add (OpamSysPkg.of_string short_name) + |> OpamSysPkg.Set.add (OpamSysPkg.of_string no_flavor) ) OpamSysPkg.Set.empty l in let compute_sets_with_virtual get_avail_w_virtuals get_installed = From 1f2e2f9b0de3b2ab56da185cbaec18b4449e9b06 Mon Sep 17 00:00:00 2001 From: Kate Date: Thu, 21 Mar 2024 14:04:06 +0000 Subject: [PATCH 04/15] Warn if GNU patch is not detected during opam update --- src/core/opamSystem.ml | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/core/opamSystem.ml b/src/core/opamSystem.ml index ca38eb27d77..46a4c82b543 100644 --- a/src/core/opamSystem.ml +++ b/src/core/opamSystem.ml @@ -1495,6 +1495,33 @@ let translate_patch ~dir orig corrected = end; close_in ch +let gpatch = lazy begin + let rec search_gpatch = function + | [] -> None + | patch_cmd::patch_cmds -> + match OpamProcess.run (make_command ~name:"patch" patch_cmd ["--version"]) with + | r -> + (match OpamProcess.is_success r, r.OpamProcess.r_stdout with + | true, full::_ when + OpamStd.String.is_prefix_of ~from:0 ~full "GNU patch " -> + Some patch_cmd + | _ -> + search_gpatch patch_cmds) + | exception _ -> search_gpatch patch_cmds + in + let default_cmd, other_cmds = + match OpamStd.Sys.os () with + | OpamStd.Sys.OpenBSD + | OpamStd.Sys.FreeBSD -> ("gpatch", ["patch"]) + | _ -> ("patch", ["gpatch"]) + in + match search_gpatch (default_cmd :: other_cmds) with + | Some gpatch -> gpatch + | None -> + OpamConsole.warning "Invalid patch utility. Please install GNU patch"; + default_cmd +end + let patch ?(preprocess=true) ~dir p = if not (Sys.file_exists p) then (OpamConsole.error "Patch file %S not found." p; @@ -1507,12 +1534,7 @@ let patch ?(preprocess=true) ~dir p = else p in - let patch_cmd = - match OpamStd.Sys.os () with - | OpamStd.Sys.OpenBSD - | OpamStd.Sys.FreeBSD -> "gpatch" - | _ -> "patch" - in + let patch_cmd = Lazy.force gpatch in make_command ~name:"patch" ~dir patch_cmd ["-p1"; "-i"; p'] @@> fun r -> if not (OpamConsole.debug ()) then Sys.remove p'; if OpamProcess.is_success r then Done None From 86379a95af98c0633ffc3c53c3039230754b5a6d Mon Sep 17 00:00:00 2001 From: Kate Date: Tue, 2 Apr 2024 17:24:05 +0100 Subject: [PATCH 05/15] Use gpatch on NetBSD and DragonFlyBSD --- src/client/opamInitDefaults.ml | 6 +++++- src/core/opamSystem.ml | 13 ++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/client/opamInitDefaults.ml b/src/client/opamInitDefaults.ml index 722e29b2ffd..b36f4cc48b5 100644 --- a/src/client/opamInitDefaults.ml +++ b/src/client/opamInitDefaults.ml @@ -50,12 +50,16 @@ let linux_filter = os_filter "linux" let macos_filter = os_filter "macos" let openbsd_filter = os_filter "openbsd" let freebsd_filter = os_filter "freebsd" +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 sandbox_filter = FOr (linux_filter, macos_filter) -let gpatch_filter = FOr (openbsd_filter, freebsd_filter) +let gpatch_filter = + FOr (FOr (openbsd_filter, netbsd_filter), + FOr (freebsd_filter, dragonflybsd_filter)) let patch_filter = FNot gpatch_filter let gtar_filter = openbsd_filter diff --git a/src/core/opamSystem.ml b/src/core/opamSystem.ml index 46a4c82b543..1faf76ef498 100644 --- a/src/core/opamSystem.ml +++ b/src/core/opamSystem.ml @@ -1511,9 +1511,16 @@ let gpatch = lazy begin in let default_cmd, other_cmds = match OpamStd.Sys.os () with - | OpamStd.Sys.OpenBSD - | OpamStd.Sys.FreeBSD -> ("gpatch", ["patch"]) - | _ -> ("patch", ["gpatch"]) + | DragonFly + | FreeBSD + | NetBSD + | OpenBSD -> ("gpatch", ["patch"]) + | Cygwin + | Darwin + | Linux + | Unix + | Win32 + | Other _ -> ("patch", ["gpatch"]) in match search_gpatch (default_cmd :: other_cmds) with | Some gpatch -> gpatch From 2760fd414cd9aea844348e295c4ebc1461f688ea Mon Sep 17 00:00:00 2001 From: Kate Date: Tue, 2 Apr 2024 17:26:03 +0100 Subject: [PATCH 06/15] Update master_changes.md --- master_changes.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/master_changes.md b/master_changes.md index 4d4bf494ab7..55c8b1cb95c 100644 --- a/master_changes.md +++ b/master_changes.md @@ -13,6 +13,7 @@ New option/command/subcommand are prefixed with ◈. * ## Init + * Check for gpatch instead of patch on NetBSD and DragonFlyBSD [#5893 @kit-ty-kate] ## Config report * @@ -37,6 +38,9 @@ New option/command/subcommand are prefixed with ◈. ## Lint * +## Repository + * Warn if `GNU patch` is not detected during a repository update [#5893 @kit-ty-kate] + ## Lock * @@ -76,7 +80,9 @@ New option/command/subcommand are prefixed with ◈. ## Client ## Internal - * + * Warn if `GNU patch` is not detected when a patch is applied [#5893 @kit-ty-kate] + * Use `gpatch` by default instead of `patch` on NetBSD and DragonFlyBSD [#5893 @kit-ty-kate] + * Use `gpatch` if it exists and is detected as GNU patch when `patch` is not `GNU patch` [#5893 @kit-ty-kate] ## Test * @@ -106,3 +112,4 @@ New option/command/subcommand are prefixed with ◈. ## opam-format ## opam-core + * `OpamSystem.patch` now displays a warning when GNU patch is not detected and looks for both patch and gpatch as a backup option depending on the OS [#5893 @kit-ty-kate] From 7c08c3ebba7d5e75f943be4a2a71d0799405ae95 Mon Sep 17 00:00:00 2001 From: Kate Date: Tue, 19 Dec 2023 20:34:00 +0000 Subject: [PATCH 07/15] Upgrade to mccs.1.1+17 --- master_changes.md | 4 +++- opam-solver.opam | 2 +- src_ext/Makefile.sources | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/master_changes.md b/master_changes.md index 55c8b1cb95c..c18c3e4ba66 100644 --- a/master_changes.md +++ b/master_changes.md @@ -59,6 +59,8 @@ New option/command/subcommand are prefixed with ◈. ## Build * Upgrade the vendored dune to 3.14.0 [#5869 @kit-ty-kate] + * Vendor mccs.1.1+17 [#5769 @kit-ty-kate] + * Require mccs >= 1.1+17 [#5769 @kit-ty-kate] ## Infrastructure * @@ -75,7 +77,7 @@ New option/command/subcommand are prefixed with ◈. * ## Solver - * + * Fix debug logs showing up regardless of verbosity on macOS 12.7.1 / 13.6.3 / 14.2 and FreeBSD [#5769 @kit-ty-kate] ## Client diff --git a/opam-solver.opam b/opam-solver.opam index acb5318a869..5aeea4a16a7 100644 --- a/opam-solver.opam +++ b/opam-solver.opam @@ -28,7 +28,7 @@ build: [ depends: [ "ocaml" {>= "4.02.3"} "opam-format" {= version} - "mccs" {>= "1.1+9"} + "mccs" {>= "1.1+17"} ("dose3" {>= "6.1"} | "dose3" {>= "5"} & "ocaml" {= "4.02.3"}) "cudf" {>= "0.7"} "dune" {>= "1.11.0"} diff --git a/src_ext/Makefile.sources b/src_ext/Makefile.sources index 4def6681f04..ebbf2b0e655 100644 --- a/src_ext/Makefile.sources +++ b/src_ext/Makefile.sources @@ -38,8 +38,8 @@ MD5_dose3 = bc99cbcea8fca29dca3ebbee54be45e1 $(call PKG_SAME,dose3) -URL_mccs = https://github.com/AltGr/ocaml-mccs/archive/1.1+13.tar.gz -MD5_mccs = 13504d3b5dcbf0bdc6d95a62de20af4a +URL_mccs = https://github.com/ocaml-opam/ocaml-mccs/archive/refs/tags/1.1+17.tar.gz +MD5_mccs = 844d99bc531e0713238fe4b6b8511ed1 $(call PKG_SAME,mccs) From 049639c69a483ac5297efbb8a61eb157e8fdc165 Mon Sep 17 00:00:00 2001 From: Kate Date: Tue, 7 May 2024 16:53:01 +0100 Subject: [PATCH 08/15] update CI --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e2d9564bfd1..d14d531b979 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,8 +7,8 @@ env: OPAMBSROOT: ~/.cache/.opam.cached OPAM12CACHE: ~/.cache/opam1.2/cache # This should be identical to the value in appveyor.yml - OPAM_TEST_REPO_SHA: 3d6779beedc761067596bf5c3f5c25ab57a7e3e7 - OPAM_REPO_SHA: 3d6779beedc761067596bf5c3f5c25ab57a7e3e7 + OPAM_TEST_REPO_SHA: c687553afb80373165068d67f33512b7ad39e6a3 + OPAM_REPO_SHA: c687553afb80373165068d67f33512b7ad39e6a3 # Default ocaml version for some jobs OCAML_VERSION: 4.12.0 ## variables for cache paths From 392c4a976e0387e948f848c26ff8cdc1e959e59d Mon Sep 17 00:00:00 2001 From: Kate Date: Tue, 7 May 2024 16:54:59 +0100 Subject: [PATCH 09/15] Remove mccs patch --- ...001-Always-include-std-headers-first.patch | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 src_ext/patches/mccs.common/0001-Always-include-std-headers-first.patch diff --git a/src_ext/patches/mccs.common/0001-Always-include-std-headers-first.patch b/src_ext/patches/mccs.common/0001-Always-include-std-headers-first.patch deleted file mode 100644 index 15b5078e35e..00000000000 --- a/src_ext/patches/mccs.common/0001-Always-include-std-headers-first.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -Naur a/src/lp_solver.cpp b/src/lp_solver.cpp ---- a/src/lp_solver.cpp 2021-04-16 13:58:45.000000000 +0000 -+++ b/src/lp_solver.cpp 2021-09-10 13:05:45.624884900 +0000 -@@ -5,7 +5,6 @@ - /*******************************************************/ - - --#include - #include - #include - #include -@@ -15,6 +14,8 @@ - #include - #endif - -+#include -+ - #define CLEAN_FILES 1 - #ifdef _WIN32 - #define TMP_FILES_PATH temp_files_path From e074e6ed62161b49bf1dc187bbb4718c04f962d8 Mon Sep 17 00:00:00 2001 From: Kate Date: Mon, 13 May 2024 18:21:08 +0100 Subject: [PATCH 10/15] GHA: install gpatch on macOS --- .github/workflows/ci.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d14d531b979..45ec4ac5fcb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,9 +119,12 @@ jobs: OPAM_TEST: 1 steps: - uses: actions/checkout@v2 - - name: install deps + - name: install deps - Linux if: ${{ matrix.os == 'ubuntu-latest' }} run: sudo apt install bubblewrap + - name: install deps - macOS + if: ${{ matrix.os == 'macos-latest' }} + run: brew install gpatch - name: ocaml ${{ matrix.ocamlv }} cache - test id: ocaml-cache-test uses: actions/cache@v2 @@ -204,9 +207,12 @@ jobs: OPAMBSROOT: ~/.cache/opam.${{ matrix.solver }}.cached steps: - uses: actions/checkout@v2 - - name: install deps + - name: install deps - Linux if: ${{ matrix.os == 'ubuntu-latest' }} run: sudo apt install bubblewrap + - name: install deps - macOS + if: ${{ matrix.os == 'macos-latest' }} + run: brew install gpatch - name: ocaml ${{ matrix.ocamlv }} cache - test id: ocaml-cache-test uses: actions/cache@v2 @@ -248,9 +254,12 @@ jobs: ocamlv: [ 4.12.0 ] fail-fast: false steps: - - name: install deps + - name: install deps - Linux if: ${{ matrix.os == 'ubuntu-latest' }} run: sudo apt install bubblewrap + - name: install deps - macOS + if: ${{ matrix.os == 'macos-latest' }} + run: brew install gpatch - uses: actions/checkout@v2 - name: opam 1.2 root cache uses: actions/cache@v2 From 6c56d64a2a2e9782f89bec8e1095bf44c26894b6 Mon Sep 17 00:00:00 2001 From: Kate Date: Mon, 13 May 2024 19:18:13 +0100 Subject: [PATCH 11/15] GHA: fix cudf-preprocess reftest on macOS/arm64 --- tests/reftests/cudf-preprocess.test | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/reftests/cudf-preprocess.test b/tests/reftests/cudf-preprocess.test index fd768c9831e..c317f6796a9 100644 --- a/tests/reftests/cudf-preprocess.test +++ b/tests/reftests/cudf-preprocess.test @@ -1,6 +1,7 @@ ad4dd344 ### : Github issue #4624 ### OPAMFAKE=1 +### OPAMVAR_arch=x86_64 ### opam switch create 4.11.0 <><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><> From d9fae98b919dcb59ab3db3336acfc0d20d6d2553 Mon Sep 17 00:00:00 2001 From: David Allsopp Date: Tue, 5 Mar 2024 22:33:55 +0000 Subject: [PATCH 12/15] Fix recipes --- Makefile | 4 ++-- src_ext/Makefile | 6 +++--- src_ext/Makefile.packages | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 89057fbff94..51d356d1f40 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ DUNE_PROMOTE_ARG = DUNE_PROMOTE_ARG += --promote-install-files ifeq ($(DUNE),) - DUNE_EXE = src_ext/dune-local/dune.exe + DUNE_EXE = src_ext/dune-local/_boot/dune.exe ifeq ($(shell command -v cygpath 2>/dev/null),) DUNE := $(DUNE_EXE) else @@ -44,7 +44,7 @@ else DUNE_PROFILE_ARG = --profile=$(DUNE_PROFILE) endif -src_ext/dune-local/dune.exe: src_ext/dune-local.stamp $(DUNE_SECONDARY) +src_ext/dune-local/_boot/dune.exe: src_ext/dune-local.stamp $(DUNE_SECONDARY) ifeq ($(DUNE_SECONDARY),) cd src_ext/dune-local && ocaml boot/bootstrap.ml else diff --git a/src_ext/Makefile b/src_ext/Makefile index 8e2558d6857..7be85c62825 100644 --- a/src_ext/Makefile +++ b/src_ext/Makefile @@ -95,7 +95,7 @@ reset-lib-pkg: @rm -rf ../bootstrap/ocaml/lib/ocaml/site-lib ../bootstrap/ocaml/etc *.pkgbuild ifeq ($(DUNE),) -DUNE_DEP=dune-local/_boot/install/default/bin/dune$(EXE) +DUNE_DEP=dune-local/_boot/dune$(EXE) DUNE_CLONE=dune-local.stamp ifeq ($(shell command -v cygpath 2>/dev/null),) DUNE:=$(DUNE_DEP) @@ -107,8 +107,8 @@ DUNE_DEP= DUNE_CLONE= endif -dune-local/_boot/install/default/bin/dune$(EXE): $(DUNE_CLONE) - cd dune-local && ocaml boot/bootstrap.ml && ./boot.exe --release +dune-local/_boot/dune$(EXE): $(DUNE_CLONE) + cd dune-local && ocaml boot/bootstrap.ml build-pkg: clone-pkg $(PKG_EXTS:=.pkgbuild) @ diff --git a/src_ext/Makefile.packages b/src_ext/Makefile.packages index 1306b17545f..e56c0e9e7df 100644 --- a/src_ext/Makefile.packages +++ b/src_ext/Makefile.packages @@ -108,7 +108,7 @@ dose3-pkg-build: dune-local-pkg-build: ocaml boot/bootstrap.ml - cp dune.exe $(OCAMLBIN)/dune$(EXT_EXE) + cp _boot/dune.exe $(OCAMLBIN)/dune$(EXT_EXE) mccs-pkg-build: dune build @install -p mccs From a47c3bd0a7e7a164dd3962d3591b77eb61ff1827 Mon Sep 17 00:00:00 2001 From: Kate Date: Mon, 13 May 2024 20:00:04 +0100 Subject: [PATCH 13/15] GHA: Sync OPAM_REPO_SHA for the solver runs --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 45ec4ac5fcb..37cb9975362 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -203,7 +203,6 @@ jobs: fail-fast: false env: SOLVER: ${{ matrix.solver }} - OPAM_REPO_SHA: 3d6779beedc761067596bf5c3f5c25ab57a7e3e7 OPAMBSROOT: ~/.cache/opam.${{ matrix.solver }}.cached steps: - uses: actions/checkout@v2 From c47ee0002ea053a18d58bb6924b46b72a7a4c9f6 Mon Sep 17 00:00:00 2001 From: Raja Boujbel Date: Wed, 15 May 2024 23:12:38 +0200 Subject: [PATCH 14/15] update CHANGES --- CHANGES | 18 ++++++++++++++++++ master_changes.md | 17 ++++++----------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/CHANGES b/CHANGES index 47814833b14..655921b0c97 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,24 @@ repositories (changes that are automatically handled by the format upgrade tools are not marked). Those prefixed with "(+)" are new command/option (since 2.1.0~alpha2). +2.1.6: +* Changes necessary for opam repository + * Warn if `GNU patch` is not detected when a patch is applied + [#5893 @kit-ty-kate] + * Use `gpatch` by default instead of `patch` on NetBSD and DragonFlyBSD + [#5893 @kit-ty-kate] + * Use `gpatch` if it exists and is detected as GNU patch when `patch` is not + `GNU patch` [#5893 @kit-ty-kate] +* Better recognize depexts on Gentoo, NetBSD, OpenBSD [#5065 @mndrix] +* Upgrade the vendored dune to 3.14.0 [#5869 @kit-ty-kate] +* Vendor mccs.1.1+17 [#5769 @kit-ty-kate] +* Require mccs >= 1.1+17: Fix debug logs showing up regardless of verbosity on + macOS 12.7.1 / 13.6.3 / 14.2 and FreeBSD [#5769 @kit-ty-kate] +* API Changes: + * `OpamSystem.patch` now displays a warning when GNU patch is not detected + and looks for both patch and gpatch as a backup option depending on the OS + [#5893 @kit-ty-kate] + 2.1.5: * [BUG] Variables are now expanded in build-env (as for setenv) [#5352 @dra27] * Correctly handle empty environment variable additions [#5350 @dra27] diff --git a/master_changes.md b/master_changes.md index c18c3e4ba66..0f7fcf673f9 100644 --- a/master_changes.md +++ b/master_changes.md @@ -13,13 +13,13 @@ New option/command/subcommand are prefixed with ◈. * ## Init - * Check for gpatch instead of patch on NetBSD and DragonFlyBSD [#5893 @kit-ty-kate] + * ## Config report * ## Install - * Better recognize depexts on Gentoo, NetBSD, OpenBSD [#5065 @mndrix] + * ## Remove * @@ -39,7 +39,7 @@ New option/command/subcommand are prefixed with ◈. * ## Repository - * Warn if `GNU patch` is not detected during a repository update [#5893 @kit-ty-kate] + * ## Lock * @@ -58,9 +58,7 @@ New option/command/subcommand are prefixed with ◈. * ## Build - * Upgrade the vendored dune to 3.14.0 [#5869 @kit-ty-kate] - * Vendor mccs.1.1+17 [#5769 @kit-ty-kate] - * Require mccs >= 1.1+17 [#5769 @kit-ty-kate] + * ## Infrastructure * @@ -77,14 +75,12 @@ New option/command/subcommand are prefixed with ◈. * ## Solver - * Fix debug logs showing up regardless of verbosity on macOS 12.7.1 / 13.6.3 / 14.2 and FreeBSD [#5769 @kit-ty-kate] + * ## Client ## Internal - * Warn if `GNU patch` is not detected when a patch is applied [#5893 @kit-ty-kate] - * Use `gpatch` by default instead of `patch` on NetBSD and DragonFlyBSD [#5893 @kit-ty-kate] - * Use `gpatch` if it exists and is detected as GNU patch when `patch` is not `GNU patch` [#5893 @kit-ty-kate] + * ## Test * @@ -114,4 +110,3 @@ New option/command/subcommand are prefixed with ◈. ## opam-format ## opam-core - * `OpamSystem.patch` now displays a warning when GNU patch is not detected and looks for both patch and gpatch as a backup option depending on the OS [#5893 @kit-ty-kate] From d614bfaa74a73626fb5d946cd3be1a3140a9c5ae Mon Sep 17 00:00:00 2001 From: Raja Boujbel Date: Wed, 15 May 2024 23:14:16 +0200 Subject: [PATCH 15/15] Bump version to 2.1.6 --- configure | 18 +++++++++--------- configure.ac | 2 +- opam-client.opam | 2 +- opam-core.opam | 2 +- opam-devel.opam | 2 +- opam-format.opam | 2 +- opam-installer.opam | 2 +- opam-repository.opam | 2 +- opam-solver.opam | 2 +- opam-state.opam | 2 +- opam.opam | 2 +- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/configure b/configure index 3ef9f63487b..719c8e44936 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for opam 2.1.5. +# Generated by GNU Autoconf 2.71 for opam 2.1.6. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -609,8 +609,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='opam' PACKAGE_TARNAME='opam' -PACKAGE_VERSION='2.1.5' -PACKAGE_STRING='opam 2.1.5' +PACKAGE_VERSION='2.1.6' +PACKAGE_STRING='opam 2.1.6' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1330,7 +1330,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures opam 2.1.5 to adapt to many kinds of systems. +\`configure' configures opam 2.1.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1392,7 +1392,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of opam 2.1.5:";; + short | recursive ) echo "Configuration of opam 2.1.6:";; esac cat <<\_ACEOF @@ -1502,7 +1502,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -opam configure 2.1.5 +opam configure 2.1.6 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1699,7 +1699,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by opam $as_me 2.1.5, which was +It was created by opam $as_me 2.1.6, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -7479,7 +7479,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by opam $as_me 2.1.5, which was +This file was extended by opam $as_me 2.1.6, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7534,7 +7534,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -opam config.status 2.1.5 +opam config.status 2.1.6 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 3df29fec7e9..77cfdbec317 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl The line below must be formatted AC_INIT(opam,VERSION) with no extra spaces -AC_INIT(opam,2.1.5) +AC_INIT(opam,2.1.6) AC_COPYRIGHT(Copyright 2012-2019 OcamlPro SAS) AC_CONFIG_MACRO_DIR([m4]) diff --git a/opam-client.opam b/opam-client.opam index b6ab961a780..2124a0eec15 100644 --- a/opam-client.opam +++ b/opam-client.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "Client library for opam 2.1" description: """ Actions on the opam root, switches, installations, and front-end. diff --git a/opam-core.opam b/opam-core.opam index 81f35075904..68eaf35aad8 100644 --- a/opam-core.opam +++ b/opam-core.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "Core library for opam 2.1" description: """ Small standard library extensions, and generic system interaction modules used by opam. diff --git a/opam-devel.opam b/opam-devel.opam index 347bdbd40b7..cfd0d7cff42 100644 --- a/opam-devel.opam +++ b/opam-devel.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "Bootstrapped development binary for opam 2.1" description: """ This package compiles (bootstraps) opam. For consistency and safety of the installation, the binaries are not installed into the PATH, but into lib/opam-devel, from where the user can manually install them system-wide. diff --git a/opam-format.opam b/opam-format.opam index b956105eb25..58c588dd89f 100644 --- a/opam-format.opam +++ b/opam-format.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "Format library for opam 2.1" description: """ Definition of opam datastructures and its file interface. diff --git a/opam-installer.opam b/opam-installer.opam index 1f40ebbe0fe..bc020285ffe 100644 --- a/opam-installer.opam +++ b/opam-installer.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "Installation of files to a prefix, following opam conventions" description: """ opam-installer is a small tool that can read *.install files, as defined by opam [1], and execute them to install or remove package files without going through opam. diff --git a/opam-repository.opam b/opam-repository.opam index 4a8b14cfcf8..1932decde06 100644 --- a/opam-repository.opam +++ b/opam-repository.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "Repository library for opam 2.1" description: """ This library includes repository and remote sources handling, including curl/wget, rsync, git, mercurial, darcs backends. diff --git a/opam-solver.opam b/opam-solver.opam index 5aeea4a16a7..366c3546ed5 100644 --- a/opam-solver.opam +++ b/opam-solver.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "Solver library for opam 2.1" description: """ Solver and Cudf interaction. This library is based on the Cudf and Dose libraries, and handles calls to the external solver from opam. diff --git a/opam-state.opam b/opam-state.opam index 6c4c67402b0..58a13ce9910 100644 --- a/opam-state.opam +++ b/opam-state.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "State library for opam 2.1" description: """ Handling of the ~/.opam hierarchy, repository and switch states. diff --git a/opam.opam b/opam.opam index 1d0daa644c4..c7ef5d3ae62 100644 --- a/opam.opam +++ b/opam.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2.1.5" +version: "2.1.6" synopsis: "Meta-package for Dune" maintainer: "opam-devel@lists.ocaml.org" authors: [