| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="5" |
| POSTGRES_COMPAT=( 9.{0,1,2,3,4} ) |
| |
| inherit eutils cmake-utils |
| |
| DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality." |
| HOMEPAGE="http://pgrouting.org/index.html" |
| LICENSE="GPL-2 MIT Boost-1.0" |
| |
| SLOT="0" |
| KEYWORDS="~amd64 ~x86" |
| SRC_URI="https://github.com/pgRouting/pgrouting/archive/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz" |
| IUSE="+drivingdistance doc pdf html" |
| |
| REQUIRED_USE="html? ( doc ) pdf? ( doc )" |
| |
| RDEPEND=" |
| || ( |
| dev-db/postgresql:9.4[server] |
| dev-db/postgresql:9.3[server] |
| dev-db/postgresql:9.2[server] |
| dev-db/postgresql:9.1[server] |
| dev-db/postgresql:9.0[server] |
| ) |
| >=dev-db/postgis-2.0 |
| dev-libs/boost |
| drivingdistance? ( sci-mathematics/cgal ) |
| " |
| |
| DEPEND=" |
| doc? ( >=dev-python/sphinx-1.1 ) |
| pdf? ( >=dev-python/sphinx-1.1[latex] ) |
| " |
| |
| # Needs a running psql instance, doesn't work out of the box |
| RESTRICT="test" |
| CMAKE_MIN_VERSION="2.8.8" |
| |
| postgres_check_slot() { |
| if ! declare -p POSTGRES_COMPAT &>/dev/null; then |
| die 'POSTGRES_COMPAT not declared.' |
| fi |
| |
| # Don't die because we can't run postgresql-config during pretend. |
| [[ "$EBUILD_PHASE" = "pretend" \ |
| && -z "$(which postgresql-config 2> /dev/null)" ]] && return 0 |
| |
| local res=$(echo ${POSTGRES_COMPAT[@]} \ |
| | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null) |
| |
| if [[ "$res" -eq "0" ]] ; then |
| eerror "PostgreSQL slot must be set to one of: " |
| eerror " ${POSTGRES_COMPAT[@]}" |
| return 1 |
| fi |
| |
| return 0 |
| } |
| |
| pkg_pretend() { |
| postgres_check_slot || die |
| } |
| |
| pkg_setup() { |
| postgres_check_slot || die |
| } |
| |
| src_prepare() { |
| epatch "${FILESDIR}/no-contrib-when-use-extension.patch" |
| } |
| |
| src_configure() { |
| local mycmakeargs=( |
| $(cmake-utils_use_with drivingdistance DD) |
| $(cmake-utils_use_with doc DOC) |
| $(cmake-utils_use_build doc MAN) |
| $(cmake-utils_use_build html HTML) |
| $(cmake-utils_use_build pdf LATEX) |
| ) |
| |
| cmake-utils_src_configure |
| } |
| |
| src_compile() { |
| local make_opts |
| use doc && make_opts="all doc" |
| cmake-utils_src_make ${make_opts} |
| } |
| |
| src_install() { |
| use doc && doman "${BUILD_DIR}"/doc/man/en/pgrouting.7 |
| use html && dohtml -r "${BUILD_DIR}"/doc/html/* |
| use pdf && dodoc "${BUILD_DIR}"/doc/latex/en/*.pdf |
| |
| dodoc README* VERSION |
| |
| cmake-utils_src_install |
| } |