112 lines
3.2 KiB
Bash
112 lines
3.2 KiB
Bash
# Copyright 1999-2013 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/sys-libs/nss-db/nss-db-2.2.3_pre1-r3.ebuild,v 1.4 2013/02/24 21:15:34 ottxor Exp $
|
|
|
|
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
|
|
|
|
exeinto /usr/sbin
|
|
doexe "${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
|
|
}
|