From 94a5a300e71356fd553adaf4afd4232ff44ee249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=B8=D1=80=D0=B5=D1=86=D0=BA=D0=B8=D0=B9=20=D0=9C?= =?UTF-8?q?=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= Date: Fri, 22 Jan 2021 16:26:05 +0300 Subject: [PATCH] media-gfx/utsushi, media-gfx/epson-ds-plugins --- media-gfx/epson-ds-plugins/Manifest | 2 + .../epson-ds-plugins-1.3.28.ebuild | 75 +++++++++++++++++ .../epson-ds-plugins-3.63.0.ebuild | 75 +++++++++++++++++ media-gfx/utsushi/Manifest | 1 + .../files/utsushi-9999-boost-1.73.patch | 44 ++++++++++ media-gfx/utsushi/utsushi-20210116.ebuild | 82 +++++++++++++++++++ 6 files changed, 279 insertions(+) create mode 100644 media-gfx/epson-ds-plugins/Manifest create mode 100644 media-gfx/epson-ds-plugins/epson-ds-plugins-1.3.28.ebuild create mode 100644 media-gfx/epson-ds-plugins/epson-ds-plugins-3.63.0.ebuild create mode 100644 media-gfx/utsushi/Manifest create mode 100644 media-gfx/utsushi/files/utsushi-9999-boost-1.73.patch create mode 100644 media-gfx/utsushi/utsushi-20210116.ebuild diff --git a/media-gfx/epson-ds-plugins/Manifest b/media-gfx/epson-ds-plugins/Manifest new file mode 100644 index 000000000..00a69a2ce --- /dev/null +++ b/media-gfx/epson-ds-plugins/Manifest @@ -0,0 +1,2 @@ +DIST imagescan-bundle-centos-7-1.3.28.x64.rpm.tar.gz 10975019 BLAKE2B c190fd160b91ea192c7f0f431e761e8e4c6ee369924b0e325a57e80a8a4c0b6c3162cdc80121fa813f1afef8118b440e59ea3a38a6621ecc320d00f8cad08268 SHA512 051743bc64760038bb468201114d7270e6f22c3f802824ee80f77b5b6200409aca4da330d3afb4a11a7754dfdcb28d7c4a8246180f3e0fb4483349072c10c86f +DIST imagescan-bundle-centos-7-3.63.0.x64.rpm.tar.gz 11012473 BLAKE2B 221c041f113405cc679c51242a4b6ebf3fa8e25008748215074966e8c0298a18eb0e89a758d4c2ddaa36c7e0bd43924e17c3b6f75a78fd7a454b42c4d56ffe87 SHA512 ddfbf12849bfe25b903a8c483520a7297ead129477dc4f3b0c39c424918d507314834d0b161f84d58d1ceb469ee9a12c726ff9651a78807e901abbc81e608d2d diff --git a/media-gfx/epson-ds-plugins/epson-ds-plugins-1.3.28.ebuild b/media-gfx/epson-ds-plugins/epson-ds-plugins-1.3.28.ebuild new file mode 100644 index 000000000..c36f8cf5d --- /dev/null +++ b/media-gfx/epson-ds-plugins/epson-ds-plugins-1.3.28.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit rpm + +S="${WORKDIR}" + +DESCRIPTION="Non-free network plugin package for Epson DS line of scanners" +HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX" +#SRC_URI="https://download2.ebz.epson.net/imagescanv3/centos/latest1/rpm/x64/imagescan-bundle-centos-7-${PV}.x64.rpm.tar.gz" +SRC_URI="https://download2.ebz.epson.net/imagescanv3/centos/latest2/rpm/x64/imagescan-bundle-centos-7-${PV}.x64.rpm.tar.gz" + +RESTRICT="nomirror" + +LICENSE="COPYING.EPSON" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND="" +RDEPEND=" + ${DEPEND} + media-gfx/utsushi +" + +# EPSON provided closed-source binary +QA_PRESTRIPPED="usr/libexec/utsushi/networkscan" + +src_unpack() { + # Create a 'core' and 'plugins' directory to unpack into + mkdir -p "${WORKDIR}/"{core,plugins} + + # Unpack top-level package + unpack "$A" + + # Unpack the core drivers to the created 'core' directory + cd "${WORKDIR}/core" + rpm_unpack ./../imagescan-bundle-centos-7-${PV}.x64.rpm/core/imagescan-*.rpm + + # Unpack 'networkscan' plugin to the created 'plugins' directory + cd "${WORKDIR}/plugins" + rpm_unpack ./../imagescan-bundle-centos-7-${PV}.x64.rpm/plugins/imagescan-plugin-networkscan*.rpm +} + +# +# The udev rules are not installed as it's handled by the 'utsushi' source +# package. +# +# The 'utsushi' config file for SANE (/etc/sane.d/dll.d/utsushi) is handled by +# the 'utsushi' source package +# +src_install() { + # Create a subdirectory to install the 'networkscan' docs + dodoc ${WORKDIR}/plugins/usr/share/doc/imagescan-plugin-networkscan-*/{README,NEWS} + + # Install the 'networkscan' config files + # Renamed config to 'utsushi.conf' to be picked up by utsushi SANE backend + insinto /etc/utsushi + newins ${WORKDIR}/core/etc/imagescan/imagescan.conf utsushi.conf + + # Install the 'networkscan' binary + exeinto /usr/libexec/utsushi + doexe ${WORKDIR}/plugins/usr/libexec/utsushi/networkscan +} + +pkg_postinst() { + elog + elog "Remember to insert your scanner information into:" + elog " /etc/utsushi/utsushi.conf" + elog + elog "See /usr/share/doc/${PF}/README.bz2 for examples" + elog +} diff --git a/media-gfx/epson-ds-plugins/epson-ds-plugins-3.63.0.ebuild b/media-gfx/epson-ds-plugins/epson-ds-plugins-3.63.0.ebuild new file mode 100644 index 000000000..7b4b3ef3c --- /dev/null +++ b/media-gfx/epson-ds-plugins/epson-ds-plugins-3.63.0.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit rpm + +S="${WORKDIR}" + +DESCRIPTION="Non-free network plugin package for Epson DS line of scanners" +HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX" +#SRC_URI="https://download2.ebz.epson.net/imagescanv3/centos/latest1/rpm/x64/imagescan-bundle-centos-7-${PV}.x64.rpm.tar.gz" +SRC_URI="https://download2.ebz.epson.net/imagescanv3/centos/latest2/rpm/x64/imagescan-bundle-centos-7-${PV}.x64.rpm.tar.gz" + +RESTRICT="nomirror" + +LICENSE="COPYING.EPSON" +SLOT="0" +KEYWORDS="amd64" +IUSE="" + +DEPEND="" +RDEPEND=" + ${DEPEND} + media-gfx/utsushi +" + +# EPSON provided closed-source binary +QA_PRESTRIPPED="usr/libexec/utsushi/networkscan" + +src_unpack() { + # Create a 'core' and 'plugins' directory to unpack into + mkdir -p "${WORKDIR}/"{core,plugins} + + # Unpack top-level package + unpack "$A" + + # Unpack the core drivers to the created 'core' directory + cd "${WORKDIR}/core" + rpm_unpack ./../imagescan-bundle-centos-7-${PV}.x64.rpm/core/imagescan-*.rpm + + # Unpack 'networkscan' plugin to the created 'plugins' directory + cd "${WORKDIR}/plugins" + rpm_unpack ./../imagescan-bundle-centos-7-${PV}.x64.rpm/plugins/imagescan-plugin-networkscan*.rpm +} + +# +# The udev rules are not installed as it's handled by the 'utsushi' source +# package. +# +# The 'utsushi' config file for SANE (/etc/sane.d/dll.d/utsushi) is handled by +# the 'utsushi' source package +# +src_install() { + # Create a subdirectory to install the 'networkscan' docs + dodoc ${WORKDIR}/plugins/usr/share/doc/imagescan-plugin-networkscan-*/{README,NEWS} + + # Install the 'networkscan' config files + # Renamed config to 'utsushi.conf' to be picked up by utsushi SANE backend + insinto /etc/utsushi + newins ${WORKDIR}/core/etc/imagescan/imagescan.conf utsushi.conf + + # Install the 'networkscan' binary + exeinto /usr/libexec/utsushi + doexe ${WORKDIR}/plugins/usr/libexec/utsushi/networkscan +} + +pkg_postinst() { + elog + elog "Remember to insert your scanner information into:" + elog " /etc/utsushi/utsushi.conf" + elog + elog "See /usr/share/doc/${PF}/README.bz2 for examples" + elog +} diff --git a/media-gfx/utsushi/Manifest b/media-gfx/utsushi/Manifest new file mode 100644 index 000000000..e7455c63c --- /dev/null +++ b/media-gfx/utsushi/Manifest @@ -0,0 +1 @@ +DIST utsushi-20210116.tar.gz 5977031 BLAKE2B 0461cd2148cf1b7f41641f5b23994ac755743ca312c02519c03c33c762b5b967e1dadcd2a2d46a96c23023c5e3846bd8b99ea2e388a2cfd3d627d5133f1f1e4d SHA512 0dd798593e82b4308fa9b01920061dc3f91cfb0383b6061430b68700928a13cc1719d289e95fa375647bccb059a6a95b83d99eed080cd2ef8d1f383b71627bea diff --git a/media-gfx/utsushi/files/utsushi-9999-boost-1.73.patch b/media-gfx/utsushi/files/utsushi-9999-boost-1.73.patch new file mode 100644 index 000000000..da6cc66c1 --- /dev/null +++ b/media-gfx/utsushi/files/utsushi-9999-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/utsushi/utsushi-20210116.ebuild b/media-gfx/utsushi/utsushi-20210116.ebuild new file mode 100644 index 000000000..abc6cbd91 --- /dev/null +++ b/media-gfx/utsushi/utsushi-20210116.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools eutils multilib toolchain-funcs udev + +COMMIT="ab7063358c9819dd37129c6ba58da1009302bdd7" +DESCRIPTION="SANE backend driver for newer Epson scanners (DS, ET, PX, etc)" +HOMEPAGE="https://gitlab.com/utsushi/utsushi" +SRC_URI="https://gitlab.com/${PN}/${PN}/-/archive/${COMMIT}/${PN}-${COMMIT}.tar.gz -> ${PN}-${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~x86 amd64" +IUSE="gtk jpeg +network nls openmp tiff udev" + +# These are needed by utsushi's 'bootstrap': +# dev-libs/gnulib +# sys-devel/autoconf-archive +# sys-devel/autoconf-wrapper +# sys-devel/automake-wrapper +# sys-devel/gettext +# sys-devel/libtool +# sys-devel/patch +DEPEND=" + sys-devel/autoconf-archive + sys-devel/autoconf-wrapper + sys-devel/automake-wrapper + sys-devel/gettext + media-gfx/imagemagick + media-gfx/sane-backends + >=dev-libs/libusb-1.0.22 + >=dev-libs/boost-1.50.0 + gtk? ( dev-cpp/gtkmm:2.4 ) + jpeg? ( virtual/jpeg:0 ) + tiff? ( media-libs/tiff:0= ) + udev? ( virtual/udev ) +" + +RDEPEND=" + ${DEPEND} + network? ( media-gfx/epson-ds-plugins ) +" + +PATCHES=( + # Fixes building on boost 1.73 + # https://bugs.gentoo.org/721696 + "${FILESDIR}/${PN}-9999-boost-1.73.patch" +) + +S="${WORKDIR}/${PN}-${COMMIT}" + +src_prepare() { + default + + sed -i "s/m4_esyscmd_s(\[git describe --always\])/${PV}/" ${S}/configure.ac + + # utsushi requires using this bootstrap wrapper in lieu of autotools + ${S}/bootstrap || die + + # Create SANE configuration directory (used by sane/Makefile.am to create + # utsushi backend config) + dodir /etc/sane.d/dll.d +} + +src_configure() { + econf \ + --with-boost-system \ + --with-sane \ + --with-sane-confdir="${EPREFIX}"/etc/sane.d \ + --with-magick \ + --with-magick-pp \ + $(use_with gtk gtkmm) \ + $(use_with jpeg) \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_with tiff) \ + $(use_enable udev udev-config) \ + $(use_with udev udev-confdir "$(get_udevdir)") + #$(use_with udev udev-confdir "${EPREFIX}"/lib/udev) +}