# Maintainer: Alexey Pavlov <alexpux@gmail.com>

pkgname=("util-linux" "libutil-linux" "libutil-linux-devel")
pkgver=2.26.2
pkgrel=1
pkgdesc="Miscellaneous system utilities for Linux"
arch=('i686' 'x86_64')
license=('GPL3')
url="http://www.kernel.org/pub/linux/utils/util-linux/"
makedepends=('gettext-devel' 'libiconv-devel' 'ncurses-devel' 'libcrypt-devel' 'libtool' 'patch')
source=(ftp://ftp.kernel.org/pub/linux/utils/$pkgname/v${pkgver%.*}/$pkgname-$pkgver.tar.xz
        2.24.2-agetty.patch
        2.24.2-libblkid-topology.patch
        2.24.2-libintl.patch
        2.24.2-msysize.patch
        2.25.1-cygwin-include.patch
        2.25.1-ipc-utils.patch
        2.25.1-lslogins.patch
        2.25.1-relocate-sbin-to-usr-bin.patch)
md5sums=('9bdf368c395f1b70325d0eb22c7f48fb'
         '7bfa7a252cf44b70d489580dead33b4a'
         '4a6a486f374d90985ca4d636c6305b51'
         'db24717018176a3375860059b70478c8'
         '1ac5cb60e1a613e1ca1d72ac958c8e9c'
         'ed3c35e3f4a9f89e248d1d108a0b5b94'
         'a8fd1f4a8821e9f2aebf4679d2d9d355'
         'b3c5b5275ceb07c2b3637700e21c8322'
         '99d791175a775e32ac7bee401d5b4a41')

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

  patch -p2 -i $srcdir/2.24.2-agetty.patch
  patch -p2 -i $srcdir/2.24.2-libblkid-topology.patch
  patch -p2 -i $srcdir/2.24.2-libintl.patch
  patch -p2 -i $srcdir/2.25.1-cygwin-include.patch
  patch -p2 -i $srcdir/2.25.1-ipc-utils.patch
  patch -p2 -i $srcdir/2.25.1-lslogins.patch
  patch -p1 -i $srcdir/2.24.2-msysize.patch
  patch -p1 -i $srcdir/2.25.1-relocate-sbin-to-usr-bin.patch
  
  autoreconf -fi
}

build() {
  [[ -d $srcdir/build-${CHOST} ]] && rm -rf $srcdir/build-${CHOST}
  mkdir -p $srcdir/build-${CHOST} && cd $srcdir/build-${CHOST}

  CPPFLAGS+=" -D__USE_LINUX_IOCTL_DEFS"
  ../${pkgname}-${pkgver}/configure \
    --build=${CHOST} \
    --prefix=/usr \
    --bindir=/usr/bin \
    --sbindir=/usr/bin \
    --libexecdir=/usr/lib \
    --libdir=/usr/lib \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --enable-libuuid \
    --enable-libblkid \
    --disable-libmount \
    --disable-mount \
    --disable-losetup \
    --disable-fsck \
    --disable-partx \
    --enable-uuidd \
    --disable-mountpoint \
    --disable-fallocate \
    --disable-unshare \
    --disable-nsenter \
    --disable-setpriv \
    --disable-eject \
    --enable-agetty \
    --enable-cramfs \
    --enable-bfs \
    --disable-fdformat \
    --disable-hwclock \
    --disable-wdctl \
    --disable-switch_root \
    --disable-pivot_root \
    --disable-ipcrm \
    --disable-ipcs \
    --disable-tunelp \
    --disable-kill \
    --disable-last \
    --disable-lslogins \
    --disable-utmpdump \
    --disable-line \
    --disable-mesg \
    --disable-raw \
    --enable-rename \
    --disable-reset \
    --disable-vipw \
    --disable-newgrp \
    --disable-chfn-chsh \
    --disable-login \
    --disable-nologin \
    --disable-sulogin \
    --disable-su \
    --disable-runuser \
    --enable-ul \
    --enable-more \
    --enable-pg \
    --disable-setterm \
    --disable-schedutils \
    --disable-wall \
    --disable-write \
    --disable-use-tty-group \
    --disable-makeinstall-chown \
    --disable-makeinstall-setuid \
    --without-libiconv-prefix \
    --without-libintl-prefix \
    ac_cv_func___fpending=yes \
    SOLIB_LDFLAGS=-no-undefined

  make
  make DESTDIR=${srcdir}/dest install
}

package_util-linux() {
  pkgdesc="Collection of basic system utilities"
  depends=("coreutils" "libutil-linux" "libiconv")
  groups=('base')
  provides=('getopt')
  conflicts=('getopt')
  replaces=('getopt')

  mkdir -p ${pkgdir}/usr/bin
  cp ${srcdir}/dest/usr/bin/*.exe ${pkgdir}/usr/bin/
  cp -rf ${srcdir}/dest/usr/share ${pkgdir}/usr/
}

package_libutil-linux() {
  pkgdesc="Block device ID and Universally Unique ID libraries"
  provides=("libblkid" "libuuid" "libsmartcols")
  depends=("gcc-libs" "libintl" "msys2-runtime")

  mkdir -p ${pkgdir}/usr/bin
  cp ${srcdir}/dest/usr/bin/*.dll ${pkgdir}/usr/bin/
}

package_libutil-linux-devel() {
  pkgdesc="Block device ID and Universally Unique ID headers and libraries."
  provides=("libblkid-devel" "libuuid-devel" "libsmartcols-devel")
  depends=("libutil-linux")
  options=('staticlibs')

  mkdir -p ${pkgdir}/usr
  cp -rf ${srcdir}/dest/usr/lib ${pkgdir}/usr/
  cp -rf ${srcdir}/dest/usr/include ${pkgdir}/usr/
}
