[Uim] Debian package of qt-immodule for Uim is now available!

Vik Kumar vik at zone81.com
Mon May 17 14:00:37 EEST 2004


Hello list, hajimemashite to you all!

> I'm using Gentoo. I hate to be difficult, but an ebuild both for the
> patched version of Qt and for the uim module would be nice as well.

I was working on the qt patch and the contextplugin ebuilds over the weekend, 
but with kde 3.2.2 coming down to stable and without the time to do 
everything all at once, I haven't really tested them yet.

At least I know the qt built correctly, though since I had no time to 
re-emerge kde, I cannot guarntee this will work. I guess it's not difficult 
to change other qt versions along the same lines. Also, it uses the 'cjk' use 
flag to patch this in.

Inorder to get the context plugin to build I had to get the latest UIM from 
subversion. It didn't build with UIM gentoo ~x86 (as of last Saturday) 

Please be warned again that these ebuilds have not been tested properly. Use 
at your own risk!
I hate to release untested stuff, but well, you asked for it ;)

Cheers
Vik



On Monday 17 May 2004 17:12, David Oftedal wrote:
> I'm using Gentoo. I hate to be difficult, but an ebuild both for the
> patched version of Qt and for the uim module would be nice as well.
>
> -David
>
> _______________________________________________
> uim mailing list
> uim at freedesktop.org
> http://pdx.freedesktop.org/cgi-bin/mailman/listinfo/uim

-- 
------------
Vikram Kumar
vik at zone81.com

"Let the dogs bark, Sancho, it's a
sign we're going in the right direction." 
          -- Don Quixote
-------------- next part --------------
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.1-r2.ebuild,v 1.2 2004/04/21 08:48:29 kumba Exp $

inherit eutils

SRCTYPE="free"
DESCRIPTION="QT version ${PV}"
HOMEPAGE="http://www.trolltech.com/"

SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-${SRCTYPE}-${PV}.tar.bz2
         http://www.kde.gr.jp/~daisuke/immodule_for_qt/patch/qt-x11-immodule-all-qt3.3.1-20040316.diff"

LICENSE="QPL-1.0 | GPL-2"
SLOT="3"
KEYWORDS="x86"
IUSE="cups nas postgres opengl mysql odbc gif doc firebird zlib icc sqlite ipv6 xinerama cjk"

DEPEND="virtual/x11 virtual/xft
	media-libs/libpng media-libs/jpeg media-libs/libmng
	>=media-libs/freetype-2
	gif? ( media-libs/giflib media-libs/libungif )
	nas? ( >=media-libs/nas-1.5 )
	odbc? ( dev-db/unixODBC )
	mysql? ( dev-db/mysql )
	sqlite? ( dev-db/sqlite )
	firebird? ( dev-db/firebird )
	opengl? ( virtual/opengl virtual/glu )
	postgres? ( dev-db/postgresql )
	cups? ( net-print/cups )
	zlib? ( sys-libs/zlib )
	icc? ( dev-lang/icc )"

RDEPEND="${DEPEND}"

S=${WORKDIR}/qt-x11-${SRCTYPE}-${PV}

QTBASE=/usr/qt/3
export QTDIR=${S}
export PLATFORM=linux-g++

src_unpack() {
	unpack ${A}

	export QTDIR=${S}
	cd ${S}

	cp configure configure.orig
	sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure

	epatch ${FILESDIR}/qt-no-rpath-uic.patch
	epatch ${FILESDIR}/qfontdatabase_x11.diff
	epatch ${FILESDIR}/${P}-qclipboard-fix.patch

	# mips requires this patch to pass a CFLAG to gcc/g++ (which passes it to the assembler).
	# It tells the assembler to relax branches on mips, otherwise we get build errors.
	[ "`use mips`" ] && epatch ${FILESDIR}/${P}-mips-relax-branches.patch

#	use icc && export PLATFORM=linux-icc

	# qt immodule patch. Allows UIM to work much better with qt
	# ****** UNTESTED use at your own risk!
	if [ "`use cjk`" ]; then
        epatch ${DISTDIR}/qt-x11-immodule-all-qt3.3.1-20040316.diff
	    # Next we make some sym links to make the build work correctly
		cd ${S}
		cd include
        ln -s ../src/kernel/qinputcontext.h qinputcontext.h
        ln -s ../src/input/qinputcontextfactory.h qinputcontextfactory.h
        ln -s ../src/input/qinputcontextplugin.h qinputcontextplugin.h
        cd private/
        ln -s ../../src/input/qinputcontextinterface_p.h qinputcontextinterface_p.h
        ln -s ../../src/input/qximinputcontext_p.h qximinputcontext_p.h
    fi
}

src_compile() {
	export QTDIR=${S}
	export SYSCONF=${D}${QTBASE}/etc/settings

	# Let's just allow writing to these directories during Qt emerge
	# as it makes Qt much happier.
	addwrite "${QTBASE}/etc/settings"
	addwrite "$HOME/.qt"

	use nas		&& myconf="${myconf} -system-nas-sound"
	use gif		&& myconf="${myconf} -qt-gif"
	use mysql	&& myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" || myconf="${myconf} -no-sql-mysql"
	use postgres	&& myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" || myconf="${myconf} -no-sql-psql"
	use firebird    && myconf="${myconf} -plugin-sql-ibase" || myconf="${myconf} -no-sql-ibase"
#	use oci8	&& myconf="${myconf} -plugin-sql-oci" || myconf="${myconf} -no-sql-oci"
	use sqlite	&& myconf="${myconf} -plugin-sql-sqlite" || myconf="${myconf} -no-sql-sqlite"
	use odbc	&& myconf="${myconf} -plugin-sql-odbc" || myconf="${myconf} -no-sql-odbc"
	use cups	&& myconf="${myconf} -cups" || myconf="${myconf} -no-cups"
	use opengl	&& myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl"
	use debug	&& myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions"
	use xinerama    && myconf="${myconf} -xinerama" || myconf="${myconf} -no-xinerama"
	use zlib	&& myconf="${myconf} -system-zlib" || myconf="${myconf} -qt-zlib"
	use ipv6        && myconf="${myconf} -ipv6" || myconf="${myconf} -no-ipv6"

	export YACC='byacc -d'

	./configure -sm -thread -stl -system-libjpeg -verbose -largefile \
		-qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \
		-system-libpng -lpthread -xft -platform ${PLATFORM} -xplatform \
		${PLATFORM} -xrender -prefix ${QTBASE} -fast ${myconf} \
		-dlopen-opengl || die

	export QTDIR=${S}

	emake src-qmake src-moc sub-src || die
	LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" emake sub-tools || die
}

src_install() {
	export QTDIR=${S}

	# binaries
	into $QTBASE
	dobin bin/*

	# libraries

	dolib lib/libqt-mt.so.3.3.1 lib/libqui.so.1.0.0
	dolib lib/lib{editor,qassistantclient,designercore}.a lib/libqt-mt.la

	cd ${D}/$QTBASE/lib
	for x in libqui.so ; do
		ln -s $x.1.0.0 $x.1.0
		ln -s $x.1.0 $x.1
		ln -s $x.1 $x
	done

	# version symlinks - 3.3.1->3.3->3->.so
	ln -s libqt-mt.so.3.3.1 libqt-mt.so.3.3
	ln -s libqt-mt.so.3.3 libqt-mt.so.3
	ln -s libqt-mt.so.3 libqt-mt.so

	# libqt -> libqt-mt symlinks
	ln -s libqt-mt.so.3.3.1 libqt.so.3.3.1
	ln -s libqt-mt.so.3.3 libqt.so.3.3
	ln -s libqt-mt.so.3 libqt.so.3
	ln -s libqt-mt.so libqt.so

	# includes
	cd ${S}
	dodir ${QTBASE}/include/private
	cp include/* ${D}/${QTBASE}/include/
	cp include/private/* ${D}/${QTBASE}/include/private/

	# misc
	insinto /etc/env.d
	doins ${FILESDIR}/{45qt3,50qtdir3}

	dodir ${QTBASE}/tools/designer/templates
	cd ${S}
	cp tools/designer/templates/* ${D}/${QTBASE}/tools/designer/templates

	dodir ${QTBASE}/translations
	cd ${S}
	cp translations/* ${D}/${QTBASE}/translations

	dodir ${QTBASE}/etc
	keepdir ${QTBASE}/etc/settings

	dodir ${QTBASE}/doc

	if [ `use doc` ]; then
		cp -r ${S}/doc ${D}/${QTBASE}

		cd ${S}/examples
		find . -name Makefile | while read MAKEFILE
		do
			cp ${MAKEFILE} ${MAKEFILE}.old
			sed -e 's:${S}:${QTBASE}:g' ${MAKEFILE}.old > ${MAKEFILE}
			rm -f ${MAKEFILE}.old
		done

		cp -r ${S}/examples ${D}/${QTBASE}

		cd ${S}/tutorial
		find . -name Makefile | while read MAKEFILE
		do
			cp ${MAKEFILE} ${MAKEFILE}.old
			sed -e 's:${S}:${QTBASE}:g' ${MAKEFILE}.old > ${MAKEFILE}
			rm -f ${MAKEFILE}.old
		done

		cp -r ${S}/tutorial ${D}/${QTBASE}
	fi

	# misc build reqs
	dodir ${QTBASE}/mkspecs
	cp -R ${S}/mkspecs/${PLATFORM} ${D}/${QTBASE}/mkspecs/

	sed -e "s:${S}:${QTBASE}:g" \
		${S}/.qmake.cache > ${D}${QTBASE}/.qmake.cache

	# plugins
	cd ${S}
	plugins=`find plugins -name "lib*.so" -print`
	for x in $plugins; do
		insinto ${QTBASE}/`dirname $x`
		doins $x
	done

	# needed to fix lib64 issues on amd64, see bug #45669
	use amd64 && ln -s ${QTBASE}/lib ${D}/${QTBASE}/lib64
}
-------------- next part --------------
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: $

DESCRIPTION="A qt plugin to allow uim input with qtimmodule"
SRC_URI="http://mover.cool.ne.jp/others/immodule/${P}.tar.gz"
HOMEPAGE="http://http://www.kde.gr.jp/~daisuke/immodule_for_qt/pukiwiki/"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="x86"

DEPEND="=x11-libs/qt-3*
        =app-i18n/uim"
S="${WORKDIR}/${PN}"

src_unpack(){
	unpack ${A}
	cd ${S}
	cp quiminputcontextplugin.pro quimcontextplugin.org
	sed -e 's:\/usr\/local:\/usr:g' quimcontextplugin.org > quimcontextplugin.pro
}

src_compile(){
	qmake || die
	emake CFLAGS="-DQT_NO_DEBUG -DQT_NO_DEBUG ${CFLAGS}" \
		CXXFLAGS="-DQT_NO_DEBUG -DQT_NO_DEBUG ${CXXFLAGS}" || die
}

src_install(){
    cp libquiminputcontextplugin.so ${QTDIR}/plugins/input
	ldconfig
}


More information about the uim mailing list