From 47dba9f472b52edf92599aa836782322c426d98e Mon Sep 17 00:00:00 2001 From: Marcin Deranek Date: Sun, 28 Jun 2020 22:27:25 +0200 Subject: iscan bump --- media-gfx/iscan/Manifest | 6 ++ .../iscan/files/iscan-3.61.0-ijg-libjpeg.patch | 45 +++++++++++ .../iscan/files/iscan-3.61.0-imagemagick-7.patch | 54 +++++++++++++ .../iscan/files/iscan-3.62.0-boost-1.73.patch | 44 +++++++++++ media-gfx/iscan/files/iscan-3.62.0-gcc-10.patch | 20 +++++ media-gfx/iscan/iscan-3.63.0.ebuild | 89 ++++++++++++++++++++++ 6 files changed, 258 insertions(+) create mode 100644 media-gfx/iscan/Manifest create mode 100644 media-gfx/iscan/files/iscan-3.61.0-ijg-libjpeg.patch create mode 100644 media-gfx/iscan/files/iscan-3.61.0-imagemagick-7.patch create mode 100644 media-gfx/iscan/files/iscan-3.62.0-boost-1.73.patch create mode 100644 media-gfx/iscan/files/iscan-3.62.0-gcc-10.patch create mode 100644 media-gfx/iscan/iscan-3.63.0.ebuild (limited to 'media-gfx') diff --git a/media-gfx/iscan/Manifest b/media-gfx/iscan/Manifest new file mode 100644 index 0000000..ddfefa3 --- /dev/null +++ b/media-gfx/iscan/Manifest @@ -0,0 +1,6 @@ +AUX iscan-3.61.0-ijg-libjpeg.patch 1145 BLAKE2B 781c0c9a40848f9c10ddb3418c55b6c4a145f1590c5ec41e22e371830d3d7d63c4e013d8fa69a1f15f24d4883d569c0645df66b3c6120eb724f3a1f9643e3813 SHA512 b570bc0e6aa73f74750aaab4d3ca84838864c8723b14fbf5a45fe9163be3e7819035a12bd058587a4b4964325ba4af99673e78647b11d2a7b1bcf96039522191 +AUX iscan-3.61.0-imagemagick-7.patch 1965 BLAKE2B 14685cc9540ccfda87587b5ff2df7b8c4755dd08bb428f33ce853c32baaf6ab7e6b2d3368df9153fa5f5b39d9ef17b8e468ea59530ac89098107542db2638f05 SHA512 d5545570865370229f2b132aef7131cbbfabd7e929795bee6ce1e0d791c2c623eefabdd0ec265c6cadcc41072049d61e07d5fca46a1f51c621323a38112dc316 +AUX iscan-3.62.0-boost-1.73.patch 1315 BLAKE2B 801f6f9e2f91b4a442b673a2cd9630519ea10e08131877eb09ac52bc190316bfdc98fa1ae572ac2122bd9999a10af421d808762b0d7ca07b249d94428acbfb01 SHA512 183cd4e12451dd66ae096cccdc4ea9fdb4264935894a4442aa094e42ca539ad3f9fec6b01aaac3f20263a3425956808a342de886465b6e9700a7c449c031431f +AUX iscan-3.62.0-gcc-10.patch 503 BLAKE2B 53a351f439f43003e668cad1b8f05231b58137dd4e4a88ea3b04aa326f8ae82d46e664d19a5fba89122c6959e9aeb33beab56a43128c73b483d99c9ec25bf835 SHA512 b32438d590419a8be3c7f28a545ed4dedab0a6f0bcd0c9f3a81def67164c4156dd52064d8d8ca93cf2550b2184de12c94cffd6b91ef82d832179eb3e9f554326 +DIST imagescan_3.63.0.orig.tar.gz 12776113 BLAKE2B d1a9f1d60ba4a2239c6ed74f7f9e0da078e2743e78e0abb67a69506bf90ac35b069f84b5a092a6eb8fd73f60eb668e78b4c7fae56b3a65b6b3d8600f082c064a SHA512 3c9b18e630d6fb1c042244542675e89a8b467469d7212ab684f72100810d1f7d0ec16d13c472a83ca05a3a4fc44e366f692a36cd6b0e81c9a332dd3b40de9535 +EBUILD iscan-3.63.0.ebuild 2332 BLAKE2B efe846efa66cc80dc3675dc4e1cff7c20eb7902a8523e251bff906c694c0585f34a8f0779235339bdb58442deb8c3e03ae0fef425ca7c6b90ca0d56113da6ca0 SHA512 53ae2081a1956a68deb8dfa3f7b4312ff6b2239300a5cecb3d9aaf8e170906097ca056bf8e7c3c4e5cf566bd0336500305f1dcb85cf429513ecb50cd45a80049 diff --git a/media-gfx/iscan/files/iscan-3.61.0-ijg-libjpeg.patch b/media-gfx/iscan/files/iscan-3.61.0-ijg-libjpeg.patch new file mode 100644 index 0000000..2625741 --- /dev/null +++ b/media-gfx/iscan/files/iscan-3.61.0-ijg-libjpeg.patch @@ -0,0 +1,45 @@ +--- a/filters/jpeg.cpp ++++ b/filters/jpeg.cpp +@@ -410,13 +410,13 @@ + cinfo_.image_height = ctx_.height (); + + jpeg_set_defaults (&cinfo_); +- jpeg_set_quality (&cinfo_, quality_, true); ++ jpeg_set_quality (&cinfo_, quality_, TRUE); + + cinfo_.density_unit = 1; // in dpi + cinfo_.X_density = ctx_.x_resolution (); + cinfo_.Y_density = ctx_.y_resolution (); + +- jpeg_start_compress (&cinfo_, true); ++ jpeg_start_compress (&cinfo_, TRUE); + + cache_ = new octet[ctx_.octets_per_line ()]; + cache_size_ = ctx_.octets_per_line (); +@@ -462,7 +462,7 @@ + dmgr_.next_output_byte = jbuf_ + (jbuf_size_ - n); + dmgr_.free_in_buffer = n; + +- return true; ++ return TRUE; + } + + void +@@ -535,7 +535,7 @@ + + //jpegデータの一部が分割されて送られてきても正常に動作するように変更 + +- return false; ++ return FALSE; + } + + void +@@ -580,7 +580,7 @@ + { + if (!header_done_) + { +- if (JPEG_SUSPENDED == jpeg_read_header (&cinfo_, true)) ++ if (JPEG_SUSPENDED == jpeg_read_header (&cinfo_, TRUE)) + { + log::trace ("jpeg_read_header suspended"); + if (!reclaim_space ()) diff --git a/media-gfx/iscan/files/iscan-3.61.0-imagemagick-7.patch b/media-gfx/iscan/files/iscan-3.61.0-imagemagick-7.patch new file mode 100644 index 0000000..9d345a2 --- /dev/null +++ b/media-gfx/iscan/files/iscan-3.61.0-imagemagick-7.patch @@ -0,0 +1,54 @@ +From 222aa3e123ee771d8997f6931997e3143186e0d6 Mon Sep 17 00:00:00 2001 +From: sirjaren +Date: Tue, 20 Feb 2018 13:35:46 -0600 +Subject: [PATCH] media-gfx/utsushi: ImageMagick deskew/crop support + +Fixes to allow utsushi to be built with --magick-pp. According to: + https://github.com/utsushi/utsushi/issues/43 + +The API changes from ImageMagick 6 to 7 means build failures as there +are old API's in use. It seems, that these API's are not actually used +(as in GraphicsMagick doesn't use them), so it may be ok to disable the +checks for them in 'doc-locate.cpp'. + +This is not yet confirmed, but allows building and using deskew in my +own testing. +--- + .../files/utsushi-9999-magick-pp.patch | 33 ++++++++++ + 4 files changed, 111 insertions(+), 8 deletions(-) + create mode 100644 media-gfx/utsushi/files/utsushi-9999-boost.patch + create mode 100644 media-gfx/utsushi/files/utsushi-9999-magick-pp.patch + +diff --git a/filters/doc-locate.cpp b/filters/doc-locate.cpp +index 4b09b29..4508274 100644 +--- a/filters/doc-locate.cpp ++++ b/filters/doc-locate.cpp +@@ -260,17 +260,17 @@ public: + clone.rotate (deskew_angle ()); + + Magick::Geometry rv = bbox (clone); +- if (HAVE_IMAGE_MAGICK_PP) +- { +- if (clone.page ().xNegative ()) +- rv.xOff (rv.xOff () - clone.page ().xOff()); +- else +- rv.xOff (rv.xOff () + clone.page ().xOff()); +- if (clone.page ().yNegative ()) +- rv.yOff (rv.yOff () - clone.page ().yOff()); +- else +- rv.yOff (rv.yOff () + clone.page ().yOff()); +- } ++ /*if (HAVE_IMAGE_MAGICK_PP) ++ *{ ++ * if (clone.page ().xNegative ()) ++ * rv.xOff (rv.xOff () - clone.page ().xOff()); ++ * else ++ * rv.xOff (rv.xOff () + clone.page ().xOff()); ++ * if (clone.page ().yNegative ()) ++ * rv.yOff (rv.yOff () - clone.page ().yOff()); ++ * else ++ * rv.yOff (rv.yOff () + clone.page ().yOff()); ++ }*/ + return scale (rv); + } + diff --git a/media-gfx/iscan/files/iscan-3.62.0-boost-1.73.patch b/media-gfx/iscan/files/iscan-3.62.0-boost-1.73.patch new file mode 100644 index 0000000..da6cc66 --- /dev/null +++ b/media-gfx/iscan/files/iscan-3.62.0-boost-1.73.patch @@ -0,0 +1,44 @@ +diff -urN a/drivers/esci/verify.cpp b/drivers/esci/verify.cpp +--- a/drivers/esci/verify.cpp 2019-11-18 04:08:45.000000000 +0200 ++++ b/drivers/esci/verify.cpp 2020-05-09 20:22:00.899968638 +0300 +@@ -58,6 +58,7 @@ + + using namespace utsushi; + using namespace _drv_::esci; ++using namespace boost::placeholders; + + using std::basic_string; + using std::ios_base; +diff -urN a/lib/monitor.cpp b/lib/monitor.cpp +--- a/lib/monitor.cpp 2019-11-18 04:08:08.000000000 +0200 ++++ b/lib/monitor.cpp 2020-05-09 20:22:26.392174029 +0300 +@@ -49,6 +49,7 @@ + namespace utsushi { + + using boost::filesystem::exists; ++using namespace boost::placeholders; + + class monitor::impl + { +diff -urN a/sane/handle.cpp b/sane/handle.cpp +--- a/sane/handle.cpp 2019-11-18 04:08:08.000000000 +0200 ++++ b/sane/handle.cpp 2020-05-09 20:21:49.559223712 +0300 +@@ -65,6 +65,7 @@ + using utsushi::_flt_::deskew; + using utsushi::_flt_::autocrop; + using utsushi::_flt_::pnm; ++using namespace boost::placeholders; + + namespace sane { + +--- utsushi-0.62.0/gtkmm/pump.cpp.orig 2019-11-18 03:08:48.000000000 +0100 ++++ utsushi-0.62.0/gtkmm/pump.cpp 2020-05-10 21:59:32.986379049 +0200 +@@ -31,6 +31,8 @@ + namespace utsushi { + namespace gtkmm { + ++using namespace boost::placeholders; ++ + pump::pump (idevice::ptr idev) + : utsushi::pump (idev) + , idev_ptr_(idev) diff --git a/media-gfx/iscan/files/iscan-3.62.0-gcc-10.patch b/media-gfx/iscan/files/iscan-3.62.0-gcc-10.patch new file mode 100644 index 0000000..4f8c63c --- /dev/null +++ b/media-gfx/iscan/files/iscan-3.62.0-gcc-10.patch @@ -0,0 +1,20 @@ +--- a/utsushi/string.hpp 2020-05-08 23:20:11.642359134 +0200 ++++ b/utsushi/string.hpp 2020-05-08 23:20:21.834246187 +0200 +@@ -23,6 +23,7 @@ + + #include + #include ++#include + + #include + +--- a/utsushi/toggle.hpp 2019-11-18 03:08:06.000000000 +0100 ++++ b/utsushi/toggle.hpp 2020-05-08 23:23:40.284045167 +0200 +@@ -22,6 +22,7 @@ + #define utsushi_toggle_hpp_ + + #include ++#include + #include + + namespace utsushi { diff --git a/media-gfx/iscan/iscan-3.63.0.ebuild b/media-gfx/iscan/iscan-3.63.0.ebuild new file mode 100644 index 0000000..92b6067 --- /dev/null +++ b/media-gfx/iscan/iscan-3.63.0.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools desktop flag-o-matic udev xdg-utils + +DESCRIPTION="EPSON Image Scan v3 for Linux" +HOMEPAGE="https://support.epson.net/linux/en/imagescanv3.php https://gitlab.com/utsushi/utsushi" +SRC_URI="https://support.epson.net/linux/src/scanner/imagescanv3/common/imagescan_${PV}.orig.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +IUSE="graphicsmagick gui" +KEYWORDS="~amd64 ~x86" + +BDEPEND="virtual/pkgconfig" +DEPEND=" + dev-libs/boost:= + media-gfx/sane-backends + media-libs/tiff + virtual/jpeg + virtual/libusb:1 + graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] ) + !graphicsmagick? ( media-gfx/imagemagick:=[cxx] ) + gui? ( dev-cpp/gtkmm:2.4 ) +" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/utsushi-0.$(ver_cut 2-3)" + +PATCHES=( + "${FILESDIR}"/${PN}-3.61.0-ijg-libjpeg.patch + "${FILESDIR}"/${PN}-3.61.0-imagemagick-7.patch + "${FILESDIR}"/${PN}-3.62.0-gcc-10.patch + "${FILESDIR}"/${PN}-3.62.0-boost-1.73.patch +) + +src_prepare() { + default + + # Remove vendored libraries + rm -r upstream/boost || die + # Workaround for deprecation warnings: + # https://gitlab.com/utsushi/utsushi/issues/90 + sed -e 's|=-Werror|="-Werror -Wno-error=deprecated-declarations"|g' -i configure.ac || die + eautoreconf +} + +src_configure() { + # Workaround for: + # /usr/lib64/utsushi/libutsushi.so.0: undefined symbol: libcnx_usb_LTX_factory + append-ldflags $(no-as-needed) + # https://bugs.gentoo.org/720994 + append-ldflags -pthread + local myconf=( + $(use_with gui gtkmm) + --enable-sane-config + --enable-udev-config + --with-boost=yes + --with-jpeg + --with-magick=$(usex graphicsmagick GraphicsMagick ImageMagick) + --with-magick-pp=$(usex graphicsmagick GraphicsMagick ImageMagick) + --with-sane + --with-tiff + --with-udev-confdir="$(get_udevdir)" + ) + econf "${myconf[@]}" +} + +src_install() { + default + dodoc lib/devices.conf + find "${ED}" -name '*.la' -delete || die + if use gui; then + newicon -s scalable doc/icon.svg "${PN}".svg + make_desktop_entry utsushi "Image Scan" + fi +} + +pkg_postinst() { + use gui && xdg_icon_cache_update + elog "If you encounter problems with media-gfx/xsane when scanning (e.g., bad resolution)," + elog "please try the built-in GUI and kde-misc/skanlite first before reporting bugs." +} + +pkg_postrm() { + use gui && xdg_icon_cache_update +} -- cgit v1.2.3