summaryrefslogtreecommitdiff
blob: f200a794a7aa12fcf82ed5c457de1c97e1ea3360 (plain)
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/mit-krb5/mit-krb5-1.4.3-r1.ebuild,v 1.16 2006/08/06 16:22:46 vapier Exp $

inherit eutils flag-o-matic versionator autotools

MY_P=${P/mit-}
P_DIR=$(get_version_component_range 1-2)
S=${WORKDIR}/${MY_P}/src
DESCRIPTION="MIT Kerberos V"
HOMEPAGE="http://web.mit.edu/kerberos/www/"
SRC_URI="http://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}-signed.tar"

LICENSE="as-is"
SLOT="0"
KEYWORDS="~alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
IUSE="krb4 static tcl ipv6 doc tetex berkdb"

RDEPEND="virtual/libc
	!virtual/krb5"

DEPEND="${RDEPEND}
	sys-libs/com_err
	sys-libs/ss
	sys-devel/autoconf
	tcl? ( dev-lang/tcl )
	berkdb? ( >=sys-libs/db-4 )
	doc? ( tetex? ( virtual/tetex ) )"

PROVIDE="virtual/krb5"

src_unpack() {
	unpack ${MY_P}-signed.tar; tar zxf ${MY_P}.tar.gz; cd ${S}
	epatch ${FILESDIR}/${PN}-lazyldflags.patch
	epatch ${FILESDIR}/${PN}-robustgnu.patch
	epatch ${FILESDIR}/${PN}-pthreads.patch
	epatch ${FILESDIR}/${PN}-setupterm.patch
	ebegin "Reconfiguring configure scripts (be patient)"
	cd ${S}/appl/telnet
	autoreconf --force -I ${S}
	sed -i 's/^# \(@lib\(obj\)\?_frag@\)/\1/' libtelnet/Makefile.in
	eend $?
}

src_compile() {
	if use berkdb ; then
		export DB_HEADER="/usr/include/db_185.h"
		export DB_LIB="/usr/$(get_libdir)/libdb.so"
	fi

	econf \
		$(use_with krb4) \
		$(use_with tcl) \
		$(use_enable ipv6) \
		$(use_enable static) \
		$(use_with berkdb system-db) \
		--localstatedir=/etc \
		--enable-shared \
		--with-system-et --with-system-ss \
		--enable-dns-for-realm || die

	emake -j1 || die

	if use doc ; then
		cd ../doc
		rm man2html && ln -sf ${ROOT}/usr/bin/man2html

		make || die

		if use tetex ; then
			cd api
			make || die
		fi
	fi
}

src_test() {
	einfo "Testing is being debugged, disabled for now"
}

src_install() {
	make \
		DESTDIR=${D} \
		EXAMPLEDIR=/usr/share/doc/${PF}/examples \
		install || die

	make \
		DESTDIR=${D} \
		install-headers || die

	cd ..
	dodoc README
	doinfo doc/*.texinfo

	if use doc
	then
		dohtml -r doc
		use tetex \
			&& dodoc doc/api/*.{tex,sty} \
			|| dodoc doc/api/*.ps

	fi

	for i in {telnetd,ftpd}
	do
		mv ${D}/usr/share/man/man8/${i}.8 ${D}/usr/share/man/man8/k${i}.8
		mv ${D}/usr/sbin/${i} ${D}/usr/sbin/k${i}
	done

	for i in {rcp,rsh,telnet,ftp}
	do
		mv ${D}/usr/share/man/man1/${i}.1 ${D}/usr/share/man/man1/k${i}.1
		mv ${D}/usr/bin/${i} ${D}/usr/bin/k${i}
	done





	newinitd ${FILESDIR}/mit-krb5kadmind.initd mit-krb5kadmind
	newinitd ${FILESDIR}/mit-krb5kdc.initd mit-krb5kdc

	insinto /etc
	newins ${FILESDIR}/krb5.conf krb5.conf.example
	newins ${FILESDIR}/kdc.conf kdc.conf.example
}

pkg_postinst() {

	if use doc
	then
		einfo "See /usr/share/doc/${PF}/html/admin.html for documentation."
		echo ""
	fi
	echo ""
	ewarn "PLEASE READ THIS"
	ewarn "This release of mit-krb5 now depends on an external version"
	ewarn "of the com_err library.  Please make sure to run revdep-rebuild"
	ewarn "to ensure the integrity of the linking on your system"
	echo ""
	epause 10
	ebeep

}