summaryrefslogtreecommitdiff
blob: 569fda97b90c4460d488ed4296a7d18d73d96b0e (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
# 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-r5.ebuild,v 1.10 2006/02/11 05:43:44 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

	# 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

	# 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

	# The italian keymap is missing euro support #75970
	epatch "${FILESDIR}"/${P}-it-euro-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
}

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

	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
}