OSM packages
This commit is contained in:
145
fedora/SPECS/proj.spec
Normal file
145
fedora/SPECS/proj.spec
Normal file
@@ -0,0 +1,145 @@
|
||||
%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
|
||||
|
||||
Reference in New Issue
Block a user