You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
3.1 KiB
124 lines
3.1 KiB
# Copyright 1999-2019 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-1.041:="
|
|
DEPEND="${RDEPEND}
|
|
mysql? ( dev-db/mysql-connector-c:0= )
|
|
postgres? ( dev-db/postgresql[server] )
|
|
vpopmail? ( net-mail/vpopmail )
|
|
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' \
|
|
"${S}"/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' \
|
|
"${S}"/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' \
|
|
"${S}"/Makefile \
|
|
|| die "Failed to fix vpopmail compiling parts of Makefile"
|
|
}
|
|
|
|
src_configure() {
|
|
echo "/usr/include/bglibs" > conf-bgincs || die
|
|
echo "/usr/$(get_libdir)/bglibs" > conf-bglibs || die
|
|
echo "/usr/include" > conf-include || die
|
|
echo "/usr/$(get_libdir)" > conf-lib || die
|
|
echo "/usr/bin" > conf-bin || die
|
|
echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die
|
|
echo "$(tc-getCC) ${LDFLAGS} -lcrypt" > conf-ld || die
|
|
}
|
|
|
|
src_compile() {
|
|
emake -j1
|
|
|
|
if use mysql; then
|
|
einfo "Building MySQL support"
|
|
emake -j1 mysql
|
|
fi
|
|
|
|
if use postgres; then
|
|
einfo "Building Postgresql support"
|
|
emake -j1 pgsql
|
|
fi
|
|
|
|
if use vpopmail; then
|
|
einfo "Building vpopmail support"
|
|
emake -j1 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
|
|
}
|