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/"
}