diff options
Diffstat (limited to 'dev-libs/mozldap/mozldap-6.0.7.ebuild')
-rw-r--r-- | dev-libs/mozldap/mozldap-6.0.7.ebuild | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/dev-libs/mozldap/mozldap-6.0.7.ebuild b/dev-libs/mozldap/mozldap-6.0.7.ebuild new file mode 100644 index 000000000000..33b8a2623395 --- /dev/null +++ b/dev-libs/mozldap/mozldap-6.0.7.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +WANT_AUTOCONF="2.1" + +inherit eutils multilib versionator autotools + +DESCRIPTION="Mozilla LDAP C SDK" +HOMEPAGE="http://wiki.mozilla.org/LDAP_C_SDK" +SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/releases/v${PV}/src/${P}.tar.gz" + +LICENSE="MPL-1.1 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ipv6 debug +sasl" + +COMMON_DEPEND=">=dev-libs/nss-3.11.4 + >=dev-libs/nspr-4.0.1 + >=dev-libs/svrcore-4.0.0 + sasl? ( dev-libs/cyrus-sasl )" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" +RDEPEND="${COMMON_DEPEND}" + +S="${WORKDIR}/${P}/c-sdk" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-6.0.4-pkgconfig.patch + epatch "${FILESDIR}"/${P}-configure.in.patch + epatch "${FILESDIR}"/nss-m4.patch + epatch "${FILESDIR}"/nspr-m4.patch + epatch "${FILESDIR}"/${PN}-6.0.6-ldflags.patch + eautoreconf +} + +src_configure() { + local myconf="--libdir=/usr/$(get_libdir)/mozldap" + econf $(use_enable debug) \ + $(use_enable ipv6) \ + $(use_enable amd64 64bit) \ + $(use_with sasl) \ + --with-svrcore-inc=/usr/include/svrcore \ + --with-svrcore-lib=/usr/$(get_libdir)/svrcore \ + --enable-clu \ + --enable-optimize \ + ${myconf} || die "econf failed" +} + +src_install () { + # Their build system is royally fucked, as usual + sed -e "s,%libdir%,\$\{exec_prefix\}/$(get_libdir)/${PN},g" \ + -e "s,%prefix%,/usr,g" \ + -e "s,%major%,$(get_major_version ${PV}),g" \ + -e "s,%minor%,$(get_version_component_range 2 ${PV}),g" \ + -e "s,%submin%,$(get_version_component_range 3 ${PV}),g" \ + -e "s,%libsuffix%,$(get_major_version ${PV})$(get_version_component_range 2 ${PV}),g" \ + -e "s,%bindir%,\$\{exec_prefix\}/$(get_libdir)/${PN},g" \ + -e "s,%exec_prefix%,\$\{prefix\},g" \ + -e "s,%includedir%,\$\{exec_prefix\}/include/${PN},g" \ + -e "s,%NSPR_VERSION%,$(pkg-config --modversion nspr),g" \ + -e "s,%NSS_VERSION%,$(pkg-config --modversion nss),g" \ + -e "s,%SVRCORE_VERSION%,$(pkg-config --modversion svrcore),g" \ + -e "s,%MOZLDAP_VERSION%,${PV},g" \ + "${S}"/"${PN}".pc.in > "${S}"/"${PN}".pc || die "sed in install failed" + + emake install || die "make failed" + local MY_S="${WORKDIR}"/dist/ + + rm -rf "${MY_S}/bin/"lib*.so + rm -rf "${MY_S}/public/ldap-private" + + exeinto /usr/$(get_libdir)/mozldap + doexe "${MY_S}"/lib/*so* + doexe "${MY_S}"/lib/*.a + doexe "${MY_S}"/bin/* + + #create compatibility PATH link + + for i in ldapcmp ldapcompare ldapdelete ldapmodify \ + ldappasswd ldapsearch;do + dosym /usr/$(get_libdir)/mozldap/$i /usr/bin/moz"${i}" || die + # compat for 389-project + dosym /usr/$(get_libdir)/mozldap/$i /usr/bin/389-"${i}" || die + done + + # move the headers around + insinto /usr/include/mozldap + doins "${MY_S}/public/ldap/"*.h + + # add sample config + insinto /usr/share/mozldap + doins "${MY_S}"/etc/*.conf + + #and while at it move them to files with versions-ending + #and link them back :) + cd "${D}"/usr/$(get_libdir)/mozldap + + #create compatibility Link + ln -sf libldap$(get_major_version ${PV})$(get_version_component_range 2 ${PV}).so \ + liblber$(get_major_version ${PV})$(get_version_component_range 2 ${PV}).so || die + #so lets move + for file in *.so; do + mv ${file} ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) || die + ln -sf ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) ${file} || die + ln -sf ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) \ + ${file}.$(get_major_version ${PV}) || die + done + + # cope with libraries being in /usr/lib/mozldap + dodir /etc/env.d + echo "LDPATH=/usr/$(get_libdir)/mozldap" > "${D}"/etc/env.d/08mozldap + + # create pkg-config file + insinto /usr/$(get_libdir)/pkgconfig/ + doins "${S}"/mozldap.pc +} |