commit:     32694b0b3b24bd6729e613fabd7a3050c658c95b
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 20 20:25:50 2018 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jan 20 20:26:20 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32694b0b

media-gfx/iscan: [QA] Cleanup

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 .../iscan/files/iscan-2.28.1.3+libpng-1.5.patch    |   8 +-
 media-gfx/iscan/iscan-2.30.2.2-r1.ebuild           | 166 +++++++++++++++++++++
 2 files changed, 170 insertions(+), 4 deletions(-)

diff --git a/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch 
b/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch
index 7205028d824..50b94889190 100644
--- a/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch
+++ b/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch
@@ -1,5 +1,5 @@
---- lib/pngstream.cc   2011-12-01 02:30:53.000000000 +0100
-+++ lib/pngstream.cc   2012-02-06 03:06:22.000000000 +0100
+--- a/lib/pngstream.cc
++++ b/lib/pngstream.cc
 @@ -83,7 +83,12 @@
  #if HAVE_PNG_H
      set_error_handler (_png, _info);
@@ -33,8 +33,8 @@
          && lib->write_info
          && lib->write_row
          && lib->write_flush
---- lib/pngstream.hh   2011-12-01 02:30:53.000000000 +0100
-+++ lib/pngstream.hh   2012-02-06 03:09:09.000000000 +0100
+--- a/lib/pngstream.hh
++++ b/lib/pngstream.hh
 @@ -108,6 +108,10 @@
                 png_structp);
        fundecl (void, write_end,

diff --git a/media-gfx/iscan/iscan-2.30.2.2-r1.ebuild 
b/media-gfx/iscan/iscan-2.30.2.2-r1.ebuild
new file mode 100644
index 00000000000..be96146638b
--- /dev/null
+++ b/media-gfx/iscan/iscan-2.30.2.2-r1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools desktop flag-o-matic versionator
+
+# 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:
+# Make jpeg/png optional. The problem is, that the configure script ignores 
--disable-*,
+# if the corresponding lib is found on the system.
+# Furthermore, 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.
+
+MY_PV="$(get_version_component_range 1-3)"
+MY_PVR="$(replace_version_separator 3 -)"
+MY_DOC="userg_revQ"
+
+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}_${MY_PVR}.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="X doc gimp jpeg png tiff l10n_ja"
+REQUIRED_USE="gimp? ( X )
+       jpeg? ( X )
+       png? ( X )
+       tiff? ( X )"
+# Upstream ships broken sanity test
+RESTRICT="test"
+
+RDEPEND="dev-libs/libxml2
+       media-gfx/iscan-data
+       media-gfx/sane-backends
+       virtual/udev
+       virtual/libusb:1
+       X? ( x11-libs/gtk+:2 )
+       gimp? ( media-gfx/gimp )
+       jpeg? ( virtual/jpeg:= )
+       png? ( media-libs/libpng:= )
+       tiff? ( media-libs/tiff:= )"
+
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       X? ( sys-devel/gettext )"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+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() {
+       local i
+
+       # convert japanese docs to UTF-8
+       if use l10n_ja; then
+               for i in {NEWS,README}.ja non-free/*.ja.txt; do
+                       if [[ -f ${i} ]]; then
+                               elog ">>> Converting ${i} to UTF-8"
+                               iconv -f eucjp -t utf8 -o "${i}~" "${i}" && mv 
-f "${i}~" "${i}" || rm -f "${i}~"
+                       fi
+               done
+       fi
+
+       # disable checks for gtk+
+       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
+
+       default
+       eautoreconf
+}
+
+src_configure() {
+       append-cppflags -D_GNU_SOURCE  # needed for 'strndup'
+       # Fix selector box bug 388073
+       replace-flags "-O[0-9s]" "-O1"
+
+       local myconf=(
+               --enable-dependency-reduction
+               --disable-static
+               $(use_enable X frontend)
+               $(use_enable gimp)
+               $(use_enable jpeg)
+               $(use_enable png)
+               $(use_enable tiff)
+       )
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       local MY_LIB="${EPREFIX}/usr/$(get_libdir)"
+       emake DESTDIR="${D}" install
+
+       # install docs
+       dodoc AUTHORS NEWS README
+       use l10n_ja && dodoc NEWS.ja README.ja
+
+       # install sane config
+       insinto /etc/sane.d
+       doins backend/epkowa.conf
+
+       # install extra docs
+       use doc && dodoc "${DISTDIR}"/${MY_DOC}_$(usex l10n_ja j e).pdf
+
+       # link iscan so it is seen as a plugin in gimp
+       if use X && use gimp; then
+               local plugindir
+               if [[ -x ${EPREFIX}/usr/bin/gimptool ]]; then
+                       plugindir="$(gimptool --gimpplugindir)/plug-ins" || die 
"Failed to get gimpplugindir"
+               elif [[ -x ${EPREFIX}/usr/bin/gimptool-2.0 ]]; then
+                       plugindir="$(gimptool-2.0 --gimpplugindir)/plug-ins" || 
die "Failed to get gimpplugindir"
+               else
+                       die "Can't find GIMP plugin directory."
+               fi
+               dodir "${plugindir}"
+               dosym /usr/bin/iscan "${plugindir}"/iscan
+       fi
+
+       # install desktop entry
+       if use X; then
+               make_desktop_entry iscan "Image Scan! for Linux ${PV}" scanner
+       fi
+}
+
+pkg_postinst() {
+       local i
+       local DLL_CONF="${EPREFIX}/etc/sane.d/dll.conf"
+       local EPKOWA_CONF="${EPREFIX}/etc/sane.d/epkowa.conf"
+
+       elog
+       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
+}

Reply via email to