Depend on ocaml-base64 for Base64 (instead of ocaml-extlib which removed it).

See also:
https://github.com/ygrek/ocaml-extlib/issues/53
This commit is contained in:
Richard W.M. Jones 2021-01-21 18:07:31 +00:00
parent a1e9db6445
commit d78259e5b7
10 changed files with 177 additions and 81 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
/dose3-5.0.1.tar.gz
/dose-09392e2.tar.gz
/dose-2c1b8df.tar.gz
/dose-24316fe8.tar.gz
/dose-24316fe.tar.gz

View File

@ -0,0 +1,60 @@
From 88b6a72e1b62000ea239c30c774762db2d375202 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 21 Jan 2021 20:21:45 +0000
Subject: [PATCH 1/4] Enable use of ocaml-base64 to provide Base64 functions.
This module is no longer included in the minimal extlib:
https://github.com/ygrek/ocaml-extlib/issues/53
---
_tags.in | 8 ++++----
npm/packages.ml | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/_tags.in b/_tags.in
index 23ed855..68c4d4e 100644
--- a/_tags.in
+++ b/_tags.in
@@ -9,9 +9,9 @@ true: -traverse
<applications/*.ml> or <experimental/*/*.ml> or <experimental/*.ml>: pp(cppo @CPPOFLAGS@ @CONFIG_PARMAP@ @CONFIG_OCAMLGRAPH@ @CONFIG_MCCS@)
<*/*.ml{i,}>: pp(cppo)
-<*/*.ml{i,}>: package(extlib), @PKG_CUDF@, package(re.pcre)
+<*/*.ml{i,}>: package(extlib), package(base64), @PKG_CUDF@, package(re.pcre)
-<*/tests.*>: package(oUnit), package(extlib), @PKG_CUDF@, package(re.pcre), package(zip), package(bz2), package(ocamlgraph)
+<*/tests.*>: package(oUnit), package(extlib), package(base64), @PKG_CUDF@, package(re.pcre), package(zip), package(bz2), package(ocamlgraph)
<common/tests.*>: use_common
<algo/tests.*>: use_common
@@ -54,7 +54,7 @@ true: -traverse
<doseparseNoRpm/*.cmx> and not <doseparseNoRpm/doseparse*.cmx>: for-pack(DoseparseNoRpm)
<{applications,experimental}/*>: use_common, use_versioning, use_debian, use_opam, use_npm, use_pef, use_csw
-<{applications,experimental}/*>: package(extlib), package(re.pcre), package(unix), package(re.str), package(ocamlgraph)
+<{applications,experimental}/*>: package(extlib), package(base64), package(re.pcre), package(unix), package(re.str), package(ocamlgraph)
<{applications,experimental}/*>: @PKG_CUDF@, @PKG_ZIP@, @PKG_BZ2@
<applications/apt-cudf.*>: use_doseparseNoRpm, use_algo, @PKG_MCCS@
@@ -85,5 +85,5 @@ true: -traverse
<experimental/cnftocudf.*>: use_doseparseNoRpm
<experimental/example.*>: use_doseparse
-<experimental/dudftocudf/*>: use_common, use_debian, use_pef, use_csw, package(extlib), package(re.pcre), package(unix), @PKG_CUDF@, @PKG_ZIP@, @PKG_BZ2@, @PKG_CURL@, @PKG_XML@, use_doseparseNoRpm
+<experimental/dudftocudf/*>: use_common, use_debian, use_pef, use_csw, package(extlib), package(base64), package(re.pcre), package(unix), @PKG_CUDF@, @PKG_ZIP@, @PKG_BZ2@, @PKG_CURL@, @PKG_XML@, use_doseparseNoRpm
true: safe_string
diff --git a/npm/packages.ml b/npm/packages.ml
index 0511950..1f36322 100644
--- a/npm/packages.ml
+++ b/npm/packages.ml
@@ -30,7 +30,7 @@ let lexbuf_wrapper type_parser v =
match v with
| (_, (_, package)) ->
let splited = Pcre.split (Pcre.regexp " : ") package in
- let base64 = Bytes.to_string (Base64.str_encode (List.nth splited 1)) in
+ let base64 = Base64.encode_string (List.nth splited 1) in
[[("", None), Some ("=", base64)]]
let parse_dependlist v = lexbuf_wrapper Npm_parser.dependlist_top v ;;
--
2.29.2

View File

@ -0,0 +1,25 @@
From 06e25cbeb8cc08e67edbc494b1a21c1eb4420cf7 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 21 Jan 2021 20:25:16 +0000
Subject: [PATCH 2/4] Enable debuginfo generation.
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index dc89a48..2c8b1e0 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ DIST_TARBALL = $(DIST_DIR).tar.gz
#VERBOSE := -classic-display
OBFLAGS := $(VERBOSE) -j 10 -no-links -cflags -warn-error,FPSXY $(PICOPTS)
APPFLAGS := $(VERBOSE) -j 10 $(PICOPTS)
-#OBFLAGS := $(OBFLAGS) -tag debug
+OBFLAGS := $(OBFLAGS) -tag debug
#OBFLAGS := $(OBFLAGS) -tag profile
#OBFLAGS := $(OBFLAGS) -classic-display
--
2.29.2

46
0003-Use-ounit2.patch Normal file
View File

@ -0,0 +1,46 @@
From a1b8ae01723917a1829ef20d719cb005548347ce Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 21 Jan 2021 20:26:31 +0000
Subject: [PATCH 3/4] Use ounit2.
---
_tags.in | 2 +-
configure.ac | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/_tags.in b/_tags.in
index 68c4d4e..b1987a3 100644
--- a/_tags.in
+++ b/_tags.in
@@ -11,7 +11,7 @@ true: -traverse
<*/*.ml{i,}>: pp(cppo)
<*/*.ml{i,}>: package(extlib), package(base64), @PKG_CUDF@, package(re.pcre)
-<*/tests.*>: package(oUnit), package(extlib), package(base64), @PKG_CUDF@, package(re.pcre), package(zip), package(bz2), package(ocamlgraph)
+<*/tests.*>: package(ounit2), package(extlib), package(base64), @PKG_CUDF@, package(re.pcre), package(zip), package(bz2), package(ocamlgraph)
<common/tests.*>: use_common
<algo/tests.*>: use_common
diff --git a/configure.ac b/configure.ac
index 02d8579..fae22e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -203,11 +203,11 @@ AC_ARG_WITH(oUnit,
HAS_OUNIT=no)
AC_SUBST(HAS_OUNIT)
if test "$HAS_OUNIT" = "yes" ; then
- AC_CHECK_OCAML_PKG([oUnit])
- if test "$OCAML_PKG_oUnit" = "no"; then
- AC_MSG_ERROR([Please install OCaml findlib module 'oUnit'.])
+ AC_CHECK_OCAML_PKG([ounit2])
+ if test "$OCAML_PKG_ounit2" = "no"; then
+ AC_MSG_ERROR([Please install OCaml findlib module 'ounit2'.])
fi
- PKG_OUNIT="pkg_oUnit"
+ PKG_OUNIT="pkg_ounit2"
fi
AC_ARG_WITH(benchmark,
--
2.29.2

View File

@ -0,0 +1,29 @@
From d43ea399d74be91ea6019117226700628ed722c5 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 21 Jan 2021 20:36:09 +0000
Subject: [PATCH 4/4] Makefile.config.in: Disable -runtime-variant pic
Fails with this error for unclear reasons:
File "myocamlbuild.ml", line 1:
Error: Cannot find file camlheader_pic
---
Makefile.config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.config.in b/Makefile.config.in
index 0dbc000..cae4d5f 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -64,7 +64,7 @@ endif
ifeq ("@OCAMLEXT@","native")
OCAMLBUILD=@OCAMLBUILD@
- PICOPTS=-lflags -runtime-variant,_pic
+ #PICOPTS=-lflags -runtime-variant,_pic
ifeq ("@OCAML_SYSTEM@","mingw")
INSTALLOPTS=-s --strip-program=i686-w64-mingw32-strip
else
--
2.29.2

View File

@ -1,31 +0,0 @@
diff -ur dose-2c1b8df.old/configure.ac dose-2c1b8df.new/configure.ac
--- dose-2c1b8df.old/configure.ac 2018-04-21 16:28:19.000000000 +0100
+++ dose-2c1b8df.new/configure.ac 2020-02-27 09:42:45.695468700 +0000
@@ -203,11 +203,11 @@
HAS_OUNIT=no)
AC_SUBST(HAS_OUNIT)
if test "$HAS_OUNIT" = "yes" ; then
- AC_CHECK_OCAML_PKG([oUnit])
- if test "$OCAML_PKG_oUnit" = "no"; then
- AC_MSG_ERROR([Please install OCaml findlib module 'oUnit'.])
+ AC_CHECK_OCAML_PKG([ounit2])
+ if test "$OCAML_PKG_ounit2" = "no"; then
+ AC_MSG_ERROR([Please install OCaml findlib module 'ounit2'.])
fi
- PKG_OUNIT="pkg_oUnit"
+ PKG_OUNIT="pkg_ounit2"
fi
AC_ARG_WITH(benchmark,
diff -ur dose-2c1b8df.old/_tags.in dose-2c1b8df.new/_tags.in
--- dose-2c1b8df.old/_tags.in 2018-04-21 16:28:19.000000000 +0100
+++ dose-2c1b8df.new/_tags.in 2020-02-27 09:45:38.324001379 +0000
@@ -11,7 +11,7 @@
<*/*.ml{i,}>: pp(cppo)
<*/*.ml{i,}>: package(extlib), @PKG_CUDF@, package(re.pcre)
-<*/tests.*>: package(oUnit), package(extlib), @PKG_CUDF@, package(re.pcre), package(zip), package(bz2), package(ocamlgraph)
+<*/tests.*>: package(ounit2), package(extlib), @PKG_CUDF@, package(re.pcre), package(zip), package(bz2), package(ocamlgraph)
<common/tests.*>: use_common
<algo/tests.*>: use_common

View File

@ -1,13 +0,0 @@
diff --git a/Makefile b/Makefile
index 09464ff..d465c28 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ DIST_TARBALL = $(DIST_DIR).tar.gz
#VERBOSE := -classic-display
OBFLAGS := $(VERBOSE) -j 10 -no-links -cflags -warn-error,FPSXY
APPFLAGS := $(VERBOSE) -j 10
-#OBFLAGS := $(OBFLAGS) -tag debug
+OBFLAGS := $(OBFLAGS) -tag debug
#OBFLAGS := $(OBFLAGS) -tag profile
#OBFLAGS := $(OBFLAGS) -classic-display

View File

@ -1,22 +0,0 @@
diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
index 71f9178..e5a2376 100644
--- a/common/criteria_lexer.mll
+++ b/common/criteria_lexer.mll
@@ -18,7 +18,7 @@
let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
(* find the terminating delimiter *)
let endpos =
- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
+ try String.index_from (Lexing.lexeme lexbuf) (lexbuf.lex_start_pos + 3) c with
|Invalid_argument _ ->
raise (Format822.Syntax_error (
Format822.error lexbuf "String too short"))
@@ -27,7 +27,7 @@
Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
in
let len = endpos - (lexbuf.lex_start_pos + 3) in
- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
+ let s = String.sub (Lexing.lexeme lexbuf) (lexbuf.lex_start_pos + 3) len in
lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
s

View File

@ -3,12 +3,12 @@
# that is distributed separately.
# Currently packaging a snapshot to build with newer ocaml.
%global commit0 2c1b8df9064d645fac273e3ca96b5c0d92bf6e9f
%global commit0 24316fe8532a529bf53703902d679a0cc3fea934
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
Name: ocaml-dose3
Version: 5.0.1
Release: 30.20180821git%{shortcommit0}%{?dist}
Release: 30.20200502git%{shortcommit0}%{?dist}
Summary: Framework for managing distribution packages and dependencies
%global libname %(echo %{name} | sed -e 's/^ocaml-//')
@ -18,17 +18,14 @@ License: LGPLv3+ with exceptions
URL: http://www.mancoosi.org/software/
#Source0: https://gforge.inria.fr/frs/download.php/file/36063/dose3-{version}.tar.gz
Source0: https://scm.gforge.inria.fr/anonscm/gitweb?p=dose/dose.git;a=snapshot;h=%{commit0};sf=tgz#/dose-%{shortcommit0}.tar.gz
Source0: https://scm.gforge.inria.fr/anonscm/gitweb?p=dose/dose.git;a=snapshot;h=%{commit0};sf=tgz#/dose-%{shortcommit0}.tar.gz
# One remaining safe-string fix.
Patch0: ocaml-dose3-safe-string.patch
# The option to enable debuginfo generation (-tag debug) was commented out
# in the Makefile, so comment it back in.
Patch1: ocaml-dose3-makefile-debug.patch
# Use ounit2.
Patch2: dose-2c1b8df-ounit2.patch
# Patches.
# All sent upstream 2021-01-21.
Patch1: 0001-Enable-use-of-ocaml-base64-to-provide-Base64-functio.patch
Patch2: 0002-Enable-debuginfo-generation.patch
Patch3: 0003-Use-ounit2.patch
Patch4: 0004-Makefile.config.in-Disable-runtime-variant-pic.patch
BuildRequires: make
BuildRequires: autoconf, automake
@ -46,6 +43,7 @@ BuildRequires: ocaml-cudf-devel
BuildRequires: ocaml-cppo
BuildRequires: ocaml-zip-devel
BuildRequires: ocaml-ounit-devel
BuildRequires: ocaml-base64-devel >= 3.4.0-1
BuildRequires: rpm-devel
BuildRequires: zlib-devel
@ -97,7 +95,7 @@ for manipulating packages of various formats.
%prep
%autosetup -p1 -n dose-%{shortcommit0} #dose3-%{version}
# Patch 2 touches configure.ac.
# Patches touch configure.ac.
autoreconf -i
# I think we want to package the .cmx files if possible.
@ -179,8 +177,10 @@ ln -s %{_bindir}/distcheck %{buildroot}%{_bindir}/eclipsecheck
%{_mandir}/man8/*.8*
%changelog
* Wed Jan 20 2021 Richard W.M. Jones <rjones@redhat.com> - 5.0.1-30.20180821git2c1b8df
* Thu Jan 21 2021 Richard W.M. Jones <rjones@redhat.com> - 5.0.1-30.20200502git24316fe
- Rebuild for new ocaml-extlib.
- Depend on ocaml-base64 for Base64 (instead of ocaml-extlib which removed it).
- Move to newer snapshot.
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 5.0.1-29.20180821git2c1b8df
- OCaml 4.11.1 rebuild

View File

@ -1 +1 @@
SHA512 (dose-2c1b8df.tar.gz) = aa850673bdc846e5ee84ec9d1b37e7ca34d6d4a452b0b5f1f8e3df40547bee089d3b15d05b1dfcf5c767785e3ce71a886c67eefa7d7c318dcbe9a0372902f3b3
SHA512 (dose-24316fe.tar.gz) = a23d7b8ae857421c1687abda53ced0e76cec32efa19295638e69933bce5012e396948b0504ab9d97242f877977152f4d720ce9a33797386d3dd760599da6c710