# Template file for 'ppp'
pkgname=ppp
version=2.4.7
revision=6
short_desc="PPP (Point-to-Point Protocol) daemon"
homepage="https://ppp.samba.org/"
license="BSD, LGPLv2+, GPLv2+, Public Domain"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
distfiles="https://ftp.samba.org/pub/ppp/ppp-$version.tar.gz"
checksum=02e0a3dd3e4799e33103f70ec7df75348c8540966ee7c948e4ed8a42bbccfb30

makedepends="libpcap-devel"
conf_files="
	/etc/ppp/ip-up
	/etc/ppp/ip-down
	/etc/ppp/ipv6-up
	/etc/ppp/ipv6-down
	/etc/ppp/options
	/etc/ppp/chap-secrets
	/etc/ppp/pap-secrets"

CFLAGS="-D_GNU_SOURCE"

do_configure() {
	# Custom CFLAGS.
	sed -i "s:-O2 -pipe -Wall -g:${CFLAGS}:" pppd/Makefile.linux
	sed -i "s:-g -O2:${CFLAGS}:" pppd/plugins/Makefile.linux
	sed -i "s:-O2:${CFLAGS}:" pppstats/Makefile.linux
	sed -i "s:-O2 -g -pipe:${CFLAGS}:" chat/Makefile.linux
	sed -i "s:-O:${CFLAGS}:" pppdump/Makefile.linux
	# Enable active filter
	sed -i "s:^#FILTER=y:FILTER=y:" pppd/Makefile.linux
	# Enable ipv6 support
	sed -i "s:^#HAVE_INET6=y:HAVE_INET6=y:" pppd/Makefile.linux
	# Enable Microsoft Proprietary Callback Control Protocol
	sed -i "s:^#CBCP=y:CBCP=y:" pppd/Makefile.linux

	./configure ${configure_args}
}
do_build() {
	make COPTS="${CFLAGS}" ${makejobs}
}
do_install() {
	make DESTDIR=${DESTDIR}/usr install

	case "$XBPS_TARGET_MACHINE" in
		*-musl) vinstall include/net/ppp_defs.h 644 usr/include/net;;
	esac

	chmod 755 ${DESTDIR}/usr/lib/pppd/${version}/*.so

	vmkdir usr/bin
	mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin
	vbin pppd/pppd 
	vbin chat/chat

	vinstall ${FILESDIR}/options 644 etc/ppp
	vinstall ${FILESDIR}/ip-up 755 etc/ppp
	vinstall ${FILESDIR}/ip-down 755 etc/ppp
	vinstall ${FILESDIR}/ipv6-up 755 etc/ppp
	vinstall ${FILESDIR}/ipv6-down 755 etc/ppp

	vinstall ${FILESDIR}/ip-up.d.dns.sh 755 etc/ppp/ip-up.d 00-dns.sh
	vinstall ${FILESDIR}/ip-down.d.dns.sh 755 etc/ppp/ip-down.d 00-dns.sh
	vinstall ${FILESDIR}/ipv6-up.d.iface-config.sh 755 etc/ppp/ipv6-up.d  00-iface-config.sh
	vmkdir etc/ppp/ipv6-down.d
	touch ${DESTDIR}/etc/ppp/ipv6-down.d/.empty_on_purpose

	vbin scripts/pon
	vman scripts/pon.1
	vbin scripts/poff
	vbin scripts/plog

	vinstall etc.ppp/pap-secrets 600 etc/ppp
	vinstall etc.ppp/chap-secrets 600 etc/ppp

	vmkdir etc/ppp/peers
	touch -f ${DESTDIR}/etc/ppp/peers/.empty_on_purpose
}

ppp-devel_package() {
	depends="libpcap-devel"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
	}
}
