From 7251daa0e9ef8d93016004627461dd6cdbdeefff Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Thu, 25 Mar 2021 19:14:40 +0100 Subject: [PATCH] sci-geosciences/GeographicLib: various improvements python bindings examples documentation Closes: https://bugs.gentoo.org/636338 Closes: https://bugs.gentoo.org/777810 Package-Manager: Portage-3.0.17, Repoman-3.0.2 Signed-off-by: Alessandro Barbieri --- .../GeographicLib-1.51-r1.ebuild | 110 ++++++++++++++++++ sci-geosciences/GeographicLib/metadata.xml | 12 ++ 2 files changed, 122 insertions(+) create mode 100644 sci-geosciences/GeographicLib/GeographicLib-1.51-r1.ebuild diff --git a/sci-geosciences/GeographicLib/GeographicLib-1.51-r1.ebuild b/sci-geosciences/GeographicLib/GeographicLib-1.51-r1.ebuild new file mode 100644 index 0000000000000..1c92849d9897e --- /dev/null +++ b/sci-geosciences/GeographicLib/GeographicLib-1.51-r1.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit cmake distutils-r1 + +MY_PN="${PN,,}" + +DESCRIPTION="C++ library for converting geographic coordinate systems" +HOMEPAGE="https://sourceforge.net/projects/geographiclib/" +SRC_URI="mirror://sourceforge/${MY_PN}/${P}.tar.gz" +LICENSE="MIT" + +# To-Do:find out why this doesn't work +# 105/167 Test #105: GeodSolve82 ......................***Failed +# Required regular expression not found. Regex=[20\.0010* 0\.0* 180\.0* 20\.0010* 0\.0* 180\.0* 0\.0* 0\.0* 0\.0* 1\.0* 1\.0* -?0 +RESTRICT="test" + +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc examples python" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RDEPEND="" +DEPEND=" + ${RDEPEND} + doc? ( + >=app-doc/doxygen-1.8.7 + >=dev-lang/perl-5.26.1-r1 + >=dev-python/sphinx-1.6.3-r2 + >=sys-apps/util-linux-2.31 + ) +" + +distutils_enable_tests setup.py +# there are additional docs in the python dir +distutils_enable_sphinx python/doc + +src_prepare() { + cmake_src_prepare + + if use python; then + pushd "python" || die + distutils-r1_python_prepare_all + popd || die + fi +} + +src_configure() { + export GEODATAPATH="/usr/share/${MY_PN}" + + local mycmakeargs=( + -DGEOGRAPHICLIB_DOCUMENTATION=$(usex doc ON OFF) + -DGEOGRAPHICLIB_LIB_TYPE="SHARED" + -DGEOGRAPHICLIB_DATA="${GEODATAPATH}" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use python; then + pushd "python" || die + python_foreach_impl distutils-r1_python_compile + popd || die + use doc && build_sphinx python/doc + fi +} + +src_test() { + # Only 1 failing test in the C code, python passes for me + cmake_src_test + + if use python; then + pushd "python" || die + python_foreach_impl python_test + popd || die + fi +} + +src_install() { + cmake_src_install + + # remove python things added by the cmake_src_install function + # these are installed in the wrong python dir + rm -rf "${D}/usr/$(get_libdir)/python" || die + # if use python we re-add these python files correctly + if use python; then + pushd "python" || die + python_foreach_impl distutils-r1_python_install + popd || die + fi + + #TODO: find out if java stuff need something + + # Installs to wrong doc dir for some reason + # Also happens with USE="-doc" + mv "${D}/usr/share/doc/${PN}" "${D}/usr/share/doc/${PF}" || die + + if use examples; then + dodoc -r examples + docompress -x "/usr/share/doc/${PF}/examples" + fi + + find "${D}" -name "*.la" -delete || die +} diff --git a/sci-geosciences/GeographicLib/metadata.xml b/sci-geosciences/GeographicLib/metadata.xml index 74ced8bea005e..efc517b372488 100644 --- a/sci-geosciences/GeographicLib/metadata.xml +++ b/sci-geosciences/GeographicLib/metadata.xml @@ -5,4 +5,16 @@ ros@gentoo.org Gentoo ROS Project + + + charles@karney.com + Charles Karney + + https://geographiclib.sourceforge.io/html + https://sourceforge.net/p/geographiclib/bugs/ + geographiclib + + +GeographicLib is a small set of C++ classes for converting between geographic, UTM, UPS, MGRS, and geocentric coordinates, for gravity (e.g., EGM2008), geoid, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems. +