# Template file for 'util-linux-libs'
# Keep this package sync with util-linux
pkgname=util-linux-libs
version=2.36
revision=1
wrksrc="util-linux-$version"
build_style=meta
hostmakedepends="automake bison gettext gettext-devel libtool pkg-config xz"
makedepends="libcap-ng-devel pam-devel readline-devel zlib-devel"
depends="libfdisk-${version}_${revision} libblkid-${version}_${revision}
 libmount-${version}_${revision} libsmartcols-${version}_${revision}
 libuuid-${version}_${revision}"
short_desc="Miscellaneous linux utilities - meta libraries"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://www.kernel.org/pub/linux/utils/util-linux/"
distfiles="${KERNEL_SITE}/utils/util-linux/v${version%.${version#*.*.}}/util-linux-${version}.tar.xz"
checksum=9e4b1c67eb13b9b67feb32ae1dc0d50e08ce9e5d82e1cccd0ee771ad2fa9e0b1

pre_configure() {
	local _cfgdir="$XBPS_COMMONDIR/environment/configure"
	NOCONFIGURE=1 ./autogen.sh
	for f in ./**/*config*.sub; do
		if [ -f "$f" ]; then
			cp -f "$_cfgdir/automake/config.sub" "$f"
		fi
	done
	for f in ./**/*config*.guess; do
		if [ -f "$f" ]; then
			cp -f "$_cfgdir/automake/config.guess" "$f"
		fi
	done
	# We want to keep basepkg as meta but we also needs below helper
	unset build_style
	. "$_cfgdir/gnu-configure-args.sh"
}

do_configure() {
	./configure ${configure_args} \
		--exec-prefix=/usr --libdir=/usr/lib \
		--bindir=/usr/bin --sbindir=/usr/bin \
		--enable-libuuid --disable-makeinstall-chown \
		--enable-libblkid --enable-fsck --disable-rpath \
		--enable-fs-paths-extra=/usr/sbin:/usr/bin \
		--enable-vipw --enable-newgrp --enable-chfn-chsh \
		--with-systemdsystemunitdir=no \
		--without-udev --without-python \
		--enable-write
}

do_build() {
	make ${makejobs}
}

do_check() {
	make -k check
}

do_install() {
	make usrsbin_execdir=/usr/bin DESTDIR=${DESTDIR} install
	# Those files will be provided by util-linux
	rm -rf "$DESTDIR/usr/bin"
	rm -rf "$DESTDIR/usr/share/man/man1"
	rm -rf "$DESTDIR/usr/share/man/man5"
	rm -rf "$DESTDIR/usr/share/man/man8"
	rm -rf "$DESTDIR/usr/share/bash-completion"
	rm -rf "$DESTDIR/usr/share/locale"
	rm -rf "$DESTDIR/usr/share/doc/"
}

libfdisk_package() {
	short_desc="Library for fdisk(8)"
	pkg_install() {
		vmove "usr/lib/libfdisk.so.*"
	}
}
libfdisk-devel_package() {
	depends="libblkid-devel-${version}_${revision} libfdisk-${version}_${revision}"
	short_desc="Library for fdisk(8) - development files"
	pkg_install() {
		vmove usr/lib/libfdisk.a
		vmove usr/lib/libfdisk.so
		vmove "usr/lib/pkgconfig/*fdisk*"
		vmove usr/include/libfdisk
	}
}
libmount_package() {
	short_desc="Library for mount(8)"
	pkg_install() {
		vmove "usr/lib/libmount.so.*"
	}
}
libmount-devel_package() {
	depends="libblkid-devel-${version}_${revision} libmount-${version}_${revision}"
	short_desc="Library for mount(8) - development files"
	pkg_install() {
		vmove usr/lib/libmount.a
		vmove usr/lib/libmount.so
		vmove "usr/lib/pkgconfig/*mount*"
		vmove usr/include/libmount
	}
}
libblkid_package() {
	short_desc="Library to handle device identification"
	pkg_install() {
		vmove "usr/lib/libblkid.so.*"
	}
}
libblkid-devel_package() {
	depends="zlib-devel libuuid-devel-${version}_${revision} libblkid-${version}_${revision}"
	short_desc="Library to handle device identification - development files"
	pkg_install() {
		vmove usr/include/blkid
		vmove usr/lib/libblkid.a
		vmove usr/lib/libblkid.so
		vmove usr/lib/pkgconfig/blkid.pc
		vmove usr/share/man/man3/libblkid.3
	}
}
libuuid_package() {
	short_desc="UUID library"
	pkg_install() {
		vmove "usr/lib/libuuid.so.*"
	}
}
libuuid-devel_package() {
	depends="libuuid-${version}_${revision}"
	short_desc="UUID library development files"
	pkg_install() {
		vmove usr/lib/libuuid.a
		vmove usr/lib/libuuid.so
		vmove usr/lib/pkgconfig
		vmove usr/include/uuid
		vmove usr/share/man/man3/uuid*
	}
}
libsmartcols-devel_package() {
	depends="libsmartcols>=${version}_${revision}"
	short_desc="Table or Tree library from util-linux - development files"
	pkg_install() {
		vmove usr/lib/libsmartcols.a
		vmove usr/lib/libsmartcols.so
		vmove usr/include/libsmartcols
		vmove usr/lib/pkgconfig/smartcols*
	}
}
libsmartcols_package() {
	short_desc="Table or Tree library from util-linux"
	pkg_install() {
		vmove usr/lib/libsmartcols.so.*
	}
}
