dev-perl/Crypt-OpenSSL-DSA: x86 stable wrt bug #622992
[gentoo.git] / sys-freebsd / freebsd-pf / freebsd-pf-9.1.ebuild
1 # Copyright 1999-2013 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 inherit bsdmk freebsd user
5
6 DESCRIPTION="FreeBSD's base system libraries"
7 SLOT="0"
8 KEYWORDS="~amd64-fbsd ~x86-fbsd"
9
10 IUSE=""
11
12 # Crypto is needed to have an internal OpenSSL header
13 SRC_URI="mirror://gentoo/${USBIN}.tar.bz2
14                 mirror://gentoo/${SBIN}.tar.bz2
15                 mirror://gentoo/${CONTRIB}.tar.bz2
16                 mirror://gentoo/${ETC}.tar.bz2"
17
18 RDEPEND="net-libs/libpcap"
19 DEPEND="${RDEPEND}
20         dev-libs/libevent
21         =sys-freebsd/freebsd-mk-defs-${RV}*
22         =sys-freebsd/freebsd-sources-${RV}*"
23
24 S="${WORKDIR}"
25
26 SUBDIRS="usr.sbin/authpf sbin/pfctl sbin/pflogd usr.sbin/ftp-proxy/ftp-proxy"
27
28 pkg_setup() {
29         enewgroup authpf 63
30         mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= "
31 }
32
33 src_unpack() {
34         freebsd_src_unpack
35         # pcap-int.h redefines snprintf as pcap_snprintf
36         epatch "${FILESDIR}/${PN}-9.0-pcap_pollution.patch"
37         # Use system's libevent
38         epatch "${FILESDIR}/${PN}-9.0-libevent.patch"
39         epatch "${FILESDIR}/${PN}-9.0-pflogd.patch"
40         epatch "${FILESDIR}/${PN}-9.0-bpf.patch"
41         epatch "${FILESDIR}/${PN}-9.0-getline.patch"
42         # Link in kernel sources
43         ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys"
44 }
45
46 src_compile() {
47         for dir in ${SUBDIRS}; do
48                 einfo "Starting make in ${dir}"
49                 cd "${S}/${dir}"
50                 mkmake || die "Make ${dir} failed"
51         done
52 }
53
54 src_install() {
55         for dir in ${SUBDIRS}; do
56                 einfo "Starting install in ${dir}"
57                 cd "${S}/${dir}"
58                 mkinstall || die "Install ${dir} failed"
59         done
60
61         cd "${WORKDIR}"/etc
62         insinto /etc
63         doins pf.os
64         # pf.initd provided by openrc, but no pf.confd
65         newconfd "${FILESDIR}/pf.confd" pf
66 }