pacman-4.0.3-r2.ebuild 3.14 KB
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/pacman/pacman-4.0.3-r1.ebuild,v 1.2 2015/01/05 21:46:57 mgorny Exp $

EAPI=4

PYTHON_COMPAT=( python2_7 )
inherit autotools autotools-utils bash-completion-r1 eutils python-any-r1

DESCRIPTION="Archlinux's binary package manager"
HOMEPAGE="http://archlinux.org/pacman/"
SRC_URI="ftp://ftp.archlinux.org/other/${PN}/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="curl debug doc gpg test"

COMMON_DEPEND="app-arch/libarchive
	dev-libs/openssl
	virtual/libiconv
	virtual/libintl
	sys-devel/gettext
	app-arch/arch-install-scripts
	app-arch/armrr
	curl? ( net-misc/curl )
	gpg? ( app-crypt/gpgme )"
RDEPEND="${COMMON_DEPEND}
	app-arch/xz-utils"
# autoconf macros from gpgme requied unconditionally
# makepkg collision with old bash-completion
DEPEND="${COMMON_DEPEND}
	app-crypt/gpgme
	doc? ( app-doc/doxygen
		app-text/asciidoc )
	test? ( ${PYTHON_DEPS} )
	!<=app-shells/bash-completion-2.1-r90"

RESTRICT="test"

src_prepare() {
	# Adds AM_GPGME_PATH call which requires app-crypt/gpgme to be
	# DEPENDed on unconditionally:
	epatch "${FILESDIR}"/${PN}-4.0.0-gpgme.patch

	# Remove a line that adds -Werror in ./configure when --enable-debug
	# is passed:
	sed -i -e '/-Werror/d' configure.ac || die "-Werror"

	# autopoint is unwilling to replace m4/gettext.m4 with the correct
	# version even though it'll gladly replace */po/Makefile.in.in,
	# creating an inconsistency between gettext m4 macros and
	# Makefile.in.in. Also, AM_MKINSTALLDIRS apparently doesn't exist
	# anymore, so we need newer gettext macros. #420469
	rm m4/gettext.m4 || die
	sed -i -e '/AM_GNU_GETTEXT_VERSION/s/0\.13\.1/0.18.1/' configure.ac || die

	eautoreconf
}

src_configure() {
	local myeconfargs=(
		--localstatedir=/var
		--disable-git-version
		--with-openssl
		# Help protect user from shooting his/her Gentoo installation in
		# its foot.
		--with-root-dir="${EPREFIX}"/var/chroot/archlinux
		$(use_enable debug)
		$(use_enable doc)
		$(use_enable doc doxygen)
		$(use_with curl libcurl)
		$(use_with gpg gpgme)
	)
	autotools-utils_src_configure
}

src_install() {
	autotools-utils_src_install

	dodir /etc/pacman.d
	newbashcomp "${AUTOTOOLS_BUILD_DIR}"/contrib/bash_completion pacman
	bashcomp_alias pacman pacman-key makepkg

	# get a mirrorlist.
	# 1. use locale to find a country code...
	LOCALE="$(locale | sed '/^LANG/{;s/.*=\([^.]*\).*/\1/;p;};d')"
	LOCALE="$(echo ${LOCALE#*_} | tr '[:lower:]' '[:upper:]')"

	echo "$(armrr -h | sed '2,+1H;${;g;p;};d' | tr -d '\n')" | grep -q 'DE' || \
		LOCALE='US'

	echo -e "n\ny" | DESTDIR=${D} armrr "${LOCALE}"

	# remove comment from XferCommand
	sed -i '/^\s*#XferCommand.*curl/s/^\s*#//' ${D}/etc/pacman.conf

	# add mirror configuration
	cat >>${D}/etc/pacman.conf <<EOF
[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist
EOF
}

pkg_postinst() {
	einfo "Please see http://ohnopub.net/~ohnobinki/gentoo/arch/ for information"
	einfo "about setting up an archlinux chroot."
}