diff --git a/.gitignore b/.gitignore index bf2f8bb..9ffc1e3 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ camomile-0.7.2.tar.bz2 /camomile-0.8.7.tar.gz /camomile-1.0.1.tar.gz /camomile-1.0.2.tar.gz +/Camomile-2.0.0.tar.gz diff --git a/0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch b/0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch index e31f46a..6832886 100644 --- a/0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch +++ b/0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch @@ -1,8 +1,7 @@ From 5cc39e952a6445866196674f87761576e27fc494 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 26 Apr 2021 11:50:15 +0100 -Subject: [PATCH] Camomile/locales/eo.txt: Fix license by importing data from - ICU +Subject: [PATCH] src/locales/eo.txt: Fix license by importing data from ICU The license for this particular (Esperanto) file is non-free. Possibly it is supposed to be overridden by the "license.html" file in @@ -18,14 +17,14 @@ https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thre Signed-off-by: Richard W.M. Jones --- - Camomile/locales/eo.txt | 479 ++++++++++++++++++++++++++++++++++------ + src/locales/eo.txt | 479 ++++++++++++++++++++++++++++++++++------ 1 file changed, 415 insertions(+), 64 deletions(-) -diff --git a/Camomile/locales/eo.txt b/Camomile/locales/eo.txt +diff --git a/src/locales/eo.txt b/src/locales/eo.txt index 6973c72..2c7b2e5 100644 ---- a/Camomile/locales/eo.txt -+++ b/Camomile/locales/eo.txt -@@ -1,34 +1,232 @@ +--- a/src/locales/eo.txt ++++ b/src/locales/eo.txt +@@ -1,165 +1,600 @@ -// *************************************************************************** -// * * -// * COPYRIGHT: * @@ -36,12 +35,14 @@ index 6973c72..2c7b2e5 100644 -// * * -// *************************************************************************** -// Feedback to : schererm@us.ibm.com -+// © 2016 and later: Unicode, Inc. and others. +- +-eo { ++// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html - - eo { - Version { "2.0" } -- Countries { ++// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml ++eo{ + Version { "2.0" } +- Countries { - AT { "A\u016dstrujo" } - BE { "Belgujo" } - CA { "Kanado" } @@ -59,6 +60,63 @@ index 6973c72..2c7b2e5 100644 - SE { "Svedujo" } - TR { "Turkujo" } - US { "Usono" } +- } +- DateTimePatterns { +- "H'-a horo kaj 'm z", +- "HH:mm:ss z", +- "HH:mm:ss", +- "HH:mm", +- "EEEE, d'-a de 'MMMM yyyy", +- "yyyy-MMMM-dd", +- "yyyy-MMM-dd", +- "yy-MM-dd", +- "{1} {0}", +- } +- DateTimeElements:intvector { +- 2, +- 4, +- } +- AmPmMarkers { +- "atm", +- "ptm", +- } +- DayAbbreviations { +- "di", +- "lu", +- "ma", +- "me", +- "\u0135a", +- "ve", +- "sa", +- } +- DayNames { +- "diman\u0109o", +- "lundo", +- "mardo", +- "merkredo", +- "\u0135a\u016ddo", +- "vendredo", +- "sabato", +- } +- Eras { +- "aK", +- "pK", +- } +- Languages { +- da { "dana" } +- de { "germana" } +- el { "greka" } +- en { "angla" } +- eo { "esperanto" } +- es { "hispana" } +- fi { "finna" } +- it { "itala" } +- ja { "japana" } +- nl { "nederlanda" } +- no { "norvega" } +- pt { "portugala" } +- sv { "sveda" } +- tr { "turka" } + Countries{ + 001{"Mondo"} + AD{"Andoro"} @@ -284,27 +342,222 @@ index 6973c72..2c7b2e5 100644 + ZM{"Zambio"} + ZW{"Zimbabvo"} } - DateTimePatterns { - "H'-a horo kaj 'm z", -@@ -71,21 +269,159 @@ eo { - "aK", - "pK", +- //LocaleID { "07e0" } +-// LocaleString { "eo" } +- MonthAbbreviations { +- "jan", +- "feb", +- "mar", +- "apr", +- "maj", +- "jun", +- "jul", +- "a\u016dg", +- "sep", +- "okt", +- "nov", +- "dec", ++ AuxExemplarCharacters{"[q w x y]"} ++ ExemplarCharacters{"[a b c ĉ d e f g ĝ h ĥ i j ĵ k l m n o p r s ŝ t u ŭ v z]"} ++ ExemplarCharactersIndex{"[A B C Ĉ D E F G Ĝ H Ĥ I J Ĵ K L M N O P R S Ŝ T U Ŭ V Z]"} ++ ExemplarCharactersNumbers{"[  , % ‰ + − 0 1 2 3 4 5 6 7 8 9]"} ++ ExemplarCharactersPunctuation{"[\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] \\{ \\} /]"} ++ NumberElements{ ++ latn{ ++ symbols{ ++ decimal{","} ++ group{" "} ++ } ++ } } -- Languages { -- da { "dana" } -- de { "germana" } -- el { "greka" } -- en { "angla" } -- eo { "esperanto" } -- es { "hispana" } -- fi { "finna" } -- it { "itala" } -- ja { "japana" } -- nl { "nederlanda" } -- no { "norvega" } -- pt { "portugala" } -- sv { "sveda" } -- tr { "turka" } +- MonthNames { +- "januaro", +- "februaro", +- "marto", +- "aprilo", +- "majo", +- "junio", +- "julio", +- "a\u016dgusto", +- "septembro", +- "oktobro", +- "novembro", +- "decembro", ++ calendar{ ++ generic{ ++ DateTimePatterns{ ++ "H-'a' 'horo' 'kaj' m:ss zzzz", ++ "HH:mm:ss z", ++ "HH:mm:ss", ++ "HH:mm", ++ "EEEE, d-'a' 'de' MMMM y G", ++ "G y-MMMM-dd", ++ "G y-MMM-dd", ++ "GGGGG y-MM-dd", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ } ++ DateTimeSkeletons{ ++ "Hmsszzzz", ++ "HHmmssz", ++ "HHmmss", ++ "HHmm", ++ "GyMMMMEEEEd", ++ "GyMMMMdd", ++ "GyMMMdd", ++ "GGGGGyMMdd", ++ } ++ } ++ gregorian{ ++ AmPmMarkers{ ++ "atm", ++ "ptm", ++ } ++ AmPmMarkersAbbr{ ++ "atm", ++ "ptm", ++ } ++ DateTimePatterns{ ++ "H-'a' 'horo' 'kaj' m:ss zzzz", ++ "HH:mm:ss z", ++ "HH:mm:ss", ++ "HH:mm", ++ "EEEE, d-'a' 'de' MMMM y", ++ "y-MMMM-dd", ++ "y-MMM-dd", ++ "yy-MM-dd", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ } ++ DateTimeSkeletons{ ++ "Hmsszzzz", ++ "HHmmssz", ++ "HHmmss", ++ "HHmm", ++ "yMMMMEEEEd", ++ "yMMMMdd", ++ "yMMMdd", ++ "yyMMdd", ++ } ++ dayNames{ ++ format{ ++ abbreviated{ ++ "di", ++ "lu", ++ "ma", ++ "me", ++ "ĵa", ++ "ve", ++ "sa", ++ } ++ wide{ ++ "dimanĉo", ++ "lundo", ++ "mardo", ++ "merkredo", ++ "ĵaŭdo", ++ "vendredo", ++ "sabato", ++ } ++ } ++ stand-alone{ ++ wide{ ++ "dimanĉo", ++ "lundo", ++ "mardo", ++ "merkredo", ++ "ĵaŭdo", ++ "vendredo", ++ "sabato", ++ } ++ } ++ } ++ eras{ ++ abbreviated{ ++ "aK", ++ "pK", ++ } ++ narrow{ ++ "aK", ++ "pK", ++ } ++ narrow%variant{ ++ "aK", ++ "pK", ++ } ++ wide{ ++ "aK", ++ "pK", ++ } ++ } ++ monthNames{ ++ format{ ++ abbreviated{ ++ "jan", ++ "feb", ++ "mar", ++ "apr", ++ "maj", ++ "jun", ++ "jul", ++ "aŭg", ++ "sep", ++ "okt", ++ "nov", ++ "dec", ++ } ++ wide{ ++ "januaro", ++ "februaro", ++ "marto", ++ "aprilo", ++ "majo", ++ "junio", ++ "julio", ++ "aŭgusto", ++ "septembro", ++ "oktobro", ++ "novembro", ++ "decembro", ++ } ++ } ++ stand-alone{ ++ wide{ ++ "januaro", ++ "februaro", ++ "marto", ++ "aprilo", ++ "majo", ++ "junio", ++ "julio", ++ "aŭgusto", ++ "septembro", ++ "oktobro", ++ "novembro", ++ "decembro", ++ } ++ } ++ } ++ } + } +- NumberElements { +- ",", +- "\u00a0", +- ";", +- "%", +- "0", +- "#", +- "-", +- "E", +- "\u2030", +- "\u221E", +- "\uFFFD", + Languages{ + aa{"afara"} + ab{"abĥaza"} @@ -459,12 +712,16 @@ index 6973c72..2c7b2e5 100644 + zu{"zulua"} + zxx{"nelingvaĵo"} } - //LocaleID { "07e0" } - // LocaleString { "eo" } -@@ -140,26 +476,41 @@ eo { - // Rule Based Number Format Support - //------------------------------------------------------------ - +-// ShortLanguage { "epo" } +- localPatternChars { "GjMtkHmslTDUSnahKzJd" } +-// LocaleScript{ +-// "Latn", // ISO 15924 Name +-// } +- ExemplarCharacters { "[a-z \u016d \u0109 \u011d \u0125 \u0135 \u015d]" } +- //------------------------------------------------------------ +- // Rule Based Number Format Support +- //------------------------------------------------------------ +- -// data from 'Esperanto-programita 1' courtesy of Markus Scherer - - SpelloutRules { @@ -486,44 +743,46 @@ index 6973c72..2c7b2e5 100644 - "1,000,000,000,000: biliono[ >>];\n" - "2,000,000,000,000: << bilionoj[ >>];\n" - "1,000,000,000,000,000: =#,##0=;\n" -+ SpelloutRules{ -+ "%spellout-numbering-year:", -+ "x.x: =0.0=;", -+ "0: =%spellout-numbering=;", -+ "%spellout-numbering:", -+ "0: =%spellout-cardinal=;", -+ "%spellout-cardinal:", -+ "-x: minus >>;", -+ "x.x: << komo >>;", -+ "0: nulo;", -+ "1: unu;", -+ "2: du;", -+ "3: tri;", -+ "4: kvar;", -+ "5: kvin;", -+ "6: ses;", -+ "7: sep;", -+ "8: ok;", -+ "9: na\u016D;", -+ "10: dek[ >>];", -+ "20: <>];", -+ "100: cent[ >>];", -+ "200: <>];", -+ "1000: mil[ >>];", -+ "2000: << mil[ >>];", -+ "1000000: miliono[ >>];", -+ "2000000: << milionoj[ >>];", -+ "1000000000: miliardo[ >>];", -+ "2000000000: << miliardoj[ >>];", -+ "1000000000000: biliono[ >>];", -+ "2000000000000: << bilionoj[ >>];", -+ "1000000000000000: biliardo[ >>];", -+ "2000000000000000: << biliardoj[ >>];", -+ "1000000000000000000: =#,##0=;", -+ "%spellout-ordinal:", -+ "0: =%spellout-cardinal=a;", ++ RBNFRules{ ++ SpelloutRules{ ++ "%spellout-numbering-year:", ++ "x.x: =0.0=;", ++ "0: =%spellout-numbering=;", ++ "%spellout-numbering:", ++ "0: =%spellout-cardinal=;", ++ "%spellout-cardinal:", ++ "-x: minus >>;", ++ "x.x: << komo >>;", ++ "0: nulo;", ++ "1: unu;", ++ "2: du;", ++ "3: tri;", ++ "4: kvar;", ++ "5: kvin;", ++ "6: ses;", ++ "7: sep;", ++ "8: ok;", ++ "9: na\u016D;", ++ "10: dek[ >>];", ++ "20: <>];", ++ "100: cent[ >>];", ++ "200: <>];", ++ "1000: mil[ >>];", ++ "2000: << mil[ >>];", ++ "1000000: miliono[ >>];", ++ "2000000: << milionoj[ >>];", ++ "1000000000: miliardo[ >>];", ++ "2000000000: << miliardoj[ >>];", ++ "1000000000000: biliono[ >>];", ++ "2000000000000: << bilionoj[ >>];", ++ "1000000000000000: biliardo[ >>];", ++ "2000000000000000: << biliardoj[ >>];", ++ "1000000000000000000: =#,##0=;", ++ "%spellout-ordinal:", ++ "0: =%spellout-cardinal=a;", ++ } } } -- -2.32.0 +2.41.0 diff --git a/ocaml-camomile.spec b/ocaml-camomile.spec index 1b296d7..17744ba 100644 --- a/ocaml-camomile.spec +++ b/ocaml-camomile.spec @@ -1,28 +1,27 @@ -%undefine _package_note_flags -# FIXME: Broken in 1.0.1 for unknown reasons. +%ifnarch %{ocaml_native_compiler} %global debug_package %{nil} +%endif Name: ocaml-camomile -Version: 1.0.2 -Release: 24%{?dist} +Version: 2.0.0 +Release: 1%{?dist} Summary: Unicode library for OCaml -# Several files are MIT and UCD licensed, but the overall work is LGPLv2+ -# and the LGPL/GPL supercedes compatible licenses. -# https://www.redhat.com/archives/fedora-legal-list/2008-March/msg00005.html -License: LGPLv2+ -URL: https://github.com/yoriyuki/Camomile -Source0: https://github.com/yoriyuki/Camomile/archive/%{version}.tar.gz/camomile-%{version}.tar.gz +# LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception: the project as a whole +# ICU: files in src/locales; see src/locales/license.html +# Unicode-TOU: files in src/unidata; see src/unidata/UnicodeData.html +License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception AND ICU AND Unicode-TOU +URL: https://github.com/ocaml-community/Camomile +Source0: %{url}/archive/v%{version}/Camomile-%{version}.tar.gz # Fix a licensing issue in EO Unicode files. Submitted but not # accepted upstream: https://github.com/yoriyuki/Camomile/pull/84 Patch1: 0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch -BuildRequires: ocaml >= 3.12.1-12 -BuildRequires: ocaml-findlib-devel -BuildRequires: ocaml-ocamldoc -BuildRequires: ocaml-cppo -BuildRequires: ocaml-dune +BuildRequires: ocaml >= 4.13 +BuildRequires: ocaml-camlp-streams-devel +BuildRequires: ocaml-dune >= 3.4 +BuildRequires: ocaml-dune-site-devel # The base package requires the data files. Note that it is possible # to install the data files on their own to support other packages @@ -40,7 +39,9 @@ more. %package devel Summary: Development files for %{name} -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-camlp-streams-devel%{?_isa} +Requires: ocaml-dune-site-devel%{?_isa} %description devel @@ -50,6 +51,7 @@ developing applications that use %{name}. %package data Summary: Data files for %{name} +BuildArch: noarch %description data @@ -69,51 +71,30 @@ applications that use %{name}. ulimit -Hs 65536 ulimit -Ss 65536 %endif -dune build --verbose --profile release +%dune_build %install -dune install \ - --destdir=%{buildroot} \ - --libdir=%{_libdir}/ocaml \ - --verbose \ - --profile release - -# Remove /usr/doc because we will use %%doc rules instead. -rm -rf %{buildroot}/usr/doc +%dune_install -# Install the *.mli files by hand. -cp _build/install/default/lib/camomile/library/*.mli %{buildroot}%{_libdir}/ocaml/camomile/ +# The data files are in their own package +sed -i '\@%{_datadir}@d' .ofiles -%check -# Broken in 1.0.2. -# https://github.com/yoriyuki/Camomile/issues/82 -#jbuilder runtest --profile release +# As of version 2.0.0, the tests only work if stdlib-random is available: +# https://github.com/ocaml/stdlib-random +# Reenable this once stdlib-random is packaged for Fedora. +#%%check +#%%dune_check -%files +%files -f .ofiles %doc README.md CHANGES.md %license LICENSE.md -%{_libdir}/ocaml/camomile -%ifarch %{ocaml_native_compiler} -%exclude %{_libdir}/ocaml/camomile/*.a -%exclude %{_libdir}/ocaml/camomile/*.cmxa -%exclude %{_libdir}/ocaml/camomile/*.cmx -%endif -%exclude %{_libdir}/ocaml/camomile/*.mli -%ifarch %{ocaml_native_compiler} -%endif -%files devel +%files devel -f .ofiles-devel %license LICENSE.md -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/camomile/*.a -%{_libdir}/ocaml/camomile/*.cmxa -%{_libdir}/ocaml/camomile/*.cmx -%endif -%{_libdir}/ocaml/camomile/*.mli %files data @@ -122,6 +103,14 @@ cp _build/install/default/lib/camomile/library/*.mli %{buildroot}%{_libdir}/ocam %changelog +* Mon Jul 10 2023 Jerry James - 2.0.0-1 +- Version 2.0.0 +- Convert License tag to SPDX +- New project URLs +- The data subpackage is now noarch +- Use new dune macros +- Disable tests until ocaml-stdlib-random can be packaged + * Tue Jan 24 2023 Richard W.M. Jones - 1.0.2-24 - Rebuild OCaml packages for F38 diff --git a/sources b/sources index 6b47d7b..48dee35 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (camomile-1.0.2.tar.gz) = d62ecaa297058b52674f98e513a6d776148fe62651b2b4a2dac4bb3e05abb8b7684960e889f68c6dab60aee669fbab715a2d6a9206645e24d10d8aaaf7cedf0e +SHA512 (Camomile-2.0.0.tar.gz) = b0ae3d921f65390e8ec88a04901dd097b568db9f9ae70fb328e9d3ddb2dd8922b9a8e8da9ace91ad9cb5f6a1310ae5b6ba502e287d6c828f4d60622289316ac8