# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.6-r4.ebuild,v 1.1 2007/02/12 19:44:53 sanchan Exp $ inherit eutils autotools distutils perl-module flag-o-matic DESCRIPTION="Red Hat Package Management Utils" HOMEPAGE="http://www.rpm.org/" SRC_URI="http://wraptastic.org/pub/rpm-4.4.x/${P}.tar.gz" LICENSE="GPL-2 LGPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" IUSE="nls python perl doc sqlite" RDEPEND="=sys-libs/db-3.2* >=sys-libs/zlib-1.1.3 >=app-arch/bzip2-1.0.1 >=dev-libs/popt-1.7 >=app-crypt/gnupg-1.2 dev-libs/elfutils virtual/libintl >=dev-libs/beecrypt-3.1.0-r1 python? ( >=dev-lang/python-2.2 ) perl? ( >=dev-lang/perl-5.8.8 ) nls? ( virtual/libintl ) sqlite? ( >=dev-db/sqlite-3.3.5 ) net-misc/neon" DEPEND="${RDEPEND} nls? ( sys-devel/gettext ) doc? ( app-doc/doxygen )" src_unpack() { unpack ${A} cd "${S}" epatch "${FILESDIR}"/${P}-with-sqlite.patch epatch "${FILESDIR}"/${P}-stupidness.patch epatch "${FILESDIR}"/${P}-autotools.patch epatch "${FILESDIR}"/${P}-buffer-overflow.patch epatch "${FILESDIR}"/${P}-qa-fix-undefined.patch # rpm uses AM_GNU_GETTEXT() but fails to actually # include any of the required gettext files cp /usr/share/gettext/config.rpath . || die # the following are additional libraries that might be packaged with # the rpm sources. grep for "test -d" in configure.ac cp file/src/{file,patchlevel}.h tools/ rm -rf beecrypt elfutils neon popt sqlite zlib intl file sed -i -e "s:intl ::" Makefile.am sed -i -e "s:intl/Makefile ::" configure.ac AT_NO_RECURSIVE="yes" eautoreconf # TODO Get rid of internal copies of lua, db and db3 } src_compile() { # Until strict aliasing is porperly fixed... filter-flags -fstrict-aliasing append-flags -fno-strict-aliasing python_version econf \ --enable-posixmutexes \ --without-javaglue \ --without-selinux \ $(use_with python python ${PYVER}) \ $(use_with doc apidocs) \ $(use_with perl) \ $(use_with sqlite) \ $(use_enable nls) \ || die "econf failed" emake || die "emake failed" } src_install() { emake DESTDIR="${D}" install || die "emake install failed" mv "${D}"/bin/rpm "${D}"/usr/bin rmdir "${D}"/bin use nls || rm -rf "${D}"/usr/share/man/?? keepdir /usr/src/rpm/{SRPMS,SPECS,SOURCES,RPMS,BUILD} dodoc CHANGES CREDITS GROUPS README* RPM* use doc && dohtml -r apidocs/html/* # Fix perllocal.pod file collision use perl && fixlocalpod for magic_file in "magic.mime.mgc" "magic.mgc" "magic.mime" "magic"; do dosym /usr/share/misc/file/${magic_file} /usr/lib/rpm/${magic_file} done } pkg_postinst() { if [[ -f ${ROOT}/var/lib/rpm/Packages ]] ; then einfo "RPM database found... Rebuilding database (may take a while)..." "${ROOT}"/usr/bin/rpm --rebuilddb --root=${ROOT} else einfo "No RPM database found... Creating database..." "${ROOT}"/usr/bin/rpm --initdb --root=${ROOT} fi distutils_pkg_postinst }