summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/rpm5/rpm5-5.3.5.ebuild')
-rw-r--r--app-arch/rpm5/rpm5-5.3.5.ebuild216
1 files changed, 216 insertions, 0 deletions
diff --git a/app-arch/rpm5/rpm5-5.3.5.ebuild b/app-arch/rpm5/rpm5-5.3.5.ebuild
new file mode 100644
index 000000000000..13fa73e8b2b8
--- /dev/null
+++ b/app-arch/rpm5/rpm5-5.3.5.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm5/rpm5-5.3.5.ebuild,v 1.1 2012/07/26 08:02:37 scarabeus Exp $
+
+EAPI=4
+
+PYTHON_DEPEND="2"
+
+MY_PN="rpm"
+MY_P="${MY_PN}-${PV}"
+
+inherit eutils multilib python user versionator
+
+DESCRIPTION="RPM Package Manager"
+HOMEPAGE="http://rpm5.org/"
+SRC_URI="http://rpm5.org/files/${MY_PN}/${MY_PN}-$(get_version_component_range 1-2)/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="acl augeas berkdb +bzip2 crypt debug expat gnutls keyutils lua lzma nls nss openssl pcre perl pkcs11 readline ruby selinux sqlite ssl tcl uuid webdav-neon xar xattr +zlib"
+
+RDEPEND="!app-arch/rpm
+ dev-libs/beecrypt
+ dev-libs/popt
+ sys-apps/file
+ acl? ( sys-apps/acl )
+ augeas? ( app-admin/augeas )
+ berkdb? ( sys-libs/db )
+ bzip2? ( app-arch/bzip2 )
+ crypt? ( dev-libs/libgcrypt )
+ expat? ( dev-libs/expat )
+ keyutils? ( sys-apps/keyutils )
+ lua? ( dev-lang/lua )
+ lzma? ( app-arch/xz-utils )
+ pcre? ( dev-libs/libpcre )
+ perl? ( dev-lang/perl )
+ pkcs11? ( dev-libs/pakchois )
+ readline? ( sys-libs/readline:0 )
+ ruby? ( >=dev-lang/ruby-1.9 )
+ selinux? (
+ sys-libs/libselinux
+ sys-libs/libsemanage
+ sys-libs/libsepol
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? (
+ nss? ( dev-libs/nss )
+ openssl? ( dev-libs/openssl )
+ gnutls? (
+ dev-libs/libtasn1
+ net-libs/gnutls
+ )
+ )
+ tcl? ( dev-lang/tcl )
+ uuid? ( dev-libs/ossp-uuid )
+ webdav-neon? ( net-libs/neon )
+ xar? ( app-arch/xar )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ virtual/yacc
+ nls? ( sys-devel/gettext )
+"
+
+REQUIRED_USE="
+ ssl? (
+ ^^ (
+ gnutls
+ nss
+ openssl
+ )
+ )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup () {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_configure() {
+ local myconf=""
+
+ # default internal/external switches
+ # crypto default is beecrypt, user can change this on runtime
+ # and we build beecrypt every time
+ # tomcrypt is not in portage
+ # cudf is not in portage
+ # users usually do not want to use debug malloc
+ myconf+="
+ --with-usecrypto=beecrypt
+ --with-beecrypt=external
+ --with-file=external
+ --with-popt=external
+ --without-tomcrypt
+ --without-cudf
+ --without-dmalloc
+ "
+
+ # ssl handling
+ # tasn1 is handled in most portage packages with gnutls, do the same
+ if use ssl; then
+ myconf+="
+ $(use_with gnutls)
+ $(use_with gnutls libtasn1)
+ $(use_with nss)
+ $(use_with openssl)
+ "
+ else
+ myconf+="
+ --without-gnutls
+ --without-libtasn1
+ --without-nss
+ --without-openssl
+ "
+ fi
+
+ # enable db if we use berkdb or sqlite
+ if use berkdb || use sqlite; then
+ myconf+="
+ --with-dbsql=external
+ "
+ else
+ myconf+="
+ --without-dbsql
+ "
+ fi
+
+ # for berkdb enable the options if possible
+ if use berkdb; then
+ myconf+="
+ --with-db-largefile
+ --with-db-rpc
+ "
+ fi
+
+ # we need python by default anyway so always --with-python
+ econf \
+ --disable-rpath \
+ --disable-dependency-tracking \
+ --enable-build-pic \
+ --enable-build-pie \
+ --enable-largefile \
+ --with-python \
+ --without-pythonembed \
+ --with-python-lib-dir="${EPREFIX}$(python_get_libdir)" \
+ --with-python-inc-dir="${EPREFIX}$(python_get_includedir)" \
+ $(use_enable nls) \
+ $(use_enable debug build-debug) \
+ $(use_with acl) \
+ $(use_with augeas) \
+ $(use_with berkdb db) \
+ $(use_with bzip2) \
+ $(use_with crypt gcrypt) \
+ $(use_with expat) \
+ $(use_with keyutils) \
+ $(use_with lua lua external) \
+ $(use_with lzma xz external) \
+ $(use_with pcre pcre external) \
+ $(use_with perl) \
+ $(use_with pkcs11 pakchois) \
+ $(use_with readline) \
+ $(use_with selinux) \
+ $(use_with selinux semanage) \
+ $(use_with selinux sepol) \
+ $(use_with sqlite) \
+ $(use_with tcl) \
+ $(use_with uuid) \
+ $(use_with webdav-neon neon external) \
+ $(use_with xar xar external) \
+ $(use_with xattr attr) \
+ $(use_with zlib) \
+ ${myconf}
+
+ # TODO: see files/remaining-5.3.5.txt
+ ewarn "This package is far from complete"
+ ewarn "If you want to test it please see \"${FILESDIR}/remaining-5.3.5.txt\""
+ ewarn "and implement missing features."
+ ewarn "Do NOT report bugs without providing patches!"
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALLDIRS=vendor install || die "emake install failed"
+ dodoc CHANGES CREDITS NEWS README TODO
+}
+
+pkg_preinst() {
+ enewgroup rpm 37
+ enewuser rpm 37 /bin/sh /var/lib/rpm rpm
+}
+
+pkg_postinst() {
+ chown -R rpm:rpm "${EROOT}"/usr/$(get_libdir)/rpm
+ chown -R rpm:rpm "${EROOT}"/var/lib/rpm
+ chown rpm:rpm "${EROOT}"/usr/bin/rpm{,2cpio,build,constant}
+ if [[ ${EROOT} == "/" ]] ; then
+ if [[ -f ${EROOT}/var/lib/rpm/Packages ]] ; then
+ einfo "RPM database found... Rebuilding database (may take a while)..."
+ "${EROOT}"/usr/bin/rpm --rebuilddb --root="${ROOT}"
+ else
+ einfo "No RPM database found... Creating database..."
+ "${EROOT}"/usr/bin/rpm --initdb --root="${ROOT}"
+ fi
+ fi
+ chown rpm:rpm "${EROOT}"/var/lib/rpm/*
+
+ python_mod_optimize rpm
+}
+
+pkg_postrm() {
+ python_mod_cleanup rpm
+}