File PKGBUILD of Package iscan

# Maintainer: Muflone http://www.muflone.com/contacts/english/
# Contributor: Frederic Bezies < fredbezies at gmail dot com>
# Contributor: garion < garion @ mailoo.org >
# Contributor: Alessio Sergi <asergi at archlinux dot us>

pkgname=iscan
pkgver=2.30.4.2
pkgrel=4
pkgdesc="EPSON Image Scan! front-end for scanners and all-in-ones"
arch=('x86_64')
url="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
license=('GPL2' 'custom:EPSON')
depends=('gtk2' 'sane' 'libstdc++5')
makedepends=('gettext' 'gimp' 'mold')
optdepends=('iscan-data: Image Scan! data files required for some devices')
# https://support.epson.net/linux/src/scanner/iscan/iscan_2.30.4-2.tar.gz
source=("https://web.archive.org/web/20250207193835/http://support.epson.net/linux/src/scanner/iscan/iscan_2.30.4-2.tar.gz"
        "libpng15.patch"
        "jpegstream.cc.patch"
        "iscan-2.30.4.2-c99.patch"
        "iscan-2.30.4.2-sscanf.patch"
        "16-bit-support.patch"
        "epkowa.conf")
sha256sums=('597b9913de42d7a27f95bc82e533cbe778121ba13e3a03bc037f8d09a43447d5'
            '1a75b8df945a813a297dfd6e3dabae3bc8b51898f23af31640091e31b901f0ba'
            '44990a5264e530a7a8ad1f95524e5d70e4f0f9009c53c8ea593cedf8d861a669'
            '1f59b7e83dc61d1f88c34f3e8f9893e044f8869f616e653ec0756554bf5fa80e'
            '3281d1c8446cd94513171c6cbe1ef6c1e29a749ca81eb06fc2a89b5ecaa753bc'
            '6ceabbd170eed0dd7b82e8f483994aa6ba7d45f807962ca500a7a182773da164'
            '8e9e90fa50f1bd476b13766b19f100470c41dd253dc0605fbb1d0ac346a0beff')
install="${pkgname}.install"
backup=("etc/sane.d/epkowa.conf")

prepare() {
  cd "${pkgname}-${pkgver%.*}"
  # patch for building iscan against libpng15 by giovanni
  patch -Np0 -i "../libpng15.patch"
  # patch for ambiguous div in jpegstream.cc
  patch -Np0 -i "../jpegstream.cc.patch"
  patch -p1 -i ../iscan-2.30.4.2-c99.patch
  patch -p1 -i ../iscan-2.30.4.2-sscanf.patch
  patch -p1 -i ../16-bit-support.patch
  # add fix for CXX ABI different than 1002
  ln -s libesmod-x86_64.c2.so non-free/libesmod-x86_64.so
}

build() {
  cd "${pkgname}-${pkgver%.*}"
  export LDFLAGS="${LDFLAGS} -ldl -lpng16"
  export CFLAGS="$CFLAGS -std=gnu89"
  mold -run ./configure --prefix=/usr \
              --sbindir=/usr/bin \
              --enable-dependency-reduction \
              --enable-frontend \
              --enable-jpeg \
              --enable-tiff \
              --enable-png \
              --disable-gimp
  mold -run make -j$(nproc)
}

package() {
  cd "${pkgname}-${pkgver%.*}"

  # install files
  make DESTDIR="${pkgdir}" install

  # install sane configuration files
  install -m 755 -d "${pkgdir}/etc/sane.d"
  install -m 644 -D "backend/epkowa.conf" "${pkgdir}/etc/sane.d/"
  install -m 755 -d "${pkgdir}/etc/sane.d/dll.d"
  install -m 644 "${srcdir}/epkowa.conf" "${pkgdir}/etc/sane.d/dll.d/"

  # install desktop file
  install -m 755 -d "${pkgdir}/usr/share/applications"
  install -m 644 "${pkgname}.desktop" "${pkgdir}/usr/share/applications/"

  # install license
  install -m 755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
  install -m 644 "non-free/COPYING.EPSON.en.txt" "${pkgdir}/usr/share/licenses/${pkgname}/EPSON"

  # install plugin for GIMP
  install -m 755 -d "${pkgdir}/usr/lib/gimp/2.0/plug-ins"
  ln -s "/usr/bin/iscan" "${pkgdir}/usr/lib/gimp/2.0/plug-ins/"
}
openSUSE Build Service is sponsored by