From 99d86c13231ed45d6c1aa5d4ced3f967109907d9 Mon Sep 17 00:00:00 2001 From: Raven Date: Wed, 29 May 2024 18:01:10 +0600 Subject: [PATCH] update qt6 dependent packages; imported marshalparser, hspell-epel,ddcutil,catch2 --- base/catch2/catch2.spec | 283 ++++++++++ base/corrosion/corrosion.spec | 73 +++ base/ddcutil/ddcutil.spec | 141 +++++ ...0001-require-local-module-explicitly.patch | 54 ++ base/hspell-epel/hspell-epel.spec | 263 +++++++++ .../marshalparser-remove-dataclasses.patch | 11 + base/marshalparser/marshalparser.spec | 141 +++++ base/osmctools/osmconvert.1 | 452 ++++++++++++++++ base/osmctools/osmctools.spec | 125 +++++ base/osmctools/osmfilter.1 | 390 ++++++++++++++ base/osmctools/osmupdate.1 | 178 ++++++ base/qt6ct/qt6ct.spec | 157 ++++++ base/qtkeychain/qtkeychain-qt6.patch | 38 ++ base/qtkeychain/qtkeychain.spec | 264 +++++++++ base/qtspell/qtspell.spec | 261 +++++++++ base/quazip/FindQuaZip.cmake | 43 ++ base/quazip/quazip.spec | 505 ++++++++++++++++++ base/unity-gtk-module/unity-gtk-module.spec | 290 ++++++++++ .../zxing-cpp-1.2.0-system-pybind11.patch | 37 ++ base/zxing-cpp2/zxing-cpp.spec | 168 ++++++ 20 files changed, 3874 insertions(+) create mode 100644 base/catch2/catch2.spec create mode 100644 base/corrosion/corrosion.spec create mode 100644 base/ddcutil/ddcutil.spec create mode 100644 base/hspell-epel/0001-require-local-module-explicitly.patch create mode 100644 base/hspell-epel/hspell-epel.spec create mode 100644 base/marshalparser/marshalparser-remove-dataclasses.patch create mode 100644 base/marshalparser/marshalparser.spec create mode 100644 base/osmctools/osmconvert.1 create mode 100644 base/osmctools/osmctools.spec create mode 100644 base/osmctools/osmfilter.1 create mode 100644 base/osmctools/osmupdate.1 create mode 100644 base/qt6ct/qt6ct.spec create mode 100644 base/qtkeychain/qtkeychain-qt6.patch create mode 100644 base/qtkeychain/qtkeychain.spec create mode 100644 base/qtspell/qtspell.spec create mode 100644 base/quazip/FindQuaZip.cmake create mode 100644 base/quazip/quazip.spec create mode 100644 base/unity-gtk-module/unity-gtk-module.spec create mode 100644 base/zxing-cpp2/zxing-cpp-1.2.0-system-pybind11.patch create mode 100644 base/zxing-cpp2/zxing-cpp.spec diff --git a/base/catch2/catch2.spec b/base/catch2/catch2.spec new file mode 100644 index 0000000..0b52d97 --- /dev/null +++ b/base/catch2/catch2.spec @@ -0,0 +1,283 @@ +%global debug_package %{nil} + +Name: catch2 +Version: 2.13.10 +Release: 4%{?dist} +Summary: Modern, C++-native, header-only, framework for unit-tests, TDD and BDD + +License: BSL-1.0 +URL: https://github.com/catchorg/Catch2 +Source0: https://github.com/catchorg/Catch2/archive/v%{version}/%{name}-%{version}.tar.gz + +BuildRequires: cmake make gcc-c++ python3 + +%description +Catch stands for C++ Automated Test Cases in Headers and is a +multi-paradigm automated test framework for C++ and Objective-C (and, +maybe, C). It is implemented entirely in a set of header files, but +is packaged up as a single header for extra convenience. + + +%package devel +Summary: Development files for %{name} +Provides: %{name}-static = %{version}-%{release} +Conflicts: catch-devel + +%description devel +Catch stands for C++ Automated Test Cases in Headers and is a +multi-paradigm automated test framework for C++ and Objective-C (and, +maybe, C). It is implemented entirely in a set of header files, but +is packaged up as a single header for extra convenience. + + +%prep +%autosetup -p 1 -n Catch2-%{version} + + +%build +%cmake \ + -DCATCH_BUILD_EXTRA_TESTS=ON \ + -DCATCH_ENABLE_WERROR=OFF \ + -DCATCH_INSTALL_DOCS=OFF \ + -DBUILD_SHARED_LIBS=OFF +%cmake_build + + +%install +%cmake_install + + +%check +%ctest + + +%files devel +%doc README.md CODE_OF_CONDUCT.md docs +%license LICENSE.txt +%{_includedir}/catch2/ +%{_datadir}/Catch2/ +%{_datadir}/pkgconfig/catch2.pc +%{_libdir}/cmake/Catch2/ + + +%changelog +* Tue Jan 23 2024 Fedora Release Engineering - 2.13.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.13.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 2.13.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Tom Hughes - 2.13.10-1 +- Update to 2.13.10 upstream release + +* Wed Jan 18 2023 Fedora Release Engineering - 2.13.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 2.13.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Mar 05 2022 Benjamin A. Beasley +- Drop a no longer required invocation from the spec file +- Don’t install docs at all, rather than removing them after the fact +- Build and run “extra” tests + +* Wed Feb 9 2022 Tom Hughes - 2.13.8-2 +- Bump release to rebuild for Fedora 36 + +* Tue Feb 8 2022 Tom Hughes - 2.13.8-1 +- Update to 2.13.8 upstream release + +* Wed Jan 19 2022 Fedora Release Engineering - 2.13.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 2.13.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Apr 11 2021 Tom Hughes - 2.13.5-1 +- Update to 2.13.5 upstream release + +* Fri Feb 19 2021 Tom Hughes - 2.13.4-3 +- Add patch for non-constant MINSIGSTKSZ + +* Tue Jan 26 2021 Fedora Release Engineering - 2.13.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 4 2021 Tom Hughes - 2.13.4-1 +- Update to 2.13.4 upstream release + +* Mon Jul 27 2020 Fedora Release Engineering - 2.11.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 2.11.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 15 2019 Tom Hughes - 2.11.0-1 +- Update to 2.11.0 upstream release + +* Fri Oct 25 2019 Tom Hughes - 2.10.2-1 +- Update to 2.10.2 upstream release + +* Wed Oct 23 2019 Tom Hughes - 2.10.1-1 +- Update to 2.10.1 upstream release + +* Mon Oct 14 2019 Tom Hughes - 2.10.0-1 +- Update to 2.10.0 upstream release + +* Fri Aug 16 2019 Tom Hughes - 2.9.2-1 +- Update to 2.9.2 upstream release + +* Wed Jul 24 2019 Fedora Release Engineering - 2.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jun 17 2019 Tom Hughes - 2.9.1-1 +- Update to 2.9.1 upstream release + +* Sun Jun 16 2019 Tom Hughes - 2.9.0-1 +- Update to 2.9.0 upstream release + +* Mon May 27 2019 Tom Hughes - 2.8.0-1 +- Update to 2.8.0 upstream release + +* Mon Apr 22 2019 Tom Hughes - 2.7.2-1 +- Update to 2.7.2 upstream release + +* Mon Apr 8 2019 Tom Hughes - 2.7.1-1 +- Update to 2.7.1 upstream release + +* Fri Mar 8 2019 Tom Hughes - 2.7.0-1 +- Update to 2.7.0 upstream release + +* Tue Feb 12 2019 Tom Hughes - 2.6.1-1 +- Update to 2.6.1 upstream release + +* Thu Jan 31 2019 Tom Hughes - 2.6.0-1 +- Update to 2.6.0 upstream release + +* Thu Jan 31 2019 Fedora Release Engineering - 2.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Dec 3 2018 Tom Hughes - 2.5.0-1 +- Update to 2.5.0 upstream release + +* Sun Oct 07 2018 Igor Gnatenko - 2.4.1-1 +- Update to 2.4.1 + +* Mon Jul 23 2018 Tom Hughes - 2.3.0-1 +- Update to 2.3.0 upstream release + +* Thu Jul 12 2018 Fedora Release Engineering - 2.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 8 2018 Tom Hughes - 2.2.3-1 +- Update to 2.2.3 upstream release + +* Fri Apr 6 2018 Tom Hughes - 2.2.2-1 +- Update to 2.2.2 upstream release + +* Sun Mar 11 2018 Tom Hughes - 2.2.1-1 +- Update to 2.2.1 upstream release + +* Wed Mar 7 2018 Tom Hughes - 2.2.0-1 +- Update to 2.2.0 upstream release + +* Sat Feb 10 2018 Tom Hughes - 2.1.2-1 +- Update to 2.1.2 upstream release + +* Wed Feb 07 2018 Fedora Release Engineering - 2.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 27 2018 Tom Hughes - 2.1.1-1 +- Update to 2.1.1 upstream release + +* Sun Jan 14 2018 Igor Gnatenko - 2.1.0-1 +- Update to 2.1.0 + +* Sun Jan 14 2018 Tom Hughes - 1.12.0-1 +- Update to 1.12.0 upstream release + +* Wed Nov 1 2017 Tom Hughes - 1.11.0-1 +- Update to 1.11.0 upstream release + +* Sun Aug 27 2017 Tom Hughes - 1.10.0-1 +- Update to 1.10.0 upstream release + +* Fri Aug 11 2017 Tom Hughes - 1.9.7-1 +- Update to 1.9.7 upstream release + +* Wed Aug 02 2017 Fedora Release Engineering - 1.9.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.9.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 27 2017 Tom Hughes - 1.9.6-1 +- Update to 1.9.6 upstream release + +* Fri Jun 16 2017 Tom Hughes - 1.9.5-1 +- Update to 1.9.5 upstream release + +* Tue May 16 2017 Tom Hughes - 1.9.4-1 +- Update to 1.9.4 upstream release + +* Wed Apr 26 2017 Tom Hughes - 1.9.3-1 +- Update to 1.9.3 upstream release + +* Tue Apr 25 2017 Tom Hughes - 1.9.2-1 +- Update to 1.9.2 upstream release + +* Mon Apr 10 2017 Tom Hughes - 1.9.1-1 +- Update to 1.9.1 upstream release + +* Sat Apr 8 2017 Tom Hughes - 1.9.0-1 +- Update to 1.9.0 upstream release + +* Wed Mar 15 2017 Tom Hughes - 1.8.2-1 +- Update to 1.8.2 upstream release + +* Sat Mar 4 2017 Tom Hughes - 1.8.1-1 +- Update to 1.8.1 upstream release + +* Wed Mar 1 2017 Tom Hughes - 1.8.0-1 +- Update to 1.8.0 upstream release + +* Fri Feb 10 2017 Tom Hughes - 1.7.1-1 +- Update to 1.7.1 upstream release + +* Fri Feb 10 2017 Fedora Release Engineering - 1.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 3 2017 Tom Hughes - 1.7.0-1 +- Update to 1.7.0 upstream release + +* Sun Jan 29 2017 Tom Hughes - 1.6.1-1 +- Update to 1.6.1 upstream release + +* Sun Jan 15 2017 Tom Hughes - 1.6.0-1 +- Update to 1.6.0 upstream release + +* Tue Dec 13 2016 Tom Hughes - 1.5.9-1 +- Update to 1.5.9 upstream release + +* Thu Nov 10 2016 Igor Gnatenko - 1.5.8-1 +- Update to 1.5.8 + +* Sat May 14 2016 Tom Hughes - 1.5.4-1 +- Update to 1.5.4 upstream release + +* Thu Apr 28 2016 Tom Hughes - 1.5.1-1 +- Update to 1.5.1 upstream release + +* Sun Apr 24 2016 Tom Hughes - 1.5.0-1 +- Update to 1.5.0 upstream release + +* Wed Mar 30 2016 Tom Hughes - 1.4.0-1 +- Update to 1.4.0 upstream release + +* Wed Feb 03 2016 Fedora Release Engineering - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Sep 18 2015 Tom Hughes - 1.2.1-1 +- Initial build diff --git a/base/corrosion/corrosion.spec b/base/corrosion/corrosion.spec new file mode 100644 index 0000000..e6869fb --- /dev/null +++ b/base/corrosion/corrosion.spec @@ -0,0 +1,73 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +Name: corrosion +Version: 0.4.9 +Release: %autorelease +Summary: Easy Rust and C/C++ Integration +#SourceLicense: MIT + +# Apache-2.0 OR BSL-1.0 +# MIT +# MIT OR Apache-2.0 +License: MIT AND (Apache-2.0 OR BSL-1.0) AND (MIT OR Apache-2.0) +# LICENSE.dependencies contains a full license breakdown + +URL: https://github.com/corrosion-rs/corrosion +Source: %{url}/archive/v%{version}/corrosion-%{version}.tar.gz + +# drop support for building with older versions of Rust +#Patch: 0001-drop-build-rules-that-depend-on-Cargo.lock-files-bei.patch + +BuildRequires: cmake +BuildRequires: cargo-rpm-macros +BuildRequires: gcc-c++ +BuildRequires: rust >= 1.73 + +Requires: cmake + +%description +Corrosion, formerly known as cmake-cargo, is a tool for integrating Rust +into an existing CMake project. Corrosion can automatically import +executables, static libraries, and dynamic libraries from a workspace or +package manifest (Cargo.toml file). + +%prep +%autosetup -p1 +# %%cargo_prep +# # find -name "Cargo.lock" -print -delete +# # rm generator/Compat.Cargo.* +# +# #%%generate_buildrequires +# cd generator +# %%cargo_generate_buildrequires +# cd .. + +%build +export RUSTFLAGS="%build_rustflags" +%cmake -DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} -DCORROSION_NATIVE_TOOLING:BOOL=ON +%cmake_build +cd generator +%cargo_license_summary +%{cargo_license} > ../LICENSE.dependencies +cd .. + +%install +%cmake_install + +%files +%license LICENSE +%license LICENSE.dependencies +%doc README.md +%doc RELEASES.md + +%{_libexecdir}/corrosion-generator +%{_libdir}/cmake/Corrosion/ +%{_datadir}/cmake/{Corrosion,CorrosionGenerator,FindRust}.cmake diff --git a/base/ddcutil/ddcutil.spec b/base/ddcutil/ddcutil.spec new file mode 100644 index 0000000..182bd01 --- /dev/null +++ b/base/ddcutil/ddcutil.spec @@ -0,0 +1,141 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.3.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +%bcond_without build_lib + +Name: ddcutil +Version: 1.4.1 +Release: %autorelease +Summary: Query and update monitor settings +License: GPLv2+ +URL: http://www.ddcutil.com +Source0: https://github.com/rockowitz/ddcutil/archive/v%{version}/%{name}-%{version}.tar.gz + +# Excluding arch s390/s390x due to i2c-tools does so +ExcludeArch: s390 s390x + +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: libtool +BuildRequires: gcc +BuildRequires: make +BuildRequires: pkgconfig(glib-2.0) >= 2.40 +BuildRequires: pkgconfig(libusb-1.0) >= 1.0.15 +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(libdrm) >= 2.4.67 +BuildRequires: pkgconfig(libkmod) + +Requires: hwdata +Requires: i2c-tools + +# file that may be used at runtime +Recommends: /usr/bin/lsusb +Recommends: /usr/bin/modprobe +Recommends: pkg-config +Recommends: /usr/bin/lscpu +Recommends: /usr/bin/lsb_release +Recommends: xrandr + +%description +Query and change monitor settings + +ddcutil communicates with monitors implementing MCCS (Monitor Control Command +Set), using either the DDC/CI protocol on the I2C bus or as a Human Interface +Device on USB. In general, anything that can be controlled using a monitor's +on-screen display can be controlled by this program. Examples include +changing a monitor's input source and adjusting its brightness. + +# libddcutil can be installed separately +%if %{with build_lib} +%package -n libddcutil +Summary: Shared library to query and update monitor settings + +%description -n libddcutil +Shared library version of ddcutil, exposing a C API. + +%package -n libddcutil-devel +Summary: Development files for libddcutil +# FindDDCUtils.cmake has BSD license header +License: GPLv2+ and BSD +Requires: libddcutil%{?_isa} = %{version}-%{release} +Requires: cmake-filesystem%{?_isa} + +%description -n libddcutil-devel +Development files for libddcutil +%endif + +%prep +%setup -q + +%build +NOCONFIGURE=1 ./autogen.sh +%configure \ +%if %{with build_lib} + --enable-lib=yes +%else + --enable-lib=no +%endif +%make_build + +%install +%make_install + +%files +%doc AUTHORS NEWS.md README.md CHANGELOG.md +%license COPYING +%{_bindir}/%{name} +%{_datadir}/%{name} +%{_mandir}/man1/%{name}.1.* +%{_udevrulesdir}/60-ddcutil.rules + + +%if %{with build_lib} +%files -n libddcutil +%doc AUTHORS NEWS.md README.md CHANGELOG.md +%license COPYING +%{_libdir}/lib%{name}.so.4* + +%files -n libddcutil-devel +%{_libdir}/lib%{name}.so +%{_includedir}/%{name}*.h +%{_libdir}/cmake/%{name} +%{_libdir}/pkgconfig/%{name}.pc +%endif + +%changelog +* Tue Feb 28 2023 Qiyu Yan - 1.4.1-1 +- update to 1.4.1 + +* Thu Jan 19 2023 Fedora Release Engineering - 0.9.9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 0.9.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 0.9.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 0.9.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 0.9.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 10 18:38:55 CST 2020 Qiyu Yan - 0.9.9-3 +- Change to review suggestions + +* Wed Dec 2 21:56:57 CST 2020 Qiyu Yan - 0.9.9-2 +- Change to review suggestions + +* Thu Sep 17 2020 Qiyu Yan - 0.9.9-1 +- Initial Package + diff --git a/base/hspell-epel/0001-require-local-module-explicitly.patch b/base/hspell-epel/0001-require-local-module-explicitly.patch new file mode 100644 index 0000000..a02a581 --- /dev/null +++ b/base/hspell-epel/0001-require-local-module-explicitly.patch @@ -0,0 +1,54 @@ +From 4573c39c4a5bfbcd36941c2ead3d4d93d9ac85e4 Mon Sep 17 00:00:00 2001 +From: Dan Kenigsberg +Date: Sat, 15 Jul 2017 21:28:03 +0300 +Subject: [PATCH] require local module explicitly + +this allows build hspell when perl runs in taint mode which does not +include the current directory in @INC +--- + binarize-desc.pl | 2 +- + genprefixes.pl | 2 +- + pmerge | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/binarize-desc.pl b/binarize-desc.pl +index dbf0b1c..f62ebc6 100755 +--- a/binarize-desc.pl ++++ b/binarize-desc.pl +@@ -8,7 +8,7 @@ + + use Carp; + +-require "PrefixBits.pl"; ++require "./PrefixBits.pl"; + + # "perl -w" warns about variables only used once (it assumes they are a + # typo). This ugliness gets rid of this warning. Is there a more sensible way? +diff --git a/genprefixes.pl b/genprefixes.pl +index 450a7ca..9ae9e50 100755 +--- a/genprefixes.pl ++++ b/genprefixes.pl +@@ -1,6 +1,6 @@ + #!/usr/bin/perl -w + +-require "PrefixBits.pl"; ++require "./PrefixBits.pl"; + + sub find_prefixes { + my $INQUISITIVE_HE=shift; +diff --git a/pmerge b/pmerge +index 83ad949..9ceb9de 100755 +--- a/pmerge ++++ b/pmerge +@@ -8,7 +8,7 @@ + use IO::File; + use Carp; + +-require "PrefixBits.pl"; ++require "./PrefixBits.pl"; + + # "perl -w" warns about variables only used once (it assumes they are a + # typo). This ugliness gets rid of this warning. Is there a more sensible way? +-- +2.9.4 + diff --git a/base/hspell-epel/hspell-epel.spec b/base/hspell-epel/hspell-epel.spec new file mode 100644 index 0000000..556b03e --- /dev/null +++ b/base/hspell-epel/hspell-epel.spec @@ -0,0 +1,263 @@ +# This spec file is derived from the RHEL9 hspell spec file. They should be kept +# in sync over time. +# https://gitlab.com/redhat/centos-stream/rpms/hspell +%global rhel_name hspell +%global _debugsource_template %{nil} +%global debug_package %{nil} + +Summary: A Hebrew spell checker +Name: hspell-epel +Version: 1.4 +Release: 15%{?dist} +License: AGPLv3 +URL: http://hspell.ivrix.org.il/ +Source: http://hspell.ivrix.org.il/%{rhel_name}-%{version}.tar.gz +Patch0: 0001-require-local-module-explicitly.patch + +BuildRequires: gcc, make, hunspell-devel +BuildRequires: perl-generators, perl-interpreter, zlib-devel +BuildRequires: perl(Carp), perl(FileHandle) + +%description +Hspell is a Hebrew SPELLer and morphological analyzer. It provides a mostly +spell-like interface (gives the list of wrong words in the input text), but can +also suggest corrections (-c). It also provides a true morphological analyzer +(-l), that prints all known meanings of a Hebrew string. +Hspell 1.4 still follows the old (pre June 2017) spelling standard of the +Academy of the Hebrew Language. + +%description -l he +Hspell הוא מאיית ומנתח צורני עברי, המספק מנשק דמוי-spell - פולט רשימה של המילים +השגויות המופיעות בקלט. Hspell מקפיד מאוד כללי האקדמיה העברית לכתיב חסר ניקוד +("כתיב מלא"). כמו כן, Hspell מספק (-l) מנתח מורפולוגי אשר מדפיס את כל +המשמעויות האפשריות של מחרוזת אותיות עברית. +גרסה 1.4 תואמת עדיין לכללי האיות הישנים (טרם יוני 2017) של האקדמיה. +%package -n %{rhel_name} +Summary: A Hebrew spell checker + +%description -n %{rhel_name} +Hspell is a Hebrew SPELLer and morphological analyzer. It provides a mostly +spell-like interface (gives the list of wrong words in the input text), but can +also suggest corrections (-c). It also provides a true morphological analyzer +(-l), that prints all known meanings of a Hebrew string. +Hspell 1.4 still follows the old (pre June 2017) spelling standard of the +Academy of the Hebrew Language. + +%description -l he -n %{rhel_name} +Hspell הוא מאיית ומנתח צורני עברי, המספק מנשק דמוי-spell - פולט רשימה של המילים +השגויות המופיעות בקלט. Hspell מקפיד מאוד כללי האקדמיה העברית לכתיב חסר ניקוד +("כתיב מלא"). כמו כן, Hspell מספק (-l) מנתח מורפולוגי אשר מדפיס את כל +המשמעויות האפשריות של מחרוזת אותיות עברית. +גרסה 1.4 תואמת עדיין לכללי האיות הישנים (טרם יוני 2017) של האקדמיה. +%package -n %{rhel_name}-devel +Summary: Library and include files for Hspell, the Hebrew spell checker +Requires: %{rhel_name} = %{version} + +%description -n %{rhel_name}-devel +Library and include files for applications that want to use Hspell. + +%description -l he -n %{rhel_name}-devel +ספרייה וקובצי כותרת עבור יישומים שרוצים להשתמש ב-Hspell. + +%prep +%setup -q -n %{rhel_name}-%{version} +%patch0 -p1 -b .localreq +/usr/bin/iconv -f hebrew -t utf8 -o WHATSNEW WHATSNEW + +%build +%configure --enable-fatverb --enable-linginfo --enable-shared +make +make hunspell + +%install +make DESTDIR=$RPM_BUILD_ROOT STRIP=: install +rm -f $RPM_BUILD_ROOT/%{_libdir}/libhspell.a + +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/myspell +cp -p he.dic $RPM_BUILD_ROOT/%{_datadir}/myspell/he_IL.dic +cp -p he.aff $RPM_BUILD_ROOT/%{_datadir}/myspell/he_IL.aff + +# remove files shipped in RHEL +rm -rf %{buildroot}%{_datadir}/myspell/ + +%check +# there are three known failures +! make test | grep FAILED | grep -E -v '1/aspell/[489]' + +%files -n %{rhel_name} +%doc LICENSE README WHATSNEW COPYING +%{_bindir}/hspell +%{_bindir}/hspell-i +%{_bindir}/multispell +%{_libdir}/libhspell.so.0 +%{_mandir}/man1/hspell.1* +%{_datadir}/hspell/ + +%files -n %{rhel_name}-devel +%{_includedir}/*.h +%{_libdir}/libhspell.so +%{_mandir}/man3/hspell.3* + +%ldconfig_scriptlets + +%changelog +* Fri Jul 08 2022 Troy Dawson - 1.4-15 +- Convert RHEL9 hspell to hspell-epel with just hspell and hspell-devel subpackage + +* Mon Aug 09 2021 Mohan Boddu - 1.4-15 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri May 21 2021 Parag Nemade - 1.4-14 +- Resolves:rhbz#1961995 - Add gating tests from rhel-8 + +* Fri Apr 16 2021 Mohan Boddu - 1.4-13 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.4-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Mar 26 2020 Jitka Plesnikova - 1.4-10 +- Add perl dependencies needed for build + +* Wed Jan 29 2020 Fedora Release Engineering - 1.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Jul 15 2017 Dan Kenigsberg - 1.4-1 +- Sync with upstream hspell-1.4 + +* Fri Feb 10 2017 Fedora Release Engineering - 1.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Feb 26 2015 Dan Kenigsberg - 1.3-1 +- Sync with upstream hspell-1.3 + +* Sat Aug 16 2014 Fedora Release Engineering - 1.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Thu Jun 12 2014 Peter Schiffer - 1.2-8 +- cleaned build section: + STRIP variable is used in make install + CFLAGS are picked up already by configure script + fixed bogus dates in changelog + +* Sat Jun 07 2014 Fedora Release Engineering - 1.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 1.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 17 2013 Petr Pisar - 1.2-5 +- Perl 5.18 rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Nov 12 2012 Peter Schiffer - 1.2-3 +- .spec file cleanup + +* Thu Jul 19 2012 Fedora Release Engineering - 1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Feb 29 2012 Dan Kenigsberg - 1.2-1 +- Sync with upstream hspell-1.2 + +* Wed Feb 09 2011 Fedora Release Engineering - 1.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Jan 9 2010 Dan Kenigsberg - 1.1-3 +- Rebuild with proper hunspell-devel dependency + +* Fri Jan 1 2010 Dan Kenigsberg - 1.1-2 +- Rebase to upstream version 1.1 and fix spec typos. + +* Thu Dec 31 2009 Dan Kenigsberg - 1.1-1 +- Rebase to upstream version 1.1 + +* Fri Jul 24 2009 Fedora Release Engineering - 1.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Feb 24 2009 Fedora Release Engineering - 1.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sun Sep 21 2008 Ville Skyttä - 1.0-11 +- Fix Patch0:/%%patch mismatch. + +* Thu Jul 31 2008 Tom "spot" Callaway - 1.0-10 +- fix license tag + +* Wed May 14 2008 Caolan McNamara - 1.0-9 +- Resolves: rhbz#313231 build hspell.so instead of a .a + +* Mon Feb 18 2008 Fedora Release Engineering - 1.0-8 +- Autorebuild for GCC 4.3 + +* Tue May 22 2007 Dan Kenigsberg 1.0-7 +- Move the hunspell-he dictionaries into hspell package (Bug #240696). + Mostly applying Caolan McNamara's patch #155078. +* Sun Feb 11 2007 Dan Kenigsberg 1.0-6 +- Use gzip -n to exclude MTIME from compressed data and resolve bug #228171 +* Tue Sep 12 2006 Dan Kenigsberg 1.0-5 +- Rebuild for Fedora Extras 6 +* Sun Jul 9 2006 Dan Kenigsberg 1.0-4 +- bump version to mend upgrade path. Bug #197125 +* Sat May 20 2006 Dan Kenigsberg 1.0-3 +- do not strip the binary, create useful defuginfo package (Bug #192437). +* Mon May 15 2006 Dan Kenigsberg 1.0-2 +- new upstream release. +- Hebrew description converted to utf8. +* Tue Feb 28 2006 Dan Kenigsberg 0.9-7 +- Rebuild for Fedora Extras 5 +* Mon Sep 26 2005 Dan Kenigsberg 0.9-6 +- Add the text of the GPL to the binary package. It seems that I'll do anything + to make my sponsor Tom happy. +* Thu Sep 22 2005 Dan Kenigsberg 0.9-5 +- According to Tom's request, distribute the fat version. +- Add short Hebrew description to the devel package. +* Tue Sep 20 2005 Dan Kenigsberg 0.9-4 +- Distribute the "slim" flavor, as I suspect it is better suited for the casual + user (even though I personally enjoy the chubby morphological analizer). +* Mon Sep 19 2005 Tom "spot" Callaway 0.9-3 +- minor spec file cleanups, eliminate "fat" variant +* Thu Sep 15 2005 Dan Kenigsberg 0.9-2 +- version 0.9, some magic to silence rpmlint +* Fri Jun 4 2004 Dan Kenigsberg 0.8-1 +- Some cleanups, and a devel package +* Fri Dec 19 2003 Dan Kenigsberg 0.7-1 +- Changes for version 0.7 +* Tue Jul 29 2003 Dan Kenigsberg 0.6-1 +- Tiny changes for the C frontend +* Fri May 2 2003 Dan Kenigsberg 0.5-1 +- create the "fat" variant +* Mon Feb 17 2003 Dan Kenigsberg 0.3-2 +- The release includes only the compressed database. +- Added signature, and some other minor changes. +* Sun Jan 5 2003 Tzafrir Cohen 0.2-1 +- Initial build. diff --git a/base/marshalparser/marshalparser-remove-dataclasses.patch b/base/marshalparser/marshalparser-remove-dataclasses.patch new file mode 100644 index 0000000..5360f87 --- /dev/null +++ b/base/marshalparser/marshalparser-remove-dataclasses.patch @@ -0,0 +1,11 @@ +--- a/setup.cfg 2023-03-17 20:14:49.000000000 +0600 ++++ b/setup.cfg 2024-04-26 12:20:13.235740715 +0600 +@@ -28,8 +28,6 @@ + [options] + packages = + marshalparser +-install_requires = +- dataclasses; python_version < "3.7" + + [options.entry_points] + console_scripts = diff --git a/base/marshalparser/marshalparser.spec b/base/marshalparser/marshalparser.spec new file mode 100644 index 0000000..99d8473 --- /dev/null +++ b/base/marshalparser/marshalparser.spec @@ -0,0 +1,141 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.5.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 8; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +Name: marshalparser +Version: 0.3.4 +Release: %autorelease +Summary: Parser for Python internal Marshal format + +# SPDX +License: MIT +URL: https://github.com/fedora-python/%{name} +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +BuildArch: noarch + +Patch0: marshalparser-remove-dataclasses.patch + +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-wheel +BuildRequires: pyproject-rpm-macros + + + +#%generate_buildrequires +#%pyproject_buildrequires -x test + +%description +Parser for Python internal Marshal format which can fix pyc files +reproducibility. + +%prep +%autosetup -p1 + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{name} + +%check +%pytest + +%files -f %{pyproject_files} +%license LICENSE +%doc README.md +%{_bindir}/%{name} + +%changelog +## START: Generated by rpmautospec +* Thu Jan 25 2024 Fedora Release Engineering - 0.3.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.3.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Sep 27 2023 Miro Hrončok - 0.3.4-6 +- Don't test with retired Python 3.7 +- https://fedoraproject.org/wiki/Changes/RetirePython3.7 + +* Thu Jul 20 2023 Fedora Release Engineering - 0.3.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 0.3.4-4 +- Rebuilt for Python 3.12 + +* Wed May 31 2023 Karolina Surma - 0.3.4-3 +- Review the License tag according to the SPDX standard + +* Fri Mar 17 2023 Miro Hrončok - 0.3.4-2 +- Drop dependency on tox and skip other-Python-versions tests on ELN + +* Fri Mar 17 2023 Lumir Balhar - 0.3.4-1 +- Update to 0.3.4 (rhbz#2179370) + +* Thu Jan 19 2023 Fedora Release Engineering - 0.3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Nov 05 2022 Lumír Balhar - 0.3.3-1 +- Update to 0.3.3 +Resolves: rhbz#2140261 + +* Thu Jul 21 2022 Fedora Release Engineering - 0.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 0.3.1-2 +- Rebuilt for Python 3.11 + +* Mon May 16 2022 Lumír Balhar - 0.3.1-1 +- Update to 0.3.1 + +* Thu Jan 20 2022 Fedora Release Engineering - 0.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Oct 13 2021 Lumír Balhar - 0.3.0-1 +- Update to 0.3.0 + +* Thu Jul 22 2021 Fedora Release Engineering - 0.2.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.2.6-2 +- Rebuilt for Python 3.10 + +* Fri Apr 30 2021 Lumír Balhar - 0.2.6-1 +- Update to 0.2.6 + +* Tue Jan 26 2021 Fedora Release Engineering - 0.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Dec 18 2020 Lumír Balhar - 0.2.5-1 +- Update to 0.2.5 + +* Tue Dec 08 2020 Lumír Balhar - 0.2.4-1 +- Update to 0.2.4 + +* Wed Nov 11 2020 Lumír Balhar - 0.2.3-1 +- Update to 0.2.3 (#1896208) + +* Tue Nov 10 2020 Lumír Balhar - 0.2.2-1 +- Update to 0.2.2 (#1896208) + +* Wed Sep 16 2020 Lumír Balhar - 0.2.1-1 +- Update to 0.2.1 + +* Wed Jul 29 2020 Lumír Balhar - 0.2.0-1 +- Update to 0.2.0 + +* Tue Jul 28 2020 Fedora Release Engineering - 0.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 15 2020 Lumír Balhar - 0.1.1-1 +- Initial package + +## END: Generated by rpmautospec diff --git a/base/osmctools/osmconvert.1 b/base/osmctools/osmconvert.1 new file mode 100644 index 0000000..e753f88 --- /dev/null +++ b/base/osmctools/osmconvert.1 @@ -0,0 +1,452 @@ +.TH OSMCONVERT "1" "September 2013" +.SH NAME +osmconvert \- Converter of OSM files +.SH "SYNOPSIS" +\&\fBosmconvert\fR \fIoptions\fR [\fIinput file\fR] +.SH DESCRIPTION +.PP +This program reads different file formats of the OpenStreetMap +project and converts the data to the selected output file format. +.SS These formats can be read: +.TP +\&.osm .osc .osc.gz .osh .o5m .o5c .pbf +.SS "These formats can be written:" +.TP +\&.osm (default) .osc .osh .o5m .o5c .pbf +.PP +Names of input files must be specified as command line parameters. +Use \- to read from standard input. You do not need to specify the +input formats, osmconvert will recognize them by itself. +The output format is .osm by default. If you want a different format, +please specify it using the appropriate command line parameter. +.PP +.SH OPTIONS +\fB\-b=\fR,,, +.IP +If you want to limit the geographical region, you can define +a bounding box. To do this, enter the southwestern and the +northeastern corners of that area. For example: +\fB\-b\fR=-0.5,51,0.5,52 +.PP +\fB\-B=\fR +.IP +Alternatively to a bounding box you can use a border polygon +to limit the geographical region. +The format of a border polygon file can be found in the OSM +Wiki: https://wiki.openstreetmap.org/wiki/Osmosis/Polygon_Filter_File_Format +.br +You do not need to strictly follow the format description, +you must ensure that every line of coordinates starts with +blanks. +.PP +\fB\-\-complete\-ways\fR +.IP +If applying a border box or a border polygon, all nodes +the borders are excluded; even then if they belong to a way +which is not entirely excluded because it has some nodes +inside the borders. +This option will ensure that every way stays complete, even +it it intersects the borders. This will result in slower +processing, and the program will loose its ability to read +from standard input. It is recommended to use .o5m format as +input format to compensate most of the speed disadvantage. +.PP +\fB\-\-complex\-multipolygons\fR, +\fB\-\-complex\-boundaries\fR +.IP +Same as before, but multipolygons resp. boundaries will not be +cut at the borders too. +.PP +\fB\-\-all\-to\-nodes\fR +.IP +Some applications do not have the ability to process ways or +relations, they just accept nodes as input. However, more and +more complex object are mapped as ways or even relations in +order to get all their details into the database. +Apply this option if you want to convert ways and relations +to nodes and thereby make them available to applications +which can only deal with nodes. +For each way a node is created. The way's id is increased by +10^15 and taken as id for the new node. The node's longitude +and latitude are set to the way's geographical center. Same +applies to relations, however they get 2*10^15 as id offset. +.PP +\fB\-\-add\-bbox\-tags\fR +.IP +This option adds a tag with a bounding box to each object. +The tag will contain the border coordinates in this order: +min Longitude, min Latitude, max Longitude , max Latitude. +e.g.: +.PP +\fB\-\-add\-bboxarea\-tags\fR +.IP +A tag for an estimated area value for the bbox is added to +each way and each relation. The unit is square meters. +For example: +.PP +\fB\-\-add\-bboxweight\-tags\fR +.IP +This option will add the binary logarithm of the bbox area +of each way and each relation. +For example: +.PP +\fB\-\-add\-bboxwidth\-tags\fR +.IP +A tag for an estimated width value for the bbox is added to +each way and each relation. The unit is meters. +For example: +.PP +\fB\-\-add\-bboxwidthweight\-tags\fR +.IP +This option will add the binary logarithm of the bbox width +of each way and each relation. +For example: +.PP +\fB\-\-object\-type\-offset=\fR +.IP +If applying the \fB\-\-all\-to\-nodes\fR option as explained above, you +may adjust the id offset. For example: +\fB\-\-object\-type\-offset\fR=4000000000\fR +.br +By appending "+1" to the offset, the program will create +ids in a sequence with step 1. This might be useful if the +there is a subsequently running application which cannot +process large id numbers. Example: +.br +\fB\-\-object\-type\-offset\fR=1900000000+1 +.PP +\fB\-\-drop\-broken\-refs\fR +.IP +Use this option if you need to delete references to nodes +which have been excluded because lying outside the borders +(mandatory for some applications, e.g. Map Composer, JOSM). +.PP +\fB\-\-drop\-author\fR +.IP +For most applications the author tags are not needed. If you +specify this option, no author information will be written: +no changeset, user or timestamp. +.PP +\fB\-\-drop\-version\fR +.IP +If you want to exclude not only the author information but +also the version number, specify this option. +.PP +\fB\-\-drop\-nodes\fR +\fB\-\-drop\-ways\fR +\fB\-\-drop\-relations\fR +.IP +According to the combination of these parameters, no members +of the referred section will be written. +.PP +\fB\-\-modify\-tags=\fR +.IP +The tag modification list determines which tags will be +modified. The example +\fB--modify-tags="highway=primary to =secondary"\fR +will change every "primary" highway into "secondary". +You can also use comparisons or add additional tags: +\fB--modify-way-tags="maxspeed>200 add highspeed=yes"\fR +.PP +\fB\-\-modify\-node\-tags=TAG_MODIFICATION_LIST\fR +\fB\-\-modify\-way\-tags=TAG_MODIFICATION_LIST\fR +\fB\-\-modify\-relation\-tags=TAG_MODIFICATION_LIST\fR +\fB\-\-modify\-node\-way\-tags=TAG_MODIFICATION_LIST\fR +\fB\-\-modify\-node\-relation\-tags=TAG_MODIFICATION_LIST\fR +\fB\-\-modify\-way\-relation\-tags=TAG_MODIFICATION_LIST\fR +.IP +Same as above, but just for the specified object types. +.PP +\fB\-\-diff\fR +.IP +Calculate difference between two files and create a new .osc +or .o5c file. +There must be TWO input files and borders cannot be applied. +Both files must be sorted by object type and id. Created +objects will appear in the output file as "modified", unless +having version number 1. +.PP +\fB\-\-diff\-contents\fR +.IP +Similar to \fB\-\-diff\fR, this option calculates differences between +two OSM files. Here, to determine the differences complete +OSM objects are consulted, not only the version numbers. +Unfortunately, this option strictly requires both input files +to have .o5m format. +.PP +\fB\-\-subtract\fR +.IP +The output file will not contain any object which exists in +one of the input files following this directive. For example: +osmconvert input.o5m \fB\-\-subtract\fR minus.o5m \fB\-o\fR=output.o5m +.PP +\fB\-\-pbf\-granularity=\fR +.IP +Rarely .pbf files come with non-standard granularity. +osmconvert will recognize this and suggest to specify the +abnormal lon/lat granularity using this command line option. +Allowed values are: 100 (default), 1000, 10000, ..., 10000000. +.PP +\fB\-\-emulate\-osmosis\fR +\fB\-\-emulate\-pbf2osm\fR +.IP +In case of .osm output format, the program will try to use +the same data syntax as Osmosis, resp. pbf2osm. +.PP +\fB\-\-fake\-author\fR +.IP +If you have dropped author information (\fB\-\-drop\-author\fR) that +data will be lost, of course. Some programs however require +author information on input although they do not need that +data. For this purpose, you can fake the author information. +osmconvert will write changeset 1, timestamp 1970. +.PP +\fB\-\-fake\-version\fR +.IP +Same as \fB\-\-fake\-author\fR, but \- if .osm xml is used as output +format \- only the version number will be written (version 1). +This is useful if you want to inspect the data with JOSM. +.PP +\fB\-\-fake\-lonlat\fR +.IP +Some programs depend on getting longitude/latitude values, +even when the object in question shall be deleted. With this +option you can have osmconvert to fake these values: +.br +\&... lat="0" lon="0" ... +.br +Note that this is for XML files only (.osc and .osh). +.PP +\fB\-h\fR +.IP +Display a short parameter overview. +.PP +\fB\-\-help\fR +.IP +Display this help. +.PP +\fB\-\-merge\-versions\fR +.IP +Some .osc files contain different versions of one object. +Use this option to accept such duplicates on input. +.PP +\fB\-\-out\-osm\fR +.IP +Data will be written in .osm format. This is the default +output format. +.PP +\fB\-\-out\-osc\fR +.IP +The OSM Change format will be used for output. Please note +that OSM objects which are to be deleted will be represented +by their ids only. +.PP +\fB\-\-out\-osh\fR +.IP +For every OSM object, the appropriate 'visible' tag will be +added to meet 'full planet history' specification. +.PP +\fB\-\-out\-o5m\fR +.IP +The .o5m format will be used. This format has the same +structure as the conventional .osm format, but the data are +stored as binary numbers and are therefore much more compact +than in .osm format. No packing is used, so you can pack .o5m +files using every file packer you want, e.g. lzo, bz2, etc. +.PP +\fB\-\-out\-o5c\fR +.IP +This is the change file format of .o5m data format. All + tags will not be performed as delete actions but +converted into .o5c data format. +.PP +\fB\-\-out\-pbf\fR +.IP +For output, PBF format will be used. +.PP +\fB\-\-out\-csv\fR +.IP +A character separated list will be written to output. +The default separator is Tab, the default columns are: +type, id, name. You can change both by using the options +\fB\-\-csv\-separator=\fR and \fB\-\-csv=\fR +.PP +\fB\-\-csv\-headline\fR +.IP +Choose this option to print a headline to csv output. +.PP +\fB\-\-csv\-separator=\fR +.IP +You may change the default separator (Tab) to a different +character or character sequence. For example: +\fB\-\-csv\-separator=\fR"; " +.PP +\fB\-\-csv=\fR +.IP +If you want to have certain columns in your csv list, please +specify their names as shown in this example: +\fB\-\-csv=\fR"@id name ref description" +There are a few special column names for header data: +@otype (object type 0..2), @oname (object type name), @id +@lon, @lat, @version, @timestamp, @changeset, @uid, @user +.PP +\fB\-\-out\-none\fR +.IP +This will be no standard output. This option is for testing +purposes only. +.PP +\fB\-\-timestamp=\fR +\fB\-\-timestamp\fR=NOW\fR +.IP +If you want to set the OSM timestamp of your output file, +supply it with this option. Date and time must be formatted +according OSM date/time specifications. For example: +\fB\-\-timestamp=2011\-01\-31T23:59:30Z +You also can supply a relative time in seconds, e.g. 24h ago: +\fB\-\-timestamp=NOW\-86400 +.PP +\fB\-\-out\-timestamp\fR +.IP +With this option set, osmconvert prints just the time stamp +of the input file, nothing else. +.PP +\fB\-\-statistics\fR +.IP +This option activates a statistics counter. The program will +print statistical data to stderr. +.PP +\fB\-\-out\-statistics\fR +.IP +Same as \fB\-\-statistics\fR, but the statistical data will be +written to standard output. +.PP +\fB\-o=\fR +.IP +Standard output will be rerouted to the specified file. +If no output format has been specified, the program will +rely on the file name extension. +.PP +\fB\-t=\fR +.IP +If borders are to be applied or broken references to be +eliminated, osmconvert creates and uses two temporary files. +This parameter defines their name prefix. The default value +is "osmconvert_tempfile". +.PP +\fB\-\-parameter\-file\fR=\fIFILE\fR +.IP +If you want to supply one ore more command line arguments +by a parameter file, please use this option and specify the +file name. Within the parameter file, parameters must be +separated by empty lines. Line feeds inside a parameter will +be converted to spaces. +Lines starting with "// " will be treated as comments. +.PP +\fB\-v\fR +\fB\-\-verbose\fR +.IP +With activated 'verbose' mode, some statistical data and +diagnosis data will be displayed. +If \fB\-v\fR resp. \fB\-\-verbose\fR is the first parameter in the line, +osmconvert will display all input parameters. +.PP +.SH TUNING +.PP +To speed\-up the process, the program uses some main memory for a +hash table. By default, it uses 1200 MB for storing a flag for every +possible node, 150 for the way flags, and 10 relation flags. +Every byte holds the flags for 8 ID numbers, i.e., in 1200 MB the +program can store 9600 million flags. As there are less than 5700 +million IDs for nodes at present (May 2018), 720 MB would suffice. +So, for example, you can decrease the hash sizes to e.g. 720, 80 and +2 MB using this option: +.HP +\fB\-\-hash\-memory\fR=\fI720\-80\-2\fR +.PP +But keep in mind that the OSM database is continuously expanding. For +this reason the program\-own default value is higher than shown in the +example, and it may be appropriate to increase it in the future. +If you do not want to bother with the details, you can enter the +amount of memory as a sum, and the program will divide it by itself. +For example: +.HP +\fB\-\-hash\-memory\fR=\fI1000\fR +.PP +These 1000 MiB will be split in three parts: 800 for nodes, 150 for +ways, and 50 for relations. +.PP +Because we are taking hashes, it is not necessary to provide all the +suggested memory; the program will operate with less hash memory too. +But, in this case, the border filter will be less effective, i.e., +some ways and some relations will be left in the output file although +they should have been excluded. +The maximum value the program accepts for the hash size is 4000 MiB; +If you exceed the maximum amount of memory available on your system, +the program will try to reduce this amount and display a warning +message. +.PP +There is another temporary memory space which is used only for the +conversion of ways and relations to nodes (option \fB\-\-all\-to\-nodes\fR). +This space is sufficient for up to 25 Mio. OSM objects, 400 MB of +main memory are needed for this purpose, 800 MB if extended option +\fB\-\-add\-bbox\-tags\fR has been invoked. If this is not sufficient or +if you want to save memory, you can configure the maximum number of +OSM objects by yourself. For example: +.HP +\fB\-\-max\-objects\fR=\fI35000000\fR +.PP +The number of references per object is limited to 100,000. This will +be sufficient for all OSM files. If you are going to create your own +OSM files by converting shapefiles or other files to OSM format, this +might result in way objects with more than 100,000 nodes. For this +reason you will need to increase the maximum accordingly. Example: +.HP +\fB\-\-max\-refs\fR=\fI400000\fR +.PP +.SH LIMITATIONS +.PP +When extracting a geographical region (using \fB\-b\fR or \fB\-B\fR), the input +file must contain the objects ordered by their type: first, all +nodes, next, all ways, followed by all relations. Within each of +these sections, the objects section must be sorted by their id in +ascending order. +.PP +Usual .osm, .osc, .o5m, o5c and .pbf files adhere to this condition. +This means that you do not have to worry about this limitation. +osmconvert will display an error message if this sequence is broken. +.PP +If a polygon file for borders is supplied, the maximum number of +polygon points is about 40,000. +.SH NOTES +.PP +This program is for experimental use. Expect malfunctions and data +loss. Do not use the program in productive or commercial systems. +.PP +There is NO WARRANTY, to the extent permitted by law. +Please send any bug reports to marqqs@gmx.eu +.PP +.SH EXAMPLE +.PP +\tosmconvert europe.pbf \fB\-\-drop\-author\fR >europe.osm +.br +\tosmconvert europe.pbf |gzip >europe.osm.gz +.br +\tbzcat europe.osm.bz2 |./osmconvert \fB\-\-out\-pbf\fR >europe.pbf +.br +\tosmconvert europe.pbf \fB\-B\fR=\fIch\fR.poly >switzerland.osm +.br +\tosmconvert switzerland.osm \fB\-\-out\-o5m\fR >switzerland.o5m +.br +\tosmconvert june_july.osc \fB\-\-out\-o5c\fR >june_july.o5c +.br +\tosmconvert june.o5m june_july.o5c.gz \fB\-\-out\-o5m\fR >july.o5m +.br +\tosmconvert sep.osm sep_oct.osc oct_nov.osc >nov.osm +.br +\tosmconvert northamerica.osm southamerica.osm >americas.osm +.SH "SEE ALSO" +osmfilter(1), osmupdate(1) +.SH AUTHORS +.B osmconvert +was written by Markus Weber + diff --git a/base/osmctools/osmctools.spec b/base/osmctools/osmctools.spec new file mode 100644 index 0000000..73aed41 --- /dev/null +++ b/base/osmctools/osmctools.spec @@ -0,0 +1,125 @@ +%global commit f341f5f237737594c1b024338f0a2fc04fabdff3 + +Name: osmctools +Version: 0.9 +Release: 14%{?dist} +Summary: Tools to manipulate OpenStreetMap files + +# Debian man pages are GPLv2+ +License: AGPLv3 and GPLv2+ +URL: https://gitlab.com/osm-c-tools/osmctools +Source0: https://gitlab.com/osm-c-tools/osmctools/repository/archive.tar.gz?ref=%{version}#/%{name}-%{version}.tar.gz +# Man pages from Debian +Source1: osmconvert.1 +Source2: osmfilter.1 +Source3: osmupdate.1 + +BuildRequires: make +BuildRequires: gcc +BuildRequires: zlib-devel +BuildRequires: autoconf +BuildRequires: automake +Requires: wget + + +%description +Small collection of basic OpenStreetMap tools, include converter, filter and +updater files. + +Programs include: +* osmconvert - Converter of OSM files +* osmfilter - The experimental OSM filters data +* osmupdate - Update OSM files. + + +%prep +%autosetup -n %{name}-%{version}-%{commit} + + +%build +autoreconf -fvi +%configure +%make_build + + +%install +%make_install + +# Install man pages +install -d %{buildroot}%{_mandir}/man1/ +for i in %{SOURCE1} %{SOURCE2} %{SOURCE3}; do + install -p -m 0644 ${i} %{buildroot}%{_mandir}/man1/ +done + + +%files +%license COPYING +%doc AUTHORS README.md +%{_bindir}/osmconvert +%{_bindir}/osmfilter +%{_bindir}/osmupdate +%{_mandir}/man1/osmconvert.1* +%{_mandir}/man1/osmfilter.1* +%{_mandir}/man1/osmupdate.1* + + +%changelog +* Thu Jan 25 2024 Fedora Release Engineering - 0.9-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.9-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 0.9-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 0.9-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 0.9-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 0.9-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 0.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 0.9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 0.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 0.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 0.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 0.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 0.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat Jun 02 2018 Andrea Musuruane - 0.9-1 +- Updated to new upstream release +- Updated man pages from Debian + +* Wed Feb 21 2018 Andrea Musuruane - 0.8-3 +- Added gcc dependency + +* Thu Feb 08 2018 Fedora Release Engineering - 0.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Nov 25 2017 Andrea Musuruane - 0.8-1 +- Updated to new upstream release +- Updated man pages from Debian + +* Fri Aug 25 2017 Andrea Musuruane - 0.7-2 +- Fixed License tag + +* Sun Jun 25 2017 Andrea Musuruane - 0.7-1 +- First release + diff --git a/base/osmctools/osmfilter.1 b/base/osmctools/osmfilter.1 new file mode 100644 index 0000000..9d5cf68 --- /dev/null +++ b/base/osmctools/osmfilter.1 @@ -0,0 +1,390 @@ +.TH OSMFILTER "1" "September 2013" +.SH NAME +osmfilter \- The experimental OSM filters data +.SH "SYNOPSIS" +\&\fBosmfilter\fR \fIoptions\fR [\fIinput file\fR] +.SH DESCRIPTION +.PP +THIS PROGRAM IS FOR EXPERIMENTAL USE ONLY. +PLEASE EXPECT MALFUNCTION AND DATA LOSS. +SAVE YOUR DATA BEFORE STARTING THIS PROGRAM. +.PP +This program filters OpenStreetMap data. +.PP +The input file name must be supplied as command line argument. The +file must not be a stream. Redirections from standard input will not +work because the program needs random access to the file. You do not +need to specify the input format, osmfilter will recognize these +formats: .osm (XML), .osc (OSM Change File), .osh (OSM Full History), +\&.o5m (speed\-optimized) and .o5c (speed\-optimized Change File). +.PP +The output format is .osm by default. If you want a different format, +please specify it using the appropriate command line parameter. +.SH OPTIONS +\fB\-\-keep\fR=\fIOBJECT_FILTER\fR +.IP +All object types (nodes, ways and relations) will be kept +if they meet the filter criteria. Same applies to dependent +objects, e.g. nodes in ways, ways in relations, relations in +other relations. +Please look below for a syntax description of OBJECT_FILTER. +.PP +\-\-keep\-nodes\fR=\fIOBJECT_FILTER\fR +.br +\-\-keep\-ways\fR=\fIOBJECT_FILTER\fR +.br +\-\-keep\-relations\fR=\fIOBJECT_FILTER\fR +.br +\-\-keep\-nodes\-ways\fR=\fIOBJECT_FILTER\fR +.br +\-\-keep\-nodes\-relations\fR=\fIOBJECT_FILTER\fR +.br +\-\-keep\-ways\-relations\fR=\fIOBJECT_FILTER\fR +.IP +Same as above, but just for the specified object types. +.PP +\fB\-\-drop\fR=\fIOBJECT_FILTER\fR +.IP +All object types (nodes, ways and relations) which meet the +supplied filter criteria will be dropped, regardless of +meeting the criteria of a keep filter (see above). +Please look below for a syntax description of OBJECT_FILTER. +.PP +\-\-drop\-nodes\fR=\fIOBJECT_FILTER\fR +.br +\-\-drop\-ways\fR=\fIOBJECT_FILTER\fR +.br +\-\-drop\-relations\fR=\fIOBJECT_FILTER\fR +.br +\-\-drop\-nodes\-ways\fR=\fIOBJECT_FILTER\fR +.br +\-\-drop\-nodes\-relations\fR=\fIOBJECT_FILTER\fR +.br +\-\-drop\-ways\-relations\fR=\fIOBJECT_FILTER\fR +.IP +Same as above, but just for the specified object types. +.PP +\fB\-\-keep\-tags\fR=\fITAG_FILTER\fR +.IP +The in TAG_FILTER specified tags will be allowed on output. +Please look below for a syntax description of TAG_FILTER. +.PP +\-\-keep\-node\-tags\fR=\fITAG_FILTER\fR +.br +\-\-keep\-way\-tags\fR=\fITAG_FILTER\fR +.br +\-\-keep\-relation\-tags\fR=\fITAG_FILTER\fR +.br +\-\-keep\-node\-way\-tags\fR=\fITAG_FILTER\fR +.br +\-\-keep\-node\-relation\-tags\fR=\fITAG_FILTER\fR +.br +\-\-keep\-way\-relation\-tags\fR=\fITAG_FILTER\fR +.IP +Same as above, but just for the specified object types. +.PP +\fB\-\-drop\-tags\fR=\fITAG_FILTER\fR +.IP +The specified tags will be dropped. This overrules the +previously described parameter \fB\-\-keep\-tags\fR. +Please look below for a syntax description of TAG_FILTER. +.PP +\-\-drop\-node\-tags\fR=\fITAG_FILTER\fR +.br +\-\-drop\-way\-tags\fR=\fITAG_FILTER\fR +.br +\-\-drop\-relation\-tags\fR=\fITAG_FILTER\fR +.br +\-\-drop\-node\-way\-tags\fR=\fITAG_FILTER\fR +.br +\-\-drop\-node\-relation\-tags\fR=\fITAG_FILTER\fR +.br +\-\-drop\-way\-relation\-tags\fR=\fITAG_FILTER\fR +.IP +Same as above, but just for the specified object types. +.PP +\fB\-\-modify\-tags=TAG_MODIFICATION_LIST\fR +.IP +The specified tags will be modified. This is done after any +filtering (see \-\-keep, \-\-keep\-tags, \-\-drop, \-\-drop\-tags). +Please look below for a description of TAG_MODIFICATION_LIST. +.PP +\-\-modify\-node\-tags=TAG_MODIFICATION_LIST\fR +.br +\-\-modify\-way\-tags=TAG_MODIFICATION_LIST\fR +.br +\-\-modify\-relation\-tags=TAG_MODIFICATION_LIST\fR +.br +\-\-modify\-node\-way\-tags=TAG_MODIFICATION_LIST\fR +.br +\-\-modify\-node\-relation\-tags=TAG_MODIFICATION_LIST\fR +.br +\-\-modify\-way\-relation\-tags=TAG_MODIFICATION_LIST\fR +.IP +Same as above, but just for the specified object types. +.PP +\fB\-\-drop\-author\fR +.IP +For most applications the author tags are not needed. If you +specify this option, no author information will be written: +no changeset, user or timestamp. +.PP +\fB\-\-drop\-version\fR +.IP +If you want to exclude not only the author information but +also the version number, specify this option. +.PP +\-\-drop\-nodes\fR +.br +\-\-drop\-ways\fR +.br +\-\-drop\-relations\fR +.IP +According to the combination of these parameters, no members +of the referred section will be written. +.PP +\-\-emulate\-osmosis\fR +.br +\-\-emulate\-pbf2osm\fR +.IP +In case of .osm output format, the program will try to use +the same data syntax as Osmosis, resp. pbf2osm. +.PP +\fB\-\-fake\-author\fR +.IP +If you have dropped author information (\fB\-\-drop\-author\fR) that +data will be lost, of course. Some programs however require +author information on input although they do not need that +data. For this purpose, you can fake the author information. +o5mfiler will write changeset 1, timestamp 1970. +.PP +\fB\-\-fake\-version\fR +.IP +Same as \fB\-\-fake\-author\fR, but \- if .osm xml is used as output +format \- only the version number will be written (version 1). +This is useful if you want to inspect the data with JOSM. +.PP +\fB\-\-fake\-lonlat\fR +.IP +Some programs depend on getting longitude/latitude values, +even when the object in question shall be deleted. With this +option you can have osmfilter to fake these values: +.br +\&... lat="0" lon="0" ... +.br +Note that this is for XML files only (.osc and .osh). +.PP +\fB\-h\fR +.IP +Display a short parameter overview. +.PP +\fB\-\-help\fR +.IP +Display this help. +.PP +\fB\-\-ignore\-dependencies\fR +.IP +Usually, all member nodes of a way which meets the filter +criteria will be included as well. Same applies to members of +included relations. If you activate this option, all these +dependencies between OSM objects will be ignored. +.PP +\fB\-\-out\-key\fR=\fIKEYNAME\fR +.IP +The output will contain no regular OSM data but only +statistics: a list of all used keys is assembled. Left to +each key, the number of occurrences is printed. +If KEYNAME is given, the program will list all values which +are used in connections with this key. +You may use wildcard characters for KEYNAME, but only at the +beginning and/or at the end. For example: \fB\-\-out\-key\fR=\fIaddr\fR:* +.PP +\fB\-\-out\-count\fR=\fIKEYNAME\fR +.IP +Same as \fB\-\-out\-key=\fR, but the list is sorted by the number of +occurrences of the keys resp. values. +.PP +\fB\-\-out\-osm\fR +.IP +Data will be written in .osm format. This is the default +output format. +.PP +\fB\-\-out\-osc\fR +.IP +The OSM Change format will be used for output. Please note +that OSM objects which are to be deleted are represented by +their ids only. +.PP +\fB\-\-out\-osh\fR +.IP +For every OSM object, the appropriate 'visible' tag will be +added to meet 'full planet history' specification. +.PP +\fB\-\-out\-o5m\fR +.IP +The .o5m format will be used. This format has the same +structure as the conventional .osm format, but the data are +stored as binary numbers and are therefore much more compact +than in .osm format. No packing is used, so you can pack .o5m +files using every file packer you want, e.g. lzo, bz2, etc. +.PP +\fB\-\-out\-o5c\fR +.IP +This is the change file format of .o5m data format. All + tags will not be performed as delete actions but +converted into .o5c data format. +.PP +\fB\-o=\fR +.IP +Standard output will be rerouted to the specified file. +If no output format has been specified, the program will +proceed according to the file name extension. +.PP +\fB\-t=\fR +.IP +osmfilter uses a temporary file to process interrelational +dependencies. This parameter defines the name prefix. The +default value is "osmfilter_tempfile". +.PP +\fB\-\-parameter\-file\fR=\fIFILE\fR +.IP +If you want to supply one ore more command line arguments +by a parameter file, please use this option and specify the +file name. Within the parameter file, parameters must be +separated by empty lines. Line feeds inside a parameter will +be converted to spaces. +Lines starting with "// " will be treated as comments. +.PP +\fB\-v\fR +\fB\-\-verbose\fR +.IP +With activated 'verbose' mode, some statistical data and +diagnosis data will be displayed. +If \fB\-v\fR resp. \fB\-\-verbose\fR is the first parameter in the line, +osmfilter will display all input parameters. +.PP +.SS OBJECT_FILTER +Some of the command line arguments need a filter to be +specified. This filter definition consists of key/val pairs +and uses the following syntax: +.br +"KEY1=VAL1 OP KEY2=VAL2 OP KEY3=VAL3 ..." +.IP +OP is the Boolean operator, it must be either "and" or "or". +As usual, "and" will be processed prior to "or". If you +want to influence the sequence of processing, you may use +brackets to do so. Please note that brackets always must be +padded by spaces. Example: lit=yes and ( note=a or source=b ) +Instead of each "=" you may enter one of these comparison +operators: != (not equal), <, >, <=, >= +The program will use ASCII\-alphabetic comparison unless you +compare against a value which is starting with a digit. +If there are different possible values for the same key, you +need to write the key only once. For example: +.br +"amenity=restaurant =pub =bar" +.IP +It is allowed to omit the value. In this case, the program +will accept every value for the defined key. For example: +.br +"highway= and lit=yes" +.IP +You may use wildcard characters for key or value, but only at +the beginning and/or at the end. For example: +.br +"wikipedia:*=highway=*ary ref_name=*central*" +.IP +Please be careful with wildcards in keys since only the first +key which meets the pattern will be processed. +There are three special keys which represent object id, user +id and user name: @id, @uid and @user. They allow you to +search for certain objects or for edits of specific users. +.PP +.SS TAG_FILTER +The tag filter determines which tags will be kept and which +will be not. For example : +.br +\fB\-\-keep\-tags=\fR"highway=motorway =primary"\fR +.br +will not accept "highway" tags other than "motorway" or +"primary". Note that neither the object itself will be +deleted, nor the remaining tags. If you want to drop every +tag which is not mentioned in a list, use this example: +.br +all highway= amenity= name= +.PP +.SS TAG_MODIFICATION_LIST +The tag modification list determines which tags will be +modified. The example +.br +\fB\-\-modify\-tags="highway=primary to =secondary"\fR +.br +will change every "primary" highway into "secondary". +You can also use comparisons or add additional tags: +.br +\fB--modify-way-tags="maxspeed>200 add highspeed=yes"\fR +.SH TUNING +To speed\-up the process, the program uses some main memory for a +hash table. By default, it uses 1200 MB for storing a flag for every +possible node, 150 for the way flags, and 10 relation flags. +Every byte holds the flags for 8 ID numbers, i.e., in 1200 MB the +program can store 9600 million flags. As there are less than 5700 +million IDs for nodes at present (May 2018), 720 MB would suffice. +So, for example, you can decrease the hash sizes to e.g. 720, 80 and +2 MB (for relations, 2 flags are needed each) using this option: +.br +\fB\-\-hash\-memory\fR=\fI720\-80\-2\fR +.PP +But keep in mind that the OSM database is continuously expanding. For +this reason the program\-own default value is higher than shown in the +example, and it may be appropriate to increase it in the future. +If you do not want to bother with the details, you can enter the +amount of memory as a sum, and the program will divide it by itself. +For example: +.br +\fB\-\-hash\-memory\fR=\fI1000\fR +.PP +These 1000 MiB will be split in three parts: 800 for nodes, 150 for +ways, and 50 for relations. +.PP +Because we are taking hashes, it is not necessary to provide all the +suggested memory; the program will operate with less hash memory too. +But, in this case, the border filter will be less effective, i.e., +some ways and some relations will be left in the output file although +they should have been excluded. +The maximum value the program accepts for the hash size is 4000 MiB; +If you exceed the maximum amount of memory available on your system, +the program will try to reduce this amount and display a warning +message. +.SH LIMITATIONS +When filtering whole OSM objects (\fB\-\-keep\fR...=, \fB\-\-drop\fR...=), the input +file must contain the objects ordered by their type: first, all nodes +nodes, next, all ways, followed by all relations. +.PP +Usual .osm, .osc, .o5m and o5c files adhere to this condition. This +means that you do not have to worry about this limitation. osmfilter +will display an error message if this sequence is broken. +.PP +The number of key/val pairs in each filter parameter is limited to +1000, the length of each key or val is limited to 100. +.SH NOTES +.PP +This program is for experimental use. Expect malfunctions and data +loss. Do not use the program in productive or commercial systems. +.PP +There is NO WARRANTY, to the extent permitted by law. +Please send any bug reports to marqqs@gmx.eu +.SH EXAMPLE +osmfilter europe.o5m \-\-keep=amenity=bar \-o=new.o5m +.br +osmfilter a.osm \-\-keep\-nodes=lit=yes \-\-drop\-ways \-o=light.osm +.br +osmfilter a.osm \-\-keep="place=city or ( place=town and population>=10000 )" \-o=b.osm +.br +osmfilter region.o5m \-\-keep="bridge=yes and layer>=2" \-o=r.o5m +.SH "SEE ALSO" +osmconvert(1), osmupdate(1) +.SH AUTHORS +.B osmfilter +was written by Markus Weber + diff --git a/base/osmctools/osmupdate.1 b/base/osmctools/osmupdate.1 new file mode 100644 index 0000000..e64aef8 --- /dev/null +++ b/base/osmctools/osmupdate.1 @@ -0,0 +1,178 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. +.TH OSMUPDATE "1" "September 2013" +.SH NAME +osmupdate \- Update OSM files +.SH "SYNOPSIS" +\&\fBosmupdate\fR \fIoptions\fR [\fIoldfile\fR] [\fInewfile\fR] +.SH DESCRIPTION +.PP +This program cares about updating an .osm, .o5m or .pbf file. It +will download and apply OSM Change files (.osc) from the servers of +"planet.openstreetmap.org". +It also can assemble a new .osc or .o5c file which can be used to +update your OSM data file at a later time. +.PP +Prequesites +.PP +To run this program, please download and install two other programs +first: "osmconvert" and "wget". +.PP +Usage +.PP +Two command line arguments are mandatory: the name of the old and the +name of the new OSM data file. If the old data file does not have a +file timestamp, you may want to specify this timestamp manually on +the command line. If you do not, the program will try to determine +the timestamp by examining the whole old data file. +Instead of the second parameter, you alternatively may specify the +name of a change file (.osc or .o5c). In this case, you also may +replace the name of the old OSM data file by a timestamp. +Command line arguments which are not recognized by osmupdate will be +passed to osmconvert. Use this opportunity to supply a bounding box +or a bounding polygon if you are going to update a regional change +file. You also may exclude unneeded meta data from your file by +specifying this osmconvert option: \fB\-\-drop\-author\fR +.PP +.SH OPTIONS +The program osmupdate recognizes a few command line options: +.PP +\fB\-\-max\-days\fR=\fIUPDATE_RANGE\fR +.IP +By default, the maximum time range for to assemble a +cumulated changefile is 250 days. You can change this by +giving a different maximum number of days, for example 300. +If you do, please ensure that there are daily change files +available for such a wide range of time. +.PP +\fB\-\-minute\fR +\fB\-\-hour\fR +\fB\-\-day\fR +\fB\-\-sporadic\fR +.IP +By default, osmupdate uses a combination of minutely, hourly +and daily changefiles. If you want to limit these changefile +categories, use one or two of these options and choose that +category/ies you want to be used. +The option \fB\-\-sporadic\fR allows processing changefile sources +which do not have the usual "minute", "hour" and "day" +subdirectories. +.PP +\fB\-\-max\-merge\fR=\fICOUNT\fR +.IP +The subprogram osmconvert is able to merge more than two +changefiles in one run. This ability increases merging speed. +Unfortunately, every changefile consumes about 200 MB of main +memory while being processed. For this reason, the number of +parallelly processable changefiles is limited. +Use this commandline argument to determine the maximum number +of parallelly processed changefiles. The default value is 7. +.PP +\fB\-t\fR=\fITEMPPATH\fR +\fB\-\-tempfiles\fR=\fITEMPPATH\fR +.IP +On order to cache changefiles, osmupdate needs a separate +directory. This parameter defines the name of this directory, +including the prefix of the tempfiles' names. +The default value is "osmupdate_temp/temp". +.PP +\fB\-\-keep\-tempfiles\fR +.IP +Use this option if you want to keep local copies of every +downloaded file. This is strongly recommended if you are +going to assemble different changefiles which overlap in +time ranges. Your data traffic will be minimized. +Do not invoke this option if you are going to use different +change file sources (option \fB\-\-base\-url\fR). This would cause +severe data corruption. +.PP +\fB--trust-tempfiles\fR +.IP +Use this option if you want to use the saved local copies +of already downloaded changefiles without checking their +lengths against to their server-hosted originals. +Downloads will be limited to files not saved yet. +Do not invoke this option if you suspect incomplete +downloads. +.PP +\fB\-\-compression\-level\fR=\fILEVEL\fR +.IP +Define level for gzip compression. Values between 1 (low +compression, but fast) and 9 (high compression, but slow). +.PP +\fB\-\-base\-url\fR=\fIBASE_URL\fR +.IP +To accelerate downloads or to get regional file updates you +may specify an alternative download location. Please enter +its URL, or simply the word "mirror" if you want to use +gwdg's planet server. +.PP +\fB\-\-base\-url\-suffix\fR=\fIBASE_URL_SUFFIX\fR +.IP +To use old planet URLs, you may need to add the suffix +"\-replicate" because it was custom to have this word in the +URL, right after the period identifier "day" etc. +.PP +\fB\-v\fR +\fB\-\-verbose\fR +.IP +With activated 'verbose' mode, some statistical data and +diagnosis data will be displayed. +If \fB\-v\fR resp. \fB\-\-verbose\fR is the first parameter in the line, +osmupdate will display all input parameters. +.SH NOTES +.PP +This program is for experimental use. Expect malfunctions and data +loss. Do not use the program in productive or commercial systems. +.PP +There is NO WARRANTY, to the extent permitted by law. +Please send any bug reports to marqqs@gmx.eu +.SH EXAMPLE +osmupdate old_file.o5m new_file.o5m +.br +osmupdate old_file.pbf new_file.pbf +.br +osmupdate old_file.osm new_file.osm +.IP +The old OSM data will be updated and written as new_file.o5m +or new_file.o5m. For safety reasons osmupdate will not delete +the old file. If you do not need it as backup file, please +delete it by yourself. +.IP +osmupdate old_file.osm 2011\-07\-15T23:30:00Z new_file.osm +.br +osmupdate old_file.osm NOW\-86400 new_file.osm +.IP +If your old OSM data file does not contain a file timestamp, +or you do not want to rely on this timestamp, it can be +specified manually. Relative times are in seconds to NOW. +.IP +osmupdate old_file.o5m change_file.o5c +.br +osmupdate old_file.osm change_file.osc +.br +osmupdate 2011\-07\-15T23:30:00Z change_file.o5c +.br +osmupdate 2011\-07\-15T23:30:00Z change_file.osc.gz +.br +osmupdate NOW\-3600 change_file.osc.gz +.IP +Here, the old OSM data file is not updated directly. An OSM +changefile is written instead. This changefile can be used to +update the OSM data file afterwards. +You will have recognized the extension .gz in the last +example. In this case, the OSM Change file will be written +with gzip compression. To accomplish this, you need to have +the program gzip installed on your system. +.IP +\&./osmupdate london_old.o5m london_new.o5m \fB\-B\fR=\fIlondon\fR.poly +.IP +The OSM data file london_old.o5m will be updated. Hence the +downloaded OSM changefiles contain not only London, but the +whole planet, a lot of unneeded data will be added to this +regional file. The \fB\-B=\fR argument will clip these superfluous +data. +.SH "SEE ALSO" +osmconvert(1), osmfilter(1) +.SH AUTHORS +.B osmconvert +was written by Markus Weber diff --git a/base/qt6ct/qt6ct.spec b/base/qt6ct/qt6ct.spec new file mode 100644 index 0000000..364d504 --- /dev/null +++ b/base/qt6ct/qt6ct.spec @@ -0,0 +1,157 @@ +#For git snapshots, set to 0 to use release instead: +%global usesnapshot 0 +%if 0%{?usesnapshot} +%global commit0 4e881ab49b26f82eb3e66e1ffe73f4f23af7b4a3 +%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) +%global snapshottag .git%{shortcommit0} +%endif + +Name: qt6ct +Version: 0.9 +%if 0%{?usesnapshot} +Release: 0.5%{?snapshottag}%{?dist} +%else +Release: 5%{?dist} +%endif +Summary: Qt6 - Configuration Tool + +# The entire source code is under BSD-2-Clause License +License: BSD +Url: https://github.com/trialuser02/qt6ct + +%if 0%{?usesnapshot} +Source0: https://github.com/trialuser02/qt6ct/archive/%{commit0}/%{name}-%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz +%else +Source0: https://github.com/trialuser02/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +%endif + +ExcludeArch: s390x + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: qt6-rpm-macros >= %{version} +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtbase-private-devel +BuildRequires: qt6-linguist +BuildRequires: pkgconfig(xkbcommon) >= 1.3 +BuildRequires: chrpath +BuildRequires: desktop-file-utils +Requires: qt6-qtsvg + +%description +This program allows users to configure Qt6 settings (theme, font, icons, etc.) +under DE/WM without Qt integration. + +%prep +%if 0%{?usesnapshot} +%setup -q -n %{name}-%{commit0} +%else +%autosetup -n %{name}-%{version} -p1 +%endif + + +%build +%global _rxlibdir /opt/rx/%{_lib} +export PKG_CONFIG_PATH=%{_rxlibdir}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} +export LDFLAGS="-L%{_rxlibdir} -Wl,-rpath=%{_rxlibdir} ${LDFLAGS:-%__global_ldflags}" + +# Create translation files. +lrelease-qt6 src/qt6ct/translations/*.ts +%{_qt6_qmake} %{_qt6_qmake_flags} +%make_build + +%install +%make_install INSTALL_ROOT=%{buildroot} +# /usr/bin/qt6ct' contains a standard rpath '/usr/lib64' in [/usr/lib64] +chrpath --delete %{buildroot}%{_bindir}/%{name} +chrpath --delete %{buildroot}%{_qt6_plugindir}/styles/libqt6ct-style.so +chrpath --delete %{buildroot}%{_qt6_plugindir}/platformthemes/libqt6ct.so + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop + +%files +%doc AUTHORS README ChangeLog +%license COPYING +%{_bindir}/%{name} +%{_qt6_plugindir}/platformthemes/libqt6ct.so +%{_qt6_plugindir}/styles/libqt6ct-style.so +%{_datadir}/applications/%{name}.desktop +%dir %{_datadir}/%{name}/ +%dir %{_datadir}/%{name}/colors/ +%{_datadir}/%{name}/colors/*.conf +%dir %{_datadir}/%{name}/qss/ +%{_datadir}/%{name}/qss/*.qss +%{_libdir}/libqt6ct-common.so +%{_libdir}/libqt6ct-common.so.0 +%{_libdir}/libqt6ct-common.so.%{version}* + +%changelog +* Mon May 20 2024 Raven - 0.9-5 +- Rebuild (qt6) + +* Wed Nov 29 2023 Jan Grulich - 0.9-4 +- Rebuild (qt6) + +* Fri Oct 13 2023 Jan Grulich - 0.9-3 +- Rebuild (qt6) + +* Thu Oct 05 2023 Jan Grulich - 0.9-2 +- Rebuild (qt6) + +* Wed Sep 27 2023 Martin Gansser - 0.9-1 +- Update to 0.9-1 + +* Fri Jul 21 2023 Fedora Release Engineering - 0.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jul 12 2023 Jan Grulich - 0.8-5 +- Rebuild for qtbase private API version change + +* Wed Jul 12 2023 Jan Grulich - 0.8-4 +- Rebuild for qtbase private API version change + +* Mon May 29 2023 Jan Grulich - 0.8-3 +- Rebuild (qt6) + +* Thu May 18 2023 Martin Gansser - 0.8-2 +- Rebuilt against new qt6 version + +* Mon Mar 13 2023 Martin Gansser - 0.8-1 +- Update to 0.8-1 + +* Fri Jan 20 2023 Fedora Release Engineering - 0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Nov 21 2022 Martin Gansser - 0.7-1 +- Update to 0.7-1 + +* Sat Oct 22 2022 Martin Gansser - 0.7-0.1.git4e881ab +- Fix crash with a segmentation fault when closing the tool + +* Wed Sep 21 2022 Martin Gansser - 0.6-0.1.git6abd586 +- New Snapshot version + +* Sat Jul 23 2022 Fedora Release Engineering - 0.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Oct 06 2021 Martin Gansser - 0.5-1 +- Update to 0.5 +- Add ExcludeArch s390x + +* Sat Aug 28 2021 Martin Gansser - 0.4-2 +- Add missing desktop file validation +- Add BR desktop-file-utils + +* Wed Aug 11 2021 Martin Gansser - 0.4-1 +- Update to 0.4 +- Fix unowned directories + +* Thu Jul 01 2021 Martin Gansser - 0.3-1 +- Update to 0.3 + +* Mon Feb 08 2021 Martin Gansser - 0.2-1 +- initial Build diff --git a/base/qtkeychain/qtkeychain-qt6.patch b/base/qtkeychain/qtkeychain-qt6.patch new file mode 100644 index 0000000..9391cc7 --- /dev/null +++ b/base/qtkeychain/qtkeychain-qt6.patch @@ -0,0 +1,38 @@ +diff -rupN qtkeychain-0.13.2/CMakeLists.txt qtkeychain-0.13.2-new/CMakeLists.txt +--- qtkeychain-0.13.2/CMakeLists.txt 2021-11-18 16:34:13.000000000 +0100 ++++ qtkeychain-0.13.2-new/CMakeLists.txt 2022-11-29 16:33:35.466131272 +0100 +@@ -17,7 +17,6 @@ include(GNUInstallDirs) + include(GenerateExportHeader) + include(CMakePackageConfigHelpers) + include(ECMSetupVersion) +-include(ECMGeneratePriFile) + + option(BUILD_WITH_QT6 "Build qtkeychain with Qt 6" OFF) + option(BUILD_TEST_APPLICATION "Build test application" OFF) +@@ -28,6 +27,10 @@ if(QTKEYCHAIN_STATIC) + message(WARNING "QTKEYCHAIN_STATIC is deprecated. Use BUILD_SHARED_LIBS=OFF instead.") + endif() + ++if(NOT BUILD_WITH_QT6) ++ include(ECMGeneratePriFile) ++endif() ++ + if(CMAKE_SYSTEM_NAME STREQUAL Android) + set(ANDROID 1) + endif() +@@ -286,6 +289,7 @@ ecm_setup_version("${QTKEYCHAIN_VERSION} + if(UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) + set(PRI_EXTRA_DEPS "dbus") + endif() ++if (NOT BUILD_WITH_QT6) + ecm_generate_pri_file(BASE_NAME Qt${QTKEYCHAIN_VERSION_INFIX}Keychain + LIB_NAME ${QTKEYCHAIN_TARGET_NAME} + DEPS "core ${PRI_EXTRA_DEPS}" +@@ -293,6 +297,7 @@ ecm_generate_pri_file(BASE_NAME Qt${QTKE + FILENAME_VAR pri_filename) + + install(FILES ${pri_filename} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) ++endif () + + + install(EXPORT Qt${QTKEYCHAIN_VERSION_INFIX}KeychainLibraryDepends diff --git a/base/qtkeychain/qtkeychain.spec b/base/qtkeychain/qtkeychain.spec new file mode 100644 index 0000000..e08b2b2 --- /dev/null +++ b/base/qtkeychain/qtkeychain.spec @@ -0,0 +1,264 @@ +%bcond_without qt5 +%bcond_without qt6 + +Name: qtkeychain +Version: 0.13.2 +Release: 5%{?dist} +Summary: A password store library + +License: BSD +Url: https://github.com/frankosterfeld/qtkeychain +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +# Fix qt6 detection broken by including ECMGeneratePriFile +Patch0: qtkeychain-qt6.patch + +BuildRequires: make +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: pkgconfig(libsecret-1) + +%description +The qtkeychain library allows you to store passwords easily and securely. + + +%if %{with qt5} +%package qt5 +Summary: %{summary} + +%description qt5 +The qt5keychain library allows you to store passwords easily and securely. + + +%package qt5-devel +Summary: Development files for %{name}-qt5 +BuildRequires: cmake(Qt5Core) +BuildRequires: cmake(Qt5LinguistTools) +Requires: %{name}-qt5%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: qt5-qtbase-devel%{?_isa} +# deps referenced in Qt5KeychainLibraryDepends-relwithdebinfo.cmake: IMPORTED_LINK_INTERFACE_LIBRARIES_RELWITHDEBINFO "Qt5::Core;secret-1;gio-2.0;gobject-2.0;glib-2.0;Qt5::DBus" +# *probably* overlinking and can be pruned, but requires closer inspection +Requires: pkgconfig(libsecret-1) + +%description qt5-devel +This package contains development files for qt5keychain. +%endif + + +%if %{with qt6} +%package qt6 +Summary: %{summary} + +%description qt6 +The qt6keychain library allows you to store passwords easily and securely. + + +%package qt6-devel +Summary: Development files for %{name}-qt6 +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6LinguistTools) +Requires: %{name}-qt6%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: qt6-qtbase-devel%{?_isa} +# deps referenced in Qt6KeychainLibraryDepends-relwithdebinfo.cmake: IMPORTED_LINK_INTERFACE_LIBRARIES_RELWITHDEBINFO "Qt6::Core;secret-1;gio-2.0;gobject-2.0;glib-2.0;Qt6::DBus" +# *probably* overlinking and can be pruned, but requires closer inspection +Requires: pkgconfig(libsecret-1) + +%description qt6-devel +This package contains development files for qt6keychain. +%endif + + +%prep +%autosetup -p1 + + +%build +%if %{with qt5} +%define _vpath_builddir %{_target_platform}-qt5 +%cmake \ + -DBUILD_WITH_QT6:BOOL=OFF \ + -DECM_MKSPECS_INSTALL_DIR=%{_qt5_archdatadir}/mkspecs/modules \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo +%cmake_build +%endif + +%if %{with qt6} +%define _vpath_builddir %{_target_platform}-qt6 +%cmake \ + -DBUILD_WITH_QT6:BOOL=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo +%cmake_build +%endif + + +%install +%if %{with qt5} +%define _vpath_builddir %{_target_platform}-qt5 +%cmake_install +%endif + +%if %{with qt6} +%define _vpath_builddir %{_target_platform}-qt6 +%cmake_install +%endif + +%find_lang %{name} --with-qt + +grep %{_datadir}/qt5keychain/translations %{name}.lang > %{name}-qt5.lang +grep %{_datadir}/qt6keychain/translations %{name}.lang > %{name}-qt6.lang + + +%if %{with qt5} +%files qt5 -f %{name}-qt5.lang +%license COPYING +%{_libdir}/libqt5keychain.so.1 +%{_libdir}/libqt5keychain.so.0* + +%files qt5-devel +%{_includedir}/qt5keychain/ +%{_libdir}/cmake/Qt5Keychain/ +%{_libdir}/libqt5keychain.so +%{_qt5_archdatadir}/mkspecs/modules/qt_Qt5Keychain.pri +%endif + +%if %{with qt6} +%files qt6 -f %{name}-qt6.lang +%license COPYING +%{_libdir}/libqt6keychain.so.1 +%{_libdir}/libqt6keychain.so.0* + +%files qt6-devel +%{_includedir}/qt6keychain/ +%{_libdir}/cmake/Qt6Keychain/ +%{_libdir}/libqt6keychain.so +%endif + +%changelog +* Mon May 20 2024 Raven - 0.13.2-5 +- Rebuilt (qt6) + +* Fri Jan 20 2023 Fedora Release Engineering - 0.13.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 13 2022 Troy Dawson - 0.13.2-2 +- Clean up qt4 build dependencies + +* Sat Aug 20 2022 Mukundan Ragavan - 0.13.2-1 +- Update to 0.13.2 + +* Sat Jul 23 2022 Fedora Release Engineering - 0.11.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 0.11.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Sep 08 2020 Mukundan Ragavan - 0.11.1-1 +- Update to 0.11.1 + +* Mon Aug 31 2020 Michel Alexandre Salim - 0.10.0-4 +- Fix for CMake macro changes +- Add ability to disable Qt4 build (makes it easier to maintain EPEL8 branch) + +* Sat Aug 01 2020 Fedora Release Engineering - 0.10.0-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jun 18 2020 Mukundan Ragavan - 0.10.0-1 +- Update to 0.10.0 +- Drop upstreamed patches + +* Thu Jan 30 2020 Fedora Release Engineering - 0.9.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 31 2019 Rex Dieter - 0.9.1-3 +- -devel: +Requires: pkgconfig(libsecret-1) + +* Fri Jul 26 2019 Fedora Release Engineering - 0.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Apr 28 2019 Robert-André Mauchin - 0.9.1-1 +- Release 0.9.1 (#1601122, #1481589) + +* Sat Feb 02 2019 Fedora Release Engineering - 0.7.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.7.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 0.7.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0.7.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat Jul 23 2016 Igor Gnatenko - 0.7.0-2 +- Fix packaging problems + +* Mon May 23 2016 nikos roussos 0.7.0-1 +- update to 0.7.0 + +* Sun May 22 2016 Nikos Roussos 0.6.2-2 +- Bump release + +* Thu Apr 28 2016 Nikos Roussos 0.6.2-1 +- update to 0.6.2 + +* Thu Feb 04 2016 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Sep 29 2015 Rex Dieter 0.5.0-1 +- qtkeychain-0.5.0 (#1136285), enable Qt5 support + +* Thu Jun 18 2015 Fedora Release Engineering - 0.3.90-6.20140405git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 0.3.90-5.20140405git +- Rebuilt for GCC 5 C++11 ABI change + +* Sun Aug 17 2014 Fedora Release Engineering - 0.3.90-4.20140405git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 0.3.90-3.20140405git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 06 2014 Rex Dieter 0.3.90-2.20140405git +- track libqtkeychain soname +- use %%find_lang +- omit dup'd cmake defines + +* Sun May 04 2014 0.3.90-1 +- Update to latest github commit. + +* Sun Mar 16 2014 0.3.0-1 +- Update to latest upstream version + +* Tue Jan 07 2014 0.1.0-4.20130805git +- Remove gcc-c++ dep +- Fix Requires +- Remove unneeded line in devel description +- Leave black line between changelogs + +* Sat Jan 04 2014 0.1.0-3.20130805git +- Fix Version and Release +- Fix %%files devel's cmake ownership by pointing the subfiles +- Fix Changelog to reflect version and release changes + +* Tue Dec 24 2013 0.1.0-2.20130805git +- Fix descriptions + +* Mon Dec 23 2013 0.1.0-1.20130805git +- Initial Packaging diff --git a/base/qtspell/qtspell.spec b/base/qtspell/qtspell.spec new file mode 100644 index 0000000..cdfab7a --- /dev/null +++ b/base/qtspell/qtspell.spec @@ -0,0 +1,261 @@ +Name: qtspell +Version: 1.0.1 +Release: 9%{?dist} +Summary: Spell checking for Qt text widgets + +License: GPL-3.0-or-later +URL: https://github.com/manisandro/qtspell +Source0: https://github.com/manisandro/qtspell/archive/%{version}/%{name}-%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qttools-devel +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qttools-devel +BuildRequires: enchant2-devel +BuildRequires: doxygen + + +Requires: iso-codes + +%description +QtSpell adds spell-checking functionality to Qt's text widgets, using the +enchant spell-checking library. + + +%package qt5 +Summary: Spell checking for Qt5 text widgets + +%description qt5 +QtSpell adds spell-checking functionality to Qt5's text widgets, using the +enchant spell-checking library. + + +%package qt5-devel +Summary: Development files for %{name}-qt5 +Requires: %{name}-qt5%{?_isa} = %{version}-%{release} + +%description qt5-devel +The %{name}-qt5-devel package contains libraries and header files for +developing applications that use %{name}-qt5. + + +%package qt5-translations +Summary: Translations for %{name}-qt5 +BuildArch: noarch +Requires: %{name}-qt5 = %{version}-%{release} +Requires: qt5-qttranslations + +%description qt5-translations +The %{name}-qt5-translations contains translations for %{name}-qt5. + + +%package qt6 +Summary: Spell checking for Qt5 text widgets + +%description qt6 +QtSpell adds spell-checking functionality to Qt5's text widgets, using the +enchant spell-checking library. + + +%package qt6-devel +Summary: Development files for %{name}-qt6 +Requires: %{name}-qt5%{?_isa} = %{version}-%{release} + +%description qt6-devel +The %{name}-qt6-devel package contains libraries and header files for +developing applications that use %{name}-qt6. + + +%package qt6-translations +Summary: Translations for %{name}-qt6 +BuildArch: noarch +Requires: %{name}-qt6 = %{version}-%{release} +Requires: qt6-qttranslations + +%description qt6-translations +The %{name}-qt6-translations contains translations for %{name}-qt6. + + +%package doc +Summary: Developer documentation for %{name} +BuildArch: noarch + +%description doc +The %{name}-doc package contains the documentation for developing applications +that use %{name}. + + +%prep +%autosetup + + +%build +%define _vpath_builddir %{_target_platform}-qt5 +%cmake -DQT_VER=5 +%cmake_build + +%define _vpath_builddir %{_target_platform}-qt6 +%cmake -DQT_VER=6 +%cmake_build + +make doc -C %{__cmake_builddir} + +%install +%define _vpath_builddir %{_target_platform}-qt5 +%cmake_install + +%define _vpath_builddir %{_target_platform}-qt6 +%cmake_install + + + +%files qt5 +%license COPYING +%{_libdir}/libqtspell-qt5.so.* + +%files qt5-devel +%{_includedir}/QtSpell-qt5/ +%{_libdir}/libqtspell-qt5.so +%{_libdir}/pkgconfig/QtSpell-qt5.pc + +%files qt5-translations +%{_qt5_translationdir}/QtSpell_*.qm + +%files qt6 +%license COPYING +%{_libdir}/libqtspell-qt6.so.* + +%files qt6-devel +%{_includedir}/QtSpell-qt6/ +%{_libdir}/libqtspell-qt6.so +%{_libdir}/pkgconfig/QtSpell-qt6.pc + +%files qt6-translations +%{_qt6_translationdir}/QtSpell_*.qm + +%files doc +%license COPYING +%doc %{__cmake_builddir}/doc/html + + +%changelog +* Mon May 20 2024 Raven - 1.0.1-9 +- Rebuilt (qt6) + +* Fri Jul 21 2023 Fedora Release Engineering - 1.0.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jan 20 2023 Fedora Release Engineering - 1.0.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 1.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Mar 31 2022 Sandro Mani - 1.0.1-5 +- Make mingw subpackages noarch + +* Sat Feb 19 2022 Sandro Mani - 1.0.1-4 +- Add mingw subpackage + +* Fri Jan 21 2022 Fedora Release Engineering - 1.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jan 14 2022 Sandro Mani - 1.0.1-1 +- Update to 1.0.1 + +* Fri Jan 14 2022 Sandro Mani - 1.0-1 +- Update to 1.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 0.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Mar 21 2020 Sandro Mani - 0.9.0-1 +- Update to 0.9.0 + +* Thu Jan 30 2020 Fedora Release Engineering - 0.8.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 0.8.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 0.8.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.8.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 15 2018 Sandro Mani - 0.8.5-1 +- Update to 0.8.5 + +* Mon Feb 19 2018 Sandro Mani - 0.8.4-3 +- Add missing BR: gcc-c++, make + +* Fri Feb 09 2018 Fedora Release Engineering - 0.8.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Dec 15 2017 Sandro Mani - 0.8.4-1 +- Update to 0.8.4 + +* Fri Dec 15 2017 Sandro Mani - 0.8.3-1 +- Update to 0.8.3 + +* Mon Aug 07 2017 Sandro Mani - 0.8.2-5 +- Rebuild for ppc64le binutils bug + +* Thu Aug 03 2017 Fedora Release Engineering - 0.8.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.8.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Sep 08 2016 Sandro Mani - 0.8.2-1 +- QtSpell 0.8.2 + +* Thu Feb 04 2016 Fedora Release Engineering - 0.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Nov 16 2015 Sandro Mani - 0.8.1-1 +- QtSpell 0.8.1 + +* Fri Oct 16 2015 Sandro Mani - 0.8.0-1 +- QtSpell 0.8.0 + +* Thu Jun 18 2015 Fedora Release Engineering - 0.7.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue May 26 2015 Sandro Mani - 0.7.4-1 +- QtSpell 0.7.4 + +* Sat May 02 2015 Kalev Lember - 0.7.2-2 +- Rebuilt for GCC 5 C++11 ABI change + +* Mon Mar 30 2015 Sandro Mani - 0.7.2-1 +- QtSpell 0.7.2 + +* Mon Feb 09 2015 Sandro Mani - 0.7.1-1 +- QtSpell 0.7.1 + +* Thu Feb 05 2015 Sandro Mani - 0.7.0-1 +- QtSpell 0.7.0 + +* Sat Dec 27 2014 Sandro Mani - 0.6.0-1 +- QtSpell 0.6.0 + +* Fri Dec 12 2014 Sandro Mani - 0.5.0-2 +- Use %%license +- Add -Wl,--as-needed + +* Fri Dec 12 2014 Sandro Mani - 0.5.0-1 +- QtSpell 0.5.0 diff --git a/base/quazip/FindQuaZip.cmake b/base/quazip/FindQuaZip.cmake new file mode 100644 index 0000000..23f4918 --- /dev/null +++ b/base/quazip/FindQuaZip.cmake @@ -0,0 +1,43 @@ +# QUAZIP_FOUND - QuaZip library was found +# QUAZIP_INCLUDE_DIR - Path to QuaZip include dir +# QUAZIP_INCLUDE_DIRS - Path to QuaZip and zlib include dir (combined from QUAZIP_INCLUDE_DIR + ZLIB_INCLUDE_DIR) +# QUAZIP_LIBRARIES - List of QuaZip libraries +# QUAZIP_ZLIB_INCLUDE_DIR - The include dir of zlib headers + + +IF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) + # in cache already + SET(QUAZIP_FOUND TRUE) +ELSE (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) + IF (Qt5Core_FOUND) + set(QUAZIP_LIB_VERSION_SUFFIX 5) + ENDIF() + IF (WIN32) + FIND_PATH(QUAZIP_LIBRARY_DIR + WIN32_DEBUG_POSTFIX d + NAMES libquazip${QUAZIP_LIB_VERSION_SUFFIX}.dll + HINTS "C:/Programme/" "C:/Program Files" + PATH_SUFFIXES QuaZip/lib + ) + FIND_LIBRARY(QUAZIP_LIBRARIES NAMES libquazip${QUAZIP_LIB_VERSION_SUFFIX}.dll HINTS ${QUAZIP_LIBRARY_DIR}) + FIND_PATH(QUAZIP_INCLUDE_DIR NAMES quazip.h HINTS ${QUAZIP_LIBRARY_DIR}/../ PATH_SUFFIXES include/quazip) + FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR NAMES zlib.h) + ELSE(WIN32) + FIND_PACKAGE(PkgConfig) +# pkg_check_modules(PC_QCA2 QUIET qca2) + pkg_check_modules(PC_QUAZIP quazip) + FIND_LIBRARY(QUAZIP_LIBRARIES + WIN32_DEBUG_POSTFIX d + NAMES quazip${QUAZIP_LIB_VERSION_SUFFIX} + HINTS /usr/lib /usr/lib64 + ) + FIND_PATH(QUAZIP_INCLUDE_DIR quazip.h + HINTS /usr/include /usr/local/include + PATH_SUFFIXES quazip${QUAZIP_LIB_VERSION_SUFFIX} + ) + FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR zlib.h HINTS /usr/include /usr/local/include) + ENDIF (WIN32) + INCLUDE(FindPackageHandleStandardArgs) + SET(QUAZIP_INCLUDE_DIRS ${QUAZIP_INCLUDE_DIR} ${QUAZIP_ZLIB_INCLUDE_DIR}) + find_package_handle_standard_args(QUAZIP DEFAULT_MSG QUAZIP_LIBRARIES QUAZIP_INCLUDE_DIR QUAZIP_ZLIB_INCLUDE_DIR QUAZIP_INCLUDE_DIRS) +ENDIF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) diff --git a/base/quazip/quazip.spec b/base/quazip/quazip.spec new file mode 100644 index 0000000..c0eac5b --- /dev/null +++ b/base/quazip/quazip.spec @@ -0,0 +1,505 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.5.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 8; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +%if 0%{?rhel} +# EPEL - only Qt5 packages +%bcond_with qt4 +%bcond_without qt5 +%bcond_with qt6 +%else +# Fedora - build everything +%bcond_without qt4 +%bcond_without qt5 +%bcond_without qt6 +%endif + +%bcond_without test + +# see top-ldevel CMakeLists.txt for variables of same name +%global QUAZIP_LIB_VERSION %{version} +%global QUAZIP_LIB_SOVERSION 1.4.0 + +Name: quazip +Version: 1.4 +Release: %autorelease +Summary: Qt/C++ wrapper for the minizip library +License: GPLv2+ or LGPLv2+ +URL: https://github.com/stachenov/quazip +Source0: %{url}/archive/v%{version}/%{name}-v%{version}.tar.gz +# pre-1.0 compat CMake module +Source1: FindQuaZip.cmake +BuildRequires: bzip2-devel +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: zlib-devel +%if %{with qt4} +BuildRequires: qt4-devel +%endif +%if %{with qt5} +BuildRequires: qt5-qtbase-devel +%endif +%if %{with qt6} +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qt5compat-devel +%endif +BuildRequires: doxygen graphviz + + +%description +QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that +can be used to access ZIP archives. It uses Trolltech's Qt toolkit. + +QuaZIP allows you to access files inside ZIP archives using QIODevice API, +and - yes! - that means that you can also use QTextStream, QDataStream or +whatever you would like to use on your zipped files. + +QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading +from and writing to ZIP archives. + + +%if %{with qt4} +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: bzip2-devel%{?_isa} +Requires: qt4-devel%{?_isa} +Requires: zlib-devel%{?_isa} + +%description devel +The %{name}-devel package contains libraries, header files and documentation +for developing applications that use %{name}. +%endif + +%if %{with qt5} +%package qt5 +Summary: Qt5 wrapper for the minizip library +%description qt5 +QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that +can be used to access ZIP archives. It uses Trolltech's Qt toolkit. + +QuaZIP allows you to access files inside ZIP archives using QIODevice API, +and - yes! - that means that you can also use QTextStream, QDataStream or +whatever you would like to use on your zipped files. + +QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading +from and writing to ZIP archives. + +%package qt5-devel +Summary: Development files for %{name}-qt5 +Requires: %{name}-qt5%{?_isa} = %{version}-%{release} +Requires: bzip2-devel%{?_isa} +Requires: qt5-qtbase-devel%{?_isa} +Requires: zlib-devel%{?_isa} + +%description qt5-devel +The %{name}-qt5-devel package contains libraries, header files and documentation +for developing applications that use %{name}-qt5. +%endif + +%if %{with qt6} +%package qt6 +Summary: Qt6 wrapper for the minizip library +%description qt6 +QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that +can be used to access ZIP archives. It uses Trolltech's Qt toolkit. + +QuaZIP allows you to access files inside ZIP archives using QIODevice API, +and - yes! - that means that you can also use QTextStream, QDataStream or +whatever you would like to use on your zipped files. + +QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading +from and writing to ZIP archives. + +%package qt6-devel +Summary: Development files for %{name}-qt6 +Requires: %{name}-qt6%{?_isa} = %{version}-%{release} +Requires: bzip2-devel%{?_isa} +Requires: qt6-qtbase-devel%{?_isa} +Requires: qt6-qt5compat-devel%{?_isa} +Requires: zlib-devel%{?_isa} + +%description qt6-devel +The %{name}-qt6-devel package contains libraries, header files and documentation +for developing applications that use %{name}-qt6. +%endif + + +%prep +%autosetup -p1 + +%build +%if %{with qt4} +%global _vpath_builddir build-qt4 +%cmake -DQUAZIP_QT_MAJOR_VERSION=4 -DQUAZIP_ENABLE_TESTS=ON +%cmake_build +%endif + +%if %{with qt5} +%global _vpath_builddir build-qt5 +%cmake -DQUAZIP_QT_MAJOR_VERSION=5 -DQUAZIP_ENABLE_TESTS=ON +%cmake_build +%endif + +%if %{with qt6} +%global _vpath_builddir build-qt6 +%cmake -DQUAZIP_QT_MAJOR_VERSION=6 -DQUAZIP_ENABLE_TESTS=ON +%cmake_build +%endif + +doxygen Doxyfile +for file in doc/html/*; do + touch -r Doxyfile $file +done + +%install +%if %{with qt4} +%global _vpath_builddir build-qt4 +%cmake_install +%endif + +%if %{with qt5} +%global _vpath_builddir build-qt5 +%cmake_install +%endif + +%if %{with qt6} +%global _vpath_builddir build-qt6 +%cmake_install +%endif + +# Create compat symlinks/files so that packages that use the old (pre-1.0) +# library location, include paths, or CMake module still build against the +# devel package. Note that the resulting binaries will refer to the new +# library name, though. +# +# These symlinks should probably be removed once all dependent packages are +# switched to use the new pkgconfig or CMake modules. +%if %{with qt4} +ln -s libquazip1-qt4.so %{buildroot}%{_libdir}/libquazip.so + +install -d %{buildroot}%{_includedir}/quazip +pushd %{buildroot}%{_includedir}/QuaZip-Qt4-%{version}/quazip +for f in *; do + ln -s ../QuaZip-Qt4-%{version}/quazip/$f %{buildroot}%{_includedir}/quazip/$f +done +popd + +install -d %{buildroot}%{_datadir}/cmake/Modules +install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip.cmake +%endif + +%if %{with qt5} +ln -s libquazip1-qt5.so %{buildroot}%{_libdir}/libquazip5.so + +install -d %{buildroot}%{_includedir}/quazip5 +pushd %{buildroot}%{_includedir}/QuaZip-Qt5-%{version}/quazip +for f in *; do + ln -s ../QuaZip-Qt5-%{version}/quazip/$f %{buildroot}%{_includedir}/quazip5/$f +done +popd + +install -d %{buildroot}%{_datadir}/cmake/Modules +install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip5.cmake +%endif + + +%if %{with test} +%check +# Qt4 uses the locale rather than libicu to determine file name encoding. +# Thus we need to force a UTF-8 locale, otherwise the tests will fail +# under Qt4. +# https://github.com/stachenov/quazip/issues/127 +export LC_ALL=C.UTF-8 +# In some emulated environments (such as the s390x mock chroot emulated +# on x86_64) the regexp JIT is broken, so turn it off to avoid incorrect +# test failures. +export QT_ENABLE_REGEXP_JIT=0 + +%if %{with qt4} +%global _vpath_builddir build-qt4 +%ctest +%endif + +%if %{with qt5} +%global _vpath_builddir build-qt5 +%ctest +%endif + +%if %{with qt6} +%global _vpath_builddir build-qt6 +%ctest +%endif +%endif + + +%if %{with qt4} +%files +%doc NEWS.txt README.md +%license COPYING +%{_libdir}/libquazip1-qt4.so.%{QUAZIP_LIB_VERSION} +%{_libdir}/libquazip1-qt4.so.%{QUAZIP_LIB_SOVERSION} + +%files devel +%doc doc/html +%{_includedir}/QuaZip-Qt4-%{version}/ +%{_libdir}/libquazip1-qt4.so +%{_libdir}/cmake/QuaZip-Qt4-%{version}/ +%{_libdir}/pkgconfig/quazip1-qt4.pc +# pre-1.0 compat files +%{_includedir}/quazip/ +%{_libdir}/libquazip.so +%{_datadir}/cmake/Modules/FindQuaZip.cmake +%endif + +%if %{with qt5} +%files qt5 +%doc NEWS.txt README.md +%license COPYING +%{_libdir}/libquazip1-qt5.so.%{QUAZIP_LIB_VERSION} +%{_libdir}/libquazip1-qt5.so.%{QUAZIP_LIB_SOVERSION} + +%files qt5-devel +%doc doc/html +%{_includedir}/QuaZip-Qt5-%{version}/ +%{_libdir}/libquazip1-qt5.so +%{_libdir}/cmake/QuaZip-Qt5-%{version}/ +%{_libdir}/pkgconfig/quazip1-qt5.pc +# pre-1.0 compat files +%{_includedir}/quazip5/ +%{_libdir}/libquazip5.so +%{_datadir}/cmake/Modules/FindQuaZip5.cmake +%endif + +%if %{with qt6} +%files qt6 +%doc NEWS.txt README.md +%license COPYING +%{_libdir}/libquazip1-qt6.so.%{QUAZIP_LIB_VERSION} +%{_libdir}/libquazip1-qt6.so.%{QUAZIP_LIB_SOVERSION} + +%files qt6-devel +%doc doc/html +%{_includedir}/QuaZip-Qt6-%{version}/ +%{_libdir}/libquazip1-qt6.so +%{_libdir}/cmake/QuaZip-Qt6-%{version}/ +%{_libdir}/pkgconfig/quazip1-qt6.pc +%endif + + +%changelog +* Mon May 20 2024 Raven - 1.4-8 +- Rebuilt (qt6) + +* Fri Jan 26 2024 Fedora Release Engineering - 1.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 1.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jul 21 2023 Fedora Release Engineering - 1.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri May 05 2023 Nicolas Chauvet - 1.4-4 +- Add bzip2-devel + +* Thu May 04 2023 Nicolas Chauvet - 1.4-3 +- Fixup soversion + +* Thu May 04 2023 Nicolas Chauvet - 1.4-2 +- Update quazip soversion + +* Thu May 04 2023 Nicolas Chauvet - 1.4-1 +- Update to 1.4 + +* Sat Mar 25 2023 topazus - 1.3-10 +- switch to %%ctest macro + +* Sat Mar 25 2023 topazus - 1.3-9 +- Remove ldconfig scriptlets + +* Sat Mar 25 2023 topazus - 1.3-8 +- CMake do out-of-source builds by default + +* Fri Jan 20 2023 Fedora Release Engineering - 1.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Sep 01 2022 Ondrej Mosnáček - 1.3-6 +- Ship quazip1-qt6.pc in the devel package +- Resolves: rhbz#2123295 + +* Thu Sep 01 2022 Ondrej Mosnáček - 1.3-5 +- Switch to rpmautospec + +* Sat Jul 23 2022 Fedora Release Engineering - 1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Apr 18 2022 Rex Dieter 1.3-2 +- track library sonames explicitly + +* Sun Apr 17 2022 Ondrej Mosnacek - 1.3-1 +- Update to 1.3 +- Resolves: rhbz#2075993 + +* Sun Mar 06 2022 Ondrej Mosnacek - 1.2-3 +- Build Qt6 subpackages on s390x + +* Fri Jan 21 2022 Fedora Release Engineering - 1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Nov 14 2021 Fedora Release Monitoring - 1.2-1 +- Update to 1.2 (#2023014) + +* Tue Sep 14 2021 Ondrej Mosnacek - 1.1-3 +- Fix symlink-directory conflict on upgrade + +* Thu Aug 19 2021 Ondrej Mosnacek - 1.1-2 +- Add Qt6 subpackages + +* Sat Jul 31 2021 Ondrej Mosnacek - 1.1-1 +- Update to 1.1 +- Resolves: rhbz#1895170 + +* Fri Jul 23 2021 Fedora Release Engineering - 0.7.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.7.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Aug 01 2020 Fedora Release Engineering - 0.7.6-9 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.7.6-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Mar 04 2020 Sandro Mani - 0.7.6-7 +- Fix cmake module install path + +* Thu Jan 30 2020 Fedora Release Engineering - 0.7.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Oct 21 2019 Felipe Borges - 0.7.6-5 +- Add patch to fix FindQuaZip.cmake install path + +* Fri Jul 26 2019 Fedora Release Engineering - 0.7.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Mar 26 2019 Nicolas Chauvet - 0.7.6-3 +- Add zlib-devel - rhbz#1634468 + +* Sat Feb 02 2019 Fedora Release Engineering - 0.7.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jul 17 2018 Nicolas Chauvet - 0.7.6-1 +- Update to 0.7.6 + +* Sat Jul 14 2018 Fedora Release Engineering - 0.7.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 0.7.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0.7.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.7.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Feb 13 2017 Nicolas Chauvet - 0.7.3-1 +- Update to 0.7.3 + +* Sat Feb 11 2017 Fedora Release Engineering - 0.7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Apr 12 2016 Nicolas Chauvet - 0.7.2-1 +- Update to 0.7.2 +- Add patch to fix build with qt5 (disable static version) + +* Thu Feb 04 2016 Fedora Release Engineering - 0.7.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 0.7.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Apr 19 2015 Rex Dieter 0.7.1-2 +- quazip qt5 support (#1197484) + +* Thu Jan 08 2015 Nicolas Chauvet - 0.7.1-1 +- Update to 0.7.1 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 29 2014 Nicolas Chauvet - 0.7-1 +- Update to 0.7.0 + +* Sun Jun 08 2014 Fedora Release Engineering - 0.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Feb 12 2014 Nicolas Chauvet - 0.6.2-1 +- Update to 0.6.2 + +* Sun Jan 26 2014 Nicolas Chauvet - 0.6.1-1 +- Update to 0.6.1 +- Clean spec file + +* Sun Aug 04 2013 Fedora Release Engineering - 0.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sun Mar 03 2013 Nicolas Chauvet - 0.5.1-1 +- Update to 0.5.1 + +* Sun Sep 09 2012 Nicolas Chauvet - 0.5-1 +- Update to 0.5 + +* Sat Jul 21 2012 Fedora Release Engineering - 0.4.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jan 16 2012 Nicolas Chauvet - 0.4.4-1 +- Update to 0.4.4 + +* Sat Jan 14 2012 Fedora Release Engineering - 0.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sat Dec 17 2011 Nicolas Chauvet - 0.4.3-1 +- Update to 0.4.3 + +* Fri Aug 19 2011 Nicolas Chauvet - 0.4.2-1 +- Update to 0.4.2 +- Rebase ld patch + +* Mon Jul 25 2011 Nicolas Chauvet - 0.4.1-1 +- Update to 0.4.1 + +* Tue Feb 08 2011 Fedora Release Engineering - 0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Jul 24 2010 Chen Lei - 0.3-2 +- add BR:graphviz for building apidocs + +* Sat Jul 24 2010 Chen Lei - 0.3-1 +- update to 0.3 + +* Wed Feb 3 2010 Chen Lei - 0.2.3-5 +- quazip-devel must Requires minizip-devel + +* Sun Jan 31 2010 Chen Lei - 0.2.3-4 +- change license to GPLv2+ or LGPLv2+ + +* Sun Jan 31 2010 Chen Lei - 0.2.3-3 +- use %%doc for packaging documentations + +* Sun Jan 31 2010 Chen Lei - 0.2.3-2 +- use system-wide minizip library + +* Sun Jan 31 2010 Chen Lei - 0.2.3-1 +- initial rpm build + +## END: Generated by rpmautospec diff --git a/base/unity-gtk-module/unity-gtk-module.spec b/base/unity-gtk-module/unity-gtk-module.spec new file mode 100644 index 0000000..49a27d3 --- /dev/null +++ b/base/unity-gtk-module/unity-gtk-module.spec @@ -0,0 +1,290 @@ +Name: unity-gtk-module +Version: 0.0.0+17.04.20170403 +Release: 18%{?dist} +Summary: GTK+ module for exporting old-style menus as GMenuModels + +License: LGPLv3 +URL: https://launchpad.net/%{name} +Source0: http://archive.ubuntu.com/ubuntu/pool/main/u/%{name}/%{name}_%{version}.orig.tar.gz + +BuildRequires: make +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libX11-devel +BuildRequires: libtool +BuildRequires: python3-devel +BuildRequires: wayland-devel + +%description +GTK+ module for exporting old-style menus as GMenuModels. +Many applications implement menus as GtkMenuShells and GtkMenuItems +and aren't looking to migrate to the newer GMenuModel API. +This GTK+ module watches for these types of menus and exports the +appropriate GMenuModel implementation. + + +%package -n libunity-gtk-parser-devel +Summary: Common development-files for libunity-gtk{2,3}-parser + +BuildArch: noarch + +BuildRequires: gtk-doc + +%description -n libunity-gtk-parser-devel +This package contains common headers and documentation for +libunity-gtk{2,3}-parser. + + +%package -n libunity-gtk2-parser +Summary: Gtk2MenuShell to GMenuModel parser + +BuildRequires: gtk2-devel + +%description -n libunity-gtk2-parser +This library converts Gtk2MenuShells into GMenuModels. + + +%package -n libunity-gtk2-parser-devel +Summary: Development-files for libunity-gtk2-parser + +Requires: gtk2-devel%{?_isa} +Requires: libunity-gtk-parser-devel == %{version}-%{release} +Requires: libunity-gtk2-parser%{?_isa} == %{version}-%{release} + +%description -n libunity-gtk2-parser-devel +This package contains development-files for libunity-gtk2-parser. + + +%package -n libunity-gtk3-parser +Summary: Gtk3MenuShell to GMenuModel parser + +BuildRequires: gtk3-devel + +%description -n libunity-gtk3-parser +This library converts Gtk3MenuShells into GMenuModels. + + +%package -n libunity-gtk3-parser-devel +Summary: Development-files for libunity-gtk3-parser + +Requires: gtk3-devel%{?_isa} +Requires: libunity-gtk-parser-devel == %{version}-%{release} +Requires: libunity-gtk3-parser%{?_isa} == %{version}-%{release} + +%description -n libunity-gtk3-parser-devel +This package contains development-files for libunity-gtk3-parser. + + +%package -n unity-gtk-module-common +Summary: Common files for unity-gtk{2,3}-module + +BuildArch: noarch + +BuildRequires: systemd + +Requires: /bin/sh +Requires: dbus +Requires: gawk +Requires: sed +Requires: systemd + +%description -n unity-gtk-module-common +This package contains common data-files for unity-gtk{2,3}-module. + + +%package -n unity-gtk2-module +Summary: Gtk2MenuShell D-Bus exporter + +Requires: libunity-gtk2-parser%{?_isa} == %{version}-%{release} +Requires: unity-gtk-module-common == %{version}-%{release} + +Provides: appmenu-gtk == %{version}-%{release} +Provides: appmenu-gtk%{?_isa} == %{version}-%{release} + +%description -n unity-gtk2-module +This GTK+ 2 module exports Gtk2MenuShells over D-Bus. + + +%package -n unity-gtk3-module +Summary: Gtk3MenuShell D-Bus exporter + +Requires: libunity-gtk3-parser%{?_isa} == %{version}-%{release} +Requires: unity-gtk-module-common == %{version}-%{release} + +Provides: appmenu-gtk3 == %{version}-%{release} +Provides: appmenu-gtk3%{?_isa} == %{version}-%{release} + +%description -n unity-gtk3-module +This GTK+ 3 module exports Gtk3MenuShells over D-Bus. + + +%prep +%autosetup -c +%{__mkdir} -p build/gtk2 build/gtk3 m4 + +# Initialize build-environment. +%{_bindir}/gtkdocize --copy +%{_bindir}/autoreconf -fiv + +# Setup systemd-unit for Fedora. +f="data/%{name}.service" +%{__sed} -i.orig -e's!^Before=!After=dbus.service\n&!' \ + -e's!ubuntu-session.target$!default.target!g' \ + -e's!graphical-session.target$!default.target!g' \ + -e's!dbus-update-activation-environment!%{_bindir}/&!g' \ + -e's!awk!%{_bindir}/&!g' -e's!sed!%{_bindir}/&!' ${f} +%{_bindir}/touch -r ${f}.orig ${f} && %{__rm} ${f}.orig + + +%build +export PYTHON="%{__python3}" +export SRC_DIR="$(%{_bindir}/pwd)" +for i in 2 3 ; do + pushd build/gtk${i} + %{_bindir}/ln ../../configure configure + %configure \ + --disable-silent-rules \ + --disable-static \ + --enable-gtk-doc \ + --with-gtk=${i} \ + --srcdir="${SRC_DIR}" + %make_build + popd +done + + +%install +for i in 2 3 ; do + %make_install -C build/gtk${i} +done + +# Setup systemd. +%{__mkdir} -p %{buildroot}%{_userunitdir}/default.target.wants +%{_bindir}/ln -s \ + %{_userunitdir}/%{name}.service \ + %{buildroot}%{_userunitdir}/default.target.wants/%{name}.service + +# We don't ship libtool-dumplings. +%{_bindir}/find %{buildroot}%{_libdir} -name '*.la' -delete + +# Those files are not needed during runtime. +%{__rm} -rf %{buildroot}%{_datadir}/upstart/ \ + %{buildroot}%{python3_sitelib} + +# Prepare demos for inclusion in %%doc. +%{__rm} -f demos/Makefile* + + +%ldconfig_scriptlets -n libunity-gtk2-parser + + +%ldconfig_scriptlets -n libunity-gtk3-parser + + +%files -n libunity-gtk-parser-devel +%doc demos +%doc %{_datadir}/gtk-doc +%{_includedir}/unity-gtk-parser + +%files -n libunity-gtk2-parser +%license AUTHORS COPYING* +%{_libdir}/libunity-gtk2-parser.so.0* + +%files -n libunity-gtk2-parser-devel +%{_libdir}/libunity-gtk2-parser.so +%{_libdir}/pkgconfig/unity-gtk2-parser.pc + +%files -n libunity-gtk3-parser +%license AUTHORS COPYING* +%{_libdir}/libunity-gtk3-parser.so.0* + +%files -n libunity-gtk3-parser-devel +%{_libdir}/libunity-gtk3-parser.so +%{_libdir}/pkgconfig/unity-gtk3-parser.pc + +%files -n unity-gtk-module-common +%license AUTHORS COPYING* +%{_datadir}/glib-2.0 +%{_userunitdir}/default.target.wants +%{_userunitdir}/%{name}.service + +%files -n unity-gtk2-module +%{_libdir}/gtk-2.0/modules/lib%{name}.so + +%files -n unity-gtk3-module +%{_libdir}/gtk-3.0/modules/lib%{name}.so + + +%changelog +* Sat Jul 22 2023 Fedora Release Engineering - 0.0.0+17.04.20170403-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 0.0.0+17.04.20170403-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 0.0.0+17.04.20170403-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 0.0.0+17.04.20170403-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.0.0+17.04.20170403-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.0.0+17.04.20170403-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Sep 09 2020 Petr Viktorin - 0.0.0+17.04.20170403-12 +- Switch BuildRequires to python3 + +* Sat Aug 01 2020 Fedora Release Engineering - 0.0.0+17.04.20170403-11 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.0.0+17.04.20170403-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 0.0.0+17.04.20170403-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 0.0.0+17.04.20170403-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 0.0.0+17.04.20170403-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.0.0+17.04.20170403-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 0.0.0+17.04.20170403-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 06 2018 Igor Gnatenko - 0.0.0+17.04.20170403-4 +- Remove obsolete scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering - 0.0.0+17.04.20170403-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.0.0+17.04.20170403-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Apr 05 2017 Björn Esser - 0.0.0+17.04.20170403-1 +- New upstream release (rhbz#1438992) + +* Sat Feb 11 2017 Fedora Release Engineering - 0.0.0+16.10.20160913-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Oct 14 2016 Björn Esser - 0.0.0+16.10.20160913-3 +- Updated Url-tag + +* Fri Oct 14 2016 Björn Esser - 0.0.0+16.10.20160913-2 +- Drop dependency on glib2 and gtk-doc, own the dir in the package instead + +* Fri Oct 07 2016 Björn Esser - 0.0.0+16.10.20160913-1 +- Initial import (rhbz 1382813) + +* Fri Oct 07 2016 Björn Esser - 0.0.0+16.10.20160913-0.2 +- Add Requires for directory-ownership + +* Thu Oct 06 2016 Björn Esser - 0.0.0+16.10.20160913-0.1 +- Initial package (rhbz 1382813) diff --git a/base/zxing-cpp2/zxing-cpp-1.2.0-system-pybind11.patch b/base/zxing-cpp2/zxing-cpp-1.2.0-system-pybind11.patch new file mode 100644 index 0000000..dfea017 --- /dev/null +++ b/base/zxing-cpp2/zxing-cpp-1.2.0-system-pybind11.patch @@ -0,0 +1,37 @@ +diff -Naur zxing-cpp-1.2.0-original/wrappers/python/CMakeLists.txt zxing-cpp-1.2.0/wrappers/python/CMakeLists.txt +--- zxing-cpp-1.2.0-original/wrappers/python/CMakeLists.txt 2021-05-28 06:47:09.000000000 -0400 ++++ zxing-cpp-1.2.0/wrappers/python/CMakeLists.txt 2021-12-13 20:31:22.286170793 -0500 +@@ -1,8 +1,7 @@ + cmake_minimum_required(VERSION 3.14) + project(ZXingPython) + +-set (pybind11_git_repo https://github.com/pybind/pybind11.git) +-set (pybind11_git_rev v2.10.2) ++find_package(pybind11) + + # check if we are called from the top-level ZXing project + get_directory_property(hasParent PARENT_DIRECTORY) +@@ -21,14 +20,8 @@ + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../core ZXing EXCLUDE_FROM_ALL) + + include(${CMAKE_CURRENT_SOURCE_DIR}/../../zxing.cmake) +- zxing_add_package(pybind11 pybind11 ${pybind11_git_repo} ${pybind11_git_rev}) + else() + # we don't have access to the top-level cmake helpers -> simply fetch it unconditional +- include(FetchContent) +- FetchContent_Declare (pybind11 +- GIT_REPOSITORY ${pybind11_git_repo} +- GIT_TAG ${pybind11_git_rev}) +- FetchContent_MakeAvailable (pybind11) + + # Building from python source distribution (which does not include the whole repository but only python part) + # so we need to get c++ source git to build the python extension. The python distribution version (given in +@@ -54,8 +47,6 @@ + add_subdirectory(${zxing-cpp_SOURCE_DIR}/core ZXing EXCLUDE_FROM_ALL) + endif() + endif() +-else() +- zxing_add_package(pybind11 pybind11 ${pybind11_git_repo} ${pybind11_git_rev}) + endif() + + # build the python module diff --git a/base/zxing-cpp2/zxing-cpp.spec b/base/zxing-cpp2/zxing-cpp.spec new file mode 100644 index 0000000..d1cff59 --- /dev/null +++ b/base/zxing-cpp2/zxing-cpp.spec @@ -0,0 +1,168 @@ +%global realname zxing-cpp + +Name: zxing-cpp2 +Version: 2.0.0 +Release: 6%{?dist} +Summary: C++ port of the ZXing ("Zebra Crossing") barcode scanning library + +# The entire source is ASL 2.0, except: +# - wrappers/wasm/base64ArrayBuffer.js is MIT (but is not used) +License: Apache-2.0 AND MIT +Url: https://github.com/nu-book/zxing-cpp +Source0: %{url}/archive/v%{version}/%{realname}-%{version}.tar.gz + +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: cmake(fmt) +# Use the system copy of pybind11 rather than trying to download a copy. This +# patch is unconditional, so it is not, as-is, suitable for sending upstream. +Patch0: zxing-cpp-1.2.0-system-pybind11.patch + +%description +ZXing-C++ ("zebra crossing") is an open-source, multi-format 1D/2D barcode +image processing library implemented in C++. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: %{realname}-devel + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package -n python3.11-%{realname} +Summary: Python bindings for the %{name} barcode library + +BuildRequires: python3.11-devel +BuildRequires: python3.11-numpy +BuildRequires: python3.11-wheel +BuildRequires: python3.11-pip +BuildRequires: python3.11-rpm-macros +BuildRequires: python3.11-setuptools +BuildRequires: pybind11-devel +BuildRequires: chrpath + +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n python3.11-%{realname} +%{summary}. + +%prep +%autosetup -p1 -n %{realname}-%{version} + +# don’t use unversioned “python” interpreter in tests +sed -r -i 's@(COMMAND )python@\1%{python3}@' wrappers/python/CMakeLists.txt +# we don’t need cmake as a python dependency +sed -r -i '/cmake/d' wrappers/python/pyproject.toml +# build verbosely: + +# #generate_buildrequires +# pushd wrappers/python &>/dev/null +# +# popd &>/dev/null + +%build +# Setting BUILD_PYTHON_MODULE builds a Python extension shared library module, +# but we don’t get any metadata (dist-info), so it’s not terribly useful for +# packaging purposes. Instead, it seems we must re-build the whole library +# through setuptools to get that. +# CMAKE_BUILD_TYPE=RelWithDebInfo prevents the build from stripping the +# python module after it is built. The stripping happens in +# pybind11_add_module. +%cmake -DBUILD_EXAMPLES=OFF -DBUILD_PYTHON_MODULE=ON -DPYTHON_EXECUTABLE=%{_bindir}/python3.11 -DCMAKE_BUILD_TYPE=RelWithDebInfo +%cmake_build +pushd wrappers/python +# CMake respects this environment variable. We need to see the compiler +# invocations to verify the distro build flags are respected. Unfortunately, +# pybind11 does add -O3, and there doesn’t seem to be a way to turn that off. +# It’s a global pybind11 decision, not something in this package’s sources. +export VERBOSE=1 +%py3_build +popd + +%install +%cmake_install +pushd wrappers/python +%py3_install +# Now we do something sneaky: we substitute the Python extension that was built +# in the original CMake invocation, replacing the one built with setuptools. It +# is dynamically linked against the main libZXing.so, which makes it smaller, +# and it was not built with that pesky -O3 that was added by pybind11, so it +# better complies with packaging guidelines. The only problem is it contains an +# rpath that we need to remove. +popd +#install -t '%{buildroot}%{python3_sitearch}' -p \ +# %{_vpath_builddir}/wrappers/python/zxingcpp.*.so +#chrpath --delete %{buildroot}%{python3_sitearch}/zxingcpp.*.so +# pushd wrappers/python +# %%pyproject_save_files zxingcpp +# popd + +%check +%ctest + +%files +%license LICENSE +%{_libdir}/libZXing.so.3 +%{_libdir}/libZXing.so.%{version} + +%files devel +%doc README.md +%{_includedir}/ZXing/ +%{_libdir}/libZXing.so +%{_libdir}/cmake/ZXing/ +%{_libdir}/pkgconfig/zxing.pc + +%files -n python3.11-%{realname} +%{_libdir}/zxingcpp%{python3_ext_suffix} +%{python3_sitearch}/zxing_cpp*.egg-info +%{python3_sitearch}/zxingcpp.cpython-*.so + + +%changelog +* Sat Jan 27 2024 Fedora Release Engineering - 2.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 2.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jul 01 2023 Python Maint - 2.0.0-4 +- Rebuilt for Python 3.12 + +* Wed Jun 28 2023 Vitaly Zaitsev - 2.0.0-3 +- Rebuilt due to fmt 10 update. + +* Tue Jun 13 2023 Python Maint - 2.0.0-2 +- Rebuilt for Python 3.12 + +* Fri Feb 24 2023 Caolán McNamara 2.0.0-1 +- latest release +- migrated to SPDX license + +* Sat Jan 21 2023 Fedora Release Engineering - 1.2.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Oct 26 2022 Tom Stellard - 1.2.0-8 +- Prevent stripping of python module + +* Tue Aug 02 2022 Caolán McNamara 1.2.0-7 +- Resolves: rhbz#2113772 FTBFS in Fedora rawhide/f37 + +* Sat Jul 23 2022 Fedora Release Engineering - 1.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 1.2.0-5 +- Rebuilt for Python 3.11 + +* Sat Apr 23 2022 Benjamin A. Beasley - 1.2.0-4 +- Security fix for CVE-2022-28041 + +* Sat Jan 22 2022 Fedora Release Engineering - 1.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 14 2021 Caolán McNamara 1.2.0-2 +- build python bindings + +* Fri Dec 10 2021 Caolán McNamara 1.2.0-1 +- initial import