summaryrefslogtreecommitdiff
path: root/media-gfx/iscan
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/iscan')
-rw-r--r--media-gfx/iscan/Manifest3
-rw-r--r--media-gfx/iscan/files/iscan-2.30.4.2-sscanf.patch21
-rw-r--r--media-gfx/iscan/iscan-2.30.4.2.ebuild152
3 files changed, 176 insertions, 0 deletions
diff --git a/media-gfx/iscan/Manifest b/media-gfx/iscan/Manifest
index 82a68d62770c..9480f640e3ca 100644
--- a/media-gfx/iscan/Manifest
+++ b/media-gfx/iscan/Manifest
@@ -4,8 +4,11 @@ AUX iscan-2.29.1-png-libs.patch 1309 BLAKE2B debdebb6753d3f71ec5af8a16082dcb8b9f
AUX iscan-2.30.1-fix-g++-test.patch 1394 BLAKE2B 6ff018b0be888d4415a40f0d94ab3482590a4b3f627b00f6f1fdd17cbf2aea57b52715eebda678833ec2ea9543470a4b7a5c9f07fced84808b337edd43c11c5e SHA512 b11667e6698955b482c9cffd88413180d77b700ca040bf70969ce10be652cfa38fe2fb3de930519bdfe098f18ce258f24859ab79a93032dbe5052e0e1059ce63
AUX iscan-2.30.1.1-gcc6.patch 564 BLAKE2B a80e24742c9d142ea88c2884c061efda09391aaa75885ac53de85594c5fa0c5f4b3b8f008165b647647658bbd420bcfb9a631deae3211b01f4848e3d7e22a390 SHA512 4c0ef22323f26282596d5705b0a3982bc8bca17e84f54ad9b1a23290cadbc617ae55492fd3d25e9edd283509e0a8ea1de047b18fd98fdfaf8bb22fd90c096e32
AUX iscan-2.30.3.1-fix-x86-unknown-types.patch 362 BLAKE2B c791249488661dbe3fcf3301cfd46c04cda85ad95f8e21bae8e8f87e63e787ea69d494d7ae152dbce368ccb9fda44781201d1630e1c487cb9ad0d5d2a33e6d77 SHA512 723c3d5b6522da913ed93abaa1797f661e7eecc3974faa2bf730ced27c6a4adb3ffc87bfb38d42c4929b5afafb3cfe3e9111870aa796ea4872a053302b29ec6f
+AUX iscan-2.30.4.2-sscanf.patch 779 BLAKE2B 8e8255c0558e225b3c1bcb5faaf42f0d794177e463119595b53fd0e194b7918703d3b9ac3c8d8fa1939cc86799deda4605764f99b2aa666f3c2047ed21333f31 SHA512 345ac7ae1c75b6da24f16f9abd5f7f4352cfd3497d24229db8a15d26d767e62c8273220a7f40f18c452ab90094b56774eaf738c880c613f0463db04b6d5d9f3d
DIST iscan_2.30.3-1.tar.gz 1216848 BLAKE2B 8a5f485c1dd814248c46aec6accedd331105c3ccc0f70a582e60dfb62b1cc1f1ebab358f0896b15cbf842ea06f8a35447d91f76391b10bad07df371512856c32 SHA512 5f68b2f7b7c1d1b5d3d65a55c3a80538fda5d2bdf9cd50fbf942e0eb49dcb84983ede66ed2f6354f9591692808df54415400fe02ed47e7373082869612a47872
+DIST iscan_2.30.4-2.tar.gz 1236167 BLAKE2B 598e55aa7099f7973b38f5c3227415c8ddfa7e8c645521981b4e8979047ab692427f5c1719fd83fe0635f2d4604f32f0baff8542f3e1a333298799c4cad7b980 SHA512 b12f374ff8ee1e1879fc6dbc579de39d7bcd4777ec7ad6e4345046f77b4ec13ae45ebdc2803d6907bc2747776aa7e32c313866138c7b8c7bcb53110a214154d2
DIST userg_revQ_e.pdf 627189 BLAKE2B ff57871c58dc541e30d65127bd8f4cc2a20ec5341c1d0914116f7ec4ae002d896853b99488eec71e5f8cb150e6b63d353efb9be11977de26d017701bc051014a SHA512 b09d5143855a759e0fa3e74794762566b6fbf734642f9d7f712e5f2f20e3dce6b830465fd65f83f9cc368292ce7a2c0cec709b0eba6356d95e1ba5114b3348fc
DIST userg_revQ_j.pdf 734920 BLAKE2B ed2cffdc2dbf0a2403dcbd93cef3349b9e35afb305f9b36f92b8f11bd42b5281fc7bfbec108703f327fb538868c530418406d37505e6eb6afa621d2d49d007ba SHA512 d5cb0cebaae0ac36951379cad516f0575e85e0bb509cf88549239e300c7d6c6a4996497145acaa9e9783de6b08c6e352c7ffbedb23ed04c15eefbe9c3cf0bc90
EBUILD iscan-2.30.3.1.ebuild 3517 BLAKE2B 2c9aa0bf5e12e34c1637951936db597ea0d5fe70509355bf28cef8d7c0c917ed07e940632eae42f2903e00780dc05cead627a90f733ea2f532fc2b5e6d8acc9d SHA512 1331ded32c9d88312c517e5ba5447e87471a0223747d46c22ded7c3a185f715b3a9b4d2d905bb0239cbe31edc1197c7a71a5626af0bf8084b0834124d7745de1
+EBUILD iscan-2.30.4.2.ebuild 3962 BLAKE2B 9909e1c577437861e7020ed0760b4a98a7c844cd7a84cc910db628d46c7a8da5f42d19f46b47a5f8762f35f40f0ce3e79aa801744d24ef392bb2e39df737ae41 SHA512 89b4e30259cdedce969a2186440a5e4b52f1bfcb6dfbe1deec54a88dc61da35495cf8663340a0cbc0fb4f5ff1909f8abdea63129266876c051a8686ee2eee770
MISC metadata.xml 779 BLAKE2B 715d705e7775dc8aefea2c58afaf0520819abe2508ee9dde67298a2acdd847b953ac46750bc711e018eea5ddceef2ef3e7f16308c32fade334622cb9a16f745e SHA512 9ead68d2de8d4b5e09e2d478b6f198d8a83985eaa779e941189f1017beb081910fcc6c7d3c1f41db84b91df55399e5e005c326c7bb2841b2ef745d735aef562f
diff --git a/media-gfx/iscan/files/iscan-2.30.4.2-sscanf.patch b/media-gfx/iscan/files/iscan-2.30.4.2-sscanf.patch
new file mode 100644
index 000000000000..fd8709705320
--- /dev/null
+++ b/media-gfx/iscan/files/iscan-2.30.4.2-sscanf.patch
@@ -0,0 +1,21 @@
+diff -ur iscan-2.30.3/backend/cfg-obj.c b/iscan-2.30.3/backend/cfg-obj.c
+--- iscan-2.30.3/backend/cfg-obj.c 2019-05-31 13:26:41.530042108 +0200
++++ iscan-2.30.3/backend/cfg-obj.c 2019-05-31 14:05:13.040056748 +0200
+@@ -1026,7 +1026,7 @@
+ char *vendor = NULL;
+ char *model = NULL;
+
+- sscanf (string, "%*s %as %as", &vendor, &model);
++ sscanf (string, "%*s %ms %ms", &vendor, &model);
+
+ if (list_append (_cfg->seen[CFG_KEY_SCSI], info))
+ {
+@@ -1108,7 +1108,7 @@
+ char *library = NULL;
+ char *firmware = NULL;
+
+- sscanf (string, "%*s %*s %x %x %as %as",
++ sscanf (string, "%*s %*s %x %x %ms %ms",
+ &vendor, &product, &library, &firmware);
+
+ if (library && _cfg_have_interpreter (library, firmware)
diff --git a/media-gfx/iscan/iscan-2.30.4.2.ebuild b/media-gfx/iscan/iscan-2.30.4.2.ebuild
new file mode 100644
index 000000000000..a82b27d06c6f
--- /dev/null
+++ b/media-gfx/iscan/iscan-2.30.4.2.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_DOC="userg_revQ"
+inherit autotools desktop flag-o-matic
+
+# HINTS:
+# -> non-free modules are x86 and amd64 only
+# -> iscan frontend needs non-free modules
+# -> sane-epkowa should be usable on every arch
+# -> ${P}-${SRC_REV}.tar.gz (for gcc 3.2/3.3)
+# -> ${P}-${SRC_REV}.c2.tar.gz (for gcc 3.4 or later)
+
+# FIXME:
+# iscan doesn't compile w/o libusb, this should be fixed somehow.
+
+# TODO:
+# (re)add closed-source binary modules which are needed for some scanners.
+
+DESCRIPTION="EPSON Image Scan! for Linux (including sane-epkowa backend)"
+HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
+SRC_URI="http://support.epson.net/linux/src/scanner/iscan/${PN}_$(ver_rs 3 -).tar.gz
+ doc? (
+ https://dev.gentoo.org/~flameeyes/avasys/${MY_DOC}_e.pdf
+ l10n_ja? ( https://dev.gentoo.org/~flameeyes/avasys/${MY_DOC}_j.pdf )
+ )"
+
+LICENSE="GPL-2 AVASYS"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gimp l10n_ja nls X"
+
+REQUIRED_USE="gimp? ( X )"
+
+DEPEND="
+ dev-libs/libxml2:2
+ media-gfx/sane-backends
+ virtual/libusb:1
+ virtual/udev
+ gimp? ( media-gfx/gimp:2 )
+ X? (
+ dev-libs/glib:2
+ media-libs/libpng:=
+ media-libs/tiff:=
+ virtual/jpeg:=
+ x11-libs/gtk+:2
+ )
+"
+RDEPEND="${DEPEND}
+ media-gfx/iscan-data
+"
+BDEPEND="
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+# Upstream ships broken sanity test
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
+
+DOCS=( AUTHORS NEWS README )
+
+PATCHES=(
+ "${FILESDIR}"/iscan-2.29.1-drop-ltdl.patch
+ "${FILESDIR}"/iscan-2.28.1.3+libpng-1.5.patch
+ "${FILESDIR}"/iscan-2.29.1-png-libs.patch
+ "${FILESDIR}"/iscan-2.30.1-fix-g++-test.patch
+ "${FILESDIR}"/iscan-2.30.1.1-gcc6.patch
+ "${FILESDIR}"/iscan-2.30.3.1-fix-x86-unknown-types.patch
+ "${FILESDIR}"/iscan-2.30.4.2-sscanf.patch
+)
+
+QA_PRESTRIPPED="usr/lib.*/libesmod.so.*"
+QA_TEXTRELS="${QA_PRESTRIPPED}"
+QA_FLAGS_IGNORED="${QA_PRESTRIPPED}"
+
+src_prepare() {
+ default
+
+ if ! use X; then
+ sed -i -e "s:PKG_CHECK_MODULES(GTK,.*):AC_DEFINE([HAVE_GTK_2], 0):g" \
+ -e "s:\(PKG_CHECK_MODULES(GDK_IMLIB,.*)\):#\1:g" configure.ac || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cppflags -D_GNU_SOURCE # needed for 'strndup'
+ replace-flags "-O[0-9s]" "-O1" # fix selector box bug 388073
+
+ local myeconfargs=(
+ --enable-dependency-reduction
+ --disable-static
+ $(use_enable nls)
+ $(use_enable gimp)
+ $(use_enable X frontend)
+ $(use_enable X jpeg)
+ $(use_enable X png)
+ $(use_enable X tiff)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ use l10n_ja && DOCS+=( {NEWS,README}.ja )
+ use doc && DOCS+=( "${DISTDIR}/${MY_DOC}_$(usex l10n_ja j e).pdf" )
+ default
+
+ # install sane config
+ insinto /etc/sane.d
+ doins backend/epkowa.conf
+
+ # link iscan so it is seen as a plugin in gimp
+ local gimpplugindir
+ local gimptool
+ if use gimp; then
+ for gimptool in gimptool gimptool-2.0; do
+ if [[ -x /usr/bin/${gimptool} ]]; then
+ einfo "Setting plugin link for GIMP version $(/usr/bin/${gimptool} --version)"
+ gimpplugindir=$(/usr/bin/${gimptool} --gimpplugindir)/plug-ins
+ break
+ fi
+ done
+ if [[ "/plug-ins" != "${gimpplugindir}" ]]; then
+ dodir ${gimpplugindir}
+ dosym "${ED%/}"/usr/bin/iscan "${gimpplugindir}"/iscan
+ else
+ ewarn "No idea where to find the gimp plugin directory"
+ fi
+ fi
+
+ use X && make_desktop_entry iscan "Image Scan! for Linux ${PV}" scanner
+}
+
+pkg_postinst() {
+ local DLL_CONF="${EPREFIX}/etc/sane.d/dll.conf"
+ local EPKOWA_CONF="${EPREFIX}/etc/sane.d/epkowa.conf"
+
+ if grep -q "^[ \t]*\<epkowa\>" ${DLL_CONF}; then
+ elog "Please edit ${EPKOWA_CONF} to suit your needs."
+ elif grep -q "\<epkowa\>" ${DLL_CONF}; then
+ elog "Hint: to enable the backend, add 'epkowa' to ${DLL_CONF}"
+ elog "Then edit ${EPKOWA_CONF} to suit your needs."
+ else
+ echo "epkowa" >> ${DLL_CONF} || die
+ elog "A new entry 'epkowa' was added to ${DLL_CONF}"
+ elog "Please edit ${EPKOWA_CONF} to suit your needs."
+ fi
+}