blob: d233167554424937947c131bca2b11f2cfca41ad (
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
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/mDNSResponder/mDNSResponder-212.1-r1.ebuild,v 1.2 2010/08/13 14:09:40 hwoarang Exp $
EAPI="2"
inherit eutils base toolchain-funcs flag-o-matic java-pkg-opt-2
DESCRIPTION="A component of Bonjour, Apple's initiative for zero-configuration networking."
HOMEPAGE="http://developer.apple.com/networking/bonjour/index.html"
#SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/${P}.tar.gz"
SRC_URI="http://www.opensource.apple.com/tarballs/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0 BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
IUSE="debug doc"
DEPEND="!net-dns/avahi
java? ( >=virtual/jdk-1.4 )"
RDEPEND="!net-dns/avahi
java? ( >=virtual/jre-1.4 )"
#PATCHES=( "${FILESDIR}/mDNSResponder-107.6-Makefiles.diff"
PATCHES=( "${FILESDIR}/mDNSResponder-107.6-java.patch" )
pkg_setup() {
if use elibc_FreeBSD; then
os=freebsd
else
os=linux
fi
java-pkg-opt-2_pkg_setup
}
src_prepare() {
java-pkg-opt-2_src_prepare
base_src_prepare
#Respect CFLAGS,LDFLAGS everywhere
sed -i "/\$(CFLAGS_DEBUG)$/s: = : & ${CFLAGS} ${LDFLAGS} :" "${S}"/mDNSPosix/Makefile
sed -i "s:cc:& ${CFLAGS} ${LDFLAGS} :" "${S}"/Clients/Makefile
}
mdnsmake() {
local debug jdk
use java && jdk="JDK=$(java-config -O)"
if use debug; then
debug='DEBUG=1'
sed -e 's|LIBS = -L../mDNSPosix/build/prod/ -ldns_sd|LIBS = -L../mDNSPosix/build/debug/ -ldns_sd|g' ../Clients/Makefile || die "sed failed"
fi
einfo "Running emake " os="${os}" CC="$(tc-getCC)" LD="$(tc-getCC) -shared" \
${jdk} ${debug} LINKOPTS="${LDFLAGS}" \
LOCALBASE="/usr" JAVACFLAGS="${JAVACFLAGS}" "$@"
emake -j1 os="${os}" CC="$(tc-getCC)" LD="$(tc-getCC) -shared" \
${jdk} ${debug} LINKOPTS="${LDFLAGS}" \
LOCALBASE="/usr" JAVACFLAGS="${JAVACFLAGS}" "$@"
}
src_compile() {
cd "${S}"/mDNSPosix
mdnsmake || die "make failed"
if use java; then
mdnsmake Java || die "make mDNSPosix java failed"
if use doc ; then
mdnsmake JavaDoc || die "make mDNSPosix java doc failed"
fi
fi
}
src_install() {
cd "${S}"/mDNSPosix
dodir /usr/sbin
dodir /usr/lib
dodir /usr/include
dodir /lib
dodir /etc
dodir /usr/share/man/man5
dodir /usr/share/man/man8
local debug
local objdir="prod"
if use debug; then
debug="DEBUG=1"
objdir=debug
fi
dosbin "${S}"/mDNSPosix/build/${objdir}/dnsextd
dosbin "${S}"/mDNSPosix/build/${objdir}/mDNSResponderPosix
dosbin "${S}"/mDNSPosix/build/${objdir}/mDNSNetMonitor
dosbin "${S}"/mDNSPosix/build/${objdir}/mdnsd
dobin "${S}"/Clients/build/dns-sd
dobin "${S}"/mDNSPosix/build/${objdir}/mDNSProxyResponderPosix
dobin "${S}"/mDNSPosix/build/${objdir}/mDNSIdentify
dobin "${S}"/mDNSPosix/build/${objdir}/mDNSClientPosix
dolib "${S}"/mDNSPosix/build/${objdir}/libdns_sd.so
dolib "${S}"/mDNSPosix/build/${objdir}/libnss_mdns-0.2.so
dosym libdns_sd.so /usr/$(get_libdir)/libdns_sd.so.1
dosym libnss_mdns-0.2.so /usr/$(get_libdir)/libnss_mdns.so.2
newinitd "${FILESDIR}"/mdnsd.init.d mdnsd
newinitd "${FILESDIR}"/mDNSResponderPosix.init.d mDNSResponderPosix
newconfd "${FILESDIR}"/mDNSResponderPosix.conf.d mDNSResponderPosix
newinitd "${FILESDIR}"/dnsextd.init.d dnsextd
newconfd "${FILESDIR}"/dnsextd.conf.d dnsextd
insinto /etc
doins "${FILESDIR}"/mDNSResponderPosix.conf
insinto /usr/include
doins "${S}"/mDNSShared/dns_sd.h
dodoc "${S}"/README.txt
if use java; then
java-pkg_dojar "${S}"/mDNSPosix/build/${objdir}/dns_sd.jar
java-pkg_doso "${S}"/mDNSPosix/build/${objdir}/libjdns_sd.so
use doc && java-pkg_dojavadoc "${S}"/mDNSPosix/build/${objdir}
fi
}
pkg_postinst() {
echo
elog "To enable multicast dns lookups for applications"
elog "that are not multicast dns aware, edit the 'hosts:'"
elog "line in /etc/nsswitch.conf to include 'mdns', e.g.:"
elog "hosts: files mdns dns"
echo
}
|