Proj and gdla are now in /usr/local prefix

This commit is contained in:
2020-01-11 10:27:37 +01:00
parent e24a24c18a
commit a32af88b8a
2 changed files with 56 additions and 44 deletions

View File

@@ -1,9 +1,17 @@
%define bashcompletiondir %{_sysconfdir}/bash_completion.d
%define realname gdal
Prefix: /opt
%define sysprefix /usr
%define _prefix /usr/local
%define _includedir %{_prefix}/include
%define _datadir %{_prefix}/share
%define _bindir %{_prefix}/bin
%define _libdir %{_prefix}/lib64
%define _mandir %{_prefix}/man
Name: gdal3
Version: 3.0.2
Release: 2%{?dist}
Release: 1%{?dist}
#define debug_package #{nil}
License: MIT
Group: Applications/System
@@ -24,9 +32,9 @@ BuildRequires: perl-generators
BuildRequires: openjpeg2-devel
BuildRequires: openjpeg-devel
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: %{_bindir}/pkg-config
BuildRequires: %{sysprefix}/bin/pkg-config
BuildRequires: libpq-devel
BuildRequires: proj-devel >= 6.0.2
BuildRequires: proj6-devel >= 6.0.2
%if %{with python2}
BuildRequires: python2-devel
BuildRequires: python2-numpy
@@ -38,8 +46,6 @@ BuildRequires: python3-numpy
BuildRequires: sqlite-devel
BuildRequires: swig
Obsoletes: gdal < 3
%global DONT_REMOVE_RPATH 1
# don't check for rpath:
%global __arch_install_post /usr/lib/rpm/check-buildroot
@@ -77,8 +83,8 @@ This package contains the GDAL file format library.
%build
./configure \
--datadir=%{_datadir}/%{name} \
--includedir=%{_includedir}/%{name} \
--datadir=%{_datadir}/%{realname} \
--includedir=%{_includedir}/%{realname} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--sysconfdir=%{_sysconfdir} \
@@ -86,17 +92,17 @@ This package contains the GDAL file format library.
--with-curl \
--with-freexl \
--with-geos \
--with-png=%{_prefix} \
--with-png=%{sysprefix} \
--with-gif \
--with-gta \
--with-jpeg \
--without-jpeg12 \
--with-liblzma \
--with-libtiff=%{_prefix} \
--with-libtiff=%{sysprefix} \
--with-libz \
--without-mdb \
--without-msg \
--with-proj \
--with-proj=%{_prefix} \
--with-threads \
--enable-shared
@@ -142,13 +148,13 @@ mv %{buildroot}%{_prefix}/etc %{buildroot}/
%doc LICENSE.TXT NEWS PROVENANCE.TXT COMMITTERS
%{_libdir}/libgdal.so.26
%{_libdir}/libgdal.so.26.*
%{_datadir}/%{name}/*
%{_datadir}/%{realname}/*
#TODO: Possibly remove files like .dxf, .dgn, ...
%dir %{_libdir}/%{realname}plugins
%files devel
%{_bindir}/%{name}-config
%{_includedir}/%{name}/*.h
%{_bindir}/%{realname}-config
%{_includedir}/%{realname}/*.h
%{_libdir}/*.a
%{_libdir}/*.la
%{_libdir}/*.so

View File

@@ -1,6 +1,12 @@
%global proj_version 6.3.0
%global datumgrid_version 1.8
%define realname proj
%define _prefix /usr/local
%define _includedir %{_prefix}/include
%define _datadir %{_prefix}/share
%define _bindir %{_prefix}/bin
%define _libdir %{_prefix}/lib64
%define _mandir %{_datadir}/man
Name: proj6
Version: %{proj_version}
@@ -21,7 +27,7 @@ projection functions.
%package devel
Summary: Development files for PROJ.4
Requires: %{realname}%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package contains libproj and the appropriate header files and man pages.
@@ -29,21 +35,23 @@ This package contains libproj and the appropriate header files and man pages.
%package static
Summary: Development files for PROJ.4
Requires: %{realname}-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description static
This package contains libproj static library.
%prep
%autosetup
%setup -q -n %{realname}-%{version}
%build
# rebuild due to patch
autoreconf -i
%configure \
--includedir=%{_includedir}/%{name} \
--datarootdir=%{_datadir}/%{name}
./configure \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--includedir=%{_includedir} \
--datarootdir=%{_datadir}
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
@@ -51,13 +59,8 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%install
%make_install
make install DESTDIR=%{buildroot}
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/
@@ -67,9 +70,9 @@ set(PROJ4_FOUND 1)
set(PROJ4_INCLUDE_DIRS %{_includedir})
set(PROJ4_LIBRARIES proj)
if(\${LIB_SUFFIX} MATCHES 64)
set(PROJ4_LIBRARY_DIRS /usr/lib64)
set(PROJ4_LIBRARY_DIRS %{_libdir})
else()
set(PROJ4_LIBRARY_DIRS /usr/lib)
set(PROJ4_LIBRARY_DIRS %{_prefix}/lib)
endif()
set(PROJ4_BINARY_DIRS %{_bindir})
set(PROJ4_VERSION %{proj_version})
@@ -79,7 +82,7 @@ EOF
%check
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
make PROJ_LIB=%{buildroot}%{_datadir}/%{name} check || ( cat src/test-suite.log; exit 1 )
make PROJ_LIB=%{buildroot}%{_datadir}/%{realname} check || ( cat src/test-suite.log; exit 1 )
%files
@@ -87,27 +90,27 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
%{_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
%dir %{_datadir}/%{realname}
%{_datadir}/%{realname}/CH
%{_datadir}/%{realname}/GL27
%{_datadir}/%{realname}/ITRF2000
%{_datadir}/%{realname}/ITRF2008
%{_datadir}/%{realname}/ITRF2014
%{_datadir}/%{realname}/nad.lst
%{_datadir}/%{realname}/nad27
%{_datadir}/%{realname}/nad83
%{_datadir}/%{realname}/null
%{_datadir}/%{realname}/other.extra
%{_datadir}/%{realname}/world
%{_datadir}/%{realname}/projjson.schema.json
%{_datadir}/%{realname}/%{realname}.db
%files devel
%{_mandir}/man3/*.3*
%{_includedir}/*.h
%{_includedir}/%{name}/*.hpp
%{_includedir}/%{realname}/*.hpp
%{_libdir}/libproj.so
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/%{realname}.pc
%{_datadir}/cmake/Modules/FindPROJ4.cmake
%exclude %{_libdir}/libproj.a
%exclude %{_libdir}/libproj.la
@@ -118,6 +121,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
%changelog
* Sat Jan 11 2020 Daniel Steiner <daniel.steiner@dsteiner.ch>
- New name proj6 and relocation to /usr/local.
* Mon Jan 6 2020 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Initial build