summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/paludis/paludis-0.74.0.ebuild')
-rw-r--r--sys-apps/paludis/paludis-0.74.0.ebuild169
1 files changed, 169 insertions, 0 deletions
diff --git a/sys-apps/paludis/paludis-0.74.0.ebuild b/sys-apps/paludis/paludis-0.74.0.ebuild
new file mode 100644
index 000000000000..977e1a55fa5d
--- /dev/null
+++ b/sys-apps/paludis/paludis-0.74.0.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/paludis/paludis-0.74.0.ebuild,v 1.1 2012/04/21 20:08:36 dagger Exp $
+
+inherit bash-completion eutils
+
+DESCRIPTION="paludis, the other package mangler"
+HOMEPAGE="http://paludis.exherbo.org/"
+SRC_URI="http://paludis.exherbo.org/download/${P}.tar.bz2"
+
+IUSE="doc pbins portage pink prebuilt-documentation python-bindings ruby-bindings search-index vim-syntax visibility xml zsh-completion"
+LICENSE="GPL-2 vim-syntax? ( vim )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+COMMON_DEPEND="
+ >=app-admin/eselect-1.2.13
+ >=app-shells/bash-3.2
+ >=sys-devel/gcc-4.4
+ dev-libs/libpcre
+ sys-apps/file
+ pbins? ( >=app-arch/libarchive-2.8.4 )
+ python-bindings? ( >=dev-lang/python-2.6 >=dev-libs/boost-1.41.0 )
+ ruby-bindings? ( >=dev-lang/ruby-1.8 )
+ xml? ( >=dev-libs/libxml2-2.6 )
+ search-index? ( >=dev-db/sqlite-3 )"
+
+DEPEND="${COMMON_DEPEND}
+ !prebuilt-documentation? (
+ >=app-text/asciidoc-8.6.3
+ app-text/xmlto
+ )
+ doc? (
+ || ( >=app-doc/doxygen-1.5.3 <=app-doc/doxygen-1.5.1 )
+ media-gfx/imagemagick
+ python-bindings? ( dev-python/epydoc dev-python/pygments )
+ ruby-bindings? ( dev-ruby/syntax dev-ruby/allison )
+ )
+ dev-util/pkgconfig
+ dev-cpp/gtest"
+
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/sandbox"
+
+# Keep syntax as a PDEPEND. It avoids issues when Paludis is used as the
+# default virtual/portage provider.
+PDEPEND="
+ vim-syntax? ( >=app-editors/vim-core-7 )
+ app-admin/eselect-package-manager"
+
+create-paludis-user() {
+ enewgroup "paludisbuild"
+ enewuser "paludisbuild" -1 -1 "/var/tmp/paludis" "paludisbuild,tty"
+}
+
+pkg_setup() {
+ if ! built_with_use dev-libs/libpcre cxx ; then
+ eerror "Paludis needs dev-libs/libpcre built with C++ support"
+ eerror "Please build dev-libs/libpcre with USE=cxx support"
+ die "Rebuild dev-libs/libpcre with USE=cxx"
+ fi
+
+ if ! built_with_use dev-cpp/gtest threads ; then
+ eerror "Paludis needs dev-cpp/gtest built with threads support"
+ eerror "Please build dev-cpp/gtest with USE=threads support"
+ die "Rebuild dev-cpp/gtest with USE threads"
+ fi
+
+ if use python-bindings && \
+ ! built_with_use --missing true dev-libs/boost python; then
+ eerror "With USE python-bindings you need boost build with the python"
+ eerror "use flag."
+ die "Rebuild dev-libs/boost with USE python"
+ fi
+
+ if use pbins && \
+ built_with_use app-arch/libarchive xattr; then
+ eerror "With USE pbins you need libarchive build without the xattr"
+ eerror "use flag."
+ die "Rebuild app-arch/libarchive without USE xattr"
+ fi
+
+ 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
+
+ create-paludis-user
+
+ # 'paludis' tries to exec() itself after an upgrade
+ if [[ "${PKGMANAGER}" == paludis-0.[012345]* ]] && [[ -z "${CAVE}" ]] ; then
+ eerror "The 'paludis' client has been removed in Paludis 0.60. You must use"
+ eerror "'cave' to upgrade."
+ die "Can't use 'paludis' to upgrade Paludis"
+ fi
+}
+
+src_compile() {
+ local repositories=`echo default unavailable unpackaged | tr -s \ ,`
+ local environments=`echo default $(usev portage ) | tr -s \ ,`
+ econf \
+ $(use_enable doc doxygen ) \
+ $(use_enable pbins ) \
+ $(use_enable pink ) \
+ $(use_enable ruby-bindings ruby ) \
+ $(use ruby-bindings && use doc && echo --enable-ruby-doc ) \
+ $(use_enable prebuilt-documentation ) \
+ $(use_enable python-bindings python ) \
+ $(use python-bindings && use doc && echo --enable-python-doc ) \
+ $(use_enable vim-syntax vim ) \
+ $(use_enable visibility ) \
+ $(use_enable xml ) \
+ $(use_enable search-index ) \
+ --with-vim-install-dir=/usr/share/vim/vimfiles \
+ --with-repositories=${repositories} \
+ --with-environments=${environments} \
+ || die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+ dodoc AUTHORS README NEWS
+
+ BASHCOMPLETION_NAME="cave" dobashcompletion bash-completion/cave
+
+ if use zsh-completion ; then
+ insinto /usr/share/zsh/site-functions
+ doins zsh-completion/_cave
+ fi
+}
+
+src_test() {
+ # Work around Portage bugs
+ export PALUDIS_DO_NOTHING_SANDBOXY="portage sucks"
+ export BASH_ENV=/dev/null
+
+ if [[ `id -u` == 0 ]] ; then
+ # hate
+ export PALUDIS_REDUCED_UID=0
+ export PALUDIS_REDUCED_GID=0
+ fi
+
+ if ! emake check ; then
+ eerror "Tests failed. Looking for files for you to add to your bug report..."
+ find "${S}" -type f -name '*.epicfail' -or -name '*.log' | while read a ; do
+ eerror " $a"
+ done
+ die "Make check failed"
+ fi
+}
+
+pkg_postinst() {
+ pm_is_paludis=false
+ if [[ -f ${ROOT}/etc/env.d/50package-manager ]] ; then
+ pm_is_paludis=$( source ${ROOT}/etc/env.d/50package-manager ; [[ ${PACKAGE_MANAGER} == paludis ]] && echo true || echo false )
+ fi
+
+ if ! $pm_is_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
+}