# $Id$
# Maintainer: Thomas Baechler <thomas@archlinux.org>
pkgname=ppp
pkgver=2.4.6
pkgrel=2
pkgdesc="A daemon which implements the Point-to-Point Protocol for dial-up networking"
arch=(i686 x86_64) 
url="http://www.samba.org/ppp/"
license=('custom:GPL/BSD')
depends=('glibc' 'libpcap>=1.0.0')
backup=(etc/ppp/{chap-secrets,pap-secrets,options,ip-up,ip-down,ip-down.d/00-dns.sh,ip-up.d/00-dns.sh,ipv6-up.d/00-iface-config.sh})
source=(ftp://ftp.samba.org/pub/ppp/ppp-${pkgver}.tar.gz{,.asc}
        ppp-2.4.6-makefiles.patch
        options
        ip-up
        ip-down
        ip-up.d.dns.sh
        ip-down.d.dns.sh
        ipv6-up
        ipv6-down
        ipv6-up.d.iface-config.sh
        ppp.systemd)
sha256sums=('1b33181a03962c8a092c055fb9980e9722728a8d98a4bb7ec7acda17c1b1b49d'
            'SKIP'
            'f04f47318226c79594f45b8b75877c30710d22fe0fb1e2e17db3b4257dc4218c'
            '0933fecb9e0adaddd88ee1e049a5f3a0508e83b81dc1aa333df784e729ab4b6e'
            'ddef42b2cc5d49e81556dc9dbacf5ee3bf8dc32704f3670c2233eed42c4a4efd'
            '658630ba4c5cb583df80af6d4df81df8ae20798f63cc4b9cec8d4dad13a6a897'
            'aafb75b978aa13225444dc6b914fab324d686821be93c49e893800e647aa7648'
            '17b486fa69a71dafcbe543dc4f2b8cb9ed31e675aabc5f6c98ef94dbc1561c85'
            'bb3f44a4f2c4b8dbe7f84d77feae90a71caa9fa3c252a20c390e015d4f8ea248'
            '77292b79f99f97a01aa9a75cd7cd93da70d746d3b8cc60f35b31dfe0568544c0'
            '20780cf4bd0774bebb55ecb3bdae7667c9ae5cbe003a52a1ecb0bbc77d46260f'
            'eb8ab2e2d71c3bb9c4297cf847b6e9d52616a3fdbf2257c479cc43dff318c831')

prepare() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  patch -p1 -i "${srcdir}/ppp-2.4.6-makefiles.patch"
  # 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 
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  # -D_GNU_SOURCE is needed for IPv6 to work apparently
  CFLAGS="$CPPFLAGS $CFLAGS -D_GNU_SOURCE" LDFLAGS="$LDFLAGS" ./configure --prefix=/usr
  make 
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  make INSTROOT="${pkgdir}" install 

  install -D -m644 ../options "${pkgdir}/etc/ppp/options"
  install -D -m755 ../ip-up   "${pkgdir}/etc/ppp/ip-up"
  install -D -m755 ../ip-down "${pkgdir}/etc/ppp/ip-down"
  install -d -m755 "${pkgdir}/etc/ppp/ip-up.d"
  install -d -m755 "${pkgdir}/etc/ppp/ip-down.d"
  install -m755 ../ip-up.d.dns.sh   "${pkgdir}/etc/ppp/ip-up.d/00-dns.sh"
  install -m755 ../ip-down.d.dns.sh "${pkgdir}/etc/ppp/ip-down.d/00-dns.sh"
  install -D -m755 ../ipv6-up   "${pkgdir}/etc/ppp/ipv6-up"
  install -D -m755 ../ipv6-down "${pkgdir}/etc/ppp/ipv6-down"
  install -d -m755 "${pkgdir}/etc/ppp/ipv6-up.d"
  install -d -m755 "${pkgdir}/etc/ppp/ipv6-down.d"
  install -m755 ../ipv6-up.d.iface-config.sh "${pkgdir}/etc/ppp/ipv6-up.d/00-iface-config.sh"

  install -D -m755 scripts/pon  "${pkgdir}/usr/bin/pon"
  install -D -m755 scripts/poff "${pkgdir}/usr/bin/poff"
  install -D -m755 scripts/plog "${pkgdir}/usr/bin/plog"
  install -D -m644 scripts/pon.1 "${pkgdir}/usr/share/man/man1/pon.1"
  install -D -m600 etc.ppp/pap-secrets  "${pkgdir}/etc/ppp/pap-secrets"
  install -D -m600 etc.ppp/chap-secrets "${pkgdir}/etc/ppp/chap-secrets"
  install -d -m755 "${pkgdir}/etc/ppp/peers" 
  chmod 0755 "${pkgdir}/usr/lib/pppd/${pkgver}"/*.so

  install -D -m644 "${srcdir}"/ppp.systemd "${pkgdir}"/usr/lib/systemd/system/ppp@.service
}