summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsuu Takuto <matsuu@gentoo.org>2010-02-04 16:33:11 +0000
committerMatsuu Takuto <matsuu@gentoo.org>2010-02-04 16:33:11 +0000
commit9448ebe9ecc9a54539c434295e757e4803ba820b (patch)
tree2682cab115a089937fa40b3053947452e6314165 /app-i18n/uim
parentUpdate to RC5 for OpenOffice.org 3.2.0 (diff)
downloadgentoo-2-9448ebe9ecc9a54539c434295e757e4803ba820b.tar.gz
gentoo-2-9448ebe9ecc9a54539c434295e757e4803ba820b.tar.bz2
gentoo-2-9448ebe9ecc9a54539c434295e757e4803ba820b.zip
Fixed kde4 issue, https://bugs.freedesktop.org/show_bug.cgi?id=24728
(Portage version: 2.1.7.16/cvs/Linux x86_64)
Diffstat (limited to 'app-i18n/uim')
-rw-r--r--app-i18n/uim/ChangeLog8
-rw-r--r--app-i18n/uim/files/uim-1.5.7-kde4-applet.patch12
-rw-r--r--app-i18n/uim/files/uim-1.5.7-kde4.patch198
-rw-r--r--app-i18n/uim/uim-1.5.7-r1.ebuild204
4 files changed, 421 insertions, 1 deletions
diff --git a/app-i18n/uim/ChangeLog b/app-i18n/uim/ChangeLog
index 490b493bfc84..37111625078c 100644
--- a/app-i18n/uim/ChangeLog
+++ b/app-i18n/uim/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-i18n/uim
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-i18n/uim/ChangeLog,v 1.218 2010/01/19 03:52:20 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-i18n/uim/ChangeLog,v 1.219 2010/02/04 16:33:10 matsuu Exp $
+
+*uim-1.5.7-r1 (04 Feb 2010)
+
+ 04 Feb 2010; MATSUU Takuto <matsuu@gentoo.org> +uim-1.5.7-r1.ebuild,
+ +files/uim-1.5.7-kde4-applet.patch, +files/uim-1.5.7-kde4.patch:
+ Fixed kde4 issue, https://bugs.freedesktop.org/show_bug.cgi?id=24728
19 Jan 2010; Jeroen Roovers <jer@gentoo.org> uim-1.5.7.ebuild:
Stable for HPPA (bug #298221).
diff --git a/app-i18n/uim/files/uim-1.5.7-kde4-applet.patch b/app-i18n/uim/files/uim-1.5.7-kde4-applet.patch
new file mode 100644
index 000000000000..dde28e3c4b3f
--- /dev/null
+++ b/app-i18n/uim/files/uim-1.5.7-kde4-applet.patch
@@ -0,0 +1,12 @@
+diff -Naur uim-1.5.7.orig/configure.ac uim-1.5.7/configure.ac
+--- uim-1.5.7.orig/configure.ac 2009-11-21 21:55:15.000000000 +0900
++++ uim-1.5.7/configure.ac 2010-02-05 01:00:37.000000000 +0900
+@@ -1259,7 +1259,7 @@
+ @<:@default=yes@:>@]),
+ enable_kde4_applet=$enableval,
+ enable_kde4_applet=yes)
+-case "$enable_kde_applet" in
++case "$enable_kde4_applet" in
+ no)
+ use_applet_kde4="no"
+ ;;
diff --git a/app-i18n/uim/files/uim-1.5.7-kde4.patch b/app-i18n/uim/files/uim-1.5.7-kde4.patch
new file mode 100644
index 000000000000..ed289ca1e38c
--- /dev/null
+++ b/app-i18n/uim/files/uim-1.5.7-kde4.patch
@@ -0,0 +1,198 @@
+Index: qt4/toolbar/common-uimstateindicator.cpp
+===================================================================
+--- qt4/toolbar/common-uimstateindicator.cpp (revision 6120)
++++ qt4/toolbar/common-uimstateindicator.cpp (working copy)
+@@ -40,6 +40,7 @@
+ #include <QtCore/QTextCodec>
+ #include <QtGui/QHBoxLayout>
+ #include <QtGui/QImage>
++#include <QtGui/QMouseEvent>
+ #include <QtGui/QPixmap>
+
+ #include <cstring>
+@@ -171,11 +172,17 @@
+ button->setToolTip( fields[ 3 ] );
+
+ // create popup
++#ifdef PLASMA_APPLET_UIM
++ popupMenu = new QHelperPopupMenu( 0 );
++#else
+ popupMenu = new QHelperPopupMenu( button );
++#endif
+ connect( popupMenu, SIGNAL( aboutToShow() ),
+ this, SLOT( slotPopupMenuAboutToShow() ) );
+ connect( popupMenu, SIGNAL( aboutToHide() ),
+ this, SLOT( slotPopupMenuAboutToHide() ) );
++ connect( button, SIGNAL( menuRequested( QMenu* ) ),
++ this, SIGNAL( menuRequested( QMenu* ) ) );
+ button->setMenu( popupMenu );
+ button->setPopupMode( QToolButton::InstantPopup );
+
+@@ -264,7 +271,29 @@
+ }
+
+ /**/
++QHelperToolbarButton::QHelperToolbarButton( QWidget *parent )
++ : QToolButton( parent )
++{
++ setAutoRaise( true );
++}
+
++QSize QHelperToolbarButton::sizeHint() const
++{
++ return QSize( BUTTON_SIZE, BUTTON_SIZE );
++}
++
++void QHelperToolbarButton::mousePressEvent( QMouseEvent *event )
++{
++#ifdef PLASMA_APPLET_UIM
++ if ( event->button() == Qt::LeftButton )
++ emit menuRequested( menu() );
++#else
++ QToolButton::mousePressEvent( event );
++#endif
++}
++
++/**/
++
+ QHelperPopupMenu::QHelperPopupMenu( QWidget *parent )
+ : QMenu( parent )
+ {
+Index: qt4/toolbar/applet-kde4.h
+===================================================================
+--- qt4/toolbar/applet-kde4.h (revision 6120)
++++ qt4/toolbar/applet-kde4.h (working copy)
+@@ -50,6 +50,7 @@
+
+ private slots:
+ void slotToolbarResized();
++ void slotMenuRequested(QMenu *menu);
+
+ private:
+ void initPopup();
+Index: qt4/toolbar/common-uimstateindicator.h
+===================================================================
+--- qt4/toolbar/common-uimstateindicator.h (revision 6120)
++++ qt4/toolbar/common-uimstateindicator.h (working copy)
+@@ -70,6 +70,7 @@
+
+ signals:
+ void indicatorResized();
++ void menuRequested( QMenu *menu );
+
+ public slots:
+ void slotStdinActivated( int socket );
+@@ -91,14 +92,17 @@
+
+ class QHelperToolbarButton : public QToolButton
+ {
++ Q_OBJECT
+ public:
+- explicit QHelperToolbarButton( QWidget *parent = 0 )
+- : QToolButton( parent ){ setAutoRaise( true ); }
++ explicit QHelperToolbarButton( QWidget *parent = 0 );
+
+- QSize sizeHint() const
+- {
+- return QSize( BUTTON_SIZE, BUTTON_SIZE );
+- }
++ QSize sizeHint() const;
++
++signals:
++ void menuRequested( QMenu *menu );
++
++private:
++ void mousePressEvent( QMouseEvent *event );
+ };
+
+ class QHelperPopupMenu : public QMenu
+Index: qt4/toolbar/common-quimhelpertoolbar.cpp
+===================================================================
+--- qt4/toolbar/common-quimhelpertoolbar.cpp (revision 6120)
++++ qt4/toolbar/common-quimhelpertoolbar.cpp (working copy)
+@@ -56,7 +56,10 @@
+ m_indicator = new UimStateIndicator( this );
+ m_layout->addWidget( m_indicator );
+
+- connect( m_indicator, SIGNAL( indicatorResized() ), this, SLOT( slotIndicatorResized() ) );
++ connect( m_indicator, SIGNAL( indicatorResized() ),
++ this, SLOT( slotIndicatorResized() ) );
++ connect( m_indicator, SIGNAL( menuRequested( QMenu* ) ),
++ this, SIGNAL( menuRequested( QMenu* ) ) );
+
+ QPixmap swicon = QPixmap( ICONDIR + "/im_switcher.png" );
+ QPixmap preficon = QPixmap( ACTION_ICONDIR + "/configure.png");
+@@ -87,7 +90,7 @@
+ exiticon = QPixmap::fromImage( exitimage.scaled( ICON_SIZE, ICON_SIZE,
+ Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) );
+
+- m_contextMenu = new QMenu( this );
++ m_contextMenu = new QMenu( isApplet ? 0 : this );
+ m_contextMenu->addAction( m_swicon, _("Switch input method"),
+ this, SLOT(slotExecImSwitcher()) );
+ m_contextMenu->addAction( m_preficon, _("Preference"),
+@@ -129,8 +132,13 @@
+ {
+ if( m_contextMenu->isHidden() )
+ {
++#ifdef PLASMA_APPLET_UIM
++ Q_UNUSED( e );
++ emit menuRequested( m_contextMenu );
++#else
+ m_contextMenu->move( e->globalPos() );
+ m_contextMenu->exec();
++#endif
+ }
+ }
+
+Index: qt4/toolbar/common-quimhelpertoolbar.h
+===================================================================
+--- qt4/toolbar/common-quimhelpertoolbar.h (revision 6120)
++++ qt4/toolbar/common-quimhelpertoolbar.h (working copy)
+@@ -80,6 +80,7 @@
+ signals:
+ void quitToolbar();
+ void toolbarResized();
++ void menuRequested( QMenu *menu );
+
+ protected:
+ UimStateIndicator *m_indicator;
+Index: qt4/toolbar/applet-kde4.cpp
+===================================================================
+--- qt4/toolbar/applet-kde4.cpp (revision 6120)
++++ qt4/toolbar/applet-kde4.cpp (working copy)
+@@ -61,6 +61,8 @@
+ m_toolbar->setAttribute(Qt::WA_NoSystemBackground);
+ connect(m_toolbar, SIGNAL(toolbarResized()),
+ this, SLOT(slotToolbarResized()));
++ connect(m_toolbar, SIGNAL(menuRequested(QMenu*)),
++ this, SLOT(slotMenuRequested(QMenu*)));
+
+ m_proxy = new QGraphicsProxyWidget;
+ m_proxy->setWidget(m_toolbar);
+@@ -115,6 +117,12 @@
+ resize(m_toolbar->width() + lr, m_toolbar->height() + tb);
+ }
+
++void UimApplet::slotMenuRequested(QMenu *menu)
++{
++ menu->adjustSize();
++ menu->exec(popupPosition(menu->size()));
++}
++
+ QGraphicsWidget *UimApplet::graphicsWidget()
+ {
+ return m_widget;
+Index: qt4/toolbar/CMakeLists.txt
+===================================================================
+--- qt4/toolbar/CMakeLists.txt (revision 6120)
++++ qt4/toolbar/CMakeLists.txt (working copy)
+@@ -3,7 +3,7 @@
+ find_package(KDE4 REQUIRED)
+ include(KDE4Defaults)
+
+-add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
++add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DPLASMA_APPLET_UIM)
+ include_directories(${KDE4_INCLUDES}
+ ${CMAKE_SOURCE_DIR}/../.. ${CMAKE_SOURCE_DIR}/../../uim
+ ${CMAKE_SOURCE_DIR}/../../replace ${CMAKE_SOURCE_DIR}/..)
diff --git a/app-i18n/uim/uim-1.5.7-r1.ebuild b/app-i18n/uim/uim-1.5.7-r1.ebuild
new file mode 100644
index 000000000000..1b0a3cdcfbd2
--- /dev/null
+++ b/app-i18n/uim/uim-1.5.7-r1.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-i18n/uim/uim-1.5.7-r1.ebuild,v 1.1 2010/02/04 16:33:10 matsuu Exp $
+
+EAPI="2"
+inherit autotools eutils multilib elisp-common flag-o-matic
+
+DESCRIPTION="Simple, secure and flexible input method library"
+HOMEPAGE="http://code.google.com/p/uim/"
+SRC_URI="http://uim.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="BSD GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+anthy canna eb emacs gnome gtk kde libedit libnotify m17n-lib ncurses nls prime qt4 unicode X xft linguas_zh_CN linguas_zh_TW linguas_ja linguas_ko"
+
+RDEPEND="X? (
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXrender
+ )
+ anthy? (
+ unicode? ( >=app-i18n/anthy-8622 )
+ !unicode? ( app-i18n/anthy )
+ )
+ canna? ( app-i18n/canna )
+ eb? ( dev-libs/eb )
+ emacs? ( virtual/emacs )
+ gnome? ( >=gnome-base/gnome-panel-2.14 )
+ gtk? ( >=x11-libs/gtk+-2.4 )
+ kde? ( >=kde-base/kdelibs-4 )
+ libedit? ( dev-libs/libedit )
+ libnotify? ( >=x11-libs/libnotify-0.4 )
+ m17n-lib? ( >=dev-libs/m17n-lib-1.3.1 )
+ ncurses? ( sys-libs/ncurses )
+ nls? ( virtual/libintl )
+ prime? ( app-i18n/prime )
+ qt4? ( x11-libs/qt-gui:4[qt3support] )
+ !app-i18n/uim-svn
+ !<app-i18n/prime-0.9.4"
+# mana? ( app-i18n/mana )
+# scim? ( >=app-i18n/scim-1.3.0 ) # broken
+# sj3? ( >=app-i18n/sj3-2.0.1.21 )
+# wnn? ( app-i18n/wnn )
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ >=sys-devel/gettext-0.15
+ kde? ( dev-util/cmake )
+ X? (
+ x11-proto/xextproto
+ x11-proto/xproto
+ )"
+
+RDEPEND="${RDEPEND}
+ X? (
+ media-fonts/font-sony-misc
+ linguas_zh_CN? (
+ || ( media-fonts/font-isas-misc media-fonts/intlfonts )
+ )
+ linguas_zh_TW? (
+ media-fonts/intlfonts
+ )
+ linguas_ja? (
+ || ( media-fonts/font-jis-misc media-fonts/intlfonts )
+ )
+ linguas_ko? (
+ || ( media-fonts/font-daewoo-misc media-fonts/intlfonts )
+ )
+ )"
+
+SITEFILE=50${PN}-gentoo.el
+
+pkg_setup() {
+ # An arch specific config directory is used on multilib systems
+ has_multilib_profile && GTK2_CONFDIR="/etc/gtk-2.0/${CHOST}"
+ GTK2_CONFDIR=${GTK2_CONFDIR:=/etc/gtk-2.0/}
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-1.5.4-gentoo.patch" \
+ "${FILESDIR}/${PN}-1.5.4-gcc43.patch" \
+ "${FILESDIR}/${PN}-1.5.4-zhTW.patch" \
+ "${FILESDIR}/${P}-kde4.patch" \
+ "${FILESDIR}/${P}-kde4-applet.patch"
+
+ # bug 275420
+ sed -i -e "s:\$libedit_path/lib:/$(get_libdir):g" configure.ac || die
+ eautoconf
+}
+
+src_configure() {
+ local myconf
+
+ if use gtk && (use anthy || use canna) ; then
+ myconf="${myconf} --enable-dict"
+ else
+ myconf="${myconf} --disable-dict"
+ fi
+
+ if use gtk || use qt4 ; then
+ myconf="${myconf} --enable-pref"
+ else
+ myconf="${myconf} --disable-pref"
+ fi
+
+ if use anthy ; then
+ if use unicode ; then
+ myconf="${myconf} --with-anthy-utf8"
+ else
+ myconf="${myconf} --with-anthy"
+ fi
+ else
+ myconf="${myconf} --without-anthy"
+ fi
+
+ if use libnotify ; then
+ myconf="${myconf} --enable-notify=libnotify"
+ fi
+
+ econf $(use_with X x) \
+ $(use_with canna) \
+ $(use_with eb) \
+ $(use_enable emacs) \
+ $(use_with emacs lispdir "${SITELISP}") \
+ $(use_enable gnome gnome-applet) \
+ $(use_with gtk gtk2) \
+ $(use_with libedit) \
+ --disable-kde-applet \
+ $(use_enable kde kde4-applet) \
+ $(use_with m17n-lib m17nlib) \
+ $(use_enable ncurses fep) \
+ $(use_enable nls) \
+ $(use_with prime) \
+ --without-qt \
+ --without-qt-immodule \
+ $(use_with qt4 qt4) \
+ $(use_with qt4 qt4-immodule) \
+ $(use_with xft) \
+ ${myconf}
+}
+
+src_compile() {
+ emake || die "emake failed"
+
+ if use emacs; then
+ cd emacs
+ elisp-compile *.el || die "elisp-compile failed"
+ fi
+}
+
+src_install() {
+ # parallel make install b0rked, bug #222677
+ emake -j1 INSTALL_ROOT="${D}" DESTDIR="${D}" install || die "make install failed"
+
+ dodoc AUTHORS ChangeLog* NEWS README RELNOTE
+ if use emacs; then
+ elisp-install uim-el emacs/*.elc || die "elisp-install failed"
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}" uim-el \
+ || die "elisp-site-file-install failed"
+ fi
+}
+
+pkg_postinst() {
+ elog
+ elog "To use uim-skk you should emerge app-i18n/skk-jisyo."
+ elog
+ elog "New input method switcher has been introduced. You need to set"
+ elog
+ elog "% GTK_IM_MODULE=uim ; export GTK_IM_MODULE"
+ elog "% QT_IM_MODULE=uim ; export QT_IM_MODULE"
+ elog "% XMODIFIERS=@im=uim ; export XMODIFIERS"
+ elog
+ elog "If you would like to use uim-anthy as default input method, put"
+ elog "(define default-im-name 'anthy)"
+ elog "to your ~/.uim."
+ elog
+ elog "All input methods can be found by running uim-im-switcher-gtk, "
+ elog "or uim-im-switcher-qt4."
+ elog
+ elog "If you upgrade from a version of uim older than 1.4.0,"
+ elog "you should run revdep-rebuild."
+
+ use gtk && gtk-query-immodules-2.0 > "${ROOT}/${GTK2_CONFDIR}/gtk.immodules"
+ if use emacs; then
+ elisp-site-regen
+ echo
+ elog "uim is autoloaded with Emacs with a minimal set of features:"
+ elog "There is no keybinding defined to call it directly, so please"
+ elog "create one yourself and choose an input method."
+ elog "Integration with LEIM is not done with this ebuild, please have"
+ elog "a look at the documentation how to achieve this."
+ fi
+}
+
+pkg_postrm() {
+ use gtk && gtk-query-immodules-2.0 > "${ROOT}/${GTK2_CONFDIR}/gtk.immodules"
+ use emacs && elisp-site-regen
+}