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