diff --git a/.gitignore b/.gitignore index ca737a6..c8f7516 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ /derived-props-11.0.txt /precis_i18n-1.0.1.tar.gz /derived-props-12.1.txt +/derived-props-13.0.txt +/1498def50914b8d4f670874cc282072790619399.tar.gz diff --git a/0001-factory-replace-with-_-in-profile-names.patch b/0001-factory-replace-with-_-in-profile-names.patch new file mode 100644 index 0000000..3227937 --- /dev/null +++ b/0001-factory-replace-with-_-in-profile-names.patch @@ -0,0 +1,83 @@ +From 3441d6b8ca010f7153d2b13680409ab571b9d3a1 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Mon, 22 Jun 2020 00:49:58 +0200 +Subject: [PATCH] factory: replace ':' with '_' in profile names + +--- + precis_i18n/factory.py | 27 ++++++++++++++------------- + 1 file changed, 14 insertions(+), 13 deletions(-) + +diff --git a/precis_i18n/factory.py b/precis_i18n/factory.py +index 0b01568..afa1c67 100644 +--- a/precis_i18n/factory.py ++++ b/precis_i18n/factory.py +@@ -1,5 +1,6 @@ + """Implements the `get_profile` factory function used to create profiles.""" + ++import encodings + import precis_i18n.baseclass as _base + import precis_i18n.profile as _profile + import precis_i18n.unicode as _unicode +@@ -21,13 +22,13 @@ _PROFILES = { + _factory(_profile.Username, name='UsernameCasePreserved'), + 'usernamecasemapped': + _factory(_profile.Username, name='UsernameCaseMapped', casemap='lower'), +- 'usernamecasemapped:casefold': ++ 'usernamecasemapped_casefold': + _factory(_profile.Username, +- name='UsernameCaseMapped:CaseFold', ++ name='UsernameCaseMapped_CaseFold', + casemap='fold'), +- 'usernamecasemapped:tolower': ++ 'usernamecasemapped_tolower': + _factory(_profile.Username, +- name='UsernameCaseMapped:ToLower', ++ name='UsernameCaseMapped_ToLower', + casemap='lower'), + 'opaquestring': + _factory(_profile.OpaqueString, name='OpaqueString'), +@@ -35,13 +36,13 @@ _PROFILES = { + _factory(_profile.Nickname, name='NicknameCasePreserved'), + 'nicknamecasemapped': + _factory(_profile.Nickname, name='NicknameCaseMapped', casemap='lower'), +- 'nicknamecasemapped:casefold': ++ 'nicknamecasemapped_casefold': + _factory(_profile.Nickname, +- name='NicknameCaseMapped:CaseFold', ++ name='NicknameCaseMapped_CaseFold', + casemap='fold'), +- 'nicknamecasemapped:tolower': ++ 'nicknamecasemapped_tolower': + _factory(_profile.Nickname, +- name='NicknameCaseMapped:ToLower', ++ name='NicknameCaseMapped_ToLower', + casemap='lower'), + + # Alias for backward-compatibility with previous version of codec. +@@ -58,13 +59,13 @@ def get_profile(name, *, unicodedata=None): + "FreeFormClass" + "UsernameCasePreserved" + "UsernameCaseMapped" +- "UsernameCaseMapped:CaseFold" +- "UsernameCaseMapped:ToLower" ++ "UsernameCaseMapped_CaseFold" ++ "UsernameCaseMapped_ToLower" + "OpaqueString" + "NicknameCasePreserved" + "NicknameCaseMapped" +- "NicknameCaseMapped:CaseFold" +- "NicknameCaseMapped:ToLower" ++ "NicknameCaseMapped_CaseFold" ++ "NicknameCaseMapped_ToLower" + "Nickname" (alias for "NicknameCaseMapped") + + This function constructs a new profile each time; there is no cache. +@@ -83,4 +84,4 @@ def get_profile(name, *, unicodedata=None): + Raises: + KeyError: Profile not found. + """ +- return _PROFILES[name.lower()](_unicode.UnicodeData(unicodedata)) ++ return _PROFILES[encodings.normalize_encoding(name.lower())](_unicode.UnicodeData(unicodedata)) +-- +2.26.2 + diff --git a/python-precis_i18n.spec b/python-precis_i18n.spec index d30700a..33b5e4e 100644 --- a/python-precis_i18n.spec +++ b/python-precis_i18n.spec @@ -1,15 +1,22 @@ %global srcname precis_i18n +%global gitcommit 1498def50914b8d4f670874cc282072790619399 Name: python-%{srcname} Version: 1.0.1 -Release: 7%{?dist} +Release: 8.20200622git1498def50914%{?dist} Summary: Python library for internationalized usernames and passwords License: MIT URL: https://github.com/byllyfish/precis_i18n -Source0: https://github.com/byllyfish/precis_i18n/archive/v%{version}.tar.gz#/%{srcname}-%{version}.tar.gz +#Source0: https://github.com/byllyfish/precis_i18n/archive/v%{version}.tar.gz#/%{srcname}-%{version}.tar.gz +Source0: https://github.com/byllyfish/precis_i18n/archive/%{gitcommit}.tar.gz # Support Unicode 12.1 for Python 3.8: Source1: https://raw.githubusercontent.com/byllyfish/precis_i18n/7b6987e206881b002ddcc87dde16f978c080eedd/test/derived-props-12.1.txt +# Support Unicode 13.0 for Python 3.9 +# File generated by running "python3 test/test_derived_props.py > derived-props-13.0.txt" with Python 3.9: +Source2: derived-props-13.0.txt + +Patch0001: 0001-factory-replace-with-_-in-profile-names.patch BuildArch: noarch @@ -42,8 +49,9 @@ BuildRequires: python3-devel %{desc} %prep -%autosetup -n %{srcname}-%{version} -cp -p %{SOURCE1} test/ +#autosetup -p1 -n %{srcname}-%{version} +%autosetup -p1 -n %{srcname}-%{gitcommit} +cp -p %{SOURCE1} %{SOURCE2} test/ %build %py3_build @@ -61,6 +69,11 @@ cp -p %{SOURCE1} test/ %{python3_sitelib}/%{srcname}/ %changelog +* Mon Jun 22 2020 Michal Schmidt - 1.0.1-8.20200622git1498def50914 +- Use a snapshot of the current current upstream git. +- Add derived-props-13.0.txt for Python 3.9. +- Replace ":" with "_" in profile names. (rhbz#1792953) + * Tue May 26 2020 Miro HronĨok - 1.0.1-7 - Rebuilt for Python 3.9 diff --git a/sources b/sources index 977c8fe..26c00c9 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -SHA512 (precis_i18n-1.0.1.tar.gz) = a62e76588ae1ccba6de51488ceae0e2a454e77bdc946e7c4cea1cb41017253b6e239aab120bdbf1a57b51b827ec7554fb7d6fc10a3a4203f09f6f91f1b4192f4 +SHA512 (1498def50914b8d4f670874cc282072790619399.tar.gz) = 48b55c6346105388ab6012fcee09495d233cb04d20294d694bc9d240df5752684d5efa7927ad3c15d07e041f33585302bbe40a7d30f5522d4c9a716ade41bff2 SHA512 (derived-props-12.1.txt) = 4108bd9e63862c75a538a36c3a859b8271e3555e84384b90d1e751e81ee3cc9d8d36d3d47b9f1828737b2d08cff23d21c44f1c0ac79726443f90af003444789b +SHA512 (derived-props-13.0.txt) = 895df4774c4fccb9631c0f3b3c9acc4849cf60f85679194d5277ecad6125fdda71c3382ed9db0ab0ff7dabe72154f904bd750088d7fe7c2746cdd82e404067cd