From 2efd9a78d5e83d7957606c098d91ce205fb201b0 Mon Sep 17 00:00:00 2001 From: Marcin Deranek Date: Wed, 2 Mar 2022 16:18:53 +0100 Subject: Move to the right location --- media-gfx/imagescan-plugin-network-nt/Manifest | 3 + .../imagescan-plugin-network-nt-1.1.3.ebuild | 40 ++++++++ media-gfx/imagescan-plugin-network-nt/metadata.xml | 8 ++ media-gfx/imagescan/Manifest | 13 +++ .../files/imagescan-3.61.0-ijg-libjpeg.patch | 45 +++++++++ .../files/imagescan-3.61.0-imagemagick-7.patch | 54 ++++++++++ .../files/imagescan-3.62.0-boost-1.73.patch | 44 ++++++++ .../files/imagescan-3.62.0-fix-symbols.patch | 34 +++++++ .../imagescan/files/imagescan-3.62.0-gcc-10.patch | 20 ++++ .../files/imagescan-3.62.0-tests-boost.patch | 81 +++++++++++++++ .../files/imagescan-3.62.0-tests-linkage.patch | 94 +++++++++++++++++ .../files/imagescan-3.62.0-tests-tesseract.patch | 111 +++++++++++++++++++++ .../files/imagescan-3.63.0-autoconf-2.70.patch | 34 +++++++ .../files/imagescan-3.65.0-sane-backends-1.1.patch | 11 ++ media-gfx/imagescan/imagescan-3.65.0.ebuild | 104 +++++++++++++++++++ media-gfx/imagescan/metadata.xml | 23 +++++ 16 files changed, 719 insertions(+) create mode 100644 media-gfx/imagescan-plugin-network-nt/Manifest create mode 100644 media-gfx/imagescan-plugin-network-nt/imagescan-plugin-network-nt-1.1.3.ebuild create mode 100644 media-gfx/imagescan-plugin-network-nt/metadata.xml create mode 100644 media-gfx/imagescan/Manifest create mode 100644 media-gfx/imagescan/files/imagescan-3.61.0-ijg-libjpeg.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.61.0-imagemagick-7.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.62.0-boost-1.73.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.62.0-fix-symbols.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.62.0-gcc-10.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.62.0-tests-boost.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.62.0-tests-linkage.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.62.0-tests-tesseract.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.63.0-autoconf-2.70.patch create mode 100644 media-gfx/imagescan/files/imagescan-3.65.0-sane-backends-1.1.patch create mode 100644 media-gfx/imagescan/imagescan-3.65.0.ebuild create mode 100644 media-gfx/imagescan/metadata.xml (limited to 'media-gfx') diff --git a/media-gfx/imagescan-plugin-network-nt/Manifest b/media-gfx/imagescan-plugin-network-nt/Manifest new file mode 100644 index 0000000..6414aff --- /dev/null +++ b/media-gfx/imagescan-plugin-network-nt/Manifest @@ -0,0 +1,3 @@ +DIST imagescan-bundle-centos-8-3.62.0.x64.rpm.tar.gz 11111201 BLAKE2B 51b868569fa049f8bc35a911245895c0fe0c5e0060b129c1c84a39cddd0aa4344ea024b6896dadc535438bcfc0be74337348533adf1b2be8866aad4e30bcb41a SHA512 11af49d20fc8e828c25dc6e912d1dbefebcba9835b1ebe922bc57c30dd0d13b79508a1bb01ad260c721d865fd393a41bc2bf41dc84b42efb22512a28cc9542f3 +EBUILD imagescan-plugin-network-nt-1.1.3.ebuild 1175 BLAKE2B ec318dbf6d7b33d4bb627e3c4c5c9e4c4c0c624e5b10f1c59bc3a27d68167b7e35a7ecfcd4c4246637769cedbc429ca5cf1fd1f5391a0aeb35b7ce0dc19129f2 SHA512 d97077c2f3031967b435d736a9ca7c54cee546f57c74675cb2c90a6c407672cccc524932166a2df4f439197d4fcca9afaecded6681d36e7dcb125925fc8d16d8 +MISC metadata.xml 261 BLAKE2B e57c0c3e4a59fdb630d23ae9d96afed10307c5308bace0cf58c22f41cbbf22fc82c5cd0d041800498570b1490a39f6c47547acfbb2766e21735820ae1c39bf8f SHA512 212dbdf6e688804621cd0ee28e47d3b9696182fe4850a87569e0727e5e811b7c4193807c2ecec65005e1689d4c0ba2c88fb67b29cc89928649e23d23a94d724b diff --git a/media-gfx/imagescan-plugin-network-nt/imagescan-plugin-network-nt-1.1.3.ebuild b/media-gfx/imagescan-plugin-network-nt/imagescan-plugin-network-nt-1.1.3.ebuild new file mode 100644 index 0000000..658b1b6 --- /dev/null +++ b/media-gfx/imagescan-plugin-network-nt/imagescan-plugin-network-nt-1.1.3.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-info rpm + +DESCRIPTION="Network scanning plugin for EPSON scanners (nonfree)" + +HOMEPAGE="https://download.ebz.epson.net/dsc/search/01/search/?OSC=LX" +# This is distributed as part of the "bundle driver"; since we already have the +# opensource part separately we just install the nonfree part here. + +ISCAN_VERSION="3.62.0" + +SRC_URI="https://download2.ebz.epson.net/imagescanv3/centos/latest1/rpm/x64/imagescan-bundle-centos-8-${ISCAN_VERSION}.x64.rpm.tar.gz" +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="media-gfx/imagescan" +RESTRICT="bindist mirror strip" +# https://bugs.gentoo.org/364129#c15 +CONFIG_CHECK="~SYN_COOKIES" +S=${WORKDIR} + +QA_PREBUILT="/usr/libexec/utsushi/networkscan" + +src_unpack() { + default + rpm_unpack ./imagescan-bundle-centos-8-${ISCAN_VERSION}.x64.rpm/plugins/imagescan-plugin-networkscan-${PV}-1epson4centos8.x86_64.rpm +} + +src_install() { + exeinto /usr/libexec/utsushi + doexe usr/libexec/utsushi/networkscan + + gunzip usr/share/doc/imagescan-plugin-networkscan/*.gz + dodoc usr/share/doc/imagescan-plugin-networkscan/* +} diff --git a/media-gfx/imagescan-plugin-network-nt/metadata.xml b/media-gfx/imagescan-plugin-network-nt/metadata.xml new file mode 100644 index 0000000..71a5bee --- /dev/null +++ b/media-gfx/imagescan-plugin-network-nt/metadata.xml @@ -0,0 +1,8 @@ + + + + + dilfridge@gentoo.org + Andreas K. Huettel + + diff --git a/media-gfx/imagescan/Manifest b/media-gfx/imagescan/Manifest new file mode 100644 index 0000000..36a1490 --- /dev/null +++ b/media-gfx/imagescan/Manifest @@ -0,0 +1,13 @@ +AUX imagescan-3.61.0-ijg-libjpeg.patch 1145 BLAKE2B 781c0c9a40848f9c10ddb3418c55b6c4a145f1590c5ec41e22e371830d3d7d63c4e013d8fa69a1f15f24d4883d569c0645df66b3c6120eb724f3a1f9643e3813 SHA512 b570bc0e6aa73f74750aaab4d3ca84838864c8723b14fbf5a45fe9163be3e7819035a12bd058587a4b4964325ba4af99673e78647b11d2a7b1bcf96039522191 +AUX imagescan-3.61.0-imagemagick-7.patch 1965 BLAKE2B 14685cc9540ccfda87587b5ff2df7b8c4755dd08bb428f33ce853c32baaf6ab7e6b2d3368df9153fa5f5b39d9ef17b8e468ea59530ac89098107542db2638f05 SHA512 d5545570865370229f2b132aef7131cbbfabd7e929795bee6ce1e0d791c2c623eefabdd0ec265c6cadcc41072049d61e07d5fca46a1f51c621323a38112dc316 +AUX imagescan-3.62.0-boost-1.73.patch 1315 BLAKE2B 801f6f9e2f91b4a442b673a2cd9630519ea10e08131877eb09ac52bc190316bfdc98fa1ae572ac2122bd9999a10af421d808762b0d7ca07b249d94428acbfb01 SHA512 183cd4e12451dd66ae096cccdc4ea9fdb4264935894a4442aa094e42ca539ad3f9fec6b01aaac3f20263a3425956808a342de886465b6e9700a7c449c031431f +AUX imagescan-3.62.0-fix-symbols.patch 1213 BLAKE2B 2a3b09e88ba1d44d11440bac0ca11f28f4379a2a81000fa2543b9041ccedff51db77edb70dd452631c600ecc04e7d5f0e68c53a071a9b40d34cdd690c7ed8a24 SHA512 adfcb7b83f26aa03f612025abcc52b6dda8d4439ea0a0b554dac5f335dab9c9c2606ed1835c89ac26a7f34e49264560ed837c06831ae4addeb711b77a7d0dffa +AUX imagescan-3.62.0-gcc-10.patch 503 BLAKE2B 53a351f439f43003e668cad1b8f05231b58137dd4e4a88ea3b04aa326f8ae82d46e664d19a5fba89122c6959e9aeb33beab56a43128c73b483d99c9ec25bf835 SHA512 b32438d590419a8be3c7f28a545ed4dedab0a6f0bcd0c9f3a81def67164c4156dd52064d8d8ca93cf2550b2184de12c94cffd6b91ef82d832179eb3e9f554326 +AUX imagescan-3.62.0-tests-boost.patch 2819 BLAKE2B 8c11f7bd80c5cbc0c34c0aacf605a914e908f4a9d3cf18b4e105c4a2c6fddefd414bd7e77015d1992e53dad6df6a797d6bdc4ee534ced9e17eb0091afae4306b SHA512 4bcdd5a747c3e2608bf8b7fb0e4e7354474dccd727d3bd11b0911ffe8ea050a412f241687a15524a479a3f13b87c95c04092b8cf15f922f5f95cc234fe8736d4 +AUX imagescan-3.62.0-tests-linkage.patch 3921 BLAKE2B 0dedae75fbbe387d2db900eb88b0e839746cfcbfa2b2ed7d52f9fd1b6756f14aa8fc53708ab2d1e461dff25ebe4e73e97f647ba4792bd263021f9b94f7b50139 SHA512 0b84829871ef45acf0ac209a0ba315b88409429c454b4655a4004c9d1afddf88d1ae0b1fff891078f5cf68541f7a8d896d50a550b650f1157517d5dbc99bfbd4 +AUX imagescan-3.62.0-tests-tesseract.patch 3825 BLAKE2B ee16bab5f36e866d2a212f832f90b8fa078cfea51dd81ae8175086ce896b718c52f2dd5c56ba15ddf89427abde6231b93672a71467d18fc47c45fdd166efce54 SHA512 63cf6b7f42f6cc1dfc05e9a5d333514aa56ba658e96a860b753d9a120df79a41abbd0fcc04070e103908bf05648dcdff96eab343981fa0f5293aee4258309980 +AUX imagescan-3.63.0-autoconf-2.70.patch 1147 BLAKE2B d87e32fa8510096fe965ec24a21276e0c7ba0b838cb2eb5228bb0a336db037dd77240895d61eb574abbc03334d44b0c1467c4bf1dc48a69c72518cfd64d90a51 SHA512 6a58a0df2cd579ea85ea30c263d4538dae8abbfc65d3e102ac546e282bbc8ef72762894c926fc0500322b99364b815f29eb86a098989e4c67675d5d92efa304a +AUX imagescan-3.65.0-sane-backends-1.1.patch 353 BLAKE2B 07ddf999ab1c3b1cd9fae482425ef86080dc07cb5323093cd89a9f0622db6efc0bb5473fd45d913459aebb2052eeb2b2c65dd2c0223b3be51d791fe28f688a39 SHA512 e88f6aa3b0f86153db1c24ad19862fe97dd6a71dcc5b822e643d50d0e0c82ec4cea1fa61f1809f382fd0abb7568ab3b42b1c8587d2f6e49cacb29a5b30c151c6 +DIST imagescan_3.65.0.orig.tar.gz 12651383 BLAKE2B e1436b6d6bf9fc3fc4e5185706fc814e1a4351bf37cd733a3fb88cd16a1c3422ebe0bf4cca77ac00c431edc990aaa50b8994e3bc0f72acba3b0e0608882b63ae SHA512 c719ac540af496efe72b2be87a2b89cbec8eee61a2a985574d0db766c00b7187315378382d8501e26dad132e93de3d3e9431c8e679b569f3c35ea8181b1ca022 +EBUILD imagescan-3.65.0.ebuild 2951 BLAKE2B 8bd31ec78915e7ad70204da3b8b1ca47610a5237b6f4a8a53a049c5f52d32e42750df4e12d3f0afb76770aba70ad349c887428ed7776cf1a47c8eee11b999ca8 SHA512 37ee5e001fa353e823b28e8e500b509cad00397dc4387ab1ca264942613ee55679a8015dff4ca409346438dcd885c86a2b1db2dffe4abbcb4539da44f4c4bfec +MISC metadata.xml 961 BLAKE2B b9c6fb04e94844fb8e7f1d60c5287809c61c3f642f86f55e88ba09a489ebe2b90a698b8a7f5d7c04d38324b97d746f68004c662839862f84a3d1e66cd56c998e SHA512 93c00c3fd4b23cab80f46e3f2a8bedaf92e97473fbdcc707034d86a01ff11269fe6a67648e7a369d71fd60e31d902bc8c94510b37c293df90934a6b2b38cf7f1 diff --git a/media-gfx/imagescan/files/imagescan-3.61.0-ijg-libjpeg.patch b/media-gfx/imagescan/files/imagescan-3.61.0-ijg-libjpeg.patch new file mode 100644 index 0000000..2625741 --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-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/imagescan/files/imagescan-3.61.0-imagemagick-7.patch b/media-gfx/imagescan/files/imagescan-3.61.0-imagemagick-7.patch new file mode 100644 index 0000000..9d345a2 --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-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/imagescan/files/imagescan-3.62.0-boost-1.73.patch b/media-gfx/imagescan/files/imagescan-3.62.0-boost-1.73.patch new file mode 100644 index 0000000..da6cc66 --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-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/imagescan/files/imagescan-3.62.0-fix-symbols.patch b/media-gfx/imagescan/files/imagescan-3.62.0-fix-symbols.patch new file mode 100644 index 0000000..4c0d44b --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-3.62.0-fix-symbols.patch @@ -0,0 +1,34 @@ +commit 4cbb42cc3d2c7e7574dc10f0e6f9f53bdf4d34e8 +Author: blubee +Date: Sun Oct 22 16:22:23 2017 +0800 + + Export correct symbols + + The factory was renamed to scanner_factory in 4b77b4a4. + +diff --git a/drivers/Makefile.am b/drivers/Makefile.am +index 86694ac..282eaa3 100644 +--- a/drivers/Makefile.am ++++ b/drivers/Makefile.am +@@ -28,7 +28,7 @@ driverlibdir = $(pkglibdir) + driverdatadir = $(pkgsysconfdir) + driver_ldflags = $(AM_LDFLAGS) + driver_ldflags += -export-dynamic +-driver_ldflags += -export-symbols-regex libdrv_$(driver)_LTX_factory ++driver_ldflags += -export-symbols-regex libdrv_$(driver)_LTX_scanner_factory + + driverlib_LTLIBRARIES = libdrv-combo.la + +diff --git a/drivers/esci/Makefile.am b/drivers/esci/Makefile.am +index 78ed9be..9cb6bc8 100644 +--- a/drivers/esci/Makefile.am ++++ b/drivers/esci/Makefile.am +@@ -37,7 +37,7 @@ driverlibdir = $(pkglibdir) + driverdatadir = $(pkgdatadir)/drivers/esci + driver_ldflags = $(AM_LDFLAGS) + driver_ldflags += -export-dynamic +-driver_ldflags += -export-symbols-regex libdrv_$(driver)_LTX_factory ++driver_ldflags += -export-symbols-regex libdrv_$(driver)_LTX_scanner_factory + + driverlib_LTLIBRARIES = libdrv-esci.la + diff --git a/media-gfx/imagescan/files/imagescan-3.62.0-gcc-10.patch b/media-gfx/imagescan/files/imagescan-3.62.0-gcc-10.patch new file mode 100644 index 0000000..4f8c63c --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-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/imagescan/files/imagescan-3.62.0-tests-boost.patch b/media-gfx/imagescan/files/imagescan-3.62.0-tests-boost.patch new file mode 100644 index 0000000..a559351 --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-3.62.0-tests-boost.patch @@ -0,0 +1,81 @@ +commit 13f483741fb1da2bf3d5e96286d0fe84a3f77288 +Author: Olaf Meeuwissen +Date: Sun Mar 3 21:25:46 2019 +0900 + + Switch BOOST_MESSAGE usage to use BOOST_TEST_MESSAGE + + The former has been marked as deprecated since Boost 1.34.0 and was + removed in 1.59.0 (released 2015-08-13). + +diff --git a/lib/tests/memory.cpp b/lib/tests/memory.cpp +index 3fa21df..bf523df 100644 +--- a/lib/tests/memory.cpp ++++ b/lib/tests/memory.cpp +@@ -1,5 +1,6 @@ + // memory.cpp -- unit tests for the memory device implementations + // Copyright (C) 2012, 2015 SEIKO EPSON CORPORATION ++// Copyright (C) 2019 Olaf Meeuwissen + // + // License: GPL-3.0+ + // Author : EPSON AVASYS CORPORATION +@@ -145,7 +146,7 @@ constant_octets (octet value) + const streamsize margin = 10; + const octet nul = 0x00; + traits::assign (buffer, size, nul); +- BOOST_MESSAGE ("value: " << value ); ++ BOOST_TEST_MESSAGE ("value: " << value ); + + setmem_idevice dev (shared_ptr + (new const_generator (value))); +diff --git a/sane/tests/backend.cpp b/sane/tests/backend.cpp +index f2ff7ef..e21edd0 100644 +--- a/sane/tests/backend.cpp ++++ b/sane/tests/backend.cpp +@@ -1,5 +1,6 @@ + // backend.cpp -- unit tests for the SANE utsushi backend + // Copyright (C) 2012, 2013, 2015 SEIKO EPSON CORPORATION ++// Copyright (C) 2019 Olaf Meeuwissen + // + // License: GPL-3.0+ + // Author : EPSON AVASYS CORPORATION +@@ -755,8 +756,8 @@ drop_test_suite (const std::string& name) + but::traverse_test_tree (tuid, tcc); + + master.remove (tuid); +- BOOST_MESSAGE ("Disabled \"" << name << "\" test suite for lack of " +- "a mock device (" << tcc.p_count << " test cases)"); ++ BOOST_TEST_MESSAGE ("Disabled \"" << name << "\" test suite for lack of " ++ "a mock device (" << tcc.p_count << " test cases)"); + } + + bool +@@ -766,7 +767,7 @@ init_test_runner () + + but::master_test_suite_t& master (but::framework::master_test_suite ()); + +- BOOST_MESSAGE ("Initializing \"" << master.p_name << "\" test suite"); ++ BOOST_TEST_MESSAGE ("Initializing \"" << master.p_name << "\" test suite"); + + utsushi::monitor mon; // to discover devices + +commit dcd5de24246b8ac5a96f971b6b0adfb910f5c60e +Author: Olaf Meeuwissen +Date: Sun Mar 3 21:40:39 2019 +0900 + + Add headers needed by Boost 1.59.0 and later + +diff --git a/sane/tests/backend.cpp b/sane/tests/backend.cpp +index e21edd0..77fbf96 100644 +--- a/sane/tests/backend.cpp ++++ b/sane/tests/backend.cpp +@@ -27,6 +27,10 @@ + #include + + #include ++#if 105800 <= BOOST_VERSION ++#include ++#include ++#endif + #include + + #include diff --git a/media-gfx/imagescan/files/imagescan-3.62.0-tests-linkage.patch b/media-gfx/imagescan/files/imagescan-3.62.0-tests-linkage.patch new file mode 100644 index 0000000..ecdf497 --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-3.62.0-tests-linkage.patch @@ -0,0 +1,94 @@ +commit 1d58388b6fc4f5055c19d1815e3252625fd8ab3f +Author: Olaf Meeuwissen +Date: Sun Mar 3 21:22:28 2019 +0900 + + Fix link issues with the unit test runners + +diff --git a/drivers/esci/tests/Makefile.am b/drivers/esci/tests/Makefile.am +index d00f129..9c8f766 100644 +--- a/drivers/esci/tests/Makefile.am ++++ b/drivers/esci/tests/Makefile.am +@@ -1,5 +1,6 @@ + ## Makefile.am -- an automake template for Makefile.in + ## Copyright (C) 2012-2015 SEIKO EPSON CORPORATION ++## Copyright (C) 2019 Olaf Meeuwissen + ## + ## License: GPL-3.0+ + ## Author : EPSON AVASYS CORPORATION +@@ -39,16 +40,22 @@ AM_CPPFLAGS += -DESCI_GRAMMAR_TRACE=1 + AM_LDFLAGS += $(BOOST_LDFLAGS) + + LDADD = ../libdrv-esci.la $(LIBUTSUSHI_LIBS) +-grammar_formats_utr_LDADD = $(LDADD) $(BOOST_FILESYSTEM_LIB) +-grammar_utr_LDADD = $(LDADD) $(BOOST_FILESYSTEM_LIB) +-## FIXME: remove once usb connexion is a proper plugin +-setter_utr_LDADD = $(LDADD) ../../../connexions/libcnx-usb.la ++grammar_formats_utr_LDADD = $(LDADD) $(BOOST_FILESYSTEM_LIB) ++grammar_utr_LDADD = $(LDADD) $(BOOST_FILESYSTEM_LIB) ++udev_rules_utr_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LIB) ++udev_rules_utr_LDADD += $(BOOST_FILESYSTEM_LIB) ++udev_rules_utr_LDADD += $(BOOST_REGEX_LIB) ++## FIXME: remove when connexions are turned into proper plugins ++setter_utr_LDADD = $(LDADD) ++setter_utr_LDADD += ../../../connexions/libcnx-usb.la ++setter_utr_LDADD += ../../../connexions/libcnx-hexdump.la + grammar_formats_utr_LDADD += ../../../connexions/libcnx-usb.la ++grammar_formats_utr_LDADD += ../../../connexions/libcnx-hexdump.la + grammar_utr_LDADD += ../../../connexions/libcnx-usb.la +-grammar_mechanics_utr_LDADD = $(LDADD) ../../../connexions/libcnx-usb.la +-udev_rules_utr_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LIB) +-udev_rules_utr_LDADD += $(BOOST_FILESYSTEM_LIB) +-udev_rules_utr_LDADD += $(BOOST_REGEX_LIB) ++grammar_utr_LDADD += ../../../connexions/libcnx-hexdump.la ++grammar_mechanics_utr_LDADD = $(LDADD) ++grammar_mechanics_utr_LDADD += ../../../connexions/libcnx-usb.la ++grammar_mechanics_utr_LDADD += ../../../connexions/libcnx-hexdump.la + + endif + +diff --git a/filters/tests/Makefile.am b/filters/tests/Makefile.am +index 4d88e48..ac198df 100644 +--- a/filters/tests/Makefile.am ++++ b/filters/tests/Makefile.am +@@ -1,6 +1,6 @@ + ## Makefile.am -- an automake template for Makefile.in + ## Copyright (C) 2012-2014 SEIKO EPSON CORPORATION +-## Copyright (C) 2013, 2015 Olaf Meeuwissen ++## Copyright (C) 2013, 2015, 2019 Olaf Meeuwissen + ## + ## License: GPL-3.0+ + ## Author : EPSON AVASYS CORPORATION +@@ -39,8 +39,9 @@ endif + + LDADD = ../libflt-all.la + LDADD += ../../lib/libutsushi.la $(LIBUTSUSHI_LIBS) +-## FIXME: drop once usb connexion is a proper plugin ++## FIXME: drop when connexions have been turned into proper plugins + LDADD += ../../connexions/libcnx-usb.la ++LDADD += ../../connexions/libcnx-hexdump.la + + if have_libjpeg + check_PROGRAMS += jpeg.utr +diff --git a/lib/tests/Makefile.am b/lib/tests/Makefile.am +index fc5eeb5..f24a7da 100644 +--- a/lib/tests/Makefile.am ++++ b/lib/tests/Makefile.am +@@ -1,6 +1,6 @@ + ## Makefile.am -- an automake template for Makefile.in + ## Copyright (C) 2012, 2013 SEIKO EPSON CORPORATION +-## Copyright (C) 2015 Olaf Meeuwissen ++## Copyright (C) 2015, 2019 Olaf Meeuwissen + ## + ## License: GPL-3.0+ + ## Author : EPSON AVASYS CORPORATION +@@ -62,8 +62,9 @@ log_no_check_utr_CPPFLAGS += -DUTSUSHI_LOG_ARGUMENT_COUNT_CHECK_ENABLED=false + AM_CPPFLAGS += -DLOCALEDIR="\"$(localedir)\"" + + LDADD = ../libutsushi.la $(LIBUTSUSHI_LIBS) +-## FIXME: drop once usb connexion is a proper plugin ++## FIXME: drop when connexions have been turned into proper plugins + LDADD += ../../connexions/libcnx-usb.la ++LDADD += ../../connexions/libcnx-hexdump.la + + if have_libtiff + test_runners += tiff.utr diff --git a/media-gfx/imagescan/files/imagescan-3.62.0-tests-tesseract.patch b/media-gfx/imagescan/files/imagescan-3.62.0-tests-tesseract.patch new file mode 100644 index 0000000..52f7b18 --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-3.62.0-tests-tesseract.patch @@ -0,0 +1,111 @@ +commit 9ce60e8df3b613950c483f0ae5ec772afc329104 +Author: Olaf Meeuwissen +Date: Fri Jun 21 22:20:30 2019 +0900 + + Fix tesseract command-line invocation. Re #78 + +diff --git a/filters/get-text-orientation b/filters/get-text-orientation +index 847f2c6..6f0978c 100755 +--- a/filters/get-text-orientation ++++ b/filters/get-text-orientation +@@ -47,26 +47,14 @@ if test $? != 0; then + exit 1 + fi + +-tmpfile=$(mktemp -q .reorient.XXX) +-trap "rm -f $tmpfile" 0 1 2 15 +- + case "$engine" in + */tesseract|tesseract) + +- # Notwithstanding what the manual page says, tesseract +- # doesn't support reading from standard input with the +- # `-psm 0` option. We stuff incoming image data into a +- # temporary file to work around this limitation. +- # See https://github.com/tesseract-ocr/tesseract/issues/85 +- +- cat - > $tmpfile ++ # Tesseract 3.03 outputs the results we want to standard ++ # error; Tesseract 3.04 dumps it on standard output. We ++ # want it on the latter. + +- # We don't care about the "regular" tesseract output so +- # divert that to /dev/null. The output that we do care +- # about ends up on standard error, but our caller looks +- # for it on standard output. Redirect to handle that. +- +- $engine $tmpfile /dev/null -psm 0 -l osd 2>&1 ++ $engine - - -psm 0 -l osd 2>&1 + ;; + + */ocr-engine-getrotate) +@@ -74,6 +62,9 @@ case "$engine" in + # The ocr-engine-getrotate utility expects an uncompressed + # BMP image. + ++ tmpfile=$(mktemp -q .reorient.XXX) ++ trap "rm -f $tmpfile" 0 1 2 15 ++ + $convert - -compress None bmp3:$tmpfile + $engine $tmpfile + ;; + +commit 56f1d8ed51cc7140b961ef8ab8c7501f69d87fd5 +Author: Olaf Meeuwissen +Date: Mon Oct 21 12:41:20 2019 +0900 + + Fix get-text-orientation for newer Tesseract versions. Fixes #86 + +diff --git a/filters/get-text-orientation b/filters/get-text-orientation +index 6f0978c..eb64e4b 100755 +--- a/filters/get-text-orientation ++++ b/filters/get-text-orientation +@@ -51,10 +51,21 @@ case "$engine" in + */tesseract|tesseract) + + # Tesseract 3.03 outputs the results we want to standard +- # error; Tesseract 3.04 dumps it on standard output. We +- # want it on the latter. ++ # error; Tesseract 3.04 dumps it on standard output. So ++ # do later versions. We want it on the latter. ++ # Command-line options changed in 3.05.00. + +- $engine - - -psm 0 -l osd 2>&1 ++ version=$($engine --version 2>&1 | sed -n 's/.*tesseract *//p') ++ ++ case "$version" in ++ 3.0[34].* ) ++ $engine - - -psm 0 -l osd 2>&1 ++ ;; ++ ++ 3.05.* | [45].* ) ++ $engine - - --psm 0 -l osd 2>&1 ++ ;; ++ esac + ;; + + */ocr-engine-getrotate) +commit 9d5edc4c52e5a6b59d61a43ddcc13353b82992f5 +Author: Olaf Meeuwissen +Date: Sun Jun 23 17:22:22 2019 +0900 + + Fix reorientation logic for newer Tesseract versions. Re #78 + +diff --git a/filters/reorient.cpp b/filters/reorient.cpp +index e0c1dc1..60c5173 100644 +--- a/filters/reorient.cpp ++++ b/filters/reorient.cpp +@@ -483,6 +483,13 @@ reorient::finalize (const context& ctx) + log::alert + (format ("unexpected document orientation: %1% degrees") + % degrees); ++ ++ if (engine_ == "tesseract" ++ && !tesseract_version_before_("3.04")) { ++ // Orientation reporting changed direct with 3.04. See #78 ++ /**/ if ( 90 == degrees) rv.orientation (context::left_bottom); ++ else if (270 == degrees) rv.orientation (context::right_top); ++ } + } + return rv; + } diff --git a/media-gfx/imagescan/files/imagescan-3.63.0-autoconf-2.70.patch b/media-gfx/imagescan/files/imagescan-3.63.0-autoconf-2.70.patch new file mode 100644 index 0000000..bda9329 --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-3.63.0-autoconf-2.70.patch @@ -0,0 +1,34 @@ +--- a/configure.ac 2020-10-19 22:50:43.160537331 +0200 ++++ b/configure.ac 2020-10-19 22:56:41.724847150 +0200 +@@ -352,7 +352,7 @@ + AM_CONDITIONAL([have_libusb], [test x != "x$LIBUSB_LIBS"]) + + AS_IF([test xno != "x$with_magick_pp"], +- AS_CASE("x$with_magick_pp", ++ [AS_CASE("x$with_magick_pp", + [xGraphicsMagick], + [PKG_CHECK_MODULES([LIBMAGICK_PP], [GraphicsMagick++], + [AC_DEFINE([HAVE_GRAPHICS_MAGICK_PP], [1])]) +@@ -373,11 +373,11 @@ + ], + [dnl default case + AC_MSG_ERROR([unknown value: --with-magick-pp=$with_magick_pp]) +- ])) ++ ])]) + AM_CONDITIONAL([have_libmagick_pp], [test x != "x$LIBMAGICK_PP_LIBS"]) + + AS_IF([test xno != "x$with_magick"], +- AS_CASE("x$with_magick", ++ [AS_CASE("x$with_magick", + [xGraphicsMagick], + [AC_CHECK_PROGS([MAGICK_CONVERT], [gm]) + AS_IF([test xgm != x$MAGICK_CONVERT], +@@ -408,7 +408,7 @@ + ], + [dnl default case + AC_MSG_ERROR([unknown value: --with-magick=$with_magick]) +- ])) ++ ])]) + AC_DEFINE_UNQUOTED([MAGICK_CONVERT], ["$MAGICK_CONVERT"]) + AM_CONDITIONAL([have_magick], [test x != "x$MAGICK_CONVERT"]) + diff --git a/media-gfx/imagescan/files/imagescan-3.65.0-sane-backends-1.1.patch b/media-gfx/imagescan/files/imagescan-3.65.0-sane-backends-1.1.patch new file mode 100644 index 0000000..97979c6 --- /dev/null +++ b/media-gfx/imagescan/files/imagescan-3.65.0-sane-backends-1.1.patch @@ -0,0 +1,11 @@ +--- a/sane/version.hpp 2020-12-22 07:44:15.000000000 +0100 ++++ b/sane/version.hpp 2022-01-22 22:47:47.508608348 +0100 +@@ -37,7 +37,7 @@ + #include + } + +-#if !((SANE_MAJOR == SANE_CURRENT_MAJOR) && (SANE_MINOR == 0)) ++#if !(SANE_MAJOR == SANE_CURRENT_MAJOR) + #error "SANE installation violates versioning portability constraints." + #endif + diff --git a/media-gfx/imagescan/imagescan-3.65.0.ebuild b/media-gfx/imagescan/imagescan-3.65.0.ebuild new file mode 100644 index 0000000..4d767c9 --- /dev/null +++ b/media-gfx/imagescan/imagescan-3.65.0.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2022 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 test" +KEYWORDS="~amd64 ~x86" + +BDEPEND="virtual/pkgconfig" +RDEPEND=" + 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 ) +" +# Disable opencl as during reorient.utr test it produces inconsistent results +DEPEND="${RDEPEND} + test? ( + app-text/tesseract[png,tiff,training,-opencl] + media-fonts/dejavu + virtual/imagemagick-tools[png,tiff] + ) +" +RESTRICT="!test? ( test )" +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 + "${FILESDIR}"/${PN}-3.62.0-fix-symbols.patch + "${FILESDIR}"/${PN}-3.62.0-tests-boost.patch + "${FILESDIR}"/${PN}-3.62.0-tests-tesseract.patch + "${FILESDIR}"/${PN}-3.62.0-tests-linkage.patch + "${FILESDIR}"/${PN}-3.63.0-autoconf-2.70.patch + "${FILESDIR}"/${PN}-3.65.0-sane-backends-1.1.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 + # Disable check-soname test + sed -e '/SANE_BACKEND_SANITY_CHECKS +=/d' -i sane/Makefile.am || 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 +} diff --git a/media-gfx/imagescan/metadata.xml b/media-gfx/imagescan/metadata.xml new file mode 100644 index 0000000..1f81ac0 --- /dev/null +++ b/media-gfx/imagescan/metadata.xml @@ -0,0 +1,23 @@ + + + + + marcin.deranek@slonko.net + Marcin Deranek + + + proxy-maint@gentoo.org + Proxy Maintainers + + + dilfridge@gentoo.org + Andreas K. Hüttel (only during xmas vacations) + + + Image Scan! is a graphical scanner utility for people that do not need all + the bells and whistles provided by several of the other utilities out there + (xsane, QuiteInsane, Kooka). At the moment it only supports SEIKO EPSON + scanners and all-in-ones. However, the scanner driver it provides can + be used by any other SANE standard compliant scanner utility. + + -- cgit v1.2.3