diff --git a/.gitignore b/.gitignore index 11ab592..35ed041 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /utf8_v2_3_4.zip +/ftest-*.tar.gz +/utfcpp-*.tar.gz diff --git a/sources b/sources index 1869822..4f337f0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c5e9522fde3debcad5e8922d796b2bd0 utf8_v2_3_4.zip +SHA512 (utfcpp-4.1.1.tar.gz) = 72061902812b3f5b27afb32c513fc337db4149b8a6e51cbfe497109f88145751484093990bb1b20b4eec2b9f621406690030401b2a51c9368eb481f00225cd24 diff --git a/utf8cpp-cmake.patch b/utf8cpp-cmake.patch new file mode 100644 index 0000000..5f6324a --- /dev/null +++ b/utf8cpp-cmake.patch @@ -0,0 +1,24 @@ +diff -up utfcpp-4.0.4/CMakeLists.txt.orig utfcpp-4.0.4/CMakeLists.txt +--- utfcpp-4.0.4/CMakeLists.txt.orig 2023-12-10 16:42:20.000000000 +0100 ++++ utfcpp-4.0.4/CMakeLists.txt 2023-12-14 12:37:01.511860031 +0100 +@@ -35,17 +35,17 @@ install(TARGETS ${PROJECT_NAME} + configure_package_config_file( + "${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in" + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" +- INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake ++ INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME} + ) + + install(EXPORT ${PROJECT_NAME}Targets + FILE ${PROJECT_NAME}Targets.cmake + NAMESPACE ${PROJECT_NAME}:: +- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake) ++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}) + + install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" +- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake) ++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}) + + install(FILES ${PROJECT_SOURCE_DIR}/source/utf8.h DESTINATION include/utf8cpp) + install(DIRECTORY ${PROJECT_SOURCE_DIR}/source/utf8 DESTINATION diff --git a/utf8cpp.spec b/utf8cpp.spec index 0dea6dc..f07f502 100644 --- a/utf8cpp.spec +++ b/utf8cpp.spec @@ -1,16 +1,20 @@ +%undefine __cmake_in_source_build # This package only contains header files. %global debug_package %{nil} +%global ftest_commit c4ad4af0946b73ce1a40cbc72205d15d196c7e06 +%global ftest_shortcommit %(c=%{ftest_commit}; echo ${c:0:7}) Name: utf8cpp -Version: 2.3.4 -Release: 9%{?dist} +Version: 4.1.1 +Release: 2%{?dist} Summary: A simple, portable and lightweight library for handling UTF-8 encoded strings - -Group: Development/Libraries -License: Boost -URL: http://utfcpp.sourceforge.net/ -Source0: http://downloads.sourceforge.net/utfcpp/utf8_v2_3_4.zip -BuildArch: noarch +License: BSL-1.0 +URL: https://github.com/nemtrif/utfcpp +Source0: https://github.com/nemtrif/utfcpp/archive/v%{version}/utfcpp-%{version}.tar.gz +# put cmake import file in correct directory +Patch0: %{name}-cmake.patch +BuildRequires: cmake +BuildRequires: gcc-c++ %description %{summary}. @@ -25,9 +29,9 @@ This project currently only contains header files, which can be found in the %package devel Summary: Header files for %{name} -Group: Development/Libraries BuildArch: noarch Provides: %{name}-static = %{version}-%{release} +Requires: cmake-filesystem %description devel %{summary}. @@ -40,34 +44,159 @@ Features include: This project currently only contains header files, which can be found in the %{name}-devel package. - %prep -%setup -q -c %{name}-%{version} - +%autosetup -n utfcpp-%{version} -p1 %build -# nothing to do - +%cmake \ + %{nil} +%cmake_build +pushd tests +%cmake +%cmake_build +popd %install -mkdir -p %{buildroot}%{_includedir} -install -p -m0644 source/utf8.h %{buildroot}%{_includedir}/utf8.h -mkdir -p %{buildroot}%{_includedir}/utf8 -for i in checked.h core.h unchecked.h; do - install -p -m0644 source/utf8/${i} %{buildroot}%{_includedir}/utf8/${i} +%cmake_install +pushd %{buildroot}%{_includedir} +ln -s utf8cpp/utf8.h ./ +mkdir utf8 +for f in {{un,}checked,core,cpp{11,17,20}}.h ; do + ln -s ../utf8cpp/utf8/${f} utf8/ done +popd +%check +pushd tests +%ctest +popd %files devel -%doc doc/* +%doc API_REFERENCE.md README.md +%license LICENSE %{_includedir}/utf8.h %dir %{_includedir}/utf8 %{_includedir}/utf8/checked.h %{_includedir}/utf8/core.h +%{_includedir}/utf8/cpp11.h +%{_includedir}/utf8/cpp17.h +%{_includedir}/utf8/cpp20.h %{_includedir}/utf8/unchecked.h - +%{_includedir}/utf8cpp +%{_datadir}/cmake/utf8cpp %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 4.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Fri May 22 2026 Dominik Mierzejewski - 4.1.1-1 +- update to 4.1.1 (resolves rhbz#2480337) + +* Mon May 18 2026 Dominik Mierzejewski - 4.1.0-1 +- update to 4.1.0 (resolves rhbz#2478190) + +* Sat Jan 17 2026 Fedora Release Engineering - 4.0.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jan 02 2026 Dominik Mierzejewski - 4.0.9-1 +- update to 4.0.9 (resolves rhbz#2425940) + +* Sat Sep 20 2025 Dominik Mierzejewski - 4.0.8-1 +- update to 4.0.8 (resolves rhbz#2395010) + +* Fri Jul 25 2025 Fedora Release Engineering - 4.0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 4.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Nov 17 2024 Dominik Mierzejewski - 4.0.6-1 +- update to 4.0.6 (resolves rhbz#2323791) + +* Sat Jul 20 2024 Fedora Release Engineering - 4.0.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 4.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 03 2024 Dominik Mierzejewski - 4.0.5-1 +- update to 4.0.5 (resolves rhbz#2245744) +- include license text + +* Sun Oct 08 2023 Dominik Mierzejewski - 3.2.5-1 +- update to 3.2.5 (resolves rhbz#2240785) + +* Thu Aug 31 2023 Dominik Mierzejewski - 3.2.4-1 +- update to 3.2.4 (resolves rhbz#2231660) +- switch to SPDX expression in License tag +- use modern autosetup and plain cmake dependency and macros + +* Sat Jul 22 2023 Fedora Release Engineering - 3.2.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 3.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 03 2023 Dominik 'Rathann' Mierzejewski - 3.2.3-1 +- update to 3.2.3 (#2157206) + +* Wed Dec 07 2022 Dominik 'Rathann' Mierzejewski - 3.2.2-1 +- update to 3.2.2 (#2140879) + +* Sat Jul 23 2022 Fedora Release Engineering - 3.2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 3.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 3.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jun 07 2021 Dominik 'Rathann' Mierzejewski - 3.2.1-1 +- update to 3.2.1 (#1968224) + +* Wed May 19 2021 Dominik 'Rathann' Mierzejewski - 3.2-2 +- add missed compatibility link for cpp17.h + +* Tue May 04 2021 Dominik 'Rathann' Mierzejewski - 3.2-1 +- update to 3.2 (#1956027) + +* Wed Jan 27 2021 Fedora Release Engineering - 3.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Oct 05 2020 Dominik 'Rathann' Mierzejewski - 3.1.2-1 +- update to 3.1.2 (#1883049) + +* Wed Jul 29 2020 Fedora Release Engineering - 3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Oct 22 2019 Dominik 'Rathann' Mierzejewski - 3.1-1 +- update to 3.1 +- include cmake import file +- symlink headers in the previous location for compatibility + +* Mon Oct 21 2019 Dominik 'Rathann' Mierzejewski - 2.3.6-1 +- update to 2.3.6 +- new upstream location +- use cmake and run tests +- switch main package to archful per + https://docs.fedoraproject.org/en-US/packaging-guidelines/#_do_not_use_noarch + +* Sat Jul 27 2019 Fedora Release Engineering - 2.3.4-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2.3.4-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.3.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 2.3.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 2.3.4-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild