summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuta Satoh <nigoro.dev@gmail.com>2016-10-11 21:37:39 +0900
committerAlexis Ballier <aballier@gentoo.org>2016-10-11 16:47:48 +0200
commite1bd456fcf9272cfdeaf542618c6b1f3ce3d1118 (patch)
tree6eb8e704f2281853b01e1abcd5770ad59d798e86 /sys-freebsd/freebsd-pf/freebsd-pf-11.0.ebuild
parenteclass/freebsd.eclass: added FreeBSD 11.0 support. (diff)
downloadgentoo-e1bd456fcf9272cfdeaf542618c6b1f3ce3d1118.tar.gz
gentoo-e1bd456fcf9272cfdeaf542618c6b1f3ce3d1118.tar.bz2
gentoo-e1bd456fcf9272cfdeaf542618c6b1f3ce3d1118.zip
sys-freebsd: bump to 11.0
Diffstat (limited to 'sys-freebsd/freebsd-pf/freebsd-pf-11.0.ebuild')
-rw-r--r--sys-freebsd/freebsd-pf/freebsd-pf-11.0.ebuild71
1 files changed, 71 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-pf/freebsd-pf-11.0.ebuild b/sys-freebsd/freebsd-pf/freebsd-pf-11.0.ebuild
new file mode 100644
index 000000000000..914cfe1c842d
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/freebsd-pf-11.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit bsdmk freebsd user
+
+DESCRIPTION="FreeBSD's base system libraries"
+SLOT="0"
+
+IUSE=""
+
+# Crypto is needed to have an internal OpenSSL header
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64-fbsd ~x86-fbsd"
+fi
+
+EXTRACTONLY="
+ usr.sbin/
+ sbin/
+ contrib/pf/
+ etc/
+"
+
+RDEPEND="net-libs/libpcap"
+DEPEND="${RDEPEND}
+ dev-libs/libevent
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-sources-${RV}*"
+
+S="${WORKDIR}"
+
+SUBDIRS="usr.sbin/authpf sbin/pfctl sbin/pflogd usr.sbin/ftp-proxy"
+
+pkg_setup() {
+ enewgroup authpf 63
+}
+
+src_prepare() {
+ # pcap-int.h redefines snprintf as pcap_snprintf
+ epatch "${FILESDIR}/${PN}-9.0-pcap_pollution.patch"
+ # Use system's libevent
+ epatch "${FILESDIR}/${PN}-11.0-libevent.patch"
+ epatch "${FILESDIR}/${PN}-11.0-pflogd.patch"
+ epatch "${FILESDIR}/${PN}-9.0-bpf.patch"
+ # Link in kernel sources
+ [[ ! -e "${WORKDIR}/sys" ]] && ln -s "/usr/src/sys" "${WORKDIR}/sys"
+}
+
+src_compile() {
+ for dir in ${SUBDIRS}; do
+ einfo "Starting make in ${dir}"
+ cd "${S}/${dir}" || die
+ freebsd_src_compile || die "Make ${dir} failed"
+ done
+}
+
+src_install() {
+ for dir in ${SUBDIRS}; do
+ einfo "Starting install in ${dir}"
+ cd "${S}/${dir}" || die
+ freebsd_src_install || die "Install ${dir} failed"
+ done
+
+ cd "${WORKDIR}"/etc
+ insinto /etc
+ doins pf.os
+ # pf.initd provided by openrc, but no pf.confd
+ newconfd "${FILESDIR}/pf.confd" pf
+}