Skip to content

Commit

Permalink
sci-geosciences/GeographicLib: various improvements
Browse files Browse the repository at this point in the history
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 <lssndrbarbieri@gmail.com>
  • Loading branch information
Alessandro-Barbieri committed May 8, 2021
1 parent bdc0c09 commit 7251daa
Show file tree
Hide file tree
Showing 2 changed files with 122 additions and 0 deletions.
110 changes: 110 additions & 0 deletions 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
}
12 changes: 12 additions & 0 deletions sci-geosciences/GeographicLib/metadata.xml
Expand Up @@ -5,4 +5,16 @@
<email>ros@gentoo.org</email>
<name>Gentoo ROS Project</name>
</maintainer>
<upstream>
<maintainer status="active">
<email>charles@karney.com</email>
<name>Charles Karney</name>
</maintainer>
<doc lang="en">https://geographiclib.sourceforge.io/html</doc>
<bugs-to>https://sourceforge.net/p/geographiclib/bugs/</bugs-to>
<remote-id type="sourceforge">geographiclib</remote-id>
</upstream>
<longdescription lang="en">
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.
</longdescription>
</pkgmetadata>

0 comments on commit 7251daa

Please sign in to comment.