diff --git a/.gitignore b/.gitignore index 0267e3d..95c0768 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,2 @@ -shapelib-1.3.0b2.tar.gz -/shapelib-1.3.0.tar.gz -/shapelib-1.4.0RC1.tar.gz -/shapelib-1.4.0.tar.gz -/shapelib-1.4.1.tar.gz -/shapelib-man.tar.gz -/shapelib-1.5.0.tar.gz +SOURCES/shapelib-man.tar.gz +SOURCES/shapelib-1.6.1.tar.gz diff --git a/.shapelib.metadata b/.shapelib.metadata new file mode 100644 index 0000000..280e3e3 --- /dev/null +++ b/.shapelib.metadata @@ -0,0 +1,2 @@ +623e9a9507be0d69068aefe12e8d70553755a332 SOURCES/shapelib-man.tar.gz +e7272d25147a9aa2493feff253c8bd5bceea2070 SOURCES/shapelib-1.6.1.tar.gz diff --git a/shapelib.spec b/SPECS/shapelib.spec similarity index 69% rename from shapelib.spec rename to SPECS/shapelib.spec index 935075b..5991e39 100644 --- a/shapelib.spec +++ b/SPECS/shapelib.spec @@ -1,15 +1,21 @@ #global pre RC1 +%if %{defined rhel} || %{defined flatpak} +%bcond_with mingw +%else +%bcond_without mingw +%endif + Name: shapelib -Version: 1.5.0 -Release: 12%{?pre:.%pre}%{?dist} +Version: 1.6.1 +Release: 1%{?dist} Summary: C library for handling ESRI Shapefiles # The core library is dual-licensed LGPLv2 or MIT. # Some contributed files have different licenses: # - contrib/csv2shp.c: GPLv2+ # - contrib/dbfinfo.c: Public domain # - contrib/dbfcat.c: Public domain -License: (LGPLv2+ or MIT) and GPLv2+ and Public Domain +License: (LGPL-2.0-or-later OR MIT) AND GPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain URL: http://shapelib.maptools.org/ Source0: http://download.osgeo.org/shapelib/%{name}-%{version}%{?pre:%pre}.tar.gz # Man pages from debian package @@ -18,8 +24,6 @@ Source0: http://download.osgeo.org/shapelib/%{name}-%{version}%{?pre:%pre} # tar -czf shapelib-man.tar.gz man/ # rm -r man Source1: %{name}-man.tar.gz -# Backport fix for CVE-2022-0699 -Patch0: https://github.com/OSGeo/shapelib/commit/df1e996c541b3dc3f6bc8d589a140fdc8c544373.patch BuildRequires: automake autoconf libtool BuildRequires: gcc-c++ @@ -28,6 +32,19 @@ BuildRequires: proj-devel >= 4.4.1 # For man pages BuildRequires: rubygem-ronn +%if %{with mingw} +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw32-gcc-c++ +BuildRequires: mingw32-binutils +BuildRequires: mingw32-proj + +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-gcc-c++ +BuildRequires: mingw64-binutils +BuildRequires: mingw64-proj +%endif + + %description The Shapefile C Library provides the ability to write simple C programs for reading, writing and updating (to a @@ -51,6 +68,63 @@ Requires: %{name}%{?_isa} = %{version}-%{release} This package contains various utility programs distributed with shapelib. +%if %{with mingw} +%package -n mingw32-%{name} +Summary: MinGW Windows %{name} library +BuildArch: noarch + +%description -n mingw32-%{name} +%{summary}. + + +%package -n mingw32-%{name}-static +Summary: Static version of the MinGW Windows %{name} library +Requires: mingw32-%{name} = %{version}-%{release} +BuildArch: noarch + +%description -n mingw32-%{name}-static +%{summary}. + + +%package -n mingw32-%{name}-tools +Summary: Tools for the MinGW Windows %{name} library +Requires: mingw32-%{name} = %{version}-%{release} +BuildArch: noarch + +%description -n mingw32-%{name}-tools +%{summary}. + + +%package -n mingw64-%{name} +Summary: MinGW Windows %{name} library +BuildArch: noarch + +%description -n mingw64-%{name} +%{summary}. + + +%package -n mingw64-%{name}-static +Summary: Static version of the MinGW Windows %{name} library +Requires: mingw64-%{name} = %{version}-%{release} +BuildArch: noarch + +%description -n mingw64-%{name}-static +%{summary}. + + +%package -n mingw64-%{name}-tools +Summary: Tools for the MinGW Windows %{name} library +Requires: mingw64-%{name} = %{version}-%{release} +BuildArch: noarch + +%description -n mingw64-%{name}-tools +%{summary}. +%endif + + +%{?mingw_debug_package} + + %prep %autosetup -p1 -a1 @@ -59,12 +133,26 @@ This package contains various utility programs distributed with shapelib. # Kill rpath autoreconf -ifv +# Native build +mkdir build_native +pushd build_native +%define _configure ../configure %configure --disable-static %make_build +popd + +%if %{with mingw} +# MinGW build +%mingw_configure +%mingw_make_build +%endif %install -%make_install +%make_install -C build_native +%if %{with mingw} +%mingw_make_install +%endif # Remove static libraries find %{buildroot} -name '*.la' -exec rm -f {} ';' @@ -74,13 +162,14 @@ ronn -r --date="$(LC_ALL=C date -u "+%Y-%m-%d")" --manual=%{name} man/*.md mkdir -p %{buildroot}%{_mandir}/man1/ install -pm 0644 man/*.1 %{buildroot}%{_mandir}/man1/ -%ldconfig_scriptlets + +%{?mingw_debug_install_post} %files %doc README README.tree ChangeLog web/*.html -%license COPYING -%{_libdir}/libshp.so.2* +%license LICENSE* +%{_libdir}/libshp.so.4* %files devel %{_includedir}/shapefil.h @@ -92,11 +181,78 @@ install -pm 0644 man/*.1 %{buildroot}%{_mandir}/man1/ %{_bindir}/* %{_mandir}/man1/*.1* +%if %{with mingw} +%files -n mingw32-%{name} +%license LICENSE* +%{mingw32_bindir}/libshp-4.dll +%{mingw32_includedir}/shapefil.h +%{mingw32_libdir}/libshp.dll.a +%{mingw32_libdir}/pkgconfig/shapelib.pc + +%files -n mingw32-%{name}-static +%{mingw32_libdir}/libshp.a + +%files -n mingw32-%{name}-tools +%{mingw32_bindir}/*.exe + +%files -n mingw64-%{name} +%license LICENSE* +%{mingw64_bindir}/libshp-4.dll +%{mingw64_includedir}/shapefil.h +%{mingw64_libdir}/libshp.dll.a +%{mingw64_libdir}/pkgconfig/shapelib.pc + +%files -n mingw64-%{name}-static +%{mingw64_libdir}/libshp.a + +%files -n mingw64-%{name}-tools +%{mingw64_bindir}/*.exe +%endif + %changelog -* Thu Feb 09 2023 Troy Dawson - 1.5.0-12 +* Sat Jan 04 2025 Arkady L. Shane - 1.6.1-1 +- Rebuilt for MSVSphere 10 + +* Wed Aug 14 2024 Sandro Mani - 1.6.1-1 +- Update to 1.6.1 + +* Sat Jul 20 2024 Fedora Release Engineering - 1.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 1.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Dec 22 2023 Sandro Mani - 1.6.0-1 +- Update to 1.6.0 + +* Sat Jul 22 2023 Fedora Release Engineering - 1.5.0-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.5.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 1.5.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Mar 25 2022 Sandro Mani - 1.5.0-13 +- Rebuild with mingw-gcc-12 + +* Wed Mar 02 2022 Sandro Mani - 1.5.0-12 - Backport fix for CVE-2022-0699 +* Thu Feb 24 2022 Sandro Mani - 1.5.0-11 +- Make mingw subpackages noarch + +* Thu Feb 24 2022 Sandro Mani - 1.5.0-10 +- Make mingw subpackages noarch + +* Thu Feb 24 2022 Sandro Mani - 1.5.0-9 +- Add mingw subpackage + +* Sat Jan 22 2022 Fedora Release Engineering - 1.5.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Jul 23 2021 Fedora Release Engineering - 1.5.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/df1e996c541b3dc3f6bc8d589a140fdc8c544373.patch b/df1e996c541b3dc3f6bc8d589a140fdc8c544373.patch deleted file mode 100644 index ea734cc..0000000 --- a/df1e996c541b3dc3f6bc8d589a140fdc8c544373.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -rupN --no-dereference shapelib-1.5.0/contrib/shpsort.c shapelib-1.5.0-new/contrib/shpsort.c ---- shapelib-1.5.0/contrib/shpsort.c 2004-07-06 23:23:17.000000000 +0200 -+++ shapelib-1.5.0-new/contrib/shpsort.c 2022-03-02 13:35:48.322878882 +0100 -@@ -279,7 +279,6 @@ static char ** split(const char *arg, co - free(result[--i]); - } - free(result); -- free(copy); - return NULL; - } - result = tmp; diff --git a/sources b/sources deleted file mode 100644 index e3e0194..0000000 --- a/sources +++ /dev/null @@ -1,2 +0,0 @@ -SHA512 (shapelib-man.tar.gz) = 0625355e51005b032c2ea441d888868fa13bcdee862d9c5bae5aa26cb98e40e7eeb414f52dc63d433692dbe3873d037740e8bf650a30e6e4d56b216d48bda6da -SHA512 (shapelib-1.5.0.tar.gz) = 6dbd5fc7929ca403e65017ef58211f351608d9ad08221bf68bde047ceecfd27013ce731f9ae4edcfd040bc3db7fe9054b5d96e46128d2968788bef19532b1721