diff options
author | David Seifert <soap@gentoo.org> | 2018-01-20 21:25:50 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2018-01-20 21:26:20 +0100 |
commit | 32694b0b3b24bd6729e613fabd7a3050c658c95b (patch) | |
tree | 064f15380b3d23324ecb7de2cbc72515a2766767 | |
parent | b6e4c805d53b49da79a0f64ef16bb82d6d800fcf (diff) | |
download | gentoo-32694b0b3b24bd6729e613fabd7a3050c658c95b.tar.gz gentoo-32694b0b3b24bd6729e613fabd7a3050c658c95b.tar.xz |
media-gfx/iscan: [QA] Cleanup
Package-Manager: Portage-2.3.19, Repoman-2.3.6
-rw-r--r-- | media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch | 8 | ||||
-rw-r--r-- | 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 +} |