diff --git a/.gitignore b/.gitignore index 9eed377..0d76080 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ /sentencepiece-0.1.83-Source.tar.xz /sentencepiece-0.1.84-Source.tar.xz /sentencepiece-0.1.92-Source.tar.xz +/sentencepiece-0.1.99.tar.gz +/sentencepiece-0.2.0.tar.gz +/sentencepiece-0.2.1.tar.gz diff --git a/changelog b/changelog new file mode 100644 index 0000000..6d8510f --- /dev/null +++ b/changelog @@ -0,0 +1,54 @@ +* Sat Jul 22 2023 Fedora Release Engineering - 0.1.92-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 0.1.92-10 +- Rebuilt for Python 3.12 + +* Sat Jan 21 2023 Fedora Release Engineering - 0.1.92-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 0.1.92-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 0.1.92-7 +- Rebuilt for Python 3.11 + +* Sat Jan 22 2022 Fedora Release Engineering - 0.1.92-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.1.92-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.1.92-4 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.1.92-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Oct 07 2020 Kentaro Hayashi - 0.1.92-2 +- Add missing BuildRequires: python3-setuptools + +* Thu Oct 01 2020 Kentaro Hayashi - 0.1.92-1 +- New upstream release + +* Tue Sep 22 2020 Jeff Law - 0.1.84-6 +- Use cmake_in_source_build to fix FTBFS due to recent cmake macro changes + +* Sat Aug 01 2020 Fedora Release Engineering - 0.1.84-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.1.84-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 0.1.84-3 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 0.1.84-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Nov 14 2019 Kentaro Hayashi - 0.1.84-1 +- New upstream release + +* Mon Oct 07 2019 Kentaro Hayashi - 0.1.83-1 +- initial packaging diff --git a/packit.yaml b/packit.yaml new file mode 100644 index 0000000..f436bd8 --- /dev/null +++ b/packit.yaml @@ -0,0 +1,26 @@ +upstream_package_name: sentencepiece +upstream_project_url: https://github.com/google/sentencepiece +upstream_tag_template: v{version} + +downstream_package_name: sentencepiece + +specfile_path: sentencepiece.spec + +jobs: + - job: pull_from_upstream + trigger: release + dist_git_branches: + - rawhide + - epel-9 + + - job: koji_build + trigger: commit + dist_git_branches: + - rawhide + - epel-9 + + - job: bodhi_update + trigger: commit + dist_git_branches: + - rawhide + - epel-9 \ No newline at end of file diff --git a/sentencepiece.spec b/sentencepiece.spec index 1455b1b..7d68fd7 100644 --- a/sentencepiece.spec +++ b/sentencepiece.spec @@ -1,35 +1,32 @@ -%define __cmake_in_source_build 1 - -%define _epel %{?epel:%{epel}}%{!?epel:0} - Name: sentencepiece -Version: 0.1.92 -Release: 3%{?dist} +Version: 0.2.1 +Release: %autorelease Summary: An unsupervised text tokenizer for Neural Network-based text generation -License: ASL 2.0 +License: Apache-2.0 URL: https://github.com/google/sentencepiece -Source0: https://github.com/google/sentencepiece/releases/download/v%{version}/%{name}-%{version}-Source.tar.xz +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz + +# https://github.com/google/sentencepiece/issues/860 +ExcludeArch: s390x -BuildRequires: make -%if 0%{_epel} >= 7 -BuildRequires: cmake3 -%else -BuildRequires: cmake -%endif BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: ninja-build BuildRequires: gperftools-devel BuildRequires: pkgconfig +BuildRequires: protobuf-lite-devel BuildRequires: python3-devel BuildRequires: python3-setuptools +BuildRequires: python3dist(pip) %description The SentencePiece is an unsupervised text tokenizer for Neural Network-based text generation. -It is an unsupervised text tokenizer and detokenizer mainly for -Neural Network-based text generation systems where the vocabulary size is +It is an unsupervised text tokenizer and detokenizer mainly for +Neural Network-based text generation systems where the vocabulary size is predetermined prior to the neural model training. -SentencePiece implements subword units and unigram language model with the +SentencePiece implements subword units and unigram language model with the extension of direct training from raw sentences. SentencePiece allows us to make a purely end-to-end system that does not depend on language-specific pre/post-processing. @@ -57,32 +54,41 @@ This package contains header files to develop a software using SentencePiece. %package -n python3-%{name} Summary: Python module for SentencePiece Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: python3dist(protobuf) %{?python_provide:%python_provide python3-%{name}} %description -n python3-%{name} This package contains Python3 module file for SentencePiece. %prep -%autosetup -n %{name}-%{version}-Source +%autosetup + +# Need some help finding the src dir now +sed -i -e "s@'std=c++17',@'std=c++17','-I../src',@" python/setup.py %build -%if %{_epel} >= 7 -cmake3 . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_INSTALL_LIBDIR=%{_libdir} -%else -%cmake . -DCMAKE_INSTALL_LIBDIR=%{_libdir} -%endif -%make_build +%cmake \ + -GNinja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + %{nil} + +%cmake_build + pushd python -CFLAGS="-I../src" LDFLAGS="-L../src -lsentencepiece" PKG_CONFIG_PATH=".." %{__python3} setup.py build +%pyproject_wheel + popd %install -%make_install +%cmake_install + pushd python -PKG_CONFIG_PATH=".." %py3_install +%pyproject_install +%pyproject_save_files sentencepiece + popd -sed -i'' -e "s,%{buildroot},," %{buildroot}%{_libdir}/pkgconfig/sentencepiece.pc -sed -i'' -e "s,${prefix}/lib,%{_libdir}," %{buildroot}%{_libdir}/pkgconfig/sentencepiece.pc + find %{buildroot} -name '*.a' -delete %files libs @@ -92,47 +98,13 @@ find %{buildroot} -name '*.a' -delete %files devel %{_includedir}/sentencepiece*.h -%{_libdir}/*.so +%{_libdir}/libsentencepiece*.so %{_libdir}/pkgconfig/sentencepiece*.pc %files tools %{_bindir}/spm* -%files -n python3-%{name} -%{python3_sitearch}/%{name}.py -%{python3_sitearch}/_%{name}*.so -%{python3_sitearch}/__pycache__/* -%{python3_sitearch}/%{name}-*.egg-info/ - +%files -n python3-%{name} -f %{pyproject_files} %changelog -* Wed Jan 27 2021 Fedora Release Engineering - 0.1.92-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Oct 07 2020 Kentaro Hayashi - 0.1.92-2 -- Add missing BuildRequires: python3-setuptools - -* Thu Oct 01 2020 Kentaro Hayashi - 0.1.92-1 -- New upstream release - -* Tue Sep 22 2020 Jeff Law - 0.1.84-6 -- Use cmake_in_source_build to fix FTBFS due to recent cmake macro changes - -* Sat Aug 01 2020 Fedora Release Engineering - 0.1.84-5 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 0.1.84-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue May 26 2020 Miro Hrončok - 0.1.84-3 -- Rebuilt for Python 3.9 - -* Thu Jan 30 2020 Fedora Release Engineering - 0.1.84-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Nov 14 2019 Kentaro Hayashi - 0.1.84-1 -- New upstream release - -* Mon Oct 07 2019 Kentaro Hayashi - 0.1.83-1 -- initial packaging +%autochangelog diff --git a/sources b/sources index c96818f..59db35d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sentencepiece-0.1.92-Source.tar.xz) = 9f9fc6ec9bec4c43f5051903d1461c45fa199f8c331d789d8e6ee9eb315e0c5fdbbd6a9adb76db6cf4ef683e73ffc1691dd530568b920d90b24dcce31291b062 +SHA512 (sentencepiece-0.2.1.tar.gz) = 012850b63b2323e16acc5dacc0a494ad3f6375425ee86274f0946032e47c088a3b307758b99d752fcf54acf76c82d7d13d0c14bbf07aa9b612c4f1fbd30cf1cf