Totem building

This commit is contained in:
Gerardo J. Puerta
2022-10-24 18:40:01 +02:00
parent ac268a82ec
commit 2a9e3df414
57 changed files with 1608 additions and 1278 deletions

3
media-gfx/iscan/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST iscan_2.30.3-1.tar.gz 1216848 BLAKE2B 8a5f485c1dd814248c46aec6accedd331105c3ccc0f70a582e60dfb62b1cc1f1ebab358f0896b15cbf842ea06f8a35447d91f76391b10bad07df371512856c32 SHA512 5f68b2f7b7c1d1b5d3d65a55c3a80538fda5d2bdf9cd50fbf942e0eb49dcb84983ede66ed2f6354f9591692808df54415400fe02ed47e7373082869612a47872
DIST userg_revQ_e.pdf 627189 BLAKE2B ff57871c58dc541e30d65127bd8f4cc2a20ec5341c1d0914116f7ec4ae002d896853b99488eec71e5f8cb150e6b63d353efb9be11977de26d017701bc051014a SHA512 b09d5143855a759e0fa3e74794762566b6fbf734642f9d7f712e5f2f20e3dce6b830465fd65f83f9cc368292ce7a2c0cec709b0eba6356d95e1ba5114b3348fc
DIST userg_revQ_j.pdf 734920 BLAKE2B ed2cffdc2dbf0a2403dcbd93cef3349b9e35afb305f9b36f92b8f11bd42b5281fc7bfbec108703f327fb538868c530418406d37505e6eb6afa621d2d49d007ba SHA512 d5cb0cebaae0ac36951379cad516f0575e85e0bb509cf88549239e300c7d6c6a4996497145acaa9e9783de6b08c6e352c7ffbedb23ed04c15eefbe9c3cf0bc90

View File

@ -0,0 +1,48 @@
--- a/lib/pngstream.cc
+++ b/lib/pngstream.cc
@@ -83,7 +83,12 @@
#if HAVE_PNG_H
set_error_handler (_png, _info);
+/* when not interlacing (ie, only one pass), number of rows is image height: _v_sz */
+#if PNG_LIBPNG_VER > 10499
+ if (!_footer && _v_sz == lib->get_current_row_number(_png))
+#else
if (_header && !_footer && _png->num_rows == _png->flush_rows)
+#endif
{
lib->write_end (_png, _info);
_footer = true;
@@ -167,6 +172,9 @@
funcsym (write_row);
funcsym (write_flush);
funcsym (write_end);
+#if PNG_LIBPNG_VER > 10499
+ funcsym (get_current_row_number);
+#endif
if (lib->access_version_number
&& lib->create_write_struct
@@ -176,6 +184,9 @@
&& lib->set_IHDR
&& lib->set_pHYs
&& lib->set_invert_mono
+#if PNG_LIBPNG_VER > 10499
+ && lib->get_current_row_number
+#endif
&& lib->write_info
&& lib->write_row
&& lib->write_flush
--- a/lib/pngstream.hh
+++ b/lib/pngstream.hh
@@ -108,6 +108,10 @@
png_structp);
fundecl (void, write_end,
png_structp, png_infop);
+#if PNG_LIBPNG_VER > 10499
+ fundecl (png_uint_32, get_current_row_number,
+ png_structp);
+#endif
#endif /* HAVE_PNG_H */
};
static png_lib_handle *lib;

View File

@ -0,0 +1,64 @@
diff -Naur iscan-2.29.1.orig/backend/Makefile.am iscan-2.29.1/backend/Makefile.am
--- iscan-2.29.1.orig/backend/Makefile.am 2012-06-11 23:33:33.000000000 -0500
+++ iscan-2.29.1/backend/Makefile.am 2013-02-18 20:29:05.091814060 -0600
@@ -58,7 +58,6 @@
libepkowa_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
- $(LTDLINCL) \
-I$(top_srcdir)/include \
-I$(top_srcdir)/non-free \
$(XML_CFLAGS) \
@@ -70,7 +69,7 @@
-lm \
$(XML_LIBS) \
$(LIBUSB_1_0_LIBS) \
- $(LIBLTDL)
+ -lltdl
libepkowa_la_SOURCES = \
$(sane_backends_files) \
ipc.c \
diff -Naur iscan-2.29.1.orig/configure.ac iscan-2.29.1/configure.ac
--- iscan-2.29.1.orig/configure.ac 2012-06-11 23:33:34.000000000 -0500
+++ iscan-2.29.1/configure.ac 2013-02-18 20:30:10.413311997 -0600
@@ -266,13 +266,10 @@
dnl The somewhat obscure LT_AC_PROG_SED is here to make sure that the
dnl SED environment variable gets set before it's used by the libtool
dnl machinery. This works around buggy libtool versions.
-LT_AC_PROG_SED
-AC_LIBLTDL_INSTALLABLE
-AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
-AC_LIB_LTDL
-AC_SUBST(LTDLINCL)
-AC_SUBST(LIBLTDL)
+AC_LTDL_SHLIBPATH
+AC_LTDL_SHLIBEXT
+AC_LTDL_SYSSEARCHPATH
dnl Graphic file format options
diff -Naur iscan-2.29.1.orig/frontend/Makefile.am iscan-2.29.1/frontend/Makefile.am
--- iscan-2.29.1.orig/frontend/Makefile.am 2012-06-11 23:33:33.000000000 -0500
+++ iscan-2.29.1/frontend/Makefile.am 2013-02-18 20:30:38.764092975 -0600
@@ -34,7 +34,7 @@
iscan_LDADD = \
$(top_builddir)/lib/libimage-stream.la \
-lsane \
- @LIBLTDL@ \
+ -lltdl \
@GTK_LIBS@ \
@GDK_IMLIB_LIBS@ \
$(top_builddir)/non-free/libesmod.so
diff -Naur iscan-2.29.1.orig/lib/Makefile.am iscan-2.29.1/lib/Makefile.am
--- iscan-2.29.1.orig/lib/Makefile.am 2012-06-11 23:33:34.000000000 -0500
+++ iscan-2.29.1/lib/Makefile.am 2013-02-18 20:30:58.852936051 -0600
@@ -30,7 +30,7 @@
libimage_stream_la_CPPFLAGS = -I$(top_srcdir)/include
libimage_stream_la_LDFLAGS = -static
libimage_stream_la_LIBADD = \
- $(LIBLTDL) \
+ -lltdl \
$(top_builddir)/lib/pdf/libpdf.la
libimage_stream_la_SOURCES = \
$(libimage_stream_la_files)

View File

@ -0,0 +1,37 @@
diff -ur iscan-2.29.1/configure.ac iscan-2.29.1.new/configure.ac
--- iscan-2.29.1/configure.ac 2014-01-27 14:15:28.139043864 -0500
+++ iscan-2.29.1.new/configure.ac 2014-01-27 14:17:10.608044736 -0500
@@ -279,6 +279,9 @@
AC_HELP_STRING([--enable-$1],
[ensure support for the $3 file format]),
[if test "x$enable_$1" != xno; then
+ if test "x$4" != xno; then
+ PKG_CHECK_MODULES($3,[$4])
+ fi
iff_header="`echo $2 | $as_tr_sh`"
AC_CHECK_HEADERS([$2])
if test `eval echo '$ac_cv_header_'$iff_header` \
@@ -289,9 +292,9 @@
[AC_CHECK_HEADERS([$2])])
])
-ISCAN_FILE_FORMAT(jpeg,jpeglib.h,JPEG)
-ISCAN_FILE_FORMAT(png,png.h,PNG)
-ISCAN_FILE_FORMAT(tiff,tiffio.h,TIFF)
+ISCAN_FILE_FORMAT(jpeg,jpeglib.h,JPEG,no)
+ISCAN_FILE_FORMAT(png,png.h,PNG,libpng)
+ISCAN_FILE_FORMAT(tiff,tiffio.h,TIFF,no)
dnl Support for performance measurements.
diff -ur iscan-2.29.1/frontend/Makefile.am iscan-2.29.1.new/frontend/Makefile.am
--- iscan-2.29.1/frontend/Makefile.am 2014-01-27 14:15:28.123043864 -0500
+++ iscan-2.29.1.new/frontend/Makefile.am 2014-01-27 14:17:43.628045017 -0500
@@ -37,6 +37,7 @@
-lltdl \
@GTK_LIBS@ \
@GDK_IMLIB_LIBS@ \
+ @PNG_LIBS@ \
$(top_builddir)/non-free/libesmod.so
iscan_SOURCES = \
$(iscan_source_files)

View File

@ -0,0 +1,45 @@
Drop obsolete C++ ABI transistion code.
https://bugs.gentoo.org/549866
--- a/configure.ac
+++ b/configure.ac
@@ -62,27 +62,6 @@ dnl checks for programs
AC_PROG_CXX
-# Transitionary check for the C++ ABI while we are switching provided
-# binaries from gcc-3.[23] to gcc-3.4 or later. Currently gcc-3.[23]
-# is still the official compiler version to use, but experimental bi-
-# naries are released with a ".c2" suffix.
-# The CXX_ABI for gcc-3.[23] is 102, btw.
-# Note that the PACKAGE_RELEASE for the gcc-3.4 or later packages has
-# to be larger than that for the gcc-3.[23] packages (as long as both
-# are distributed) for smooth upgrade paths.
-
-if test x"$CXX" = xg++; then
- AC_MSG_CHECKING([C++ ABI version])
- CXX_ABI="`$CXX -E -dM - < /dev/null | $AWK '/GXX_ABI/ { print $3 }'`"
- AC_MSG_RESULT([$CXX_ABI])
- if test x"$CXX_ABI" = x1002; then
- PACKAGE_CXX_ABI=".c2"
- else
- PACKAGE_CXX_ABI=""
- fi
- AC_SUBST(PACKAGE_CXX_ABI)
-fi
-
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
--- a/non-free/Makefile.am
+++ b/non-free/Makefile.am
@@ -65,7 +65,7 @@ $(NON_FREE_SOLIBS):
*) echo "unsupported architecture" 1>&2; \
exit 1;; \
esac; \
- $(LN_S) $(srcdir)/libesmod-$${arch}$(PACKAGE_CXX_ABI).so $@
+ $(LN_S) $(srcdir)/libesmod-$${arch}.c2.so $@
install-exec-local: $(NON_FREE_SOLIBS)
$(mkinstalldirs) $(DESTDIR)$(libdir)

View File

@ -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);

View File

@ -0,0 +1,11 @@
diff -ru a/sanei/sanei_pio.c b/sanei/sanei_pio.c
--- a/sanei/sanei_pio.c 2019-03-01 10:44:36.723260142 -0600
+++ b/sanei/sanei_pio.c 2019-03-01 10:48:47.660693036 -0600
@@ -73,6 +73,7 @@
#elif HAVE_SYS_HW_H
# include <sys/hw.h>
#elif defined(__i386__) && defined (__GNUC__)
+#include <sys/types.h>
static __inline__ void
outb (u_char value, u_long port)

View File

@ -0,0 +1,139 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_DOC="userg_revQ"
inherit autotools desktop flag-o-matic
# 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:
# 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.
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}_$(ver_rs 3 -).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="doc gimp l10n_ja X"
REQUIRED_USE="gimp? ( X )"
DEPEND="
dev-libs/libxml2
media-gfx/sane-backends
virtual/libusb:1
virtual/udev
gimp? ( media-gfx/gimp )
X? (
dev-libs/glib:2
media-libs/libpng:=
media-libs/tiff:=
virtual/jpeg:=
x11-libs/gtk+:2
)
"
RDEPEND="${DEPEND}
media-gfx/iscan-data
"
BDEPEND="
virtual/pkgconfig
X? ( sys-devel/gettext )
"
# Upstream ships broken sanity test
RESTRICT="test"
S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
DOCS=( AUTHORS NEWS README )
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
"${FILESDIR}"/iscan-2.30.3.1-fix-x86-unknown-types.patch
)
QA_PRESTRIPPED="usr/lib.*/libesmod.so.*"
QA_TEXTRELS="${QA_PRESTRIPPED}"
QA_FLAGS_IGNORED="${QA_PRESTRIPPED}"
src_prepare() {
default
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
eautoreconf
}
src_configure() {
append-cppflags -D_GNU_SOURCE # needed for 'strndup'
replace-flags "-O[0-9s]" "-O1" # fix selector box bug 388073
local myeconfargs=(
--enable-dependency-reduction
--disable-static
$(use_enable gimp)
$(use_enable X frontend)
$(use_enable X jpeg)
$(use_enable X png)
$(use_enable X tiff)
)
econf "${myeconfargs[@]}"
}
src_install() {
use l10n_ja && DOCS+=( {NEWS,README}.ja )
use doc && DOCS+=( "${DISTDIR}/${MY_DOC}_$(usex l10n_ja j e).pdf" )
default
# install sane config
insinto /etc/sane.d
doins backend/epkowa.conf
# link iscan so it is seen as a plugin in gimp
if use gimp; then
local plugindir="$(gimptool-2.0 --gimpplugindir)/plug-ins"
dodir "${plugindir}"
dosym "${ED}"/usr/bin/iscan "${plugindir}"/iscan
fi
use X && make_desktop_entry iscan "Image Scan! for Linux ${PV}" scanner
}
pkg_postinst() {
local DLL_CONF="${EPREFIX}/etc/sane.d/dll.conf"
local EPKOWA_CONF="${EPREFIX}/etc/sane.d/epkowa.conf"
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
}

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mattsch@gmail.com</email>
<name>Matthew Schultz</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
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.
</longdescription>
</pkgmetadata>