Name: proj Version: 5.0.0 Release: 1 Summary: Cartographic projection software (PROJ.4) Group: Applications/Engineering License: MIT URL: http://www.remotesensing.org/proj/ Source0: ftp://ftp.remotesensing.org/pub/%{name}/%{name}-%{version}.tar.gz Source1: ftp://ftp.remotesensing.org/pub/%{name}/%{name}-datumgrid-1.8.zip Source2: libproj.so.0-aix32 Source3: libproj.so.0-aix64 Source4: libproj.so.9-aix32 Source5: libproj.so.9-aix64 Patch0: %{name}-%{version}-aix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: autoconf, automake, libtool BuildRequires: make, patch, tar %define _libdir64 %{_prefix}/lib64 %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. Proj docs: http://www.remotesensing.org/dl/new_docs/ The library is available as 32-bit and 64-bit. %package devel Summary: Development files for PROJ.4 Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel This package contains libproj and the appropriate header files and man pages. If you are compiling a 32-bit program, no special compiler options are needed. If you are compiling a 64-bit program, you have to compile and link your application with "xlc_r -q64" or "gcc -maix64". %package nad Summary: US and Canadian datum shift grids for PROJ.4 Group: Applications/Engineering Requires: %{name} = %{version}-%{release} %description nad This package contains additional US and Canadian datum shift grids. %package epsg Summary: EPSG dataset for PROJ.4 Group: Applications/Engineering Requires: %{name} = %{version}-%{release} %description epsg This package contains additional EPSG dataset. %prep export PATH=/opt/freeware/bin:$PATH %setup -q %patch0 # setup nad cd nad unzip -o %{SOURCE1} cd .. mkdir ../32bit mv * ../32bit mv ../32bit . mkdir 64bit cd 32bit && tar cf - . | (cd ../64bit ; tar xpf -) %build export CONFIG_SHELL=/usr/bin/ksh export CONFIG_ENV_ARGS=/usr/bin/ksh export CC="xlc_r" cd 64bit # first build the 64-bit version export OBJECT_MODE=64 export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir64} \ --mandir=%{_mandir} \ --enable-shared --disable-static gmake %{?_smp_mflags} cd ../32bit # now build the 32-bit version export OBJECT_MODE=32 export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --enable-shared --disable-static gmake %{?_smp_mflags} %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} cd 64bit export OBJECT_MODE=64 gmake DESTDIR=${RPM_BUILD_ROOT} install ( cd ${RPM_BUILD_ROOT}%{_bindir} for f in * ; do mv -f ${f} ${f}_64 done ) cd ../32bit export OBJECT_MODE=32 gmake DESTDIR=${RPM_BUILD_ROOT} install /usr/bin/strip -X32_64 ${RPM_BUILD_ROOT}%{_bindir}/* || : ( cd ${RPM_BUILD_ROOT}%{_libdir64} for f in *.a ; do /usr/bin/ar -X64 -x ${f} done cd ${RPM_BUILD_ROOT}%{_libdir} for f in *.a ; do /usr/bin/ar -X32 -x ${f} done ) # add the 64-bit shared objects to the shared libraries containing already the # 32-bit shared objects /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a ${RPM_BUILD_ROOT}%{_libdir64}/lib%{name}.so* # Add the older 4.8.x shared members for compatibility with older apps # (make sure they're set for LOADONLY with 'strip -e') cp %{SOURCE2} libproj.so.0 /usr/bin/strip -X32 -e libproj.so.0 /usr/bin/ar -X32 -q ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a libproj.so.0 cp %{SOURCE3} libproj.so.0 /usr/bin/strip -X64 -e libproj.so.0 /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a libproj.so.0 # Add the older 4.9.x shared members for compatibility with older apps # (make sure they're set for LOADONLY with 'strip -e') cp %{SOURCE4} libproj.so.9 /usr/bin/strip -X32 -e libproj.so.9 /usr/bin/ar -X32 -q ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a libproj.so.9 cp %{SOURCE5} libproj.so.9 /usr/bin/strip -X64 -e libproj.so.9 /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a libproj.so.9 cp nad/pj_out27.dist nad/pj_out83.dist nad/td_out.dist ${RPM_BUILD_ROOT}%{_datadir}/%{name} chmod 0644 ${RPM_BUILD_ROOT}%{_datadir}/%{name}/*.dist cp nad/test27 nad/test83 nad/testvarious ${RPM_BUILD_ROOT}%{_datadir}/%{name} chmod 0755 ${RPM_BUILD_ROOT}%{_datadir}/%{name}/test* cp nad/epsg ${RPM_BUILD_ROOT}%{_datadir}/%{name} chmod 0644 ${RPM_BUILD_ROOT}%{_datadir}/%{name}/epsg # install projects.h manually cp src/projects.h ${RPM_BUILD_ROOT}%{_includedir}/ chmod 0644 ${RPM_BUILD_ROOT}%{_includedir}/*.h ( cd ${RPM_BUILD_ROOT} for dir in bin include lib lib64 do mkdir -p usr/${dir} cd usr/${dir} ln -sf ../..%{_prefix}/${dir}/* . cd - done ) %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc 32bit/NEWS 32bit/AUTHORS 32bit/COPYING 32bit/README 32bit/ChangeLog %{_bindir}/* %{_libdir}/*.a %{_libdir}/*.so* %{_libdir64}/*.so* %{_mandir}/man1/*.1 /usr/bin/* /usr/lib/*.a /usr/lib/*.so* /usr/lib64/*.so* %files devel %defattr(-,root,system,-) %{_includedir}/*.h %{_libdir}/*.la %{_libdir64}/*.la %{_libdir}/pkgconfig/*.pc %{_libdir64}/pkgconfig/*.pc %{_mandir}/man3/*.3 /usr/include/*.h /usr/lib/*.la /usr/lib64/*.la %files nad %defattr(-,root,system,-) %doc 32bit/nad/README %dir %{_datadir}/%{name} %{_datadir}/%{name}/[A-Z]* %{_datadir}/%{name}/[a-d]* %{_datadir}/%{name}/esri* %{_datadir}/%{name}/[f-z]* %files epsg %doc 32bit/nad/README %defattr(-,root,system,-) %dir %{_datadir}/%{name} %attr(0644,root,system) %{_datadir}/%{name}/epsg %changelog * Tue Oct 30 2018 Michael Perzl - 5.0.0-1 - updated to version 5.0.0 * Tue Sep 20 2016 Michael Perzl - 4.9.3-1 - updated to version 4.9.3 - added RTL-style shared members * Tue Jan 05 2016 Michael Perzl - 4.9.2-1 - updated to version 4.9.2 * Thu Apr 02 2015 Michael Perzl - 4.9.1-1 - updated to version 4.9.1 * Mon Apr 30 2012 Michael Perzl - 4.8.0-1 - updated to version 4.8.0 - updated proj-datumgrid to version 1.6RC1 * Wed Apr 13 2011 Michael Perzl - 4.7.0-2 - updated proj-datumgrid to version 1.5 * Thu Oct 08 2009 Michael Perzl - 4.7.0-1 - updated to version 4.7.0 * Thu May 15 2008 Michael Perzl - 4.6.0-1 - first version for AIX V5.1 and higher