1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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
}
|