From 72f5750f3dbc7e8e3f81da5ce74a21ea38054b8e Mon Sep 17 00:00:00 2001 From: Stefan Briesenick Date: Sat, 6 Jan 2007 20:12:56 +0000 Subject: [PATCH] ebuild cleanup, changed udev rules handling. Package-Manager: portage-2.1.2_rc4-r5 --- media-gfx/iscan/ChangeLog | 10 +- media-gfx/iscan/Manifest | 15 +- media-gfx/iscan/files/digest-iscan-2.4.0-r1 | 60 ++++ media-gfx/iscan/iscan-2.4.0-r1.ebuild | 304 ++++++++++++++++++++ 4 files changed, 383 insertions(+), 6 deletions(-) create mode 100644 media-gfx/iscan/files/digest-iscan-2.4.0-r1 create mode 100644 media-gfx/iscan/iscan-2.4.0-r1.ebuild diff --git a/media-gfx/iscan/ChangeLog b/media-gfx/iscan/ChangeLog index b1dea003ff26..021d58ab80f5 100644 --- a/media-gfx/iscan/ChangeLog +++ b/media-gfx/iscan/ChangeLog @@ -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.15 2006/12/17 22:47:05 sbriesen Exp $ +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/iscan/ChangeLog,v 1.16 2007/01/06 20:12:56 sbriesen Exp $ + +*iscan-2.4.0-r1 (06 Jan 2007) + + 06 Jan 2007; Stefan Briesenick + +iscan-2.4.0-r1.ebuild: + ebuild cleanup, changed udev rules handling. 17 Dec 2006; Stefan Briesenick -iscan-2.1.0.ebuild, -iscan-2.2.0.ebuild: diff --git a/media-gfx/iscan/Manifest b/media-gfx/iscan/Manifest index 47f2fa45a35b..21cbfafad9a5 100644 --- a/media-gfx/iscan/Manifest +++ b/media-gfx/iscan/Manifest @@ -28,14 +28,18 @@ EBUILD iscan-2.2.0-r1.ebuild 9252 RMD160 8e0785e4e8604b0d0b42032f6e86d5197e36454 MD5 a68ce7fef83322cb9240ce57bfe9cb96 iscan-2.2.0-r1.ebuild 9252 RMD160 8e0785e4e8604b0d0b42032f6e86d5197e36454c iscan-2.2.0-r1.ebuild 9252 SHA256 1477d918faefd01ee89b069551f8f2f72d7944e0f77770255a3e4aa561e65cba iscan-2.2.0-r1.ebuild 9252 +EBUILD iscan-2.4.0-r1.ebuild 9408 RMD160 c4a9d133d57fc53fffef1cc6ff1a0a3689397f55 SHA1 eb9b287ae3a2e76153b7417c62b3113c47728770 SHA256 268c91a14032f30ffb1a4f8d3680e6dec8c2f0bb8c59f18acb3b8b8beb9b6114 +MD5 730a9c11b7bd62139fcff0e139317e99 iscan-2.4.0-r1.ebuild 9408 +RMD160 c4a9d133d57fc53fffef1cc6ff1a0a3689397f55 iscan-2.4.0-r1.ebuild 9408 +SHA256 268c91a14032f30ffb1a4f8d3680e6dec8c2f0bb8c59f18acb3b8b8beb9b6114 iscan-2.4.0-r1.ebuild 9408 EBUILD iscan-2.4.0.ebuild 9507 RMD160 fdd1371124b49c30099de389ce5823dae649084e SHA1 327d51ca8443dfa52ea8d7b654bd8bce77b0023c SHA256 e64d5d21af781627aa271768318d9b047af7ed9b1420dcb92ac560619fe0d65e MD5 c212c5d2a5966bd687315c26dd9dafb2 iscan-2.4.0.ebuild 9507 RMD160 fdd1371124b49c30099de389ce5823dae649084e iscan-2.4.0.ebuild 9507 SHA256 e64d5d21af781627aa271768318d9b047af7ed9b1420dcb92ac560619fe0d65e iscan-2.4.0.ebuild 9507 -MISC ChangeLog 2542 RMD160 9b7b45f004d60e0fde4db36c37cba75406fa5c31 SHA1 45f89729692403b9bec901056cf0e173092a393d SHA256 afacc8a63cc449d6c9cc9a505fe56f528b91f5ec4aa4e68046ab4322e00e1cc9 -MD5 50858cb8711bb0ba2a1846df0b7f4a46 ChangeLog 2542 -RMD160 9b7b45f004d60e0fde4db36c37cba75406fa5c31 ChangeLog 2542 -SHA256 afacc8a63cc449d6c9cc9a505fe56f528b91f5ec4aa4e68046ab4322e00e1cc9 ChangeLog 2542 +MISC ChangeLog 2702 RMD160 782666d411e3f1bfd9c41323b867ec26b966e4c1 SHA1 2608fb33767d9c63a0e19bc9c662b26aebe30a79 SHA256 62ec6d2f0d56d2892a9666e77d88536e67a8c7a59c6b605fc8357f6bc0ad33f7 +MD5 99b243dbafdcf2f171158ba9ce8d357b ChangeLog 2702 +RMD160 782666d411e3f1bfd9c41323b867ec26b966e4c1 ChangeLog 2702 +SHA256 62ec6d2f0d56d2892a9666e77d88536e67a8c7a59c6b605fc8357f6bc0ad33f7 ChangeLog 2702 MISC metadata.xml 674 RMD160 9337250d90495a96a34e5e3b6db2b5125f75e8cb SHA1 6405fc64d508b081a27c420828302dadd05fafe9 SHA256 9c1fe69dd2b3ba142164829a8725afdc1f573f597d4decd024d006c6321efe26 MD5 ba682f5946d2063873acfa9c5390dfcb metadata.xml 674 RMD160 9337250d90495a96a34e5e3b6db2b5125f75e8cb metadata.xml 674 @@ -46,3 +50,6 @@ SHA256 cc471840fc27376b5a3dedae4f879966ee3b38553003f1057f4dc4f41b8713a3 files/di MD5 253948e5bb836529e30402faf76e1a0a files/digest-iscan-2.4.0 5822 RMD160 45ab66c1188f0f598fc159ab36f57dc96b6cb740 files/digest-iscan-2.4.0 5822 SHA256 7b3254b5799fef22075ab534a66c870737ec048806bae58947be737ecdeb9afe files/digest-iscan-2.4.0 5822 +MD5 253948e5bb836529e30402faf76e1a0a files/digest-iscan-2.4.0-r1 5822 +RMD160 45ab66c1188f0f598fc159ab36f57dc96b6cb740 files/digest-iscan-2.4.0-r1 5822 +SHA256 7b3254b5799fef22075ab534a66c870737ec048806bae58947be737ecdeb9afe files/digest-iscan-2.4.0-r1 5822 diff --git a/media-gfx/iscan/files/digest-iscan-2.4.0-r1 b/media-gfx/iscan/files/digest-iscan-2.4.0-r1 new file mode 100644 index 000000000000..c58aeebea0ae --- /dev/null +++ b/media-gfx/iscan/files/digest-iscan-2.4.0-r1 @@ -0,0 +1,60 @@ +MD5 5fb43d47dacbdae1f19252019a26b6c8 iscan-2.4.0-0.c2.tar.gz 1292688 +RMD160 f4d5f03687df2d39be6b3fdd693999f34fd8b9c1 iscan-2.4.0-0.c2.tar.gz 1292688 +SHA256 fce5b92f08620f9c11b0a7b14bc5a54909a0d9e4f8dde2decd17c0bc92140f26 iscan-2.4.0-0.c2.tar.gz 1292688 +MD5 22b4e5b954be14471b25a86de7a84d0d iscan-2.4.0-0.tar.gz 1286133 +RMD160 97c2ce1906d44d52f339f27ce014398cf6a9d717 iscan-2.4.0-0.tar.gz 1286133 +SHA256 abb60a0df6cefc668479e947986d3e2dfa38be17a04563eba408e2bdc426b4a0 iscan-2.4.0-0.tar.gz 1286133 +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 cf191e84b03b28a8b0f629d60ba0b36e iscan-plugin-gt-f700-2.0.0-0.c2.i386.rpm 150711 +RMD160 52a0aee4787c5dd8b64a87a40c988f4c5242cde5 iscan-plugin-gt-f700-2.0.0-0.c2.i386.rpm 150711 +SHA256 c3f31a4b9c07c0a9a83033de0d9b873d282f267dc7de2855083c1a8413c4c591 iscan-plugin-gt-f700-2.0.0-0.c2.i386.rpm 150711 +MD5 51501c83bb65cfa328b3925a39760359 iscan-plugin-gt-f700-2.0.0-0.i386.rpm 152028 +RMD160 983cac4dff7703f6165c0ab7427fa9b608491bc7 iscan-plugin-gt-f700-2.0.0-0.i386.rpm 152028 +SHA256 2fb10725ac7124250bb8210c8588ab9230407c2c9c3e9b5cc7442eb19cd2011e iscan-plugin-gt-f700-2.0.0-0.i386.rpm 152028 +MD5 bda9d1dfe5c9524084b01e46a7a9f5e3 iscan-plugin-gt-s600-2.0.0-1.c2.i386.rpm 140478 +RMD160 4a86fa7626c895e90e7a77ef1d07c93165a5afe3 iscan-plugin-gt-s600-2.0.0-1.c2.i386.rpm 140478 +SHA256 75d66ae95407b879ad4ea14d67e5ecf11e0e12159fd5a8521b4589299dffdb0f iscan-plugin-gt-s600-2.0.0-1.c2.i386.rpm 140478 +MD5 2f17f36950e69df4708287e701a95f97 iscan-plugin-gt-s600-2.0.0-1.i386.rpm 141452 +RMD160 5036c2a9fbc5678e8e2862810e09826bd68fa5a4 iscan-plugin-gt-s600-2.0.0-1.i386.rpm 141452 +SHA256 3f2c75d7390f1b4d0b9813fb86973f7a4216234f3471a4c7a46bf645295a7a64 iscan-plugin-gt-s600-2.0.0-1.i386.rpm 141452 +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.4.0-r1.ebuild b/media-gfx/iscan/iscan-2.4.0-r1.ebuild new file mode 100644 index 000000000000..ba5ddad178bf --- /dev/null +++ b/media-gfx/iscan/iscan-2.4.0-r1.ebuild @@ -0,0 +1,304 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/iscan/iscan-2.4.0-r1.ebuild,v 1.1 2007/01/06 20:12:56 sbriesen Exp $ + +inherit eutils toolchain-funcs autotools rpm + +SRC_REV="0" # 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) + +# 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 + 2.3.0/s600-2.0.0-1 + 2.3.0/f700-2.0.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" ) + +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 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 + 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 +} + +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/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]*\" ${DLL_CONF}; then + elog "Please edit ${EPKOWA_CONF} to suit your needs." + elif grep -q "\" ${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 + if [[ -f "/etc/udev/rules.d/75-iscan.rules" ]]; then + elog "WARNING: please remove old /etc/udev/rules.d/75-iscan.rules" + elog + fi +} -- 2.26.2