146 lines
3.6 KiB
RPMSpec
146 lines
3.6 KiB
RPMSpec
|
|
%global proj_version 6.3.0
|
||
|
|
%global datumgrid_version 1.8
|
||
|
|
|
||
|
|
Name: proj
|
||
|
|
Version: %{proj_version}
|
||
|
|
Release: 1%{?dist}
|
||
|
|
Summary: Cartographic projection software (PROJ.4)
|
||
|
|
|
||
|
|
License: MIT
|
||
|
|
URL: https://proj4.org
|
||
|
|
Source0: https://download.osgeo.org/%{name}/%{name}-%{version}.tar.gz
|
||
|
|
Source1: https://download.osgeo.org/%{name}/%{name}-datumgrid-%{datumgrid_version}.tar.gz
|
||
|
|
|
||
|
|
BuildRequires: libtool gcc-c++
|
||
|
|
|
||
|
|
%description
|
||
|
|
Proj and invproj perform respective forward and inverse transformation of
|
||
|
|
cartographic data to or from cartesian data with a wide range of selectable
|
||
|
|
projection functions.
|
||
|
|
|
||
|
|
|
||
|
|
%package devel
|
||
|
|
Summary: Development files for PROJ.4
|
||
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
|
|
||
|
|
%description devel
|
||
|
|
This package contains libproj and the appropriate header files and man pages.
|
||
|
|
|
||
|
|
|
||
|
|
%package static
|
||
|
|
Summary: Development files for PROJ.4
|
||
|
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||
|
|
|
||
|
|
%description static
|
||
|
|
This package contains libproj static library.
|
||
|
|
|
||
|
|
|
||
|
|
%package datumgrid
|
||
|
|
Summary: Additional datum shift grids for PROJ.4
|
||
|
|
Version: %{datumgrid_version}
|
||
|
|
Release: 99%{?dist}
|
||
|
|
# See README.DATUMGRID
|
||
|
|
License: CC-BY and Freely Distributable and Ouverte and Public Domain
|
||
|
|
BuildArch: noarch
|
||
|
|
|
||
|
|
# Renamed; remove after Fedora 31.
|
||
|
|
Obsoletes: proj-nad < 5.2.0-2
|
||
|
|
Provides: proj-nad = %{proj_version}-%{release}
|
||
|
|
|
||
|
|
%description datumgrid
|
||
|
|
This package contains additional datum shift grids.
|
||
|
|
|
||
|
|
|
||
|
|
%prep
|
||
|
|
%autosetup
|
||
|
|
|
||
|
|
# Prepare datumgrid and file list (in {datadir}/proj and README marked as doc)
|
||
|
|
mkdir nad
|
||
|
|
tar xvf %{SOURCE1} -C nad | \
|
||
|
|
sed -e 's!^!%{_datadir}/%{name}/!' -e '/README/s!^!%%doc !' > datumgrid.files
|
||
|
|
|
||
|
|
|
||
|
|
%build
|
||
|
|
# rebuild due to patch
|
||
|
|
autoreconf -i
|
||
|
|
%configure
|
||
|
|
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
||
|
|
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
||
|
|
%make_build
|
||
|
|
|
||
|
|
|
||
|
|
%install
|
||
|
|
%make_install
|
||
|
|
chmod -x %{buildroot}%{_libdir}/libproj.la
|
||
|
|
install -p -m 0644 nad/README.DATUMGRID %{buildroot}%{_datadir}/%{name}
|
||
|
|
for f in $(egrep '^\/usr' datumgrid.files); do
|
||
|
|
bf=$(basename $f)
|
||
|
|
install -m 0644 nad/$bf %{buildroot}%{_datadir}/%{name}/$bf
|
||
|
|
done
|
||
|
|
|
||
|
|
# Install cmake config manually because we use autotools for building
|
||
|
|
mkdir -p %{buildroot}%{_datadir}/cmake/Modules/
|
||
|
|
|
||
|
|
cat << EOF > %{buildroot}%{_datadir}/cmake/Modules/FindPROJ4.cmake
|
||
|
|
set(PROJ4_FOUND 1)
|
||
|
|
set(PROJ4_INCLUDE_DIRS %{_includedir})
|
||
|
|
set(PROJ4_LIBRARIES proj)
|
||
|
|
if(\${LIB_SUFFIX} MATCHES 64)
|
||
|
|
set(PROJ4_LIBRARY_DIRS /usr/lib64)
|
||
|
|
else()
|
||
|
|
set(PROJ4_LIBRARY_DIRS /usr/lib)
|
||
|
|
endif()
|
||
|
|
set(PROJ4_BINARY_DIRS %{_bindir})
|
||
|
|
set(PROJ4_VERSION %{proj_version})
|
||
|
|
message(STATUS "Found PROJ4: version \${PROJ4_VERSION}")
|
||
|
|
EOF
|
||
|
|
|
||
|
|
|
||
|
|
%check
|
||
|
|
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
|
||
|
|
make PROJ_LIB=%{buildroot}%{_datadir}/%{name} check || ( cat src/test-suite.log; exit 1 )
|
||
|
|
|
||
|
|
|
||
|
|
%files
|
||
|
|
%doc NEWS AUTHORS COPYING README ChangeLog
|
||
|
|
%{_bindir}/*
|
||
|
|
%{_mandir}/man1/*.1*
|
||
|
|
%{_libdir}/libproj.so.15*
|
||
|
|
%dir %{_datadir}/%{name}
|
||
|
|
%{_datadir}/%{name}/CH
|
||
|
|
%{_datadir}/%{name}/GL27
|
||
|
|
%{_datadir}/%{name}/ITRF2000
|
||
|
|
%{_datadir}/%{name}/ITRF2008
|
||
|
|
%{_datadir}/%{name}/ITRF2014
|
||
|
|
%{_datadir}/%{name}/nad.lst
|
||
|
|
%{_datadir}/%{name}/nad27
|
||
|
|
%{_datadir}/%{name}/nad83
|
||
|
|
%{_datadir}/%{name}/null
|
||
|
|
%{_datadir}/%{name}/other.extra
|
||
|
|
%{_datadir}/%{name}/world
|
||
|
|
%{_datadir}/%{name}/projjson.schema.json
|
||
|
|
%{_datadir}/%{name}/%{name}.db
|
||
|
|
|
||
|
|
%files devel
|
||
|
|
%{_mandir}/man3/*.3*
|
||
|
|
%{_includedir}/*.h
|
||
|
|
%{_includedir}/%{name}/*.hpp
|
||
|
|
%{_libdir}/libproj.so
|
||
|
|
%{_libdir}/pkgconfig/%{name}.pc
|
||
|
|
%{_datadir}/cmake/Modules/FindPROJ4.cmake
|
||
|
|
%exclude %{_libdir}/libproj.a
|
||
|
|
%exclude %{_libdir}/libproj.la
|
||
|
|
|
||
|
|
%files static
|
||
|
|
%{_libdir}/libproj.a
|
||
|
|
%{_libdir}/libproj.la
|
||
|
|
|
||
|
|
%files datumgrid -f datumgrid.files
|
||
|
|
%dir %{_datadir}/%{name}
|
||
|
|
|
||
|
|
|
||
|
|
%changelog
|
||
|
|
* Mon Jan 6 2020 Daniel Steiner <daniel.steiner@dsteiner.ch>
|
||
|
|
- Initial build
|
||
|
|
|