diff --git a/media-gfx/iscan/Manifest b/media-gfx/iscan/Manifest index 46f06c795e1bc..8b76d3a39954c 100644 --- a/media-gfx/iscan/Manifest +++ b/media-gfx/iscan/Manifest @@ -1,3 +1,4 @@ DIST iscan_2.30.2-2.tar.gz 1216875 BLAKE2B 73a0de2b8432df026c5755df610205085c351ef586c1225d17f3f1ceb1404dae0449aaf2e6f0dbe18b98c0c1dc793fb184c17479fa08b195e6342d53bea3512e SHA512 bc5e871fa5e3baa62eee7b8b0a73abf2640a38f71f98248b1c9e1cace17c2a32de2f64c2a7527e8618f20e9913a16d0f55a8a94b3aea88ae8a157339e8bcf8e9 +DIST iscan_2.30.3-1.tar.gz 1216848 BLAKE2B 8a5f485c1dd814248c46aec6accedd331105c3ccc0f70a582e60dfb62b1cc1f1ebab358f0896b15cbf842ea06f8a35447d91f76391b10bad07df371512856c32 SHA512 5f68b2f7b7c1d1b5d3d65a55c3a80538fda5d2bdf9cd50fbf942e0eb49dcb84983ede66ed2f6354f9591692808df54415400fe02ed47e7373082869612a47872 DIST userg_revQ_e.pdf 627189 BLAKE2B ff57871c58dc541e30d65127bd8f4cc2a20ec5341c1d0914116f7ec4ae002d896853b99488eec71e5f8cb150e6b63d353efb9be11977de26d017701bc051014a SHA512 b09d5143855a759e0fa3e74794762566b6fbf734642f9d7f712e5f2f20e3dce6b830465fd65f83f9cc368292ce7a2c0cec709b0eba6356d95e1ba5114b3348fc DIST userg_revQ_j.pdf 734920 BLAKE2B ed2cffdc2dbf0a2403dcbd93cef3349b9e35afb305f9b36f92b8f11bd42b5281fc7bfbec108703f327fb538868c530418406d37505e6eb6afa621d2d49d007ba SHA512 d5cb0cebaae0ac36951379cad516f0575e85e0bb509cf88549239e300c7d6c6a4996497145acaa9e9783de6b08c6e352c7ffbedb23ed04c15eefbe9c3cf0bc90 diff --git a/media-gfx/iscan/iscan-2.30.3.1.ebuild b/media-gfx/iscan/iscan-2.30.3.1.ebuild new file mode 100644 index 0000000000000..84029550db4e6 --- /dev/null +++ b/media-gfx/iscan/iscan-2.30.3.1.ebuild @@ -0,0 +1,138 @@ +# 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 X" + +REQUIRED_USE="gimp? ( X )" + +DEPEND=" + dev-libs/libxml2 + media-gfx/sane-backends + virtual/libusb:1 + virtual/udev + gimp? ( media-gfx/gimp ) + 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 + X? ( 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 +) + +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 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 + if use gimp; then + local plugindir="$(gimptool-2.0 --gimpplugindir)/plug-ins" + dodir "${plugindir}" + dosym /usr/bin/iscan "${plugindir}"/iscan + 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]*\" ${DLL_CONF}; then + elog "Please edit ${EPKOWA_CONF} to suit your needs." + elif grep -q "\" ${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 +}