| # Copyright 1999-2016 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=6 |
| |
| # git:// first because https:// uses the dumb transport |
| EGIT_REPO_URI="git://git.exherbo.org/paludis/paludis.git |
| https://git.exherbo.org/paludis/paludis.git" |
| PYTHON_COMPAT=( python2_7 ) |
| RUBY_VER=2.3 |
| |
| inherit bash-completion-r1 cmake-utils git-r3 python-single-r1 user |
| |
| DESCRIPTION="paludis, the other package mangler" |
| HOMEPAGE="http://paludis.exherbo.org/" |
| SRC_URI="" |
| |
| IUSE="doc pbins pink python ruby search-index test +xml" |
| LICENSE="GPL-2 vim" |
| SLOT="0" |
| KEYWORDS="" |
| |
| COMMON_DEPEND=" |
| >=app-admin/eselect-1.2.13 |
| >=app-shells/bash-3.2:0 |
| dev-libs/libpcre:=[cxx] |
| sys-apps/file:= |
| pbins? ( >=app-arch/libarchive-3.1.2:= ) |
| python? ( |
| ${PYTHON_DEPS} |
| >=dev-libs/boost-1.41.0:=[python,${PYTHON_USEDEP}] ) |
| ruby? ( dev-lang/ruby:${RUBY_VER} ) |
| search-index? ( >=dev-db/sqlite-3:= ) |
| xml? ( >=dev-libs/libxml2-2.6:= )" |
| |
| DEPEND="${COMMON_DEPEND} |
| >=app-text/asciidoc-8.6.3 |
| app-text/htmltidy |
| app-text/xmlto |
| >=sys-devel/gcc-4.7 |
| doc? ( |
| app-doc/doxygen |
| python? ( dev-python/sphinx[${PYTHON_USEDEP}] ) |
| ruby? ( dev-ruby/syntax[ruby_targets_ruby${RUBY_VER/./}] ) |
| ) |
| virtual/pkgconfig |
| test? ( >=dev-cpp/gtest-1.6.0-r1 )" |
| |
| RDEPEND="${COMMON_DEPEND} |
| sys-apps/sandbox" |
| |
| PDEPEND="app-eselect/eselect-package-manager" |
| |
| REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" |
| RESTRICT="!test? ( test )" |
| |
| pkg_pretend() { |
| if [[ ${MERGE_TYPE} != buildonly ]]; then |
| if id paludisbuild >/dev/null 2>/dev/null ; then |
| if ! groups paludisbuild | grep --quiet '\<tty\>' ; then |
| eerror "The 'paludisbuild' user is now expected to be a member of the" |
| eerror "'tty' group. You should add the user to this group before" |
| eerror "upgrading Paludis." |
| die "Please add paludisbuild to tty group" |
| fi |
| fi |
| fi |
| } |
| |
| pkg_setup() { |
| enewgroup "paludisbuild" |
| enewuser "paludisbuild" -1 -1 "/var/tmp/paludis" "paludisbuild,tty" |
| |
| use python && python-single-r1_pkg_setup |
| } |
| |
| src_prepare() { |
| # Fix the script shebang on Ruby scripts. |
| # https://bugs.gentoo.org/show_bug.cgi?id=439372#c2 |
| sed -i -e "1s/ruby/&${RUBY_VER/./}/" ruby/demos/*.rb || die |
| |
| eapply_user |
| } |
| |
| src_configure() { |
| local mycmakeargs=( |
| -DENABLE_DOXYGEN=$(usex doc) |
| -DENABLE_GTEST=$(usex test) |
| -DENABLE_PBINS=$(usex pbins) |
| -DENABLE_PYTHON=$(usex python) |
| -DENABLE_PYTHON_DOCS=$(usex doc) # USE=python implicit |
| -DENABLE_RUBY=$(usex ruby) |
| -DENABLE_RUBY_DOCS=$(usex doc) # USE=ruby implicit |
| -DENABLE_SEARCH_INDEX=$(usex search-index) |
| -DENABLE_VIM=ON |
| -DENABLE_XML=$(usex xml) |
| |
| -DPALUDIS_COLOUR_PINK=$(usex pink) |
| -DRUBY_VERSION=${RUBY_VER} |
| -DPALUDIS_ENVIRONMENTS=all |
| -DPALUDIS_DEFAULT_DISTRIBUTION=gentoo |
| -DPALUDIS_CLIENTS=all |
| -DCONFIG_FRAMEWORK=eselect |
| |
| # GNUInstallDirs |
| -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
| ) |
| |
| cmake-utils_src_configure |
| } |
| |
| src_install() { |
| cmake-utils_src_install |
| |
| dobashcomp bash-completion/cave |
| |
| insinto /usr/share/zsh/site-functions |
| doins zsh-completion/_cave |
| } |
| |
| src_test() { |
| # Work around Portage bugs |
| local -x PALUDIS_DO_NOTHING_SANDBOXY="portage sucks" |
| local -x BASH_ENV=/dev/null |
| |
| if [[ ${EUID} == 0 ]] ; then |
| # hate |
| local -x PALUDIS_REDUCED_UID=0 |
| local -x PALUDIS_REDUCED_GID=0 |
| fi |
| |
| cmake-utils_src_test |
| } |
| |
| pkg_postinst() { |
| local pm |
| if [[ -f ${ROOT}/etc/env.d/50package-manager ]] ; then |
| pm=$( source "${ROOT}"/etc/env.d/50package-manager ; echo "${PACKAGE_MANAGER}" ) |
| fi |
| |
| if [[ ${pm} != paludis ]] ; then |
| elog "If you are using paludis or cave as your primary package manager," |
| elog "you should consider running:" |
| elog " eselect package-manager set paludis" |
| fi |
| } |