diff options
-rw-r--r-- | media-gfx/iscan/ChangeLog | 7 | ||||
-rw-r--r-- | media-gfx/iscan/Manifest | 15 | ||||
-rw-r--r-- | media-gfx/iscan/iscan-2.11.0.ebuild | 304 |
3 files changed, 314 insertions, 12 deletions
diff --git a/media-gfx/iscan/ChangeLog b/media-gfx/iscan/ChangeLog index dcb02aa5b78b..79e92b62b2f4 100644 --- a/media-gfx/iscan/ChangeLog +++ b/media-gfx/iscan/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-gfx/iscan # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/iscan/ChangeLog,v 1.25 2008/04/21 16:48:02 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/iscan/ChangeLog,v 1.26 2008/05/14 23:16:49 sbriesen Exp $ + +*iscan-2.11.0 (14 May 2008) + + 14 May 2008; Stefan Briesenick <sbriesen@gentoo.org> +iscan-2.11.0.ebuild: + version bump. solves bug #216142. 21 Apr 2008; Diego Pettenò <flameeyes@gentoo.org> +files/iscan-2.10.0+gcc-4.3.patch, iscan-2.10.0.ebuild: diff --git a/media-gfx/iscan/Manifest b/media-gfx/iscan/Manifest index 4bb4216c57f4..1b7a9e3814fe 100644 --- a/media-gfx/iscan/Manifest +++ b/media-gfx/iscan/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX iscan-2.10.0+gcc-4.3.patch 768 RMD160 049cde9cc91225af8aef872217f704972ff55d9c SHA1 1d56dd8ff04251abd3c0abf48aeb1432e0e60a1c SHA256 281764933aa5aa374cb6ac76a3ed7361d6c6ab36eb1debdf6e4e35f44d43b591 AUX iscan-usb.sh 826 RMD160 ebf81c44b9e4f1f040a276e3f918662cd93a5f10 SHA1 90e0205dad199aeb87cfb89c7d89dd8737702001 SHA256 8ece8711de7ebfd7d9266e96d8cdf4c7bc12ad52ab212590162526d4af669798 DIST iscan-2.8.0-1.c2.tar.gz 1297487 RMD160 d15b4c8062e124468aa40169fd6448213ffa4bd9 SHA1 f59ddebe98ccd3614af7562e12af951d5fe9b072 SHA256 0b8269769cbacc3666866998e763f44226d15a68a6d164ad55fa6a3f3cf70a45 @@ -15,15 +12,11 @@ DIST iscan-plugin-gt-f670-2.0.0-1.c2.i386.rpm 173098 RMD160 f3dec4db07db8213d3d6 DIST iscan-plugin-gt-f700-2.0.0-0.c2.i386.rpm 150711 RMD160 52a0aee4787c5dd8b64a87a40c988f4c5242cde5 SHA1 9c184cc447c851e9d0150ee45c303e55bea2456d SHA256 c3f31a4b9c07c0a9a83033de0d9b873d282f267dc7de2855083c1a8413c4c591 DIST iscan-plugin-gt-s600-2.0.0-1.c2.i386.rpm 140478 RMD160 4a86fa7626c895e90e7a77ef1d07c93165a5afe3 SHA1 d660161c4fb5a15bf472b5390fb72a5e58f249f1 SHA256 75d66ae95407b879ad4ea14d67e5ecf11e0e12159fd5a8521b4589299dffdb0f DIST iscan-plugin-gt-x750-1.0.0-1.c2.i386.rpm 163386 RMD160 aeb024f903c79d64cb79ab8c15d3f6fb0c7ece8d SHA1 3af44f8b6c79d93c80e3c67761aa3ef0f9fe8347 SHA256 7ebd3a9cf7f35b5abc5cd8c6b5c27dd98b2b6c39ad621c9ab753f3046b9578a4 +DIST iscan-plugin-gt-x770-2.1.0-0.c2.i386.rpm 166476 RMD160 123a686c2d5abcd2d319ee0ece5bd8df392d4b1a SHA1 86fa78bf728d6b21b6d2e8ad042ed0fb31798091 SHA256 04b1d6c13915a14b16721e2c36309f25b0155f3d9bb13eb1eca9b70161342fbd DIST iscan_2.10.0-1.tar.gz 1437822 RMD160 0ce7c7d88b93f7881558d7d9ca556f87e0684a23 SHA1 87340157b2f6854e6bdeb00b4036467b845189c6 SHA256 8930ef9c41951bb2b229160e832fce9bef520bcb578af5c3c7cc7f58d378ec43 +DIST iscan_2.11.0-1.tar.gz 1458880 RMD160 7ac5777d57afa2c0a76cac0808a3aaf7c354edf5 SHA1 a7fe77ded2f788a7bed6b0fa8377c43e6cf6e077 SHA256 ae0a72647acfa4cedc320e280014d3cdf8d61c0f4e2a7e941697cf2f36bed0a8 EBUILD iscan-2.10.0.ebuild 9378 RMD160 9f49b53c0c5bbbe7bfc2a334ea684b4fc797ad86 SHA1 74075bb4e14f91d163f86abd18298b3f8400521e SHA256 33a3195bbcded623fca7fe96550142b12633b65d569315d5f18c00821dfeac63 +EBUILD iscan-2.11.0.ebuild 9464 RMD160 898955ac85b4a36d508a710a44f5feff0e746499 SHA1 fe1fb521d20dafeb7edc219b9b1d7737a600b580 SHA256 16d267db92a6c198e9d90b8d6f891b6a98c93e777bf4db3e036a18b3a456ec81 EBUILD iscan-2.8.0.ebuild 9096 RMD160 9cd4c8f69c5bbea21dba5158ea4c41eb60b7a05c SHA1 215ed86a8e6f4cb813d5aa2c238a3211b67d0504 SHA256 9747a3eda93386be42caf1d21f720c0b0f62f5234eb711f822bdce93f5d06466 -MISC ChangeLog 4082 RMD160 dc64255065fbe874832f1b3892d8c06f5a3e802d SHA1 fc1d07578a823d7db77ba5bdec18bc3ca977e5b1 SHA256 254bd79c1444297da0d8deb517169d2c0f5517aa6a8d844438885f7d6f7d03e6 +MISC ChangeLog 4224 RMD160 0930a905cd092790d10ec82bd9e4348c63952274 SHA1 8c321a69dabd530143f12d38a810d05f7dce8b91 SHA256 30db006777535ece19b213cd485050cd048dc449b514da2c5cdbf9fab2c1bcf1 MISC metadata.xml 674 RMD160 9337250d90495a96a34e5e3b6db2b5125f75e8cb SHA1 6405fc64d508b081a27c420828302dadd05fafe9 SHA256 9c1fe69dd2b3ba142164829a8725afdc1f573f597d4decd024d006c6321efe26 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.9 (GNU/Linux) - -iEYEARECAAYFAkgMxUkACgkQAiZjviIA2XiHmACg8RN6ovL00rShSwLFBX0v4TGO -pXEAoNGepES+OjWurcpX8KBd5bp5FJIj -=Cj44 ------END PGP SIGNATURE----- diff --git a/media-gfx/iscan/iscan-2.11.0.ebuild b/media-gfx/iscan/iscan-2.11.0.ebuild new file mode 100644 index 000000000000..c02b61c3ccee --- /dev/null +++ b/media-gfx/iscan/iscan-2.11.0.ebuild @@ -0,0 +1,304 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/iscan/iscan-2.11.0.ebuild,v 1.1 2008/05/14 23:16:49 sbriesen Exp $ + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="latest" + +inherit eutils toolchain-funcs flag-o-matic autotools rpm + +SRC_REV="1" # revision used by upstream + +# HINTS: +# -> non-free modules are x86 only +# -> isane 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) + +# PLUGINS: +# -> iscan-plugin-gt-7200 == Perfection 1250 PHOTO +# -> iscan-plugin-gt-7300 == Perfection 1260 PHOTO +# -> iscan-plugin-gt-9400 == Perfection 3170 PHOTO (esfw32.bin) +# -> iscan-plugin-gt-f500 == Perfection 2480/2580 PHOTO (esfw41.bin) +# -> iscan-plugin-gt-f520 == Perfection 3490/3590 PHOTO (esfw52.bin) +# -> iscan-plugin-gt-f600 == Perfection 4180 PHOTO (esfw43.bin) +# -> iscan-plugin-gt-x750 == Perfection 4490 PHOTO (esfw54.bin) +# -> iscan-plugin-gt-s600 == Perfection V10/V100 PHOTO (esfw66.bin) +# -> iscan-plugin-gt-f700 == Perfection V350 PHOTO (esfw68.bin) +# -> iscan-plugin-gt-f670 == Perfection V200 PHOTO (esfw7A.bin) +# -> iscan-plugin-gt-x770 == Perfection V500 PHOTO (esfw7C.bin) +# -> iscan-plugin-cx4400 == Stylus CX4300/CX4400/CX4450/CX5500/CX5600/DX4400/DX4450 + +# FIXME: +# Make jpeg/png optional. The problem is, that the +# configure script ignores --disable-*, if the +# corresponding lib is found on the system. +# Furthermore, isane doesn't compile w/o libusb, +# this should be fixed somehow. + +# available x86 plugins (will be assembled below) +PLUGINS=" + v1180/gt-7200-1.0.0-1 + v1180/gt-7300-1.0.0-1 + v1180/gt-9400-1.0.0-1 + v1180/gt-f500-1.0.0-1 + v1180/gt-f520-1.0.0-1 + v1180/gt-f600-1.0.0-1 + v1180/gt-x750-1.0.0-1 + 2.3.0/gt-f700-2.0.0-0 + 2.3.0/gt-s600-2.0.0-1 + 2.8.0/gt-f670-2.0.0-1 + 2.10.0/cx4400-2.0.0-0 + 2.11.0/gt-x770-2.1.0-0" + +# Firmware files within plugin RPMs +FIRMWARE=( "esfw41.bin Perfection 2480/2580 PHOTO" + "esfw32.bin Perfection 3170 PHOTO" + "esfw52.bin Perfection 3490/3590 PHOTO" + "esfw43.bin Perfection 4180 PHOTO" + "esfw54.bin Perfection 4490 PHOTO" + "esfw66.bin Perfection V10/V100 PHOTO" + "esfw68.bin Perfection V350 PHOTO" + "esfw7A.bin Perfection V200 PHOTO" + "esfw7C.bin Perfection V500 PHOTO" ) + +SRC_GCC34="http://lx1.avasys.jp/iscan/${PV}/${PN}_${PV}-${SRC_REV}.tar.gz" +BIN_GCC34="" + +for X in ${PLUGINS}; do + BIN_GCC34="${BIN_GCC34} http://lx1.avasys.jp/iscan/${X%%/*}/iscan-plugin-${X##*/}.c2.i386.rpm" +done + +# feel free to add your arch, every non-x86 +# arch doesn't install any x86-only stuff. +KEYWORDS="~amd64 ~x86" + +DESCRIPTION="EPSON Image Scan! for Linux (including sane-epkowa backend and firmware)" +HOMEPAGE="http://www.avasys.jp/english/linux_e/dl_scan.html" +SRC_URI="${SRC_GCC34} ${BIN_GCC34}" +LICENSE="GPL-2 EAPL EPSON" +SLOT="0" + +IUSE="X gimp unicode" +IUSE_LINGUAS="de es fr it ja ko nl pt zh_CN zh_TW" + +for X in ${IUSE_LINGUAS}; do IUSE="${IUSE} linguas_${X}"; done + +QA_TEXTRELS=" + usr/lib/iscan/libesint41.so.2.0.0 + usr/lib/iscan/libesint52.so.2.0.0" + +DEPEND="media-gfx/sane-backends + media-libs/libpng + media-libs/jpeg + >=sys-fs/udev-103 + >=dev-libs/libusb-0.1.12 + x86? ( + X? ( + sys-devel/gettext + >=x11-libs/gtk+-2.0 + gimp? ( media-gfx/gimp ) + ) + )" + +snapscan_firmware() { + local i + echo "#-------------- EPSON Image Scan! for Linux Scanner-Firmware --------------" + for i in "${FIRMWARE[@]}"; do + echo + echo "# ${i#* } (${i%% *})" + echo "#firmware /usr/share/iscan/${i%% *}" + done + echo + cat 2>/dev/null "${1}" +} + +usermap_to_udev() { + local ACTION='MODE="0660", GROUP="scanner"' + local DEVICE='\1ATTRS{idVendor}=="\L\2\E", ATTRS{idProduct}=="\L\3\E"' + echo '# udev rules file for iscan devices (udev >= 0.98)' + echo '#' + echo 'ACTION!="add", GOTO="iscan_rules_end"' + echo 'SUBSYSTEM!="usb*", GOTO="iscan_rules_end"' + echo 'KERNEL=="lp[0-9]*", GOTO="iscan_rules_end"' + echo + sed -n -e "s|^\(# SEIKO EPSON.*\)|\1|p" \ + -e "s|^\(#*\)i*scan-device *0x0003 *0x\([^ ]\+\) *0x\([^ ]\+\)*.*|${DEVICE}, ${ACTION}|p" "${1}" + echo + echo 'LABEL="iscan_rules_end"' +} + +pkg_setup() { + local i + if ! use x86 && ( use X || use gimp ); then + ewarn + ewarn "The iscan application needs CSS x86-only libs and" + ewarn "thus can't be built currently. You can still use" + ewarn "'xscanimage', 'xsane' or 'kooka' with sane-epkowa" + ewarn "backend. But some low-end scanners are also not" + ewarn "supported, because they need these x86 libs, too." + ewarn + fi + + # Select correct tarball for installed GCC. This is not a perfect + # solution and should be expanded to other working GCC versions. + einfo "GCC version: $(gcc-fullversion)" + case "$(gcc-version)" in + 3.4|4.[01234]) # 4.x seems to work (tested with Perfection 3490 PHOTO) + MY_A="${SRC_GCC34##*/}" + for i in ${BIN_GCC34}; do MY_A="${MY_A} ${i##*/}"; done + ;; + *) + if use x86; then + die "Your GCC version is not supported. You need either 3.4 or 4.x!" + else + MY_A="${SRC_GCC34##*/}" # fallback to GCC 3.4, should not harm. + for i in ${BIN_GCC34}; do MY_A="${MY_A} ${i##*/}"; done + fi + ;; + esac +} + +src_unpack() { + local i + + cd "${WORKDIR}" + for i in ${MY_A}; do + case "${i}" in + *.rpm) + echo ">>> Unpacking ${i}" + rpm_unpack "${DISTDIR}/${i}" || die "failure unpacking ${i}" + ;; + *) + unpack "${i}" + ;; + esac + done + + cd "${S}" + + # convert japanese docs to UTF-8 + if use unicode && use linguas_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 iscan frontend + none-free modules + if ! ( use x86 && 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 + sed -i -e 's:^\([[:space:]]*\)frontend[[:space:]]*\\:\1\\:g' \ + -e 's:^\([[:space:]]*\)non-free[[:space:]]*\\:\1\\:g' \ + -e 's:^\([[:space:]]*\)po[[:space:]]*\\:\1\\:g' Makefile* + sed -i -e 's:iscan.1::g' doc/Makefile* + fi + + # autotool stuff + eautoconf +} + +src_compile() { + append-flags -D_GNU_SOURCE # needed for 'strndup' + # hint: dirty hack, look into 'configure.ac' for 'PACKAGE_CXX_ABI' + CXX="g++" econf --enable-jpeg --enable-png --with-pic || die "econf failed" + emake CXX="$(tc-getCXX)" || die "emake failed" +} + +src_install() { + local MY_LIB="/usr/$(get_libdir)" + make DESTDIR="${D}" install || die "make install failed" + + # --disable-static doesn't work, so we just remove obsolete static lib + sed -i -e "s:^\(old_library=\):# \1:g" "${D}${MY_LIB}/sane/libsane-epkowa.la" + rm -f "${D}${MY_LIB}/sane/libsane-epkowa.a" + + # install scanner plugins (x86-only) + if use x86; then + dodir ${MY_LIB}/iscan + cp -df "${WORKDIR}"/usr/lib/iscan/* "${D}${MY_LIB}"/iscan/. + fi + + # install scanner firmware (could be used by sane-backends) + insinto /usr/share/iscan + doins "${WORKDIR}"/usr/share/iscan/* + + # install docs + dodoc AUTHORS NEWS README doc/epkowa.desc + use linguas_ja && dodoc NEWS.ja README.ja + + # remove 'make-udev-rules', we use our own stuff below + rm -f "${D}usr/lib/iscan/make-udev-rules" + + # install USB hotplug stuff + dodir /etc/udev/rules.d + usermap_to_udev utils/hotplug/iscan.usermap \ + > "${D}etc/udev/rules.d/99-iscan.rules" + + # install sane config + insinto /etc/sane.d + doins backend/epkowa.conf + + # link iscan so it is seen as a plugin in gimp + if use x86 && use X && use gimp; then + local plugindir + if [ -x /usr/bin/gimptool ]; then + plugindir="$(gimptool --gimpplugindir)/plug-ins" + elif [ -x /usr/bin/gimptool-2.0 ]; then + plugindir="$(gimptool-2.0 --gimpplugindir)/plug-ins" + else + die "Can't find GIMP plugin directory." + fi + dodir "${plugindir}" + dosym /usr/bin/iscan "${plugindir}" + fi + + # install desktop entry + if use x86 && use X; then + make_desktop_entry iscan "Image Scan! for Linux ${PV}" scanner.png + fi +} + +pkg_postinst() { + local i + local DLL_CONF="/etc/sane.d/dll.conf" + local EPKOWA_CONF="/etc/sane.d/epkowa.conf" + local SNAPSCAN_CONF="/etc/sane.d/snapscan.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 + elog + elog "You can also use the 'snapscan' backend if you have a recent" + elog "sane-backend installation. Firmware files for some newer" + elog "EPSON scanners were installed into /usr/share/iscan:" + elog + for i in "${FIRMWARE[@]}"; do + elog " ${i%% *}: ${i#* }" + done + elog + if ! grep 2>/dev/null -q "/usr/share/iscan/.*\.bin" "${SNAPSCAN_CONF}"; then + snapscan_firmware "${SNAPSCAN_CONF}" > "${SNAPSCAN_CONF}~~~" \ + && mv -f "${SNAPSCAN_CONF}~~~" "${SNAPSCAN_CONF}" \ + || rm -f "${SNAPSCAN_CONF}~~~" + elog "The firmware entries were added to ${SNAPSCAN_CONF}" + else + elog "Please edit ${SNAPSCAN_CONF} to suit your needs." + fi + elog "Hint: not all models are supported by 'snapscan' yet!" + elog + elog "You can check which backend fits best for your scanner:" + elog "http://www.sane-project.org/cgi-bin/driver.pl?manu=Epson&bus=any" + elog +} |