blob: 328acd67345b464ca000e8e7e098085171ed156d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/sane-backends/sane-backends-1.0.16-r2.ebuild,v 1.3 2005/09/12 06:34:54 phosphan Exp $
inherit eutils flag-o-matic
IUSE="usb gphoto2 ipv6 v4l"
DESCRIPTION="Scanner Access Now Easy - Backends"
HOMEPAGE="http://www.sane-project.org/"
DEPEND=">=media-libs/jpeg-6b
amd64? ( sys-libs/libieee1284 )
x86? ( sys-libs/libieee1284 )
usb? ( dev-libs/libusb )
gphoto2? ( media-libs/libgphoto2 )
v4l? ( sys-kernel/linux-headers )"
BROTHERMFCDRIVER="sane-${PV}-brother-driver.diff"
SRC_URI="ftp://ftp.sane-project.org/pub/sane/${P}/${P}.tar.gz
ftp://ftp.sane-project.org/pub/sane/old-versions/${P}/${P}.tar.gz
usb? ( mirror://gentoo/${BROTHERMFCDRIVER}.bz2
http://dev.gentoo.org/~phosphan/${BROTHERMFCDRIVER}.bz2 )"
SLOT="0"
LICENSE="GPL-2 public-domain"
KEYWORDS="~x86 ~sparc ~ppc ~ppc64 ~amd64 ~alpha ~ia64"
# To enable specific backends, define SANE_BACKENDS with the backends you want
# in those:
# abaton agfafocus apple artec as6e avision bh canon canon630u coolscan
# coolscan2 dc25 dmc epson fujitsu genesys gt68xx hp leo matsushita microtek
# microtek2 mustek mustek_usb nec pie plustek plustek_pp ricoh s9036
# sceptre sharp sp15c st400 tamarack test teco1 teco2 teco3 umax umax_pp
# umax1220u artec_eplus48u ma1509 ibm hp5400 u12 sm3840 snapscan niash dc210 dc240
# pint net
#
# Note that some backends has specific dependencies which make the compilation
# fail because not supported on your current platform.
pkg_setup() {
enewgroup scanner
IEEE1284_BACKENDS="canon_pp hpsj5s mustek_pp"
if [[ "${SANE_BACKENDS}" != "" ]]; then
use gphoto2 && SANE_BACKENDS="${SANE_BACKENDS} gphoto2"
use v4l && SANE_BACKENDS="${SANE_BACKENDS} v4l"
use usb && SANE_BACKENDS="${SANE_BACKENDS} sm3600"
fi
if ! use x86 && ! use amd64; then
tmp="${SANE_BACKENDS}"
for backend in ${IEEE1284_BACKENDS}; do
if [[ "${tmp/$backend/}" != "${SANE_BACKENDS}" ]]; then
ewarn "You selected a backend which is disabled because it's not usable in your arch."
fi
done
fi
}
src_unpack() {
if [ -z "${SANE_BACKENDS}" ]; then
einfo "You can use the variable SANE_BACKENDS to pick backends"
einfo "instead of building all of them."
fi
unpack ${A}
if use usb; then
unpack ${BROTHERMFCDRIVER}.bz2
fi
cd ${S}
#only generate the .ps and not the fonts
sed -i -e 's:$(DVIPS) sane.dvi -o sane.ps:$(DVIPS) sane.dvi -M1 -o sane.ps:' \
doc/Makefile.in
#compile errors when using NDEBUG otherwise
sed -i -e 's:function_name:__FUNCTION__:g' backend/artec_eplus48u.c \
|| die "function_name fix failed"
if use usb; then
epatch ${WORKDIR}/${BROTHERMFCDRIVER}
sed -e 's/bh canon/bh brother canon/' -i configure || \
die "could not add 'brother' to backend list"
epatch ${FILESDIR}/libusbscanner-device-r1.patch
:
fi
epatch ${FILESDIR}/lide25.patch
}
src_compile() {
filter-flags -ffast-math
if use amd64; then
filter-flags -fstack-protector
fi
SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \
BACKENDS="${SANE_BACKENDS}" \
econf \
$(use_enable usb libusb) \
$(use_with gphoto2) \
$(use_enable ipv6) \
${myconf} || die "econf failed"
emake || die
if use usb; then
cd tools/hotplug
grep -v '^$' libsane.usermap > libsane.usermap.new
mv libsane.usermap.new libsane.usermap
fi
}
src_install () {
einstall docdir=${D}/usr/share/doc/${PF}
keepdir /var/lib/lock/sane
fowners root:scanner /var/lib/lock/sane
fperms g+w /var/lib/lock/sane
if use usb; then
cd tools/hotplug
insinto /etc/hotplug/usb
exeinto /etc/hotplug/usb
doins libsane.usermap
doexe libusbscanner
newdoc README README.hotplug
cd ../..
fi
docinto backend
cd backend
dodoc GUIDE *.README *.BUGS *.CHANGES *.FAQ *.TODO
echo "SANE_CONFIG_DIR=/etc/sane.d" > 30sane
insinto /etc/env.d
doins 30sane
}
|