aboutsummaryrefslogtreecommitdiffstats
path: root/testing/ocaml-gettext
diff options
context:
space:
mode:
authorFernando Casas Schössow <casasfernando@outlook.com>2019-02-07 22:52:44 +0000
committerLeonardo Arena <rnalrd@alpinelinux.org>2019-03-05 14:04:14 +0000
commit99f2aaa0ed9c4482c2f4412c03f4bee3596cf953 (patch)
treea2ffae6faafbbfb101dd4cc7c7fe1b42e8e5a8a0 /testing/ocaml-gettext
parente6af149107ed749a1e67f759c79c7a07840ecc03 (diff)
downloadaports-99f2aaa0ed9c4482c2f4412c03f4bee3596cf953.tar.bz2
aports-99f2aaa0ed9c4482c2f4412c03f4bee3596cf953.tar.xz
testing/ocaml-gettext: new aport
https://github.com/gildor478/ocaml-gettext OCaml library for i18n
Diffstat (limited to 'testing/ocaml-gettext')
-rw-r--r--testing/ocaml-gettext/0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch109
-rw-r--r--testing/ocaml-gettext/0002-pr_gettext-stop-printing-extracted-strings.patch26
-rw-r--r--testing/ocaml-gettext/0003-add-more-generated-files-to-.gitignore.patch44
-rw-r--r--testing/ocaml-gettext/APKBUILD52
-rw-r--r--testing/ocaml-gettext/ocaml-gettext-0.3.4-use-ocamlopt-g.patch33
5 files changed, 264 insertions, 0 deletions
diff --git a/testing/ocaml-gettext/0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch b/testing/ocaml-gettext/0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
new file mode 100644
index 0000000000..511eb3b4a8
--- /dev/null
+++ b/testing/ocaml-gettext/0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
@@ -0,0 +1,109 @@
+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
+
diff --git a/testing/ocaml-gettext/0002-pr_gettext-stop-printing-extracted-strings.patch b/testing/ocaml-gettext/0002-pr_gettext-stop-printing-extracted-strings.patch
new file mode 100644
index 0000000000..6d656d9bc6
--- /dev/null
+++ b/testing/ocaml-gettext/0002-pr_gettext-stop-printing-extracted-strings.patch
@@ -0,0 +1,26 @@
+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
+
diff --git a/testing/ocaml-gettext/0003-add-more-generated-files-to-.gitignore.patch b/testing/ocaml-gettext/0003-add-more-generated-files-to-.gitignore.patch
new file mode 100644
index 0000000000..00b410c5f2
--- /dev/null
+++ b/testing/ocaml-gettext/0003-add-more-generated-files-to-.gitignore.patch
@@ -0,0 +1,44 @@
+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
+
diff --git a/testing/ocaml-gettext/APKBUILD b/testing/ocaml-gettext/APKBUILD
new file mode 100644
index 0000000000..5f3c079144
--- /dev/null
+++ b/testing/ocaml-gettext/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
+# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
+pkgname=ocaml-gettext
+pkgver=0.3.7
+pkgrel=0
+pkgdesc="OCaml library for i18n"
+url="https://github.com/gildor478/ocaml-gettext"
+arch="aarch64 ppc64le x86_64" # restricted by ocaml
+license="LGPL-2.1-or-later-WITH-linking-exception"
+makedepends="ocaml ocaml-ocamldoc ocaml-camlp4-dev ocaml-fileutils ocaml-fileutils-dev ocaml-findlib-dev chrpath autoconf automake libxml2 libxslt docbook-xsl gettext-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="${pkgname}-${pkgver}.tar.gz::https://github.com/gildor478/$pkgname/archive/$pkgver.tar.gz
+ 0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
+ 0002-pr_gettext-stop-printing-extracted-strings.patch
+ 0003-add-more-generated-files-to-.gitignore.patch
+ ocaml-gettext-0.3.4-use-ocamlopt-g.patch"
+builddir="$srcdir/$pkgname-$pkgver"
+options="!check" # there is no test suite/unit tests since tests requires camomile
+
+prepare() {
+ default_prepare
+ autoreconf -i
+}
+
+build() {
+ cd "$builddir"
+ unset MAKEFLAGS
+ export OCAMLPARAM="safe-string=0,_"
+ sed -i 's/@OCAMLDOC@/@OCAMLDOC@ -unsafe-string/g' ConfMakefile.in
+ ./configure --prefix=/usr --disable-camomile --with-docbook-stylesheet=/usr/share/xml/docbook/xsl-stylesheets-1.79.1 --with-stub-ldflags=-lintl
+ make all
+}
+
+package() {
+ cd "$builddir"
+ export DESTDIR="$pkgdir"
+ export OCAMLFIND_DESTDIR="$DESTDIR/usr/lib/ocaml"
+ mkdir -p "$OCAMLFIND_DESTDIR" "$OCAMLFIND_DESTDIR/stublibs"
+ find _build -name '*.o' -exec rm {} \;
+ ocamlfind install gettext _build/lib/gettext/*
+ ocamlfind install gettext-stub _build/lib/gettext-stub/*
+ install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -D -m 0755 _build/bin/ocaml-gettext "$pkgdir/usr/bin/ocaml-gettext"
+ install -D -m 0755 _build/bin/ocaml-xgettext "$pkgdir/usr/bin/ocaml-xgettext"
+ chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so
+}
+
+sha512sums="1358320359b9d2f3fd97a47d69b2a619942a65605c1e5cbf25e33ef42a10273167b526bca15e6c9523b87d8ea9dfd3215334050ad8eb84a8c41d4feef880a27a ocaml-gettext-0.3.7.tar.gz
+430e67b9e228d36eae6d1a1378c40d3203799d04c05962d25be4703483418400d71c392c2d84baa434f5e7aab19e7925e08971392b969ff472e3baf81546ca6d 0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
+69f9e5a000cd29b5f6e7ee1b3ce0691ba4a7fdff456c76ce271daa76a74cf422aa8769f94cac46dbceb92dcdcdaecfbc65e255f61748bd52e7ccf7e88cc04bac 0002-pr_gettext-stop-printing-extracted-strings.patch
+6cab63660875ec9f6314631ae0730870b714b5a1bc456d97a04c928f287feb82aae623b8361b6b56075901f2d9cd5716e27305cda4334ac0e61a40ce02bab599 0003-add-more-generated-files-to-.gitignore.patch
+b169f864194459db388ee8aa9db4cf97441419cb6b93c1b72854cca3fbbdcab8745a802326f967b8786853ec136aca41847799100216d6f9272e6a56dc80d169 ocaml-gettext-0.3.4-use-ocamlopt-g.patch"
diff --git a/testing/ocaml-gettext/ocaml-gettext-0.3.4-use-ocamlopt-g.patch b/testing/ocaml-gettext/ocaml-gettext-0.3.4-use-ocamlopt-g.patch
new file mode 100644
index 0000000000..f8f05b5c0c
--- /dev/null
+++ b/testing/ocaml-gettext/ocaml-gettext-0.3.4-use-ocamlopt-g.patch
@@ -0,0 +1,33 @@
+--- 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) $<