# Template file for 'sane'
pkgname=sane
_gitlab_release_hash=7d30fab4e115029d91027b6a58d64b43
version=1.1.1
revision=1
build_style=gnu-configure
configure_args="--disable-locking --enable-ipv6 --enable-pthread
 --with-usb --docdir=/usr/share/doc/sane ac_cv_func_mmap_fixed_mapped=yes
 $(vopt_with snmp)"
hostmakedepends="pkg-config python3"
makedepends="libjpeg-turbo-devel tiff-devel libgphoto2-devel v4l-utils-devel
 libusb-devel openssl-devel libxml2-devel $(vopt_if snmp net-snmp-devel)
 $(vopt_if avahi 'avahi-libs-devel libcurl-devel')"
depends="$(vopt_if snmp net-snmp)"
conf_files="/etc/sane.d/*.conf"
short_desc="Scanner Access Now Easy"
maintainer="Piraty <mail@piraty.dev>"
license="custom:GPL-2.0-or-later-with-SANE-exception"
homepage="http://www.sane-project.org/"
changelog="https://gitlab.com/sane-project/backends/-/raw/master/NEWS"
distfiles="https://gitlab.com/sane-project/backends/uploads/${_gitlab_release_hash}/sane-backends-${version}.tar.gz"
checksum=dd4b04c37a42f14c4619e8eea6a957f4c7c617fe59e32ae2872b373940a8b603
noshlibprovides="avoid false detection of device drivers"

# additional group 'lp' is required by saned to access some all-in-one devices
system_accounts="_saned"
_saned_groups="lp,scanner"

build_options="avahi snmp"
build_options_default="avahi"

if [ "$XBPS_TARGET_WORDSIZE" = "32" ]; then
	make_check=no # tests broken on 32bit.  https://gitlab.com/sane-project/backends/-/issues/157
fi

post_build() {
	# generate udev file
	cd tools
	mkdir -p udev
	make udev/libsane.rules
}

post_install() {
	vinstall ${FILESDIR}/saned.xinetd 644 etc/xinetd.d saned.conf
	vinstall ${wrksrc}/tools/sane-backends.pc 644 usr/lib/pkgconfig

	vinstall tools/udev/libsane.rules 644 usr/lib/udev/rules.d 49-sane.rules

	vlicense LICENSE # License clarification
	vlicense COPYING # GPL-2.0
	sed -n \
		-e "/\/* sane - Scanner Access Now Easy./,/dynamic linking to load backends on demand./p" \
		"${wrksrc}/backend/dll.c" > "${DESTDIR}/usr/share/licenses/sane/SANE-EXCEPTION"

	vsv saned
}

libsane_package() {
	short_desc+=" - runtime shared library"
	pkg_install() {
		vmove "usr/lib/libsane.so.*"
	}
}

sane-devel_package() {
	depends="libsane>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/bin/sane-config
		vmove usr/share/man/man1/sane-config.1
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
	}
}
