blob: 1e4bc5e681350aa359eaa1162aff70ba2c8a4464 (
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/pcmcia-cs/pcmcia-cs-3.2.8-r2.ebuild,v 1.4 2005/08/14 10:02:07 hansmi Exp $
inherit eutils flag-o-matic toolchain-funcs linux-info
DESCRIPTION="PCMCIA tools for Linux"
HOMEPAGE="http://pcmcia-cs.sourceforge.net"
SRC_URI="mirror://sourceforge/pcmcia-cs/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ppc x86"
IUSE="gtk gtk2 vanilla trusted X xforms"
RDEPEND="!sys-apps/pcmcia-cs-cis
X? ( virtual/x11
gtk? ( gtk2? ( =x11-libs/gtk+-2*
dev-util/pkgconfig )
!gtk2? ( =x11-libs/gtk+-1* ) )
xforms? ( x11-libs/xforms ) )"
DEPEND="${RDEPEND}
virtual/linux-sources
>=sys-apps/sed-4"
PROVIDE="virtual/pcmcia"
pkg_setup() {
linux-info_pkg_setup
if kernel_is lt 2 5 && linux_chkconfig_present PCMCIA; then
ewarn
ewarn "The recommended configuration for linux-2.4.x is to disable"
ewarn "CONFIG_PCMCIA in the kernel and use the drivers from"
ewarn "sys-apps/pcmcia-cs-modules."
ewarn
elif kernel_is gt 2 4 && ! (linux_chkconfig_present PCMCIA || linux_chkconfig_present PCCARD); then
eerror
eerror "The package requires the in-kernel PCMCIA drivers to be enabled"
eerror "for kernel 2.6.x."
eerror
die "linux-${KV_FULL} without PCMCIA support detected"
fi
}
src_unpack() {
unpack ${A}
cd ${S}
epatch ${FILESDIR}/${P}-gcc4.patch
epatch ${FILESDIR}/${P}-CS_EVENT_RESET_COMPLETE.patch
epatch ${FILESDIR}/${P}-ldflags.patch
epatch ${FILESDIR}/${P}-move-pnp-ids.patch
epatch ${FILESDIR}/${P}-x11.patch
epatch ${FILESDIR}/${P}-tools-only.patch
sed -i -e 's:usr/man:usr/share/man:g' ${S}/Configure
}
pcmcia_cs_configure() {
# output arguments to Configure to assist in debugging
echo "${S}/Configure $@"
${S}/Configure "$@" || die "Configure failed"
return ${?}
}
src_compile() {
local config CONFIG_FILE
if use trusted; then
ewarn "Unsafe user-space tools enabled"
config="${config} --trust"
else
einfo "Unsafe user-space tools disabled"
config="${config} --notrust"
fi
if linux_chkconfig_present PNP; then
einfo "Plug and Play support enabled"
config="${config} --pnp"
else
einfo "Plug and Play support disabled"
config="${config} --nopnp"
fi
# cardctl, cardinfo and xcardinfo are setUID
append-ldflags -Wl,-z,now
pcmcia_cs_configure \
--noprompt \
--kernel=${KV_DIR} \
--target=${D} \
--arch=$(tc-arch-kernel) \
--ucc=$(tc-getCC) \
--kcc=$(tc-getCC) \
--ld=$(tc-getLD) \
--uflags="${CFLAGS}" \
--kflags="$(getfilevar HOSTCFLAGS ${KV_DIR}/Makefile)" \
--srctree \
--nox11 \
${config} \
|| die "Configure failed"
# config file to be altered
CONFIG_FILE="${S}/config.mk"
if use X; then
echo "HAS_XAW=y" >> ${CONFIG_FILE}
if use gtk; then
echo "HAS_GTK=y" >> ${CONFIG_FILE}
if use gtk2; then
echo "GTK_CFLAGS=$(pkg-config --cflags gtk+-2.0)" >> ${CONFIG_FILE}
echo "GTK_LIBS=$(pkg-config --libs gtk+-2.0)" >> ${CONFIG_FILE}
else
echo "GTK_CFLAGS=$(gtk-config --cflags)" >> ${CONFIG_FILE}
echo "GTK_LIBS=$(gtk-config --libs)" >> ${CONFIG_FILE}
fi
fi
if use xforms; then
echo "FLIBS=-L/usr/X11R6/lib -L/usr/X11/lib -lforms -lX11 -lm -lXpm" >> ${CONFIG_FILE}
echo "HAS_FORMS=y" >> ${CONFIG_FILE}
fi
fi
emake all || die "emake all failed"
}
src_install () {
emake install || die "emake install failed"
# Gentoo specific rc-scripts
rm -rf ${D}/etc/rc*.d
newconfd ${FILESDIR}/${P}-conf.d pcmcia
newinitd ${FILESDIR}/${P}-init.d pcmcia
if ! use vanilla; then
# Gentoo specific network script
exeinto /etc/pcmcia
newexe ${FILESDIR}/${P}-network network
fi
# remove bogus modules.conf file
rm -f ${D}/etc/modules.conf
# remove empty directory structure
rm -rf ${D}/var
if [[ "${ARCH}" = "ppc" ]]; then
insinto /etc/pcmcia
newins ${FILESDIR}/${P}-ppc.config.opts config.opts
fi
dodoc BUGS CHANGES MAINTAINERS README README-2.4 \
SUPPORTED.CARDS doc/*
}
|