%{?mingw_package_header}
%global pkgname gdal
# does not support out-of-tree builds
%global w64_dir %{_builddir}/mingw64-%{pkgname}-%{version}-%{release}
Name: mingw-%{pkgname}
Version: 2.2.4
Release: 5%{?dist}
Summary: MinGW Windows GDAL library
BuildArch: noarch
License: MIT
URL: http://www.gdal.org
# Source0: http://download.osgeo.org/gdal/%%{version}/gdal-%%{version}.tar.xz
# See PROVENANCE.TXT-fedora and the cleaner script for details!
Source0: %{pkgname}-%{version}-fedora.tar.xz
# Fix MinGW build
Patch0: gdal_mingw.patch
# Patch to use system g2clib
Patch1: gdal-g2clib.patch
# Use system zlib header
Patch2: gdal-zlib.patch
# Use correct name for libproj dll (update this patch when proj soversion changes!)
Patch3: gdal_proj-libname.patch
BuildRequires: automake autoconf libtool
BuildRequires: mingw32-filesystem >= 102
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-cfitsio
BuildRequires: mingw32-curl
BuildRequires: mingw32-expat
BuildRequires: mingw32-freexl
BuildRequires: mingw32-g2clib
BuildRequires: mingw32-geos
BuildRequires: mingw32-giflib
BuildRequires: mingw32-jasper
BuildRequires: mingw32-libgta
BuildRequires: mingw32-libjpeg-turbo
BuildRequires: mingw32-libkml
BuildRequires: mingw32-libpng
BuildRequires: mingw32-libtiff
BuildRequires: mingw32-libgeotiff
BuildRequires: mingw32-libspatialite
BuildRequires: mingw32-libwebp
BuildRequires: mingw32-pcre
BuildRequires: mingw32-poppler
BuildRequires: mingw32-postgresql
BuildRequires: mingw32-proj
BuildRequires: mingw32-python2
BuildRequires: mingw32-python2-numpy
BuildRequires: mingw32-sqlite
BuildRequires: mingw32-xerces-c
BuildRequires: mingw32-xz-libs
BuildRequires: mingw32-zlib
BuildRequires: mingw64-filesystem >= 102
BuildRequires: mingw64-gcc-c++
BuildRequires: mingw64-cfitsio
BuildRequires: mingw64-curl
BuildRequires: mingw64-expat
BuildRequires: mingw64-freexl
BuildRequires: mingw64-g2clib
BuildRequires: mingw64-geos
BuildRequires: mingw64-giflib
BuildRequires: mingw64-jasper
BuildRequires: mingw64-libgta
BuildRequires: mingw64-libjpeg-turbo
BuildRequires: mingw64-libkml
BuildRequires: mingw64-libpng
BuildRequires: mingw64-libtiff
BuildRequires: mingw64-libgeotiff
BuildRequires: mingw64-libspatialite
BuildRequires: mingw64-libwebp
BuildRequires: mingw64-pcre
BuildRequires: mingw64-poppler
BuildRequires: mingw64-postgresql
BuildRequires: mingw64-proj
BuildRequires: mingw64-python2
BuildRequires: mingw64-python2-numpy
BuildRequires: mingw64-sqlite
BuildRequires: mingw64-xerces-c
BuildRequires: mingw64-xz-libs
BuildRequires: mingw64-zlib
# TODO
# BuildRequires: armadillo-devel
# BuildRequires: hdf-devel
# BuildRequires: hdf5-devel
# BuildRequires: netcdf-devel
# BuildRequires: libdap-devel
# BuildRequires: librx-devel
# BuildRequires: mysql-devel
# BuildRequires: ogdi-devel
# BuildRequires: unixODBC-devel
%description
MinGW Windows GDAL library.
%package -n mingw32-%{pkgname}
Summary: MinGW Windows GDAL library
# Explicit require since libproj is opened at runtime, see also gdal_proj-libname.patch
Requires: mingw32(libproj-12.dll)
%description -n mingw32-%{pkgname}
MinGW Windows GDAL library.
%package -n mingw32-python2-%{pkgname}
Summary: MinGW Windows Python2 GDAL bindings
%description -n mingw32-python2-%{pkgname}
MinGW Windows Python2 GDAL bindings.
%package -n mingw32-%{pkgname}-tools
Summary: MinGW Windows GDAL library tools
%description -n mingw32-%{pkgname}-tools
MinGW Windows GDAL library tools.
%package -n mingw64-%{pkgname}
Summary: MinGW Windows GDAL library
# Explicit require since libproj is opened at runtime, see also gdal_proj-libname.patch
Requires: mingw64(libproj-12.dll)
%description -n mingw64-%{pkgname}
MinGW Windows GDAL library.
%package -n mingw64-python2-%{pkgname}
Summary: MinGW Windows Python2 GDAL bindings
%description -n mingw64-python2-%{pkgname}
MinGW Windows Python2 GDAL bindings.
%package -n mingw64-%{pkgname}-tools
Summary: MinGW Windows GDAL library tools
%description -n mingw64-%{pkgname}-tools
MinGW Windows GDAL library tools.
%{?mingw_debug_package}
%prep
%autosetup -p1 -n %{pkgname}-%{version}-fedora
# Delete bundled libraries
rm -rf frmts/zlib
rm -rf frmts/png/libpng
rm -rf frmts/gif/giflib
rm -rf frmts/jpeg/libjpeg
rm -rf frmts/jpeg/libjpeg12
rm -rf frmts/gtiff/libgeotiff
rm -rf frmts/gtiff/libtiff
rm -rf frmts/grib/degrib18/g2clib-1.0.4
# http://ramblingfoo.blogspot.ch/2007/07/required-file-configrpath-not-found.html
touch config.rpath
autoreconf -ifv .
cp -a . %{w64_dir}
%build
%mingw32_configure \
--without-bsb \
--with-liblzma \
--with-curl \
--with-webp \
--with-spatialite \
--with-poppler=%{mingw32_prefix} \
--with-geos=%{mingw32_bindir}/%{mingw32_target}-geos-config \
--with-libkml=%{mingw32_prefix} \
--disable-static
%mingw32_make %{?_smp_mflags}
pushd swig/python
%{mingw32_python2} setup.py build
popd
(
cd %{w64_dir}
%mingw64_configure \
--without-bsb \
--with-liblzma \
--with-curl \
--with-webp \
--with-spatialite \
--with-poppler=%{mingw64_prefix} \
--with-geos=%{mingw64_bindir}/%{mingw64_target}-geos-config \
--with-libkml=%{mingw64_prefix} \
--disable-static
%mingw64_make %{?_smp_mflags}
pushd swig/python
%{mingw64_python2} setup.py build
popd
)
%install
%mingw32_make DESTDIR=%{buildroot} install
pushd swig/python
%{mingw32_python2} setup.py install -O1 --skip-build --root=%{buildroot}
popd
(
cd %{w64_dir}
%mingw64_make DESTDIR=%{buildroot} install
pushd swig/python
%{mingw64_python2} setup.py install -O1 --skip-build --root=%{buildroot}
popd
)
# Delete *.la files
find %{buildroot} -name '*.la' -delete
# Delete empty gdalplugins dir
rmdir %{buildroot}%{mingw32_libdir}/gdalplugins
rmdir %{buildroot}%{mingw64_libdir}/gdalplugins
# Delete data
rm -r %{buildroot}%{mingw32_datadir}
rm -r %{buildroot}%{mingw64_datadir}
# Exclude debug files from the main files (note: the debug files are only created after %%install, so we can't search for them directly)
find %{buildroot}%{mingw32_prefix} | grep -E '.(exe|dll|pyd)$' | sed 's|^%{buildroot}\(.*\)$|%%exclude \1.debug|' > mingw32-python2-%{pkgname}.debugfiles
find %{buildroot}%{mingw64_prefix} | grep -E '.(exe|dll|pyd)$' | sed 's|^%{buildroot}\(.*\)$|%%exclude \1.debug|' > mingw64-python2-%{pkgname}.debugfiles
%files -n mingw32-%{pkgname}
%license LICENSE.TXT
%{mingw32_bindir}/libgdal-20.dll
%{mingw32_bindir}/gdal-config
%{mingw32_libdir}/libgdal.dll.a
%{mingw32_libdir}/pkgconfig/gdal.pc
%{mingw32_includedir}/*.h
%files -n mingw32-python2-%{pkgname} -f mingw32-python2-%{pkgname}.debugfiles
%{mingw32_python2_sitearch}/*
%files -n mingw32-%{pkgname}-tools
%{mingw32_bindir}/*.exe
%files -n mingw64-%{pkgname}
%license LICENSE.TXT
%{mingw64_bindir}/libgdal-20.dll
%{mingw64_bindir}/gdal-config
%{mingw64_libdir}/libgdal.dll.a
%{mingw64_libdir}/pkgconfig/gdal.pc
%{mingw64_includedir}/*.h
%files -n mingw64-python2-%{pkgname} -f mingw32-python2-%{pkgname}.debugfiles
%{mingw64_python2_sitearch}/*
%files -n mingw64-%{pkgname}-tools
%{mingw64_bindir}/*.exe
%changelog
* Tue Jul 24 2018 Pete Walter <pwalter@fedoraproject.org> - 2.2.4-5
- Rebuild for xerces-c 3.2
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Jun 13 2018 Sandro Mani <manisandro@gmail.com> - 2.2.4-3
- Rebuild for libkml ABI change
* Wed Apr 11 2018 Sandro Mani <manisandro@gmail.com> - 2.2.4-2
- Rebuild (poppler)
* Tue Mar 27 2018 Sandro Mani <manisandro@gmail.com> - 2.2.4-1
- Update to 2.2.4
* Thu Feb 15 2018 Sandro Mani <manisandro@gmail.com> - 2.2.3-3
- Rebuild (poppler)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Dec 05 2017 Sandro Mani <manisandro@gmail.com> - 2.2.3-1
- Update to 2.2.3
* Thu Nov 09 2017 Sandro Mani <manisandro@gmail.com> - 2.2.2-6
- Rebuild (libkml)
* Wed Nov 08 2017 Sandro Mani <manisandro@gmail.com> - 2.2.2-5
- Rebuild (poppler)
* Mon Oct 30 2017 Sandro Mani <manisandro@gmail.com> - 2.2.2-4
- Enable libkml support
* Tue Oct 24 2017 Sandro Mani <manisandro@gmail.com> - 2.2.2-3
- Add patch to fix incorrect libproj libname
* Mon Oct 09 2017 Sandro Mani <manisandro@gmail.com> - 2.2.2-2
- Rebuild (poppler)
* Wed Sep 27 2017 Sandro Mani <manisandro@gmail.com> - 2.2.2-1
- Update to 2.2.2
* Sat Sep 09 2017 Sandro Mani <manisandro@gmail.com> - 2.2.1-6
- Rebuild (mingw-filesystem)
* Fri Sep 08 2017 Sandro Mani <manisandro@gmail.com> - 2.2.1-5
- Rebuild (gdal)
* Sun Sep 03 2017 Sandro Mani <manisandro@gmail.com> - 2.2.1-4
- Build python2 bindings
* Thu Aug 24 2017 Sandro Mani <manisandro@gmail.com> - 2.2.1-3
- Fix spatialite detection
* Sun Aug 06 2017 Sandro Mani <manisandro@gmail.com> - 2.2.1-2
- Rebuild (poppler)
* Tue Jul 11 2017 Sandro Mani <manisandro@gmail.com> - 2.2.1-1
- Update to 2.2.1
* Sat Feb 04 2017 Sandro Mani <manisandro@gmail.com> - 2.1.3-1
- Update to 2.1.3
* Thu Jan 12 2017 Sandro Mani <manisandro@gmail.com> - 2.1.2-1
- Update to 2.1.2
* Fri Jan 22 2016 Sandro Mani <manisandro@gmail.com> - 2.0.1-1
- Update to 2.0.1
* Wed Aug 05 2015 Sandro Mani <manisandro@gmail.com> - 2.0.0-1
- Update to 2.0.0
* Tue May 12 2015 Sandro Mani <manisandro@gmail.com> - 1.11.2-1
- Initial package