diff options
Diffstat (limited to 'sys-libs/nss-db/nss-db-2.2.3_pre1-r3.ebuild')
-rw-r--r-- | sys-libs/nss-db/nss-db-2.2.3_pre1-r3.ebuild | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/sys-libs/nss-db/nss-db-2.2.3_pre1-r3.ebuild b/sys-libs/nss-db/nss-db-2.2.3_pre1-r3.ebuild new file mode 100644 index 000000000000..69d8766567f6 --- /dev/null +++ b/sys-libs/nss-db/nss-db-2.2.3_pre1-r3.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils versionator multilib autotools + +MY_PN="${PN/-/_}" +MY_PV="${PV/_}" +MY_P="${MY_PN}-${MY_PV}" + +DESCRIPTION="Allows important system files to be stored in a fast database file rather than plain text" +HOMEPAGE="http://sources.redhat.com/glibc/" +SRC_URI="ftp://sources.redhat.com/pub/glibc/old-releases/${MY_P}.tar.gz + mirror://gentoo/${MY_P}-external.patch.bz2 + mirror://gentoo/${MY_P}-dbupgrade.patch.bz2 + mirror://gentoo/${MY_P}-dbopen.patch.bz2" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="nls" + +# awk and make ARE needed at runtime! +# and this didn't compile on BSD libc either +RDEPEND=">=sys-libs/db-4 + sys-devel/make + >=sys-libs/glibc-2.3 + !>=sys-libs/glibc-2.15" +# We really do need gettext to compile always :-( +DEPEND="${RDEPEND} + sys-devel/gettext" + +S="${WORKDIR}/${MY_P}" + +db_getver() { + local DBPKG + DBPKG="$(best_version '>=sys-libs/db-4')" + echo "${DBPKG//sys-libs\/db-}" +} + +db_getversym() { + local DBVER DBSYMSUFFIX + [ -n "${1}" ] && DBVER="${1}" || DBVER="$(db_getver)" + DBVER=($(get_version_components "${DBVER}")) + if has_version '>=sys-libs/db-4.3'; then + DBSYMSUFFIX="" + else + let DBSYMSUFFIX=(${DBVER[0]}*1000)+${DBVER[1]} + DBSYMSUFFIX=_${DBSYMSUFFIX} + fi + echo "${DBSYMSUFFIX}" +} + +src_unpack() { + unpack ${MY_P}.tar.gz + EPATCH_OPTS="-p1 -d ${S}" epatch ${DISTDIR}/${MY_P}-external.patch.bz2 + EPATCH_OPTS="-p0 -d ${S}" epatch ${DISTDIR}/${MY_P}-dbupgrade.patch.bz2 + EPATCH_OPTS="-p1 -d ${S}" epatch ${DISTDIR}/${MY_P}-dbopen.patch.bz2 + EPATCH_OPTS="-p1 -d ${S}" epatch ${FILESDIR}/${P}-root-upgrade-only.patch + + # make sure we use the correct version of DB + cd "${S}" + DB_PV="$(db_getver)" + DB_SYM="$(db_getversym ${DB_PV})" + DB_PV_MAJORMINOR="$(get_version_component_range 1-2 ${DB_PV})" + sed -i configure.in \ + -e "s!db.h!db${DB_PV_MAJORMINOR}/db.h!g" \ + -e "s!db, db_version!db-${DB_PV_MAJORMINOR}, db_version${DB_SYM}!g" + + # fix ancient broken-ness + for f in po/Makefile.in.in ./intl/Makefile.in; do + egrep -q '^mkinstalldirs = .*case.*esac' ${f} && \ + sed -i ${f} \ + -e '/^mkinstalldirs = /s,\(mkinstalldirs =\).*,\1 $(top_builddir)/./mkinstalldirs,' + done + + # Fixes thanks to Flameeyes + # missing + cp /usr/share/gettext/config.rpath . + sed -i -e '/makedb_LDADD/i makedb_CFLAGS=$(AM_CFLAGS)' src/Makefile.am + sed -i -e '/AC_PROG_CC/a AC_PROG_CC_C_O' configure.in + eautoreconf + + # This is an evil target and we don't like it + sed -i -e '/^install-data-am:.*install-data-local/s,install-data-local,,g' "${S}"/src/Makefile.in +} + +src_compile() { + econf -C --libdir=/$(get_libdir) `use_enable nls` || die + emake || die +} + +src_install() { + emake -j1 DESTDIR="${D}" slibdir="/$(get_libdir)" install || \ + die "failed emake install" + + into /usr + insinto /usr/share/${PN} + doins db-Makefile + + dosbin "${FILESDIR}"/remake-all-db + + dodoc AUTHORS COPYING* ChangeLog INSTALL NEWS README THANKS + + dodir /usr/$(get_libdir)/ + mv "${D}"/$(get_libdir)/*.la "${D}"/usr/$(get_libdir)/ || \ + die "failed to set up .la" + + insinto /etc/sandbox.d/ + newins "${FILESDIR}"/sandbox.d_50nss-db 50nss-db +} |