#!/usr/bin/bash
# JOBoRun		: Jwm OpenBox Obarun RUNit
# Maintainer	: Joe Bo Run <joborun@disroot.org>
# PkgSource		: url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website		: https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------

_name=backends
pkgname=sane
pkgver=1.1.1
pkgrel=02
pkgdesc="Scanner Access Now Easy w/o systemd or avahi"
arch=(x86_64)
url="http://www.sane-project.org/"
# NOTE: libgphoto2 can be moved to makedepends once the package also provides
# libgphoto2_port.so
depends=(bash cairo gcc-libs glibc libgphoto2 libnl libpng libxml2 libieee1284
net-snmp openssl v4l-utils)
makedepends=(autoconf-archive curl glib2 libjpeg-turbo libtiff libusb
poppler-glib python texlive-latexextra)
provides=(libsane.so)
source=("https://gitlab.com/sane-project/${_name}/-/archive/${pkgver}/${_name}-${pkgver}.tar.gz"
        "66-${pkgname}d.rules"
        "${pkgname}.sysusers")
#        "${pkgname}d.service"
#        "${pkgname}d.socket")

prepare() {
  cd "${_name}-${pkgver}"
  # create version files, so that autotools macros can use them:
  # https://gitlab.com/sane-project/backends/-/issues/440
  echo "${pkgver}" > .tarball-version
  echo "${pkgver}" > .version
  autoreconf -fiv
}

build() {
  cd "${_name}-${pkgver}"

  ./configure --prefix=/usr \
    --disable-locking \
    --disable-rpath \
    --docdir="/usr/share/doc/${pkgname}" \
    --enable-pthread \
    --localstatedir=/var \
    --sbindir=/usr/bin \
    --sysconfdir=/etc \
    --without-avahi \
    --with-libcurl \
    --with-pic \
    --with-poppler-glib \
    --without-systemd \
    --with-usb
  # circumvent overlinking in libraries
  sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' -i libtool
  make
}

package() {
  depends+=(libcurl.so libgphoto2.so libgobject-2.0.so
	libpoppler-glib.so libtiff.so libusb-1.0.so)

  cd "${_name}-${pkgver}"

  make DESTDIR="${pkgdir}" install

  # generate udev udev+hwdb
  install -vdm 755 "${pkgdir}/usr/lib/udev/rules.d/"
  tools/sane-desc -m udev+hwdb -s doc/descriptions/ > "${pkgdir}/usr/lib/udev/rules.d/65-${pkgname}.rules"
  tools/sane-desc -m udev+hwdb -s doc/descriptions-external/ >> "${pkgdir}/usr/lib/udev/rules.d/65-${pkgname}.rules"
  # generate udev hwdb
  install -vdm 755 "${pkgdir}/usr/lib/udev/hwdb.d/"
  tools/sane-desc -m hwdb -s doc/descriptions/ > "${pkgdir}/usr/lib/udev/hwdb.d/20-${pkgname}.hwdb"
  # NOTE: an empty new line is required between the two .desc collections
  printf "\n" >> "${pkgdir}/usr/lib/udev/hwdb.d/20-${pkgname}.hwdb"
  tools/sane-desc -m hwdb -s doc/descriptions-external/ >> "${pkgdir}/usr/lib/udev/hwdb.d/20-${pkgname}.hwdb"

#  # systemd integration
#  install -vDm 644 "../${pkgname}d.socket" \
#      -t "${pkgdir}/usr/lib/systemd/system/"
#  install -vDm 644 "../${pkgname}d.service" \
#      "${pkgdir}/usr/lib/systemd/system/${pkgname}d@.service"
  install -vDm 644 "../66-${pkgname}d.rules" "${pkgdir}/usr/lib/udev/rules.d/"
  # sysusers.d
  install -vDm 644 "../${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"

  # remove old ChangeLogs
  rm -rvf "${pkgdir}/usr/share/doc/${pkgname}/ChangeLogs/"

  # add files below /etc/sane.d to backup array
  cd "${pkgdir}"
  # trick extract_function_variable() in makepkg into not detecting the
  # backup array modification and adding remaining configuration files
  [[ /usr/bin/true ]] && backup=( ${backup[@]} $(find "etc/${pkgname}.d/" -type f) )
}


#---- license gpg-key sha256sums ----

license=(GPL2)

sha512sums=('3713f452956fe94cc7f2d15fee764411c1e289d5ff94a095d4a4ee43fae0479e7dbd1b97d85cd9a70ad9cd5458e5c38bcdbd170bcd6ac244083c987094fb36bd'
            'd0d1b6bd6fbb04d610e7186e26d04c2233a620cc7c731ca3acd7fb860dd033fbe99d8974ffa1dd59c8affcc4aa2664d76ab3dfd6f7b2a734b31d7e3832359c41'
            'd8cd194b57eff2249df2b8d540a892e518aa3e3bba6387211ed21230dc235e98c49b71f262f0b1007e8c859c59776410840376244e0aec1f06363881b2c81fd8')
#            'baf2cf2fdff689f776973ac4f69ea02b131f2a1a754a8d52a8e8ad33b0e559ba286649a891723a7ad94b2bcb01ec88155d43c36eaeb35e47fbc8ea80c49c5d47'
#            'a23ceeeb02bd9e214702003a3165886858ecbdd93df89cd37ad5f00581745454548ccda0ab656f2dc0acbf2896a8781568c786797e64a07014be003d6140a093')
b2sums=('341f007ee36e660092dffb4c27ade08dd4fd23fb9986b9ddb0a84348f9ed50fd053ad0ced1a24eb670fe1adcdb9ebbde5178dc559d57ceb01f40d2d79d565ed4'
        'c9c6ba224b9b27f4ecc6b1ded6621a8abb52b1ded2d9078e4cad31177290b788e286fad74545a5cb09e1f6726515adc22003988eb646dc986e87f1a8061a0e27'
        '2a4ddc9849562e3a0adcaec1859391e3f37a63f25c27dbc140cabd697bd65b89a0fc812c4516cbdfb36d1f30844df34934b3c1c59650101f54fc1ac0acb3f5d9')
#        '272b4860dbd3f2b69eedfed4532cf8a388629c003c9a0e0ee98defbc2023e07edc26275a17f56ea9fd4d90e9b3b6532c5b10d1e2b91e6ab4df242ac44101d802'
#        '5e9f0350a1553fc75aea88ce355fb68b881e3b2194ac0e3c6f3cecdae79111fb1db1cfe3b4933eca15af5f985fc6b89e4d9af3844b6e9cfd542828b6b9e57ed9')


sha256sums=(4caa9155b797e8b83abc88bcbfc8212155d388311c3ba077bbcf9c98ed78ca0e  # backends-1.1.1.tar.gz
	0e98982ff1550b16b098f7563569c203aab5f7b4172717bec0d42eab15fb875b  # 66-saned.rules
	ac9183a0f4379106550c972374b8e36277d8e7f480ca931f0af87550892942e7) # sane.sysusers
# ==> WARNING: Library listed in 'depends' is not required by any files: libcurl.so
# ==> WARNING: Library listed in 'depends' is not required by any files: libgobject-2.0.so
# ==> WARNING: Library listed in 'depends' is not required by any files: libpoppler-glib.so
# 
