ebuild cleanup, removed 'udev' use-flag (see bug #158114).
authorStefan Briesenick <sbriesen@gentoo.org>
Sun, 17 Dec 2006 22:43:12 +0000 (22:43 +0000)
committerStefan Briesenick <sbriesen@gentoo.org>
Sun, 17 Dec 2006 22:43:12 +0000 (22:43 +0000)
Package-Manager: portage-2.1.2_rc3-r5

media-gfx/iscan/ChangeLog
media-gfx/iscan/files/digest-iscan-2.2.0-r1 [new file with mode: 0644]
media-gfx/iscan/iscan-2.2.0-r1.ebuild [new file with mode: 0644]

index 9537871d880531fac2cf7fec63630dbd66958c51..60331b8061e2ca667ea75631c70670aa2590b07f 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-gfx/iscan
 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/iscan/ChangeLog,v 1.12 2006/09/30 22:39:55 sbriesen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/iscan/ChangeLog,v 1.13 2006/12/17 22:43:12 sbriesen Exp $
+
+*iscan-2.2.0-r1 (17 Dec 2006)
+
+  17 Dec 2006; Stefan Briesenick <sbriesen@gentoo.org>
+  +iscan-2.2.0-r1.ebuild:
+  ebuild cleanup, removed 'udev' use-flag (see bug #158114).
 
 *iscan-2.2.0 (30 Sep 2006)
 
diff --git a/media-gfx/iscan/files/digest-iscan-2.2.0-r1 b/media-gfx/iscan/files/digest-iscan-2.2.0-r1
new file mode 100644 (file)
index 0000000..044c9e3
--- /dev/null
@@ -0,0 +1,48 @@
+MD5 09cb3299d41ec2e09f40334df51437eb iscan-2.2.0-1.c2.tar.gz 1293397
+RMD160 a747b7257efcd57bc27adebd6797202c16f8c192 iscan-2.2.0-1.c2.tar.gz 1293397
+SHA256 dcc732062574312532380b65da3c1759574e59941f3518097b239a7c81b13ba2 iscan-2.2.0-1.c2.tar.gz 1293397
+MD5 736124dfa376b8a2e5977db0dcf7172f iscan-2.2.0-1.tar.gz 1282139
+RMD160 342dbd9015844f1cbc2d7958ef866c894901c0fe iscan-2.2.0-1.tar.gz 1282139
+SHA256 eb4c3b529a2c619befdcdb7d06587aa1e696ec8ef533886c90bee2b5b0cef02d iscan-2.2.0-1.tar.gz 1282139
+MD5 08e81ee1d522c5e33edaac26afd0ded8 iscan-plugin-gt-7200-1.0.0-1.c2.i386.rpm 62336
+RMD160 7862ae8f8e4362ba9535b9d492e742d9716da91d iscan-plugin-gt-7200-1.0.0-1.c2.i386.rpm 62336
+SHA256 11789e2074670b1098cea9366b3e33bb72ce316c0ced6e09086f3a13eeccb86f iscan-plugin-gt-7200-1.0.0-1.c2.i386.rpm 62336
+MD5 c5808e23a0e9fb367805f884b187b658 iscan-plugin-gt-7200-1.0.0-1.i386.rpm 61826
+RMD160 eab55bd4b8b5d4f329e4b61e8b2b4a9f415aaa65 iscan-plugin-gt-7200-1.0.0-1.i386.rpm 61826
+SHA256 be819a904196b8b26a3667ce00e0d56f03bbbdf8bbf22581fa292b92a5d19725 iscan-plugin-gt-7200-1.0.0-1.i386.rpm 61826
+MD5 060e7ab5b38371a681facae2995b8a74 iscan-plugin-gt-7300-1.0.0-1.c2.i386.rpm 77271
+RMD160 9d3a95a1eefd5a63b991d06ed58356aeb814b7d8 iscan-plugin-gt-7300-1.0.0-1.c2.i386.rpm 77271
+SHA256 a6cfce5c1da99ee34b4186cdf7e611a685be8da95b08f8295fdeafcb4d0fc339 iscan-plugin-gt-7300-1.0.0-1.c2.i386.rpm 77271
+MD5 b7e9c5f9f4f0350a971a56eaa9dc1d9d iscan-plugin-gt-7300-1.0.0-1.i386.rpm 78849
+RMD160 4adf46bbe3ebf7cba38bcac715f3ed9dec04f465 iscan-plugin-gt-7300-1.0.0-1.i386.rpm 78849
+SHA256 113d07bd7775676d49da22a57c45d4aadb35bf08b62ccde96e6709b47f7e3cd9 iscan-plugin-gt-7300-1.0.0-1.i386.rpm 78849
+MD5 f76725766f44debe3f3fec06d0e2023b iscan-plugin-gt-9400-1.0.0-1.c2.i386.rpm 140610
+RMD160 aaa768cffc851d2168e358c6f4e30b8125ef8e86 iscan-plugin-gt-9400-1.0.0-1.c2.i386.rpm 140610
+SHA256 0172f3331dfefac27fffe3723b7b403b1fbc5d0cd0c3e835bdef7d925dfeab3e iscan-plugin-gt-9400-1.0.0-1.c2.i386.rpm 140610
+MD5 770aa86879bbd92737b61ae4fa3789f5 iscan-plugin-gt-9400-1.0.0-1.i386.rpm 138618
+RMD160 a05565c3640bdc1e443dddfdd3090eec2f5b1ed8 iscan-plugin-gt-9400-1.0.0-1.i386.rpm 138618
+SHA256 a92e0441964370c094486d5bf0c532722724e38767d2268b7feb6b1de9e5998b iscan-plugin-gt-9400-1.0.0-1.i386.rpm 138618
+MD5 8b1c398ef58769d9ceb77ad771515de3 iscan-plugin-gt-f500-1.0.0-1.c2.i386.rpm 126130
+RMD160 a5ea991156fb8fbe460c5a8198467837eedfa6bc iscan-plugin-gt-f500-1.0.0-1.c2.i386.rpm 126130
+SHA256 fe87d16ce22c28e2c320286758bea32ea4cad75c83debd6fe95670b704701464 iscan-plugin-gt-f500-1.0.0-1.c2.i386.rpm 126130
+MD5 ba26881e7697db513a2719bc21f959fe iscan-plugin-gt-f500-1.0.0-1.i386.rpm 124153
+RMD160 cf624c88aa6678627b69da06c3f257d7cd5ffd8b iscan-plugin-gt-f500-1.0.0-1.i386.rpm 124153
+SHA256 91ef3ea74051e55e8f5f3aebe98b456b5b2eea997bdb8ad1dd73389ffccf6398 iscan-plugin-gt-f500-1.0.0-1.i386.rpm 124153
+MD5 b72a512a927b9f2020af817c5a541ae8 iscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm 125919
+RMD160 8743c98fb45b055adc1db38cfd312de9517cccee iscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm 125919
+SHA256 2f0dd2257e19c808062ddbaa4a1f4cf6899944cacce67f46136008fbe60ae61a iscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm 125919
+MD5 1bac617831d8a2beccde42f772c43941 iscan-plugin-gt-f520-1.0.0-1.i386.rpm 124048
+RMD160 c95242a974bfdee814de74d522f4b2dca331cdd1 iscan-plugin-gt-f520-1.0.0-1.i386.rpm 124048
+SHA256 19ae358ee4b7ba51cff3330aa0719ed158983cc0f197e5836b7e20257f6d6f94 iscan-plugin-gt-f520-1.0.0-1.i386.rpm 124048
+MD5 5f4137fd69198617b95bd59261affd75 iscan-plugin-gt-f600-1.0.0-1.c2.i386.rpm 151280
+RMD160 2779029ea507525042122a0ca5581a3b0fd5cbc8 iscan-plugin-gt-f600-1.0.0-1.c2.i386.rpm 151280
+SHA256 4735e468c060250a2e6b9adca72ed43c9e8523db5b95d8edad7d0e91f0ac13d2 iscan-plugin-gt-f600-1.0.0-1.c2.i386.rpm 151280
+MD5 7e5aabd458ffdf1856a59172b869dc91 iscan-plugin-gt-f600-1.0.0-1.i386.rpm 149184
+RMD160 a77262fd49cbe6ff788fa16113bd10f8a6f1ef2c iscan-plugin-gt-f600-1.0.0-1.i386.rpm 149184
+SHA256 6d7850442dff534946526008abe006107bc558a07d9b6c0a38ba388dd3bf601a iscan-plugin-gt-f600-1.0.0-1.i386.rpm 149184
+MD5 02c151a49608ae911b1e200672ed236f iscan-plugin-gt-x750-1.0.0-1.c2.i386.rpm 163386
+RMD160 aeb024f903c79d64cb79ab8c15d3f6fb0c7ece8d iscan-plugin-gt-x750-1.0.0-1.c2.i386.rpm 163386
+SHA256 7ebd3a9cf7f35b5abc5cd8c6b5c27dd98b2b6c39ad621c9ab753f3046b9578a4 iscan-plugin-gt-x750-1.0.0-1.c2.i386.rpm 163386
+MD5 b0f5b2cfbb538fa820db1fdb9d5b13dd iscan-plugin-gt-x750-1.0.0-1.i386.rpm 161133
+RMD160 b86c4e69812c035972d4a9b3e49079342c0bcc55 iscan-plugin-gt-x750-1.0.0-1.i386.rpm 161133
+SHA256 adb09cabdcf9c7b8740b1dad1f10eb66af2fe471e7669ece22af4fa7441c5c0f iscan-plugin-gt-x750-1.0.0-1.i386.rpm 161133
diff --git a/media-gfx/iscan/iscan-2.2.0-r1.ebuild b/media-gfx/iscan/iscan-2.2.0-r1.ebuild
new file mode 100644 (file)
index 0000000..356de78
--- /dev/null
@@ -0,0 +1,302 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/iscan/iscan-2.2.0-r1.ebuild,v 1.1 2006/12/17 22:43:12 sbriesen Exp $
+
+inherit eutils multilib toolchain-funcs linux-info autotools rpm
+
+# HINTS:
+# -> non-free modules are x86 only
+# -> isane frontend needs non-free modules
+# -> sane-epkowa should be usable on every arch
+# -> ${P}-0.tar.gz    (for gcc 3.2/3.3)
+# -> ${P}-0.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)
+
+# 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/7200-1.0.0-1
+       v1180/7300-1.0.0-1
+       v1180/9400-1.0.0-1
+       v1180/f500-1.0.0-1
+       v1180/f520-1.0.0-1
+       v1180/f600-1.0.0-1
+       v1180/x750-1.0.0-1
+"
+
+# 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" )
+
+SRC_REV="1"  # revision used by upstream
+
+SRC_GCC33="http://lx1.avasys.jp/iscan/${PV}/${P}-${SRC_REV}.tar.gz"
+SRC_GCC34="http://lx1.avasys.jp/iscan/${PV}/${P}-${SRC_REV}.c2.tar.gz"
+BIN_GCC33=""
+BIN_GCC34=""
+
+for X in ${PLUGINS}; do
+       BIN_GCC33="${BIN_GCC33} http://lx1.avasys.jp/iscan/${X%%/*}/iscan-plugin-gt-${X##*/}.i386.rpm"
+       BIN_GCC34="${BIN_GCC34} http://lx1.avasys.jp/iscan/${X%%/*}/iscan-plugin-gt-${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="x86? ( ${SRC_GCC33} ${BIN_GCC33} ) ${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 DEVICE='\1ATTRS{idVendor}=="\L\2\E", ATTRS{idProduct}=="\L\3\E"'
+       local ACTION='MODE="0660", GROUP="scanner"'
+       [ ${KERNEL_HAS_USBFS} -ne 0 ] && ACTION="${ACTION}"', RUN+="/lib/udev/iscan-usb.sh"'
+       echo 'SUBSYSTEM!="usb_device", ACTION!="add", 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.[23])
+                       if use x86; then
+                               MY_A="${SRC_GCC33##*/}"
+                               for i in ${BIN_GCC33}; do MY_A="${MY_A} ${i##*/}"; done
+                       else  # fallback to GCC 3.4, should not harm.
+                               MY_A="${SRC_GCC34##*/}"
+                               for i in ${BIN_GCC34}; do MY_A="${MY_A} ${i##*/}"; done
+                       fi
+                       ;;
+               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.2, 3.3, 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
+
+       # check for usbfs support (obsolete with kernel >= 2.6.16)
+       linux-info_pkg_setup
+       linux_chkconfig_present USB_DEVICEFS
+       KERNEL_HAS_USBFS=${?}
+}
+
+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
+               einfo "Converting docs to UTF-8"
+               for i in {NEWS,README}.ja non-free/*.ja.txt; do
+                       if [ -f "${i}" ]; then
+                               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
+}
+
+src_compile() {
+       eautoconf
+       econf --enable-jpeg --enable-png --with-pic || die "econf failed"
+       emake || 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/75-iscan.rules"
+       if [ ${KERNEL_HAS_USBFS} -ne 0 ]; then
+               exeinto /lib/udev
+               doexe ${FILESDIR}/iscan-usb.sh
+       fi
+
+       # 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
+}