summaryrefslogtreecommitdiff
blob: 9558364b2d8bdb57bccd21fb9e53ea88140619aa (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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit elisp-common flag-o-matic kde-functions multilib subversion

IUSE="X anthy canna dict eb emacs fep gtk immqt libedit m17n-lib nls qt3"

DESCRIPTION="a multilingual input method library"
HOMEPAGE="http://code.google.com/p/uim/"
SRC_URI=""

LICENSE="|| ( BSD GPL-2 LGPL-2.1 )"
KEYWORDS="~x86"
SLOT="0"

DEPEND="${RDEPEND}
	>=sys-devel/autoconf-2.60b
	>=sys-devel/automake-1.10
	>=dev-util/intltool-0.35.2
	gnome-base/librsvg
	dev-lang/perl
	dev-lang/ruby
	app-text/asciidoc
	X? ( x11-proto/xextproto
		x11-proto/xproto )
	nls? ( virtual/libintl )"
RDEPEND="!app-i18n/uim
	X? ( x11-libs/libX11
		x11-libs/libXft
		x11-libs/libXt
		x11-libs/libICE
		x11-libs/libSM
		x11-libs/libXext
		x11-libs/libXrender )
	anthy? ( || ( app-i18n/anthy app-i18n/anthy-ss ) )
	canna? ( app-i18n/canna )
	eb? ( dev-libs/eb )
	emacs? ( virtual/emacs )
	gtk? ( >=x11-libs/gtk+-2 )
	immqt? ( $(qt_min_version 3.3.4) )
	libedit? ( dev-libs/libedit )
	qt3? ( $(qt_min_version 3.3.4) )
	m17n-lib? ( dev-libs/m17n-lib )"

src_unpack() {

	local repo_uri="http://uim.googlecode.com/svn"

	subversion_wc_info ${repo_uri}/trunk

	if [[ $? -eq 0 ]] && [ "${ESVN_WC_URL}" != "${repo_uri}/trunk" ]; then
		eerror "uim's repository is moved to Google Code."
		eerror "please remove ${ESVN_STORE_DIR}/${ESVN_PROJECT}."

		die
	fi

	subversion_fetch ${repo_uri}/trunk
	subversion_fetch ${repo_uri}/sigscheme-trunk sigscheme
	subversion_fetch ${repo_uri}/libgcroots-trunk sigscheme/libgcroots

	cd "${S}"
	sed -i -e "/^RELEASE_/d" -e "/^#RELEASE_/s:#::" Makefile.am

	cd sigscheme/libgcroots

	local i

	for ((i = 0; i < 3; i++)); do
		./autogen.sh
		cd ..
	done

}

src_compile() {

	local myconf="--enable-maintainer-mode"

	if use dict && (use anthy || use canna); then
		myconf="${myconf} --enable-dict"

	else
		ewarn "dict use flag should use with anthy or canna use flag. disabled."
		myconf="${myconf} --disable-dict"

	fi

	if use qt3 || use immqt; then
		set-qtdir 3
	fi

	econf \
		$(use_enable emacs) \
		$(use_with emacs lispdir "${SITELISP}") \
		$(use_enable fep) \
		$(use_enable nls) \
		$(use_with X x) \
		$(use_with anthy) \
		$(use_with canna) \
		$(use_with eb) \
		$(use_with immqt qt-immodule) \
		$(use_with libedit) \
		$(use_with qt3 qt) \
		$(use_with gtk gtk2) \
		$(use_with m17n-lib m17nlib) \
		${myconf} \
		|| die
	emake all ChangeLog || die

}

src_install() {

	emake DESTDIR="${D}" install || die

	dodoc AUTHORS ChangeLog* NEWS README*

	rm doc/Makefile*
	docinto doc
	dodoc doc/*

	local u

	for u in emacs fep; do
		if use ${u}; then
			cd ${u}
			docinto ${u}
			dodoc README*
			cd -
		fi
	done

	if use emacs; then
		cd "${D}/${SITELISP}"/uim-el
		elisp-comp *.el || die
		cd -
		elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el uim-el
	fi

	# remove empty directories
	rm -rf "${D}"/usr/include/sigscheme
	rm -rf "${D}"/usr/include/libgcroots

	# remove unnecessary header
	rm -f "${D}"/usr/include/gcroots.h

}

pkg_postinst() {

	local chost

	has_multilib_profile && chost=${CHOST}
	use gtk && gtk-query-immodules-2.0 > "${ROOT}"/etc/gtk-2.0/${chost}/gtk.immodules

	if use emacs; then
		elisp-site-regen

		echo
		elog "uim is autoloaded with Emacs with a minimal set of"
		elog "features: There is no keybinding defined to call it directly,"
		elog "so please create one yourself and choose an input method."
		elog "Integration with LEIM is not done with this ebuild, please have a look"
		elog "at the documentation how to achieve this."
	fi

}

pkg_postrm() {

	local chost

	has_multilib_profile && chost=${CHOST}
	use gtk && gtk-query-immodules-2.0 > "${ROOT}"/etc/gtk-2.0/${chost}/gtk.immodules
	use emacs && elisp-site-regen

}