Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
8
.gitignore
vendored
8
.gitignore
vendored
@ -1 +1,7 @@
|
||||
SOURCES/0.3.7.tar.gz
|
||||
ocaml-gettext-0.3.3.tar.gz
|
||||
/ocaml-gettext-0.3.4.tar.gz
|
||||
/ocaml-gettext-0.3.5.tar.gz
|
||||
/0.3.7.tar.gz
|
||||
/ocaml-gettext-0.3.8-3aecf8e5350f.tar.gz
|
||||
/v0.4.1.tar.gz
|
||||
/v0.4.2.tar.gz
|
||||
|
@ -1 +0,0 @@
|
||||
e2aa5ef88ed77491fcae849e25ebcf6eca7cde6f SOURCES/0.3.7.tar.gz
|
@ -1,109 +0,0 @@
|
||||
From 35d2d7381c7101bb73d0b7f00fea06442c7b2ab8 Mon Sep 17 00:00:00 2001
|
||||
From: Pino Toscano <ptoscano@redhat.com>
|
||||
Date: Tue, 29 Aug 2017 18:29:34 +0200
|
||||
Subject: [PATCH 1/3] pr_gettext: stop tracking (and printing) untranslated
|
||||
strings
|
||||
|
||||
Do not collect anymore the information of untranslated strings, since it
|
||||
is only used to print all of them at the end of the message extraction.
|
||||
|
||||
While I understand the reason why this was done (i.e. to discover
|
||||
potentially untranslated user strings), this is something that just
|
||||
causes lots of output in complex projects, since strings are basically
|
||||
used for many non-UI tasks (say Str, Sys.command, etc), so the actual
|
||||
result is that there are lots of false positive. Also, this is not
|
||||
something xgettext (from GNU gettext) does.
|
||||
---
|
||||
libgettext-ocaml/pr_gettext.ml | 44 ------------------------------------------
|
||||
1 file changed, 44 deletions(-)
|
||||
|
||||
diff --git a/libgettext-ocaml/pr_gettext.ml b/libgettext-ocaml/pr_gettext.ml
|
||||
index c44933f..d78cf21 100644
|
||||
--- a/libgettext-ocaml/pr_gettext.ml
|
||||
+++ b/libgettext-ocaml/pr_gettext.ml
|
||||
@@ -71,17 +71,10 @@ struct
|
||||
module Loc = Syntax.Loc
|
||||
module Ast = Syntax.Ast
|
||||
|
||||
- type untranslated_t =
|
||||
- {
|
||||
- str: string; (* Real string, not OCaml one *)
|
||||
- locations: (string * int) list; (* Location in the file *)
|
||||
- }
|
||||
-
|
||||
type t =
|
||||
{
|
||||
po_content: po_content;
|
||||
translated: SetString.t;
|
||||
- untranslated: untranslated_t MapString.t;
|
||||
}
|
||||
|
||||
let string_of_ocaml_string str =
|
||||
@@ -91,29 +84,6 @@ struct
|
||||
"%S"
|
||||
(fun s -> s)
|
||||
|
||||
- let string_not_translated t ocaml_str =
|
||||
- not (SetString.mem ocaml_str t.translated)
|
||||
-
|
||||
- let add_untranslated t loc ocaml_str =
|
||||
- let cur =
|
||||
- try
|
||||
- MapString.find ocaml_str t.untranslated
|
||||
- with Not_found ->
|
||||
- {
|
||||
- str = string_of_ocaml_string ocaml_str;
|
||||
- locations = [];
|
||||
- }
|
||||
- in
|
||||
- let untranslated =
|
||||
- MapString.add
|
||||
- ocaml_str
|
||||
- {cur with
|
||||
- locations =
|
||||
- (Loc.file_name loc, Loc.start_line loc) :: cur.locations}
|
||||
- t.untranslated
|
||||
- in
|
||||
- {t with untranslated = untranslated}
|
||||
-
|
||||
|
||||
let add_translation t loc ocaml_singular plural_opt domain =
|
||||
let filepos =
|
||||
@@ -164,15 +134,6 @@ struct
|
||||
| Some f -> open_out f
|
||||
| None -> stdout
|
||||
in
|
||||
- MapString.iter
|
||||
- (fun _ {str = str; locations = locs} ->
|
||||
- List.iter
|
||||
- (fun (fn, lineno) ->
|
||||
- Printf.eprintf
|
||||
- "%s:%d String %S not translated\n%!"
|
||||
- fn lineno str)
|
||||
- locs)
|
||||
- t.untranslated;
|
||||
Marshal.to_channel fd t.po_content []
|
||||
|
||||
(* Check if the given node belong to the given functions *)
|
||||
@@ -197,7 +158,6 @@ struct
|
||||
val t =
|
||||
{
|
||||
po_content = empty_po;
|
||||
- untranslated = MapString.empty;
|
||||
translated = SetString.empty;
|
||||
}
|
||||
|
||||
@@ -234,10 +194,6 @@ struct
|
||||
(* Add a plural / defined domain string *)
|
||||
{< t = add_translation t loc singular (Some plural) (Some domain) >}
|
||||
|
||||
- | <:expr@loc<$str:str$>> when
|
||||
- string_not_translated t str ->
|
||||
- {< t = add_untranslated t loc str >}
|
||||
-
|
||||
| e -> super#expr e
|
||||
|
||||
end
|
||||
--
|
||||
2.13.2
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 3f4fc73c2a0315c2da16dee7db0fcb2766f55d3c Mon Sep 17 00:00:00 2001
|
||||
From: Pino Toscano <ptoscano@redhat.com>
|
||||
Date: Tue, 29 Aug 2017 18:36:10 +0200
|
||||
Subject: [PATCH 2/3] pr_gettext: stop printing extracted strings
|
||||
|
||||
They are written in the pot file already, no need to print them to
|
||||
stderr (even though they are not errors).
|
||||
---
|
||||
libgettext-ocaml/pr_gettext.ml | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/libgettext-ocaml/pr_gettext.ml b/libgettext-ocaml/pr_gettext.ml
|
||||
index d78cf21..47d93e5 100644
|
||||
--- a/libgettext-ocaml/pr_gettext.ml
|
||||
+++ b/libgettext-ocaml/pr_gettext.ml
|
||||
@@ -78,7 +78,6 @@ struct
|
||||
}
|
||||
|
||||
let string_of_ocaml_string str =
|
||||
- prerr_endline str;
|
||||
Scanf.sscanf
|
||||
(Printf.sprintf "\"%s\"" str)
|
||||
"%S"
|
||||
--
|
||||
2.13.2
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 202bf1e00eaa533e133c29b509d77cdfb7c13f5e Mon Sep 17 00:00:00 2001
|
||||
From: Pino Toscano <ptoscano@redhat.com>
|
||||
Date: Tue, 29 Aug 2017 18:55:37 +0200
|
||||
Subject: [PATCH 3/3] add more generated files to .gitignore
|
||||
|
||||
Make sure all the files generated during a build are properly ignored
|
||||
from the git status.
|
||||
---
|
||||
.gitignore | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/.gitignore b/.gitignore
|
||||
index d853d40..87821c3 100644
|
||||
--- a/.gitignore
|
||||
+++ b/.gitignore
|
||||
@@ -1,3 +1,12 @@
|
||||
+*.a
|
||||
+*.cma
|
||||
+*.cmi
|
||||
+*.cmo
|
||||
+*.cmx
|
||||
+*.cmxa
|
||||
+*.o
|
||||
+*.so
|
||||
+*_parser.output
|
||||
/_build/
|
||||
/setup.data
|
||||
/setup.log
|
||||
@@ -7,6 +16,12 @@
|
||||
/configure
|
||||
/libgettext-ocaml/META
|
||||
/libgettext-ocaml/gettextConfig.ml
|
||||
+/libgettext-ocaml/gettextPo_parser.mli
|
||||
/config.log
|
||||
/config.status
|
||||
+/po/*.mo
|
||||
/po/fr.po.bak
|
||||
+/doc/*.1
|
||||
+/doc/*.5
|
||||
+/ocaml-gettext/ocaml-gettext
|
||||
+/ocaml-gettext/ocaml-xgettext
|
||||
--
|
||||
2.13.2
|
||||
|
@ -1,33 +0,0 @@
|
||||
--- ocaml-gettext-0.3.4/TopMakefile.old 2013-09-14 08:54:04.713986462 +0100
|
||||
+++ ocaml-gettext-0.3.4/TopMakefile 2013-09-14 08:54:18.319006115 +0100
|
||||
@@ -102,7 +102,7 @@
|
||||
%.cmxa %.a %.so:
|
||||
$(if $(STUBSOBJS), \
|
||||
$(OCAMLMKLIB) -o $* $^ $(OCAMLMKLIB_FLAGS), \
|
||||
- $(OCAMLOPT) -a -o $*.cmxa $^ \
|
||||
+ $(OCAMLOPT) -g -a -o $*.cmxa $^ \
|
||||
)
|
||||
|
||||
%.cma %.a %.so:
|
||||
@@ -161,7 +161,7 @@
|
||||
OLIBS = $(addsuffix .cmxa,$(LIBS))
|
||||
|
||||
install-buildprog-opt: $(CMX)
|
||||
- $(OCAMLOPT) -o $(NAME) $(INCLUDES) -package "$(REQUIRES)" -linkpkg \
|
||||
+ $(OCAMLOPT) -g -o $(NAME) $(INCLUDES) -package "$(REQUIRES)" -linkpkg \
|
||||
-predicates "$(PREDICATES)" $(OLIBS) $(CMX)
|
||||
$(INSTALL) -d $(BUILDBIN)
|
||||
$(INSTALL_SCRIPT) -t $(BUILDBIN) $(NAME)
|
||||
@@ -300,10 +300,10 @@
|
||||
$(OCAMLC) $(INCLUDES) $(CLI_OCAMLFIND) -c $<
|
||||
|
||||
.ml.o:
|
||||
- $(OCAMLOPT) $(INCLUDES) $(CLI_OCAMLFIND) -c $<
|
||||
+ $(OCAMLOPT) -g $(INCLUDES) $(CLI_OCAMLFIND) -c $<
|
||||
|
||||
.ml.cmx:
|
||||
- $(OCAMLOPT) $(INCLUDES) $(CLI_OCAMLFIND) -c $<
|
||||
+ $(OCAMLOPT) -g $(INCLUDES) $(CLI_OCAMLFIND) -c $<
|
||||
|
||||
.mll.ml:
|
||||
$(OCAMLLEX) $<
|
@ -1,17 +0,0 @@
|
||||
diff -ur ocaml-gettext-0.3.7.old/libgettext-ocaml/gettextMo_int32.ml ocaml-gettext-0.3.7/libgettext-ocaml/gettextMo_int32.ml
|
||||
--- ocaml-gettext-0.3.7.old/libgettext-ocaml/gettextMo_int32.ml 2017-03-01 22:03:24.000000000 +0000
|
||||
+++ ocaml-gettext-0.3.7/libgettext-ocaml/gettextMo_int32.ml 2017-11-08 18:33:04.486280040 +0000
|
||||
@@ -104,11 +104,11 @@
|
||||
(Int32.to_int length,Int32.to_int offset)
|
||||
in
|
||||
if 0 <= ioffset + ilength && ioffset + ilength < in_channel_length chn then
|
||||
- let str = String.make ilength 'X'
|
||||
+ let str = Bytes.make ilength 'X'
|
||||
in
|
||||
seek_in chn ioffset;
|
||||
really_input chn str 0 ilength;
|
||||
- str
|
||||
+ Bytes.to_string str
|
||||
else
|
||||
(* We use this exception, because that what should happen if we try to
|
||||
read the string *)
|
6
gating.yaml
Executable file
6
gating.yaml
Executable file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-*
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
11
ocaml-gettext-camomile2.patch
Normal file
11
ocaml-gettext-camomile2.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- ocaml-gettext-0.4.2/src/lib/gettext-camomile/gettextCamomile.ml.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/src/lib/gettext-camomile/gettextCamomile.ml 2023-06-22 13:41:46.930127479 -0600
|
||||
@@ -20,7 +20,7 @@
|
||||
(* USA *)
|
||||
(**************************************************************************)
|
||||
|
||||
-open CamomileLibraryDefault.Camomile
|
||||
+open Camomile
|
||||
open GettextTypes
|
||||
|
||||
(** Error reported when something goes wrong during Camomile initialization.
|
13
ocaml-gettext-ocaml5.2.patch
Normal file
13
ocaml-gettext-ocaml5.2.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- ocaml-gettext-0.4.2/test/test.ml.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/test/test.ml 2024-05-07 19:56:55.742155830 -0600
|
||||
@@ -278,8 +278,8 @@ let install_test =
|
||||
( "test7.mo",
|
||||
MoInvalidHeaderTableTranslationOutOfBound
|
||||
((28l, 2626l), (-49l, 111l)) );
|
||||
- ("test8.mo", MoInvalidStringOutOfBound (2626, 36));
|
||||
- ("test9.mo", MoInvalidTranslationOutOfBound (2626, 196));
|
||||
+ ("test8.mo", MoCannotOpenFile ("testdata/test8.mo"));
|
||||
+ ("test9.mo", MoCannotOpenFile ("testdata/test9.mo"));
|
||||
]
|
||||
@ List.map install_warning_test_one
|
||||
[
|
152
ocaml-gettext-ocaml5.patch
Normal file
152
ocaml-gettext-ocaml5.patch
Normal file
@ -0,0 +1,152 @@
|
||||
--- ocaml-gettext-0.4.2/gettext-camomile.opam.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/gettext-camomile.opam 2023-06-22 13:31:24.299464751 -0600
|
||||
@@ -19,9 +19,8 @@ depends: [
|
||||
"ocaml" {>= "4.03.0"}
|
||||
"dune" {>= "1.11.0"}
|
||||
"camomile"
|
||||
- "base-bytes"
|
||||
"gettext" {= version}
|
||||
- "ounit" {with-test & > "2.0.8"}
|
||||
+ "ounit2" {with-test & > "2.2.6"}
|
||||
"fileutils" {with-test}
|
||||
]
|
||||
synopsis: "Internationalization library using camomile (i18n)"
|
||||
--- ocaml-gettext-0.4.2/gettext.opam.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/gettext.opam 2023-06-22 13:30:52.810938219 -0600
|
||||
@@ -20,8 +20,7 @@ depends: [
|
||||
"dune" {>= "1.11.0"}
|
||||
"cppo" {build}
|
||||
"fileutils"
|
||||
- "base-bytes"
|
||||
- "ounit" {with-test & > "2.0.8"}
|
||||
+ "ounit2" {with-test & > "2.2.6"}
|
||||
]
|
||||
synopsis: "Internationalization library (i18n)"
|
||||
description:"""
|
||||
--- ocaml-gettext-0.4.2/gettext-stub.opam.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/gettext-stub.opam 2023-06-22 13:32:14.938703327 -0600
|
||||
@@ -19,9 +19,8 @@ depends: [
|
||||
"ocaml" {>= "4.03.0"}
|
||||
"dune" {>= "1.11.0"}
|
||||
"dune-configurator"
|
||||
- "base-bytes"
|
||||
"gettext" {= version}
|
||||
- "ounit" {with-test & > "2.0.8"}
|
||||
+ "ounit2" {with-test & > "2.2.6"}
|
||||
"fileutils" {with-test}
|
||||
]
|
||||
depexts: [
|
||||
--- ocaml-gettext-0.4.2/src/lib/gettext-stub/gettextStubCompat_stubs.c.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/src/lib/gettext-stub/gettextStubCompat_stubs.c 2023-06-22 13:33:17.080769220 -0600
|
||||
@@ -76,7 +76,7 @@ CAMLprim value gettextStubCompat_gettext
|
||||
value v_msgid)
|
||||
{
|
||||
CAMLparam1(v_msgid);
|
||||
- CAMLreturn(copy_string(gettext(String_val(v_msgid))));
|
||||
+ CAMLreturn(caml_copy_string(gettext(String_val(v_msgid))));
|
||||
}
|
||||
|
||||
CAMLprim value gettextStubCompat_dgettext(
|
||||
@@ -85,7 +85,7 @@ CAMLprim value gettextStubCompat_dgettex
|
||||
{
|
||||
CAMLparam2(v_domainname, v_msgid);
|
||||
CAMLreturn(
|
||||
- copy_string(
|
||||
+ caml_copy_string(
|
||||
dgettext(
|
||||
String_val(v_domainname),
|
||||
String_val(v_msgid))));
|
||||
@@ -98,7 +98,7 @@ CAMLprim value gettextStubCompat_dcgette
|
||||
{
|
||||
CAMLparam3(v_domainname, v_msgid, v_category);
|
||||
CAMLreturn(
|
||||
- copy_string(
|
||||
+ caml_copy_string(
|
||||
dcgettext(
|
||||
String_val(v_domainname),
|
||||
String_val(v_msgid),
|
||||
@@ -112,7 +112,7 @@ CAMLprim value gettextStubCompat_ngettex
|
||||
{
|
||||
CAMLparam3(v_msgid1, v_msgid2, v_n);
|
||||
CAMLreturn(
|
||||
- copy_string(
|
||||
+ caml_copy_string(
|
||||
ngettext(
|
||||
String_val(v_msgid1),
|
||||
String_val(v_msgid2),
|
||||
@@ -127,7 +127,7 @@ CAMLprim value gettextStubCompat_dngette
|
||||
{
|
||||
CAMLparam4(v_domainname, v_msgid1, v_msgid2, v_n);
|
||||
CAMLreturn(
|
||||
- copy_string(
|
||||
+ caml_copy_string(
|
||||
dngettext(
|
||||
String_val(v_domainname),
|
||||
String_val(v_msgid1),
|
||||
@@ -158,7 +158,7 @@ CAMLprim value gettextStubCompat_dcngett
|
||||
"NULL string not expected at "STRINGIFY(__LINE__)" in "__FILE__);
|
||||
};
|
||||
|
||||
- CAMLreturn(copy_string(res));
|
||||
+ CAMLreturn(caml_copy_string(res));
|
||||
}
|
||||
|
||||
CAMLprim value gettextStubCompat_textdomain(
|
||||
--- ocaml-gettext-0.4.2/test/common/dune.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/test/common/dune 2023-06-22 13:33:50.049275086 -0600
|
||||
@@ -1,3 +1,3 @@
|
||||
(library
|
||||
(name common)
|
||||
- (libraries gettext.base oUnit))
|
||||
+ (libraries gettext.base ounit2))
|
||||
--- ocaml-gettext-0.4.2/test/dune.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/test/dune 2023-06-22 13:34:09.487983748 -0600
|
||||
@@ -6,7 +6,7 @@
|
||||
../src/bin/ocaml-xgettext/xgettext.exe
|
||||
(glob_files testdata/*)
|
||||
(glob_files testdata/fr_FR/LC_MESSAGES/*))
|
||||
- (libraries oUnit str fileutils gettext.extension common)
|
||||
+ (libraries ounit2 str fileutils gettext.extension common)
|
||||
(action
|
||||
(run %{test}
|
||||
-runner sequential
|
||||
--- ocaml-gettext-0.4.2/test/test-camomile/dune.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/test/test-camomile/dune 2023-06-22 13:34:24.840753623 -0600
|
||||
@@ -4,6 +4,6 @@
|
||||
(deps
|
||||
(glob_files testdata/*)
|
||||
(glob_files ../testdata/fr_FR/LC_MESSAGES/*))
|
||||
- (libraries common gettext-camomile oUnit fileutils)
|
||||
+ (libraries common gettext-camomile ounit2 fileutils)
|
||||
(action
|
||||
(run %{test} -test-dir ../testdata)))
|
||||
--- ocaml-gettext-0.4.2/test/test.ml.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/test/test.ml 2023-06-22 13:35:08.719095972 -0600
|
||||
@@ -221,7 +221,7 @@ let install_test =
|
||||
Printf.sprintf "%s warning" fl_mo >:: fun ctxt ->
|
||||
let tests = make_tests ctxt in
|
||||
let out = Buffer.create 13 in
|
||||
- let capture_out strm = Stream.iter (Buffer.add_char out) strm in
|
||||
+ let capture_out strm = Seq.iter (Buffer.add_char out) strm in
|
||||
let fl_mo = concat tests.test_dir fl_mo in
|
||||
let fl_dst = make_filename (tests.install_dir :: fl_dsts) in
|
||||
assert_command
|
||||
@@ -392,7 +392,7 @@ let compile_ocaml =
|
||||
[]
|
||||
in
|
||||
let out = Buffer.create 13 in
|
||||
- let capture_out strm = Stream.iter (Buffer.add_char out) strm in
|
||||
+ let capture_out strm = Seq.iter (Buffer.add_char out) strm in
|
||||
let match_exp_err = Str.regexp (".*"^(Str.quote exp_err)^".*") in
|
||||
assert_command
|
||||
~exit_code:(Unix.WEXITED exp_return_code)
|
||||
--- ocaml-gettext-0.4.2/test/test-stub/dune.orig 2020-06-11 14:40:42.000000000 -0600
|
||||
+++ ocaml-gettext-0.4.2/test/test-stub/dune 2023-06-22 13:34:43.239477852 -0600
|
||||
@@ -4,6 +4,6 @@
|
||||
(deps
|
||||
(glob_files ../testdata/*)
|
||||
(glob_files ../testdata/fr_FR/LC_MESSAGES/*))
|
||||
- (libraries common gettext-stub oUnit)
|
||||
+ (libraries common gettext-stub ounit2)
|
||||
(action
|
||||
(run %{test} -test-dir ../testdata)))
|
@ -1,47 +1,55 @@
|
||||
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
||||
# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
# Optionally disable camomile dep on RHEL.
|
||||
%if !0%{?rhel}
|
||||
%bcond_without camomile
|
||||
%bcond_without tests
|
||||
%else
|
||||
%bcond_with camomile
|
||||
%bcond_with tests
|
||||
%endif
|
||||
|
||||
Name: ocaml-gettext
|
||||
Version: 0.3.7
|
||||
Release: 6%{?dist}
|
||||
Version: 0.4.2
|
||||
Release: 23%{?dist}
|
||||
Summary: OCaml library for i18n
|
||||
|
||||
License: LGPLv2+ with exceptions
|
||||
License: LGPL-2.1-or-later with OCaml-LGPL-linking-exception
|
||||
URL: https://github.com/gildor478/ocaml-gettext
|
||||
|
||||
Source0: https://github.com/gildor478/%{name}/archive/%{version}.tar.gz
|
||||
Source0: https://github.com/gildor478/%{name}/archive/v%{version}.tar.gz
|
||||
|
||||
Patch0: ocaml-gettext-0.3.4-use-ocamlopt-g.patch
|
||||
Patch0001: 0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
|
||||
Patch0002: 0002-pr_gettext-stop-printing-extracted-strings.patch
|
||||
Patch0003: 0003-add-more-generated-files-to-.gitignore.patch
|
||||
# Fix for immutable strings in OCaml 4.06.
|
||||
Patch4: ocaml-gettext-0.3.7-bytes-fix.patch
|
||||
# Updates for OCaml 5. Based in part on
|
||||
# https://github.com/gildor478/ocaml-gettext/pull/24
|
||||
Patch0: %{name}-ocaml5.patch
|
||||
# Adapt to changes in camomile 2.0
|
||||
# https://github.com/gildor478/ocaml-gettext/pull/27
|
||||
Patch1: %{name}-camomile2.patch
|
||||
# Two tests that are supposed to fail raise different errors under OCaml 5.2.0
|
||||
Patch2: %{name}-ocaml5.2.patch
|
||||
|
||||
BuildRequires: ocaml >= 4.00.1
|
||||
BuildRequires: ocaml-findlib-devel >= 1.3.3-3
|
||||
BuildRequires: ocaml-ocamldoc
|
||||
BuildRequires: ocaml-camlp4-devel
|
||||
BuildRequires: ocaml >= 4.03.0
|
||||
BuildRequires: ocaml-fileutils-devel >= 0.4.4-4
|
||||
BuildRequires: ocaml-dune >= 1.11.0
|
||||
BuildRequires: ocaml-dune-configurator-devel
|
||||
BuildRequires: ocaml-cppo
|
||||
BuildRequires: docbook-style-xsl
|
||||
BuildRequires: libxslt
|
||||
BuildRequires: libxml2
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: autoconf
|
||||
%if !0%{?rhel}
|
||||
%if %{with tests}
|
||||
BuildRequires: ocaml-ounit-devel
|
||||
%endif
|
||||
%if %{with camomile}
|
||||
BuildRequires: ocaml-camomile-devel >= 0.8.6-3
|
||||
BuildRequires: ocaml-camomile-data
|
||||
%endif
|
||||
BuildRequires: autoconf, automake
|
||||
|
||||
%if !0%{?rhel}
|
||||
%if %{with camomile}
|
||||
# ocaml-gettext program needs camomile data files
|
||||
Requires: ocaml-camomile-data
|
||||
%endif
|
||||
|
||||
%global __ocaml_requires_opts -i Asttypes -i Parsetree
|
||||
%global __ocaml_provides_opts -i Pr_gettext
|
||||
|
||||
|
||||
%description
|
||||
Ocaml-gettext provides support for internationalization of Ocaml
|
||||
@ -57,10 +65,10 @@ Constraints :
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
# BZ 446919.
|
||||
Requires: ocaml-fileutils-devel >= 0.4.0
|
||||
Requires: ocaml-fileutils-devel%{?_isa} >= 0.4.0
|
||||
|
||||
|
||||
%description devel
|
||||
@ -68,10 +76,10 @@ The %{name}-devel package contains libraries and signature files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
|
||||
%if !0%{?rhel}
|
||||
%if %{with camomile}
|
||||
%package camomile
|
||||
Summary: Parts of %{name} which depend on Camomile
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
||||
%description camomile
|
||||
@ -81,8 +89,9 @@ depend on Camomile.
|
||||
|
||||
%package camomile-devel
|
||||
Summary: Development files for %{name}-camomile
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: %{name}-camomile = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-camomile%{?_isa} = %{version}-%{release}
|
||||
Requires: ocaml-camomile-devel%{?_isa}
|
||||
|
||||
|
||||
%description camomile-devel
|
||||
@ -93,120 +102,206 @@ signature files for developing applications that use
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%autopatch -p1
|
||||
%autosetup -p1
|
||||
|
||||
autoreconf -i
|
||||
%if %{without camomile}
|
||||
# Remove dependency on camomile.
|
||||
rm -f gettext-camomile.opam
|
||||
rm -r src/lib/gettext-camomile
|
||||
rm -r test/test-camomile
|
||||
sed -i -e 's/camomile//' `find -name dune`
|
||||
%endif
|
||||
|
||||
|
||||
%build
|
||||
# Parallel builds don't work.
|
||||
unset MAKEFLAGS
|
||||
CFLAGS="$RPM_OPT_FLAGS" \
|
||||
./configure \
|
||||
--libdir=%{_libdir} \
|
||||
%if 0%{?rhel}
|
||||
--disable-camomile \
|
||||
%else
|
||||
--enable-test \
|
||||
%endif
|
||||
--with-docbook-stylesheet=/usr/share/sgml/docbook/xsl-stylesheets
|
||||
make all
|
||||
|
||||
|
||||
%check
|
||||
%if %opt
|
||||
%if !0%{?rhel}
|
||||
pushd test
|
||||
../_build/bin/test
|
||||
popd
|
||||
%endif
|
||||
%endif
|
||||
%dune_build
|
||||
|
||||
|
||||
%install
|
||||
# make install in the package is screwed up completely. Install
|
||||
# by hand instead.
|
||||
export DESTDIR=$RPM_BUILD_ROOT
|
||||
export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
|
||||
mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs
|
||||
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||
%dune_install -s
|
||||
sed -i '\@%{_bindir}@d;\@%{_mandir}@d' .ofiles-gettext
|
||||
cat .ofiles-gettext-stub >> .ofiles-gettext
|
||||
cat .ofiles-gettext-stub-devel >> .ofiles-gettext-devel
|
||||
|
||||
# Remove *.o files - these shouldn't be distributed.
|
||||
find _build -name '*.o' -exec rm {} \;
|
||||
|
||||
ocamlfind install gettext _build/lib/gettext/*
|
||||
ocamlfind install gettext-stub _build/lib/gettext-stub/*
|
||||
%if !0%{?rhel}
|
||||
ocamlfind install gettext-camomile _build/lib/gettext-camomile/*
|
||||
%if %{with tests}
|
||||
%check
|
||||
%dune_check
|
||||
%endif
|
||||
install -m 0755 _build/bin/ocaml-gettext $RPM_BUILD_ROOT%{_bindir}/
|
||||
install -m 0755 _build/bin/ocaml-xgettext $RPM_BUILD_ROOT%{_bindir}/
|
||||
|
||||
chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so
|
||||
|
||||
|
||||
%files
|
||||
%doc COPYING
|
||||
%{_libdir}/ocaml/gettext
|
||||
%{_libdir}/ocaml/gettext-stub
|
||||
%if %opt
|
||||
%exclude %{_libdir}/ocaml/gettext/*.a
|
||||
%exclude %{_libdir}/ocaml/gettext/*.cmxa
|
||||
%exclude %{_libdir}/ocaml/gettext/*.cmx
|
||||
%exclude %{_libdir}/ocaml/gettext-stub/*.a
|
||||
%exclude %{_libdir}/ocaml/gettext-stub/*.cmxa
|
||||
%exclude %{_libdir}/ocaml/gettext-stub/*.cmx
|
||||
%endif
|
||||
%exclude %{_libdir}/ocaml/gettext/*.ml
|
||||
%exclude %{_libdir}/ocaml/gettext/*.mli
|
||||
%exclude %{_libdir}/ocaml/gettext-stub/*.ml
|
||||
%{_libdir}/ocaml/stublibs/*.so
|
||||
%{_libdir}/ocaml/stublibs/*.so.owner
|
||||
%files -f .ofiles-gettext
|
||||
%license LICENSE.txt
|
||||
|
||||
|
||||
%files devel
|
||||
%doc README CHANGELOG TODO
|
||||
# %doc build/share/doc/html/*
|
||||
%if %opt
|
||||
%{_libdir}/ocaml/gettext/*.a
|
||||
%{_libdir}/ocaml/gettext/*.cmxa
|
||||
%{_libdir}/ocaml/gettext/*.cmx
|
||||
%{_libdir}/ocaml/gettext-stub/*.a
|
||||
%{_libdir}/ocaml/gettext-stub/*.cmxa
|
||||
%{_libdir}/ocaml/gettext-stub/*.cmx
|
||||
%endif
|
||||
%{_libdir}/ocaml/gettext/*.ml
|
||||
%{_libdir}/ocaml/gettext/*.mli
|
||||
%{_libdir}/ocaml/gettext-stub/*.ml
|
||||
%files devel -f .ofiles-gettext-devel
|
||||
%doc README.md CHANGES.md THANKS TODO.md
|
||||
%{_bindir}/ocaml-gettext
|
||||
%{_bindir}/ocaml-xgettext
|
||||
%{_mandir}/man1/ocaml-gettext.1*
|
||||
%{_mandir}/man1/ocaml-xgettext.1*
|
||||
%{_mandir}/man5/ocaml-gettext.5*
|
||||
|
||||
|
||||
%if !0%{?rhel}
|
||||
%files camomile
|
||||
%doc COPYING
|
||||
%{_libdir}/ocaml/gettext-camomile
|
||||
%if %opt
|
||||
%exclude %{_libdir}/ocaml/gettext-camomile/*.a
|
||||
%exclude %{_libdir}/ocaml/gettext-camomile/*.cmxa
|
||||
%exclude %{_libdir}/ocaml/gettext-camomile/*.cmx
|
||||
%endif
|
||||
%exclude %{_libdir}/ocaml/gettext-camomile/*.mli
|
||||
%if %{with camomile}
|
||||
%files camomile -f .ofiles-gettext-camomile
|
||||
%license LICENSE.txt
|
||||
|
||||
|
||||
%files camomile-devel
|
||||
%doc README
|
||||
%if %opt
|
||||
%{_libdir}/ocaml/gettext-camomile/*.a
|
||||
%{_libdir}/ocaml/gettext-camomile/*.cmxa
|
||||
%{_libdir}/ocaml/gettext-camomile/*.cmx
|
||||
%endif
|
||||
%{_libdir}/ocaml/gettext-camomile/*.mli
|
||||
%files camomile-devel -f .ofiles-gettext-camomile-devel
|
||||
%doc README.md
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Oct 31 2024 Troy Dawson <tdawson@redhat.com> - 0.4.2-23
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Tue Jun 25 2024 Troy Dawson <tdawson@redhat.com> - 0.4.2-22
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Wed Jun 19 2024 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-21
|
||||
- OCaml 5.2.0 ppc64le fix
|
||||
|
||||
* Wed May 29 2024 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-20
|
||||
- OCaml 5.2.0 for Fedora 41
|
||||
|
||||
* Wed May 8 2024 Jerry James <loganjerry@gmail.com> - 0.4.2-19
|
||||
- Add patch to fix tests with OCaml 5.2.0
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-19
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-17
|
||||
- OCaml 5.1.1 + s390x code gen fix for Fedora 40
|
||||
|
||||
* Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-16
|
||||
- OCaml 5.1.1 rebuild for Fedora 40
|
||||
|
||||
* Thu Oct 05 2023 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-15
|
||||
- OCaml 5.1 rebuild for Fedora 40
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jul 11 2023 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-13
|
||||
- OCaml 5.0 rebuild for Fedora 39
|
||||
|
||||
* Mon Jul 10 2023 Jerry James <loganjerry@gmail.com> - 0.4.2-12
|
||||
- OCaml 5.0.0 rebuild
|
||||
- Convert License tag to SPDX
|
||||
- Enable tests
|
||||
- Use new dune macros
|
||||
|
||||
* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-11
|
||||
- Rebuild OCaml packages for F38
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sun Jun 19 2022 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-8
|
||||
- OCaml 4.14.0 rebuild
|
||||
|
||||
* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-7
|
||||
- OCaml 4.13.1 rebuild to remove package notes
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Tue Oct 05 2021 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-5
|
||||
- OCaml 4.13.1 build
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Mar 30 2021 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-3
|
||||
- Bump and rebuild for ELN.
|
||||
|
||||
* Mon Mar 8 23:22:35 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-2
|
||||
- Better handling of optional camomile subpackage.
|
||||
|
||||
* Tue Mar 2 23:22:35 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 0.4.2-1
|
||||
- New upstream version 4.2
|
||||
- Remove patch now upstream.
|
||||
- BR ocaml-cppo
|
||||
|
||||
* Mon Mar 1 23:22:35 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 0.4.1-9
|
||||
- OCaml 4.12.0 build
|
||||
|
||||
* Wed Feb 24 2021 Richard W.M. Jones <rjones@redhat.com> - 0.4.1-8
|
||||
- Remove ocaml-camomile dep on RHEL 9.
|
||||
|
||||
* Mon Feb 1 2021 Richard W.M. Jones <rjones@redhat.com> - 0.4.1-7
|
||||
- Bump and rebuild for updated ocaml-camomile.
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 0.4.1-5
|
||||
- OCaml 4.11.1 rebuild
|
||||
|
||||
* Fri Aug 21 2020 Richard W.M. Jones <rjones@redhat.com> - 0.4.1-4
|
||||
- OCaml 4.11.0 rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue May 05 2020 Richard W.M. Jones <rjones@redhat.com> - 0.4.1-2
|
||||
- OCaml 4.11.0+dev2-2020-04-22 rebuild
|
||||
|
||||
* Wed Apr 22 2020 Richard W.M. Jones <rjones@redhat.com> - 0.4.1-1
|
||||
- New upstream version 0.4.1.
|
||||
- Add small fix for OCaml 4.11.
|
||||
- Package the man pages.
|
||||
|
||||
* Tue Apr 21 2020 Richard W.M. Jones <rjones@redhat.com> - 0.3.8-0.7.git3aecf8e5350f
|
||||
- OCaml 4.11.0 pre-release attempt 2
|
||||
|
||||
* Sat Apr 04 2020 Richard W.M. Jones <rjones@redhat.com> - 0.3.8-0.6.git3aecf8e5350f
|
||||
- Update all OCaml dependencies for RPM 4.16.
|
||||
|
||||
* Thu Feb 27 2020 Richard W.M. Jones <rjones@redhat.com> - 0.3.8-0.5.git3aecf8e5350f
|
||||
- OCaml 4.10.0 final.
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.8-0.4.git3aecf8e5350f
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sun Jan 19 2020 Richard W.M. Jones <rjones@redhat.com> - 0.3.8-0.3.git3aecf8e5350f
|
||||
- OCaml 4.10.0+beta1 rebuild.
|
||||
|
||||
* Fri Dec 06 2019 Richard W.M. Jones <rjones@redhat.com> - 0.3.8-0.2.git3aecf8e5350f
|
||||
- OCaml 4.09.0 (final) rebuild.
|
||||
|
||||
* Tue Oct 1 2019 Richard W.M. Jones <rjones@redhat.com> - 0.3.8-0.1
|
||||
- Move to pre-release of 0.3.8.
|
||||
- Requires dune.
|
||||
|
||||
* Fri Aug 16 2019 Richard W.M. Jones <rjones@redhat.com> - 0.3.7-13
|
||||
- Bump release and rebuild.
|
||||
|
||||
* Fri Aug 16 2019 Richard W.M. Jones <rjones@redhat.com> - 0.3.7-12
|
||||
- OCaml 4.08.1 (final) rebuild.
|
||||
|
||||
* Wed Jul 31 2019 Richard W.M. Jones <rjones@redhat.com> - 0.3.7-11
|
||||
- OCaml 4.08.1 (rc2) rebuild.
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.7-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri Jul 19 2019 Richard W.M. Jones <rjones@redhat.com> - 0.3.7-9
|
||||
- Remove camlp4 dependency.
|
||||
- Add all upstream patches since 0.3.7.
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.7-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.7-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (v0.4.2.tar.gz) = fb89be8d8d9e0ed9327b81a0c81c884ff3f1a97e46b475ef8084abded5c84a256de05d5aa0f42be94f43ab438276a4506af726b6950e4161359a9616fb5832ec
|
19
tests/basic-test.sh
Executable file
19
tests/basic-test.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash -
|
||||
set -e
|
||||
set -x
|
||||
|
||||
# Compile trivial gettext program.
|
||||
cat <<EOF > gettexttest.ml
|
||||
module Gettext = Gettext.Program (
|
||||
struct
|
||||
let textdomain = "test"
|
||||
let codeset = None
|
||||
let dir = None
|
||||
let dependencies = []
|
||||
end
|
||||
) (GettextStub.Native) ;;
|
||||
open Gettext ;;
|
||||
print_endline (s_ "Hello world")
|
||||
EOF
|
||||
ocamlfind ocamlopt -package gettext,gettext-stub gettexttest.ml -linkpkg -o gettexttest
|
||||
./gettexttest
|
13
tests/tests.yml
Executable file
13
tests/tests.yml
Executable file
@ -0,0 +1,13 @@
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
required_packages:
|
||||
- ocaml
|
||||
- ocaml-findlib
|
||||
- ocaml-gettext-devel
|
||||
tests:
|
||||
- simple:
|
||||
dir: .
|
||||
run: ./basic-test.sh
|
Loading…
Reference in New Issue
Block a user