diff options
Diffstat (limited to 'net-libs/cvm/cvm-0.97-r1.ebuild')
-rw-r--r-- | net-libs/cvm/cvm-0.97-r1.ebuild | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/net-libs/cvm/cvm-0.97-r1.ebuild b/net-libs/cvm/cvm-0.97-r1.ebuild new file mode 100644 index 000000000000..4f0ebc583cec --- /dev/null +++ b/net-libs/cvm/cvm-0.97-r1.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Credential Validation Modules by Bruce Guenter" +HOMEPAGE="http://untroubled.org/cvm/" +SRC_URI="http://untroubled.org/cvm/archive/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ppc sparc x86" +IUSE="mysql postgres test vpopmail" +RESTRICT="!test? ( test )" + +RDEPEND="dev-db/cdb:= + >=dev-libs/bglibs-2.04:0= + virtual/libcrypt:= + mysql? ( dev-db/mysql-connector-c:0= ) + postgres? ( dev-db/postgresql[server] ) + vpopmail? ( net-mail/vpopmail )" +DEPEND="${RDEPEND} + test? ( + app-editors/vim + dev-db/sqlite + )" +# some of the testcases use +# - ex/vi/xxd +# - cdbmake +# - sqlite + +PATCHES=( "${FILESDIR}"/${PN}-0.96-fix-test-padding.patch ) + +src_prepare() { + default + # disable this test, as it breaks under Portage + # and there is no easy fix + sed -i.orig \ + -e '/qmail-lookup-nodomain/,/^END_OF_TEST_RESULTS/d' \ + tests.sh || die "sed failed" + # Fix the vpopmail build + sed -i.orig \ + -e '/.\/ltload cvm-vchkpw/s,-lmysqlclient,,g' \ + -e '/.\/ltload cvm-vchkpw/s,-L/usr/local/vpopmail/lib,,g' \ + -e '/.\/ltload cvm-vchkpw/s,-L/var/vpopmail/lib,,g' \ + -e '/.\/ltload cvm-vchkpw/s,-L/usr/local/lib/mysql,,g' \ + -e '/.\/ltload cvm-vchkpw/s,\.la,.la `cat /var/vpopmail/etc/lib_deps`,g' \ + Makefile \ + || die "Failed to fix vpopmail linking parts of Makefile" + sed -i.orig \ + -e '/.\/compile cvm-vchkpw/s,$, `cat /var/vpopmail/etc/inc_deps`,g' \ + Makefile \ + || die "Failed to fix vpopmail compiling parts of Makefile" + sed -i '/\-rpath/s|conf\-lib|conf\-rpath|' Makefile || die +} + +src_configure() { + echo "${ED}/usr/include" > conf-include || die + echo "${ED}/usr/$(get_libdir)" > conf-lib || die + echo "${ED}/usr/bin" > conf-bin || die + echo "${EPREFIX}/usr/$(get_libdir)" > conf-rpath || die + echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die + echo "$(tc-getCC) ${LDFLAGS} -L${EPREFIX}/usr/$(get_libdir)/bglibs -lcrypt" > conf-ld || die +} + +src_compile() { + emake -j1 + + if use mysql; then + einfo "Building MySQL support" + emake mysql + fi + + if use postgres; then + einfo "Building Postgresql support" + emake pgsql + fi + + if use vpopmail; then + einfo "Building vpopmail support" + emake cvm-vchkpw + fi +} + +src_test() { + # bug 624384 + # the test suite tests stuff that isn't potentially enabled + emake -j1 sqlite + sh tests.sh || die "Testing Failed" +} + +src_install() { + # Upstreams installer is incredibly broken + dolib.a .libs/*.a + dolib.so .libs/*.so* + + local i + for i in a so; do + dosym libcvm-v2client.${i} /usr/$(get_libdir)/libcvm-client.${i} + done + + for i in {bench,test}client chain checkpassword pwfile qmail unix \ + vmailmgr{,-local,-udp} v1{benchclient,checkpassword,testclient} \ + ; do + dobin .libs/cvm-${i} + done + use mysql && dobin .libs/cvm-mysql{,-local,-udp} + use postgres && dobin .libs/cvm-pgsql{,-local,-udp} + use vpopmail && dobin .libs/cvm-vchkpw + + insinto /usr/include/cvm + doins {credentials,errors,facts,module,protocol,sasl,v1client,v2client}.h + dosym v1client.h /usr/include/cvm/client.h + dosym cvm/sasl.h /usr/include/cvm-sasl.h + + dodoc ANNOUNCEMENT NEWS{,.sql,.vmailmgr} + dodoc README{,.vchkpw,.vmailmgr} + dodoc TODO VERSION ChangeLog* + docinto html + dodoc *.html +} |