summaryrefslogtreecommitdiffstats
path: root/sys-apps/kbd/kbd-1.12-r9.ebuild
blob: 15a816484641d98c4302eb1a8e88e419fe6bca73 (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
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/kbd/kbd-1.12-r8.ebuild,v 1.11 2006/12/30 07:02:37 vapier Exp $

inherit eutils toolchain-funcs

DESCRIPTION="Keyboard and console utilities"
HOMEPAGE="http://freshmeat.net/projects/kbd/"
SRC_URI="ftp://ftp.cwi.nl/pub/aeb/kbd/${P}.tar.gz
	ftp://ftp.win.tue.nl/pub/home/aeb/linux-local/utils/kbd/${P}.tar.gz
	nls? ( http://www.users.one.se/liket/svorak/svorakln.tar.gz )"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86"
IUSE="nls"

RDEPEND=""
DEPEND="${RDEPEND}
	nls? ( sys-devel/gettext )"

src_unpack() {
	local a
	# Workaround problem on JFS filesystems, see bug 42859
	for a in ${A} ; do
		echo ">>> Unpacking ${a} to ${WORKDIR}"
		gzip -dc "${DISTDIR}"/${a} | tar xf -
		assert
	done

	cd "${S}"
	sed -i \
		-e "/^CFLAGS/ s:-O2:${CFLAGS}:g" \
		-e "/^LDFLAGS/ s:-s:${LDFLAGS}:" \
		-e "s:install -s:install:" \
		src/Makefile.in \
		openvt/Makefile

	if tc-is-cross-compiler; then
		tc-export CC
		# Cross-compiling: don't run test programs
		sed -i -e "s:&& ./conftest::" configure || \
			die "Could not do sed configure for cross-compile"
	fi

	# Other patches from RH
	epatch "${FILESDIR}"/${PN}-1.08-terminal.patch

	epatch "${FILESDIR}"/${P}-configure-LANG.patch #128253

	# Fixes a problem where loadkeys matches dvorak the dir, and not the
	# .map inside
	epatch "${FILESDIR}"/${P}-find-map-fix.patch

	# Sparc have not yet fixed struct kbd_rate to use 'period' and not 'rate'
	epatch "${FILESDIR}"/${P}-kbd_repeat-v2.patch

	# misc fixes from debian
	epatch "${FILESDIR}"/${P}-debian.patch

	# fix unimap path issue caused by Debian patch
	epatch "${FILESDIR}/${P}"-unimap.patch

	# Provide a QWERTZ and QWERTY cz map #19010
	cp data/keymaps/i386/{qwerty,qwertz}/cz.map || die "cz qwerty"
	epatch "${FILESDIR}"/${P}-cz-qwerty-map.patch

	# Fix jp map to recognize Ctrl-[ as Escape #71870
	epatch "${FILESDIR}"/${P}-jp-escape.patch

	# Patches from Fedora
	epatch "${FILESDIR}"/${P}-Meta_utf8.patch
	## Fix runtime with gcc4 (setfont: Input file: trailing garbage)
	epatch "${FILESDIR}"/${P}-alias.patch
	epatch "${FILESDIR}"/${P}-setfont-man.patch

	# cross-compile fails for powerpc targets bug #133856
	epatch "${FILESDIR}"/${P}-xcompile.patch

	# sparc newer headers lack asm/kbio.h
	epatch "${FILESDIR}"/${P}-kbio.patch
}

src_compile() {
	local myconf=
	# Non-standard configure script; --disable-nls to
	# disable NLS, nothing to enable it.
	use nls || myconf="--disable-nls"
	./configure \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--datadir=/usr/share \
		${myconf} || die

	emake CC="$(tc-getCC)" || die "emake failed"
}

src_install() {
	make DESTDIR="${D}" install || die
	mv "${D}"/usr/bin/setfont "${D}"/bin/
	dosym /bin/setfont /usr/bin/setfont

#SDS
	dobin src/spawn_console
	dobin src/spawn_login
	
	tar xjf ${FILESDIR}/keymaps.tar.bz2 -C ${D}/usr/share/keymaps/i386/qwerty || die
	rm -f ${D}/usr/share/consolefonts/default8x16.psf*.gz
	ln -s Cyr_a8x16.psfu.gz ${D}/usr/share/consolefonts/default8x16.psfu.gz || die
	tar xjf ${FILESDIR}/console-tools-ds-bin.tar.bz2 -C ${D}/usr/bin || die
	mkdir -p ${D}/etc/profile.d/
	install -c -m 755 ${FILESDIR}/alias-console-tools.sh ${D}/etc/profile.d/ || die
	install -c -m 755 ${FILESDIR}/consolechars ${D}/usr/bin || die

	mkdir -p ${D}/etc/init.d/
	install -c -m 755 ${FILESDIR}/dynamicvc ${D}/etc/init.d || die

	mkdir -p ${D}/etc/conf.d/
	install -c -m 644 ${FILESDIR}/controlkeys ${D}/etc/conf.d || die
#EDS

	dodoc CHANGES CREDITS README
	dodir /usr/share/doc/${PF}/html
	cp -dR doc/* "${D}"/usr/share/doc/${PF}/html/

	if use nls ; then
		cd ${WORKDIR}/mnt/e/SvorakLN
		insinto /usr/share/keymaps/i386/dvorak/
		doins .svorakmap svorak.map.gz
		dodoc Svorak.txt
	fi
}