# Maintainer: Martell Malone <martellmalone@gmail.com>

pkgname=inetutils
pkgver=2.8
pkgrel=1
pkgdesc='A collection of common network programs.'
arch=('i686' 'x86_64')
url='https://www.gnu.org/software/inetutils/'
msys2_repository_url='https://cgit.git.savannah.gnu.org/cgit/inetutils.git'
msys2_documentation_url='https://www.gnu.org/software/inetutils/manual/html_node/index.html'
msys2_references=(
  'anitya: 13805'
  'archlinux: inetutils'
  'cpe: cpe:/a:gnu:inetutils'
  'gentoo: net-misc/inetutils'
)
license=('spdx:GPL-3.0-or-later')
depends=(
  'gcc-libs'
  'libintl'
  'libreadline'
  'ncurses'
)
makedepends=(
  'autotools'
  'gcc'
  'gettext-devel'
  'help2man'
  'libreadline-devel'
  'ncurses-devel'
  'tftp-hpa'
)
options=('!emptydirs')
source=(
  "https://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.gz"
  'inetutils-2.8-1.src.patch'
  'icmp6.h'
  'osockaddr.h'
  'talkd.h'
)
sha256sums=('57b3cf4f77555992881e5ba2a09a63b05aa2c56342a60ed4305b5f45938390b5'
            '589e33b35d3d08bc23ccdead6356f2f3d8b44f4d754c61a487e0f3fe05a6b769'
            'efad23dea555319c503c0b6ed7ec6b46c8faa48c138c763749686fc66e98c4b8'
            'e19596afff3b2ed163cf1a5c8a8d034208f9f996ace1ac76fd877a2d16aa448d'
            'b9e2401b0756c9bebcb0b0835d3c8f218198a121013f4990637ed1b9af0c72fd')

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

  # from cygwin
  mkdir -p headers/protocols
  cp "${srcdir}/osockaddr.h" headers/protocols/osockaddr.h
  cp "${srcdir}/talkd.h"     headers/protocols/talkd.h

  mkdir -p headers/netinet
  cp "${srcdir}/icmp6.h"     headers/netinet/icmp6.h

  patch -Np2 -i "${srcdir}/inetutils-2.8-1.src.patch"

  autoreconf -fiv
}

build() {
  mkdir -p "build-${CARCH}"
  cd "build-${CARCH}"

  # copied from cygwin
  export ac_cv_func_mmap_fixed_mapped=no
  export CFLAGS+=" -Wno-error=incompatible-pointer-types"
  export CPPFLAGS+=" -I${srcdir}/${pkgname}-${pkgver}/headers"

  # this isn't set in ./configure but needed to get a valid Makefile -- don't ask me...
  export EXEEXT=.exe

  local _configure_options=(
    --prefix=/usr
    --build="${CHOST}"
    --libexec=/usr/bin
    --localstatedir=/var
    --sysconfdir=/etc
    --infodir=/usr/share/info
    --mandir=/usr/share/man
    --datarootdir=/usr/share
    --docdir="/usr/share/doc/${pkgname}"
    --with-wrap
    --without-pam
    --enable-ftp --disable-ftpd
    --enable-telnet --disable-telnetd
    --enable-talk --disable-talkd
    --enable-rlogin --disable-rlogind
    --enable-rsh --disable-rshd
    --enable-rcp --disable-hostname
    --disable-rexec --disable-rexecd
    --disable-tftp --disable-tftpd
    --disable-ping --disable-ping6
    --disable-logger --disable-syslogd
    --disable-inetd --disable-whois
    --disable-uucpd --disable-ifconfig
    --enable-dnsdomainname
    --disable-traceroute
  )

  "${srcdir}/${pkgname}-${pkgver}/configure" "${_configure_options[@]}"

  make
}

package() {
  cd "build-${CARCH}"

  make DESTDIR="${pkgdir}" install
}
