diff options
author | Matthew Schultz <mattsch@gmail.com> | 2017-09-26 19:46:55 +0200 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2017-09-26 19:48:05 +0200 |
commit | e38656c8d9430ba339b7852115beb472509a409e (patch) | |
tree | 7b94dd4a2d221abfd75b0f740200c99e037d740b /media-gfx/iscan | |
parent | dev-lang/mercury-extras: version bump (diff) | |
download | gentoo-e38656c8d9430ba339b7852115beb472509a409e.tar.gz gentoo-e38656c8d9430ba339b7852115beb472509a409e.tar.bz2 gentoo-e38656c8d9430ba339b7852115beb472509a409e.zip |
media-gfx/iscan: version bump, bug 596942
Closes: https://bugs.gentoo.org/596942
Closes: https://bugs.gentoo.org/595776
Diffstat (limited to 'media-gfx/iscan')
-rw-r--r-- | media-gfx/iscan/Manifest | 1 | ||||
-rw-r--r-- | media-gfx/iscan/files/iscan-2.30.1.1-gcc6.patch | 11 | ||||
-rw-r--r-- | media-gfx/iscan/iscan-2.30.2.2.ebuild | 177 |
3 files changed, 189 insertions, 0 deletions
diff --git a/media-gfx/iscan/Manifest b/media-gfx/iscan/Manifest index f1c23fac83d0..f6b078770b73 100644 --- a/media-gfx/iscan/Manifest +++ b/media-gfx/iscan/Manifest @@ -1,3 +1,4 @@ DIST iscan_2.30.1-1.tar.gz 1217985 SHA256 79aa9a9f81a7146beb22a382bbaf840fbce61b1bdb82660e541946a471e48426 SHA512 0562be739b637ee78a5bf2612e7b148de60709c32550742383b76750688d48e42834acbe050c5f2fad26bd9063c9faff425bf906dcebc3e4160d17cd5481850a WHIRLPOOL f3492bff532779987aa8b47f8bb4a1a16164c3d77386d7906dc6b2c6a606b25bcdb4d15766971f8e9bb5b23c4522a3b601e4198212e8fddd54f75f046dda85ef +DIST iscan_2.30.2-2.tar.gz 1216875 SHA256 ca2322a527ab41c8207b060ee54fc3782cba84c444bcf6b9c8ee32f7cda007d9 SHA512 bc5e871fa5e3baa62eee7b8b0a73abf2640a38f71f98248b1c9e1cace17c2a32de2f64c2a7527e8618f20e9913a16d0f55a8a94b3aea88ae8a157339e8bcf8e9 WHIRLPOOL 4727f6103639d6fe6e70f1651c4c5b2414ebd244ee395add2aa93849170c9abc815b82fd7fbcc0a3e2394a7fa0849ce5c58865d2a18e3bc4831a94b70ad28b49 DIST userg_revQ_e.pdf 627189 SHA256 7f40dfb94bf747a5059c17cba21e72e2485226ea41655453d010b46ed96e8a1c SHA512 b09d5143855a759e0fa3e74794762566b6fbf734642f9d7f712e5f2f20e3dce6b830465fd65f83f9cc368292ce7a2c0cec709b0eba6356d95e1ba5114b3348fc WHIRLPOOL f1497a87ad9b991a05a7a93ff5603944b1cadf00b5162498ff4c0ff1d85615de922324ee5574d0f8540e2d44fc2dede2a25157e562633f51b75eb8e4d4e56dc2 DIST userg_revQ_j.pdf 734920 SHA256 22d29bd17fe8c5772cdcdfb5201eff54eeaadebe3c94563ee4fcfc04579a1c4d SHA512 d5cb0cebaae0ac36951379cad516f0575e85e0bb509cf88549239e300c7d6c6a4996497145acaa9e9783de6b08c6e352c7ffbedb23ed04c15eefbe9c3cf0bc90 WHIRLPOOL 0f567a4d3543ea0df1d49e92211ba3811a03f200f828d4348eb00bb695df915ae75001faec52d616ff98d4da617ef6cfe95795ece33eeb114b0378892294647e diff --git a/media-gfx/iscan/files/iscan-2.30.1.1-gcc6.patch b/media-gfx/iscan/files/iscan-2.30.1.1-gcc6.patch new file mode 100644 index 000000000000..14a64bcdd9cc --- /dev/null +++ b/media-gfx/iscan/files/iscan-2.30.1.1-gcc6.patch @@ -0,0 +1,11 @@ +--- iscan-2.30.1/lib/jpegstream.cc.old 2016-10-12 02:55:47.345862674 -0400 ++++ iscan-2.30.1/lib/jpegstream.cc 2016-10-12 03:02:53.790439580 -0400 +@@ -82,7 +82,7 @@ + // only that _bits != 8. + for (unsigned int i = 0; i < _h_sz; ++i) + { +- div_t index = div (i, 8 * sizeof (JSAMPLE)); ++ div_t index = div ((int) i, (int) 8 * sizeof (JSAMPLE)); + int offset = 8 * sizeof (JSAMPLE) - 1 - index.rem; + _scanline[i] = ((line[index.quot] & (1 << offset)) + ? 0 : ~0); diff --git a/media-gfx/iscan/iscan-2.30.2.2.ebuild b/media-gfx/iscan/iscan-2.30.2.2.ebuild new file mode 100644 index 000000000000..81ed7d13b55c --- /dev/null +++ b/media-gfx/iscan/iscan-2.30.2.2.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils flag-o-matic autotools 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. + +KEYWORDS="~amd64 ~x86" + +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" + +IUSE="X doc gimp jpeg png tiff l10n_ja" +IUSE_LINGUAS="ar de es fr it ja ko nl pt zh_CN zh_TW" + +for X in ${IUSE_LINGUAS}; do IUSE="${IUSE} linguas_${X}"; done + +REQUIRED_USE="gimp? ( X ) + jpeg? ( X ) + png? ( X ) + tiff? ( X )" + +QA_PRESTRIPPED="usr/lib*/libesmod.so.*" +QA_TEXTRELS="${QA_PRESTRIPPED}" +QA_FLAGS_IGNORED="${QA_PRESTRIPPED}" + +# 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}" + +src_prepare() { + eapply_user + 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 + echo ">>> 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 + + epatch "${FILESDIR}"/iscan-2.29.1-drop-ltdl.patch + epatch "${FILESDIR}"/iscan-2.28.1.3+libpng-1.5.patch + epatch "${FILESDIR}"/iscan-2.29.1-png-libs.patch + epatch "${FILESDIR}"/iscan-2.30.1-fix-g++-test.patch + epatch "${FILESDIR}"/iscan-2.30.1.1-gcc6.patch + + 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="/usr/$(get_libdir)" + emake DESTDIR="${D}" install || die "emake install failed" + + # 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 + if use doc; then + insinto /usr/share/doc/${PF} + if use l10n_ja; then + doins "${DISTDIR}/${MY_DOC}_j.pdf" + else + doins "${DISTDIR}/${MY_DOC}_e.pdf" + fi + fi + + # link iscan so it is seen as a plugin in gimp + if use X && use gimp; then + local plugindir + if [ -x /usr/bin/gimptool ]; then + plugindir="$(gimptool --gimpplugindir)/plug-ins" || die "Failed to get gimpplugindir" + elif [ -x /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="/etc/sane.d/dll.conf" + local EPKOWA_CONF="/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} + elog "A new entry 'epkowa' was added to ${DLL_CONF}" + elog "Please edit ${EPKOWA_CONF} to suit your needs." + fi +} |