summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/cvm/cvm-0.97-r2.ebuild')
-rw-r--r--net-libs/cvm/cvm-0.97-r2.ebuild123
1 files changed, 123 insertions, 0 deletions
diff --git a/net-libs/cvm/cvm-0.97-r2.ebuild b/net-libs/cvm/cvm-0.97-r2.ebuild
new file mode 100644
index 000000000000..09087fabb5d8
--- /dev/null
+++ b/net-libs/cvm/cvm-0.97-r2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2022 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
+}