02093ba
# For octave scriptlets
02093ba
%global octpkg geographiclib
02093ba
23eb00f
Name:           GeographicLib
cec39b8
Version:        1.43
02093ba
Release:        10%{?dist}
23eb00f
Summary:        Library for geographic coordinate transformations 
23eb00f
23eb00f
License:        MIT
23eb00f
URL:            http://geographiclib.sourceforge.net/
23eb00f
Source0:        http://downloads.sourceforge.net/geographiclib/%{name}-%{version}.tar.gz 
23eb00f
# Use PythonInterp to set the python version for installation directory,
23eb00f
# and install python lib to arch-independent path
e738d99
# Not yet submitted upstream
23eb00f
Patch0:         %{name}-1.37-python.patch
e738d99
# Bundle MATLAB scripts into octave patckages
e738d99
# Not yet submitted upstream
e738d99
Patch1:         %{name}-1.42-octave.patch
23eb00f
23eb00f
BuildRequires:  cmake
23eb00f
BuildRequires:  doxygen
23eb00f
BuildRequires:  python2-devel
83c6037
BuildRequires:  python3-devel
23eb00f
23eb00f
%description
23eb00f
GeographicLib is a small set of C++ classes for performing conversions 
23eb00f
between geographic, UTM, UPS, MGRS, geocentric, and local Cartesian 
23eb00f
coordinates, for gravity (e.g., EGM2008), geoid height and geomagnetic 
23eb00f
field (e.g., WMM2010) calculations, and for solving geodesic problems. 
23eb00f
The emphasis is on returning accurate results with errors close to round-off 
23eb00f
(about 5–15 nanometers). New accurate algorithms for Geodesics on an 
23eb00f
ellipsoid of revolution and Transverse Mercator projection have been 
23eb00f
developed for this library. The functionality of the library can be accessed 
23eb00f
from user code, from the Utility programs provided, or via the 
23eb00f
Implementations in other languages.
23eb00f
23eb00f
%package devel
23eb00f
Summary: Development files and libraries for %{name}
23eb00f
Requires: %{name}%{?_isa} = %{version}-%{release}
23eb00f
23eb00f
%description devel
23eb00f
This package contains the header files and libraries
23eb00f
for %{name}. If you like to develop programs using %{name},
23eb00f
you will need to install %{name}-devel.
23eb00f
23eb00f
%package doc
23eb00f
Summary: Development documentation for %name
23eb00f
BuildArch: noarch
23eb00f
23eb00f
%description doc
23eb00f
This package contains doxygen-generated html API documentation for
23eb00f
the %{name} library.
23eb00f
23eb00f
%package -n python-%{name}
83c6037
Summary:   Python 2 implementation of %{name}
23eb00f
BuildArch: noarch
23eb00f
23eb00f
%description -n python-%{name}
83c6037
A translation of the GeographicLib::Geodesic class to Python 2
83c6037
83c6037
%package -n python3-%{name}
83c6037
Summary:   Python 3 implementation of %{name}
83c6037
BuildArch: noarch
83c6037
83c6037
%description -n python3-%{name}
83c6037
A translation of the GeographicLib::Geodesic class to Python 3
23eb00f
e738d99
%package -n octave-%{name}
e738d99
Summary:   Octave implementation of %{name}
e738d99
BuildArch: noarch
e738d99
BuildRequires:    octave-devel
e738d99
Requires:         octave >= 3.4
e738d99
Requires(post):   octave
e738d99
Requires(postun): octave 
e738d99
e738d99
%description -n octave-%{name}
e738d99
A translation of some of the GeographicLib C++ functionality to Octave
e738d99
23eb00f
%prep
23eb00f
%setup -q
23eb00f
%patch0 -p0 -b .python
e738d99
%patch1 -p0 -b .octave
23eb00f
23eb00f
%build
23eb00f
mkdir build; pushd build;
23eb00f
%cmake .. \
23eb00f
  -DGEOGRAPHICLIB_DATA="%{_datadir}/%{name}" \
23eb00f
  -DCOMMON_INSTALL_PATH=ON \
23eb00f
  -DGEOGRAPHICLIB_DOCUMENTATION=ON \
e738d99
  -DUSE_RPATH=OFF \
e738d99
  -DCMAKE_SKIP_INSTALL_RPATH=ON
23eb00f
popd
23eb00f
make -C build %{?_smp_mflags}
23eb00f
83c6037
mkdir build_python3; pushd build_python3;
83c6037
%cmake .. \
83c6037
  -DGEOGRAPHICLIB_DATA="%{_datadir}/%{name}" \
83c6037
  -DCOMMON_INSTALL_PATH=ON \
83c6037
  -DGEOGRAPHICLIB_DOCUMENTATION=ON \
83c6037
  -DUSE_RPATH=OFF \
83c6037
  -DCMAKE_SKIP_INSTALL_RPATH=ON \
83c6037
  -DPython_ADDITIONAL_VERSIONS=3
83c6037
popd
23eb00f
23eb00f
%install
23eb00f
%make_install -C build
83c6037
%make_install -C build_python3/python/geographiclib
23eb00f
rm -f %{buildroot}/%{_libdir}/*.la
23eb00f
rm -f %{buildroot}/%{_libdir}/*.a
23eb00f
rm -rf %{buildroot}/%{_datadir}/doc
23eb00f
rm -rf %{buildroot}/%{_libexecdir}
23eb00f
e738d99
mkdir -p %{buildroot}%{_datadir}/%{name}
e738d99
23eb00f
%check
23eb00f
make -C build test
23eb00f
23eb00f
%post -p /sbin/ldconfig
23eb00f
23eb00f
%postun -p /sbin/ldconfig
23eb00f
e738d99
%post -n octave-%{name}
e738d99
%octave_cmd pkg rebuild
e738d99
e738d99
%preun -n octave-%{name}
e738d99
%octave_pkg_preun
e738d99
e738d99
%postun -n octave-%{name}
e738d99
%octave_cmd pkg rebuild
e738d99
e738d99
23eb00f
%files
02093ba
%license LICENSE.txt
02093ba
%doc AUTHORS NEWS
e738d99
%{_datadir}/%{name}
23eb00f
%{_bindir}/*
23eb00f
%{_sbindir}/*
23eb00f
%{_libdir}/*.so.*
23eb00f
%{_mandir}/man1/*.1.*
23eb00f
%{_mandir}/man8/*.8.*
23eb00f
23eb00f
%files devel
23eb00f
%{_includedir}/%{name}
23eb00f
%{_libdir}/*.so
e738d99
%{_libdir}/cmake
23eb00f
23eb00f
%files doc
02093ba
%license LICENSE.txt
02093ba
%doc build/doc/html
23eb00f
23eb00f
%files -n python-%{name}
02093ba
%license LICENSE.txt
83c6037
%{python2_sitelib}/geographiclib
83c6037
83c6037
%files -n python3-%{name}
02093ba
%license LICENSE.txt
83c6037
%{python3_sitelib}/geographiclib
23eb00f
e738d99
%files -n octave-%{name}
02093ba
%license LICENSE.txt
02093ba
%{_datadir}/octave/packages/%{octpkg}-%{version}
e738d99
23eb00f
%changelog
02093ba
* Sat Jun 17 2017 Rich Mattes <richmattes@gmail.com> - 1.43-10
02093ba
- Add %%octpkg definition for octave macros
02093ba
0cf4403
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.43-9
0cf4403
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
0cf4403
3df10a2
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 1.43-8
3df10a2
- Rebuild for Python 3.6
3df10a2
Orion Poplawski c430018
* Wed Dec 07 2016 Orion Poplawski <orion@cora.nwra.com> - 1.43-7
Orion Poplawski c430018
- Rebuild for octave 4.2
Orion Poplawski c430018
5d7114a
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.43-6
5d7114a
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
5d7114a
266a25f
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.43-5
266a25f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
266a25f
fe9ab93
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.43-4
fe9ab93
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
fe9ab93
83c6037
* Fri Jul 3 2015 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.43-3
83c6037
- Add Python 3 subpackage
83c6037
271cd2c
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.43-2
271cd2c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
271cd2c
cec39b8
* Fri May 22 2015 Rich Mattes <richmattes@gmail.com> - 1.43-1
cec39b8
- Update to release 1.43
cec39b8
e738d99
* Mon May 04 2015 Rich Mattes <richmattes@gmail.com> - 1.42-1
e738d99
- Update to release 1.42
e738d99
- Add octave subpackage
e738d99
257ef03
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.40-2
257ef03
- Rebuilt for GCC 5 C++11 ABI change
257ef03
1dbc9fd
* Fri Jan 02 2015 Rich Mattes <richmattes@gmail.com> - 1.40-1
1dbc9fd
- Update to release 1.40
1dbc9fd
23eb00f
* Sat Oct 04 2014 Rich Mattes <richmattes@gmail.com> - 1.38-2
23eb00f
- Fix cmake installation directory
23eb00f
23eb00f
* Sat Oct 04 2014 Rich Mattes <richmattes@gmail.com> - 1.38-1
23eb00f
- Update to 1.38
23eb00f
- Change BR from python2 to python2-devel
23eb00f
- Remove buildroot cleanup from install section
23eb00f
23eb00f
* Fri Sep 19 2014 Rich Mattes <richmattes@gmail.com> - 1.37-1
23eb00f
- Initial package