Version 2.7.1.
- Csexp is no longer vendored in. - Drop upstreamed patches for issue 3736 and pull request 3739. - Fix configuration with patch from pull request 3757.
This commit is contained in:
parent
92351ab8b4
commit
33574a9cc8
@ -1,83 +0,0 @@
|
|||||||
From 1a9bd729b97db408022995f93b19678706a79ca7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rudi Grinberg <me@rgrinberg.com>
|
|
||||||
Date: Mon, 24 Aug 2020 02:39:59 -0700
|
|
||||||
Subject: [PATCH] [configurator] more workaround for extracting #define
|
|
||||||
|
|
||||||
allow duplicate values if they are the same _after_ conversion
|
|
||||||
|
|
||||||
Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
|
|
||||||
---
|
|
||||||
otherlibs/configurator/src/v1.ml | 46 ++++++++++++++++++--------------
|
|
||||||
1 file changed, 26 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/otherlibs/configurator/src/v1.ml b/otherlibs/configurator/src/v1.ml
|
|
||||||
index 721c0e7384..7e5dc19883 100644
|
|
||||||
--- a/otherlibs/configurator/src/v1.ml
|
|
||||||
+++ b/otherlibs/configurator/src/v1.ml
|
|
||||||
@@ -466,10 +466,6 @@ module C_define = struct
|
|
||||||
| Switch of bool
|
|
||||||
| Int of int
|
|
||||||
| String of string
|
|
||||||
-
|
|
||||||
- let switch b = Switch b
|
|
||||||
-
|
|
||||||
- let int i = Int i
|
|
||||||
end
|
|
||||||
|
|
||||||
let extract_program ?prelude includes vars =
|
|
||||||
@@ -544,29 +540,39 @@ const char *s%i = "BEGIN-%i-false-END";
|
|
||||||
Error [ v; v' ] )))
|
|
||||||
in
|
|
||||||
List.mapi vars ~f:(fun i (name, t) ->
|
|
||||||
- let raw_val =
|
|
||||||
+ let raw_vals =
|
|
||||||
match Int.Map.find values i with
|
|
||||||
+ | Some (Ok v) -> [ v ]
|
|
||||||
+ | Some (Error vs) -> vs
|
|
||||||
| None -> die "Unable to get value for %s" name
|
|
||||||
- | Some (Ok v) -> v
|
|
||||||
- | Some (Error vs) ->
|
|
||||||
- let vs = List.sort_uniq ~cmp:compare vs in
|
|
||||||
+ in
|
|
||||||
+ let parse_val_or_exn f =
|
|
||||||
+ let f x =
|
|
||||||
+ match f x with
|
|
||||||
+ | Some s -> s
|
|
||||||
+ | None ->
|
|
||||||
+ die
|
|
||||||
+ "Unable to read variable %S of type %s. Invalid value %S in %s \
|
|
||||||
+ found"
|
|
||||||
+ name (Type.name t) x obj_file
|
|
||||||
+ in
|
|
||||||
+ let vs =
|
|
||||||
+ List.map ~f:(fun x -> (x, f x)) raw_vals
|
|
||||||
+ |> List.sort_uniq ~cmp:(fun (_, x) (_, y) -> compare x y)
|
|
||||||
+ in
|
|
||||||
+ match vs with
|
|
||||||
+ | [] -> assert false
|
|
||||||
+ | [ (_, v) ] -> v
|
|
||||||
+ | vs ->
|
|
||||||
+ let vs = List.map ~f:fst vs in
|
|
||||||
die "Duplicate values for %s:\n%s" name
|
|
||||||
(vs |> List.map ~f:(sprintf "- %s") |> String.concat ~sep:"\n")
|
|
||||||
in
|
|
||||||
let value =
|
|
||||||
match t with
|
|
||||||
- | Type.Switch -> Bool.of_string raw_val |> Option.map ~f:Value.switch
|
|
||||||
- | Int -> Int.of_string raw_val |> Option.map ~f:Value.int
|
|
||||||
- | String -> Some (String raw_val)
|
|
||||||
- in
|
|
||||||
- let value =
|
|
||||||
- match value with
|
|
||||||
- | Some v -> v
|
|
||||||
- | None ->
|
|
||||||
- die
|
|
||||||
- "Unable to read variable %S of type %s. Invalid value %S in %s \
|
|
||||||
- found"
|
|
||||||
- name (Type.name t) raw_val obj_file
|
|
||||||
+ | Type.Switch -> Value.Switch (parse_val_or_exn Bool.of_string)
|
|
||||||
+ | Int -> Value.Int (parse_val_or_exn Int.of_string)
|
|
||||||
+ | String -> String (parse_val_or_exn (fun x -> Some x))
|
|
||||||
in
|
|
||||||
(name, value))
|
|
||||||
|
|
45
3739.patch
45
3739.patch
@ -1,45 +0,0 @@
|
|||||||
From 4a1fee49b97e7bd4da368c83c5a28cdbde9e140d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rudi Grinberg <me@rgrinberg.com>
|
|
||||||
Date: Sat, 22 Aug 2020 20:56:56 -0700
|
|
||||||
Subject: [PATCH] [configurator] more flexible #define parsing
|
|
||||||
|
|
||||||
Allow duplicate values for the same key as long as they are the same.
|
|
||||||
|
|
||||||
Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
|
|
||||||
---
|
|
||||||
otherlibs/configurator/src/v1.ml | 17 +++++++++++++++--
|
|
||||||
1 file changed, 15 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/otherlibs/configurator/src/v1.ml b/otherlibs/configurator/src/v1.ml
|
|
||||||
index 1cdc5c5672..721c0e7384 100644
|
|
||||||
--- a/otherlibs/configurator/src/v1.ml
|
|
||||||
+++ b/otherlibs/configurator/src/v1.ml
|
|
||||||
@@ -532,13 +532,26 @@ const char *s%i = "BEGIN-%i-false-END";
|
|
||||||
let extract_values obj_file vars =
|
|
||||||
let values =
|
|
||||||
Io.with_lexbuf_from_file obj_file ~f:(Extract_obj.extract [])
|
|
||||||
- |> Int.Map.of_list_exn
|
|
||||||
+ |> List.fold_left ~init:Int.Map.empty ~f:(fun acc (key, v) ->
|
|
||||||
+ Int.Map.update acc ~key ~f:(function
|
|
||||||
+ | None -> Some (Ok v)
|
|
||||||
+ | Some (Error vs) -> Some (Error (v :: vs))
|
|
||||||
+ | Some (Ok v') ->
|
|
||||||
+ Some
|
|
||||||
+ ( if v = v' then
|
|
||||||
+ Ok v'
|
|
||||||
+ else
|
|
||||||
+ Error [ v; v' ] )))
|
|
||||||
in
|
|
||||||
List.mapi vars ~f:(fun i (name, t) ->
|
|
||||||
let raw_val =
|
|
||||||
match Int.Map.find values i with
|
|
||||||
| None -> die "Unable to get value for %s" name
|
|
||||||
- | Some v -> v
|
|
||||||
+ | Some (Ok v) -> v
|
|
||||||
+ | Some (Error vs) ->
|
|
||||||
+ let vs = List.sort_uniq ~cmp:compare vs in
|
|
||||||
+ die "Duplicate values for %s:\n%s" name
|
|
||||||
+ (vs |> List.map ~f:(sprintf "- %s") |> String.concat ~sep:"\n")
|
|
||||||
in
|
|
||||||
let value =
|
|
||||||
match t with
|
|
42
9749697c9f6cd5848d2083faa84836b7dd8fbd4b.patch
Normal file
42
9749697c9f6cd5848d2083faa84836b7dd8fbd4b.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 8a3d7f2f2015b71384caa07226d1a89dba9d6c25 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mario Rodas <marsam@users.noreply.github.com>
|
||||||
|
Date: Wed, 2 Sep 2020 20:00:00 -0500
|
||||||
|
Subject: [PATCH] src/dune/setup.ml is now src/dune_rules/setup.ml
|
||||||
|
|
||||||
|
src/dune/setup.ml was renamed in bebb7a9432b149fce95ac820757216372afb8f0f
|
||||||
|
|
||||||
|
Signed-off-by: Mario Rodas <marsam@users.noreply.github.com>
|
||||||
|
---
|
||||||
|
Makefile | 2 +-
|
||||||
|
configure.ml | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 4ae969a9..52d5d20a 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -103,7 +103,7 @@ clean: $(BIN)
|
||||||
|
rm -rf _boot dune.exe
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
- rm -f src/dune/setup.ml
|
||||||
|
+ rm -f src/dune_rules/setup.ml
|
||||||
|
|
||||||
|
doc:
|
||||||
|
cd doc && sphinx-build . _build
|
||||||
|
diff --git a/configure.ml b/configure.ml
|
||||||
|
index f5366f17..c1fe8d30 100644
|
||||||
|
--- a/configure.ml
|
||||||
|
+++ b/configure.ml
|
||||||
|
@@ -44,7 +44,7 @@ let () =
|
||||||
|
let anon s = bad "Don't know what to do with %s" s in
|
||||||
|
Arg.parse (Arg.align args) anon
|
||||||
|
"Usage: ocaml configure.ml [OPTRIONS]]\nOptions are:";
|
||||||
|
- let oc = open_out "src/dune/setup.ml" in
|
||||||
|
+ let oc = open_out "src/dune_rules/setup.ml" in
|
||||||
|
let pr fmt = fprintf oc (fmt ^^ "\n") in
|
||||||
|
pr "let library_path = %s" (option (list string) !library_path);
|
||||||
|
pr "let library_destdir = %s" (option string !library_destdir);
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -5,8 +5,8 @@
|
|||||||
%bcond_without menhir
|
%bcond_without menhir
|
||||||
|
|
||||||
Name: ocaml-%{libname}
|
Name: ocaml-%{libname}
|
||||||
Version: 2.7.0
|
Version: 2.7.1
|
||||||
Release: 6%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A composable build system for OCaml
|
Summary: A composable build system for OCaml
|
||||||
|
|
||||||
# Dune itself is MIT. Some bundled libraries have a different license:
|
# Dune itself is MIT. Some bundled libraries have a different license:
|
||||||
@ -22,13 +22,13 @@ License: MIT and LGPLv2 and LGPLv2 with exceptions and ISC
|
|||||||
URL: https://dune.build
|
URL: https://dune.build
|
||||||
Source0: https://github.com/ocaml/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz
|
Source0: https://github.com/ocaml/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz
|
||||||
|
|
||||||
# https://github.com/ocaml/dune/issues/3736
|
# Fix path to the configuration file
|
||||||
# https://github.com/ocaml/dune/pull/3739
|
# https://github.com/ocaml/dune/pull/3757
|
||||||
Patch1: 3739.patch
|
Patch0: 9749697c9f6cd5848d2083faa84836b7dd8fbd4b.patch
|
||||||
Patch2: 1a9bd729b97db408022995f93b19678706a79ca7.patch
|
|
||||||
|
|
||||||
BuildRequires: emacs
|
BuildRequires: emacs
|
||||||
BuildRequires: ocaml >= 4.08
|
BuildRequires: ocaml >= 4.08
|
||||||
|
BuildRequires: ocaml-csexp-devel
|
||||||
BuildRequires: ocaml-findlib
|
BuildRequires: ocaml-findlib
|
||||||
BuildRequires: %{py3_dist sphinx}
|
BuildRequires: %{py3_dist sphinx}
|
||||||
BuildRequires: %{py3_dist sphinx-rtd-theme}
|
BuildRequires: %{py3_dist sphinx-rtd-theme}
|
||||||
@ -44,7 +44,6 @@ BuildRequires: ocaml-menhir
|
|||||||
# doesn't seem to be able to detect libraries installed systemwide.
|
# doesn't seem to be able to detect libraries installed systemwide.
|
||||||
# https://github.com/ocaml/dune/issues/220
|
# https://github.com/ocaml/dune/issues/220
|
||||||
Provides: bundled(ocaml-build-path-prefix-map) = 0.2
|
Provides: bundled(ocaml-build-path-prefix-map) = 0.2
|
||||||
Provides: bundled(ocaml-csexp) = 1.0.0
|
|
||||||
Provides: bundled(ocaml-opam-file-format) = 2.0.0
|
Provides: bundled(ocaml-opam-file-format) = 2.0.0
|
||||||
Provides: bundled(ocaml-cmdliner) = 1.0.3
|
Provides: bundled(ocaml-cmdliner) = 1.0.3
|
||||||
Provides: bundled(ocaml-re) = 1.7.1
|
Provides: bundled(ocaml-re) = 1.7.1
|
||||||
@ -196,6 +195,12 @@ cp -ar README.md CHANGES.md MIGRATION.md doc/_build/* %{buildroot}%{_pkgdocdir}/
|
|||||||
%{_emacs_sitelispdir}/dune*
|
%{_emacs_sitelispdir}/dune*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 14 2020 Jerry James <loganjerry@gmail.com> - 2.7.1-1
|
||||||
|
- Version 2.7.1
|
||||||
|
- Csexp is no longer vendored in
|
||||||
|
- Drop upstreamed patches for issue 3736 and pull request 3739
|
||||||
|
- Fix configuration with patch from pull request 3757
|
||||||
|
|
||||||
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 2.7.0-6
|
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 2.7.0-6
|
||||||
- OCaml 4.11.1 rebuild
|
- OCaml 4.11.1 rebuild
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (dune-2.7.0.tar.gz) = 6063010f7e9d34846df878d94d12517e88a376ab67372ceac9411f4a83ba6eeaf487b8809c1fcc150e0d150ce8f7b925438780920c1883aee4ea242653b4cdb8
|
SHA512 (dune-2.7.1.tar.gz) = b77d0e207263107365e5a6e94423e8ab4ddbab1f920872d915e4014b7cc69915274b53fe946bb4b29dfe3de2bf5573ab3b2bffb4db8eb50b472e7dfb6cab88b7
|
||||||
|
Loading…
Reference in New Issue
Block a user