diff options
-rw-r--r-- | dev-java/qtjambi/ChangeLog | 17 | ||||
-rw-r--r-- | dev-java/qtjambi/files/configuration-4.5.0_p1.patch | 107 | ||||
-rw-r--r-- | dev-java/qtjambi/files/gcc4.4-4.5.0_p1.patch | 35 | ||||
-rw-r--r-- | dev-java/qtjambi/files/generator-4.5.0_p1.patch | 29 | ||||
-rw-r--r-- | dev-java/qtjambi/qtjambi-4.5.0_p1.ebuild | 164 |
5 files changed, 351 insertions, 1 deletions
diff --git a/dev-java/qtjambi/ChangeLog b/dev-java/qtjambi/ChangeLog index 9b5b04c10071..2be0ff4bbcc5 100644 --- a/dev-java/qtjambi/ChangeLog +++ b/dev-java/qtjambi/ChangeLog @@ -1,6 +1,21 @@ # ChangeLog for dev-java/qtjambi # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/qtjambi/ChangeLog,v 1.19 2009/03/07 14:32:47 betelgeuse Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/qtjambi/ChangeLog,v 1.20 2009/07/22 07:29:15 ali_bush Exp $ + + 19 Jul 2009; Dominik Kapusta <d@ayoy.net> qtjambi-4.5.0_p1.ebuild, + +files/gcc4.4-4.5.0_p1.patch, +metadata.xml: + Added patch allowing for compilation with gcc-4.4 (bug #278247) plus + restored + metadata.xml. + +*qtjambi-4.5.0_p1 (15 May 2009) + + 15 May 2009; Davide Pesavento <davidepesa@gmail.com> + +qtjambi-4.5.0_p1.ebuild, +files/configuration-4.5.0_p1.patch, + +files/generator-4.5.0_p1.patch, +metadata.xml: + Version bump (bug #260774). Greatly improved ebuild, mostly rewritten by + me. Also incorporated some nice additions by Kyle Cavin + <kyle.cavin@gmail.com>. 07 Mar 2009; Petteri Räty <betelgeuse@gentoo.org> -qtjambi-4.3.3_p1.ebuild: diff --git a/dev-java/qtjambi/files/configuration-4.5.0_p1.patch b/dev-java/qtjambi/files/configuration-4.5.0_p1.patch new file mode 100644 index 000000000000..134c4b683d74 --- /dev/null +++ b/dev-java/qtjambi/files/configuration-4.5.0_p1.patch @@ -0,0 +1,107 @@ +diff -Naur qtjambi-src-preview-4.5.0_01~orig/build.xml qtjambi-src-preview-4.5.0_01/build.xml +--- qtjambi-src-preview-4.5.0_01~orig/build.xml 2009-05-01 14:37:12.000000000 +0200 ++++ qtjambi-src-preview-4.5.0_01/build.xml 2009-05-01 14:40:17.000000000 +0200 +@@ -293,8 +293,7 @@ + </target> + + <target name="library.designer.bundle" +- depends="library.designer.compile" +- unless="qtjambi.library.cppfiles.uptodate"> ++ depends="library.designer.compile"> + <jar destfile="${outputDir}/qtjambi-designer-${qtjambi.version}.jar" + basedir="${outputDir}"> + <include name="com/trolltech/tools/designer/*"/> +@@ -593,7 +592,9 @@ + <target name="init" + depends="init.ant, init.taskdef" + description="Initializes the Qt Jambi build environment." > +- <qtjambi-initialize verbose="true" configuration="${qtjambi.config}" /> ++ <qtjambi-initialize verbose="true" configuration="${qtjambi.config}" ++ opengl="${gentoo.opengl}" phonon="${gentoo.phonon}" ++ webkit="${gentoo.webkit}" xmlpatterns="${gentoo.xmlpatterns}"/> + </target> + + <target name="generator" +diff -Naur qtjambi-src-preview-4.5.0_01~orig/com/trolltech/tools/ant/InitializeTask.java qtjambi-src-preview-4.5.0_01/com/trolltech/tools/ant/InitializeTask.java +--- qtjambi-src-preview-4.5.0_01~orig/com/trolltech/tools/ant/InitializeTask.java 2009-05-01 14:37:11.000000000 +0200 ++++ qtjambi-src-preview-4.5.0_01/com/trolltech/tools/ant/InitializeTask.java 2009-05-01 14:44:57.000000000 +0200 +@@ -105,6 +105,22 @@ + return configuration; + } + ++ public void setOpengl(String opengl) { ++ this.opengl = opengl; ++ } ++ ++ public void setPhonon(String phonon) { ++ this.phonon = phonon; ++ } ++ ++ public void setWebkit(String webkit) { ++ this.webkit = webkit; ++ } ++ ++ public void setXmlpatterns(String xmlpatterns) { ++ this.xmlpatterns = xmlpatterns; ++ } ++ + public void execute() throws BuildException { + props = PropertyHelper.getPropertyHelper(getProject()); + props.setNewProperty(null, OSNAME, decideOSName()); +@@ -301,7 +317,7 @@ + } + + private String decideLibSubDir() { +- libSubDir = OSInfo.os() == OSInfo.OS.Windows ? "bin" : "lib"; ++ libSubDir = ""; + if (verbose) System.out.println("qtjambi.libsubdir: " + libSubDir); + return libSubDir; + } +@@ -330,8 +346,6 @@ + StringBuilder path = new StringBuilder(); + path.append(props.getProperty(null, QTDIR)); + path.append("/"); +- path.append(props.getProperty(null, LIBSUBDIR)); +- path.append("/"); + path.append(LibraryEntry.formatQtName(name, debug, version)); + return new File(path.toString()).exists(); + } +@@ -353,25 +367,25 @@ + } + + private String decidePhonon() { +- String result = String.valueOf(doesQtLibExist("phonon", 4)); ++ String result = phonon; + if (verbose) System.out.println(PHONON + ": " + result); + return result; + } + + private String decideWebkit() { +- String result = String.valueOf(doesQtLibExist("QtWebKit", 4)); ++ String result = webkit; + if (verbose) System.out.println(WEBKIT + ": " + result); + return result; + } + + private String decideXMLPatterns() { +- String result = String.valueOf(doesQtLibExist("QtXmlPatterns", 4)); ++ String result = xmlpatterns; + if (verbose) System.out.println(XMLPATTERNS + ": " + result); + return result; + } + + private String decideOpenGL() { +- String result = String.valueOf(doesQtLibExist("QtOpenGL", 4)); ++ String result = opengl; + if (verbose) System.out.println(OPENGL + ": " + result); + return result; + } +@@ -385,4 +399,8 @@ + private String qmakespec; + private String qtdir; + private String libSubDir; ++ private String opengl; ++ private String phonon; ++ private String webkit; ++ private String xmlpatterns; + } diff --git a/dev-java/qtjambi/files/gcc4.4-4.5.0_p1.patch b/dev-java/qtjambi/files/gcc4.4-4.5.0_p1.patch new file mode 100644 index 000000000000..564ae718ac6e --- /dev/null +++ b/dev-java/qtjambi/files/gcc4.4-4.5.0_p1.patch @@ -0,0 +1,35 @@ +--- qtjambi-src-lgpl-4.5.0_01.orig/juic/javautils.cpp 2009-07-19 19:17:42.000000000 +0200 ++++ qtjambi-src-lgpl-4.5.0_01/juic/javautils.cpp 2009-07-19 19:10:17.000000000 +0200 +@@ -43,6 +43,8 @@ + #include "javautils.h" + #include <QtCore/QHash> + ++#include <cstdio> ++ + QString javaFixString(const QString &str) + { + const ushort *chars = str.utf16(); +--- qtjambi-src-lgpl-4.5.0_01.orig/generator/parser/rpp/pp-internal.h 2009-07-19 19:17:42.000000000 +0200 ++++ qtjambi-src-lgpl-4.5.0_01/generator/parser/rpp/pp-internal.h 2009-07-19 19:10:17.000000000 +0200 +@@ -46,6 +46,8 @@ + + #include <algorithm> + ++#include <cstdio> ++ + namespace rpp { + + namespace _PP_internal +--- qtjambi-src-lgpl-4.5.0_01.orig/qtjambi/qtjambitypemanager.cpp 2009-07-19 19:17:42.000000000 +0200 ++++ qtjambi-src-lgpl-4.5.0_01/qtjambi/qtjambitypemanager.cpp 2009-07-19 19:10:18.000000000 +0200 +@@ -637,8 +637,8 @@ + jvalue returned; + returned.l = 0; + +- char *methodName; +- char *signature; ++ const char *methodName; ++ const char *signature; + switch (typeId) { + case Integer: + methodName = "intValue"; diff --git a/dev-java/qtjambi/files/generator-4.5.0_p1.patch b/dev-java/qtjambi/files/generator-4.5.0_p1.patch new file mode 100644 index 000000000000..fd7a4a4c3de7 --- /dev/null +++ b/dev-java/qtjambi/files/generator-4.5.0_p1.patch @@ -0,0 +1,29 @@ +diff -Naur qtjambi-src-preview-4.5.0_01.orig/generator/main.h qtjambi-src-preview-4.5.0_01/generator/main.h +--- qtjambi-src-preview-4.5.0_01.orig/generator/main.h 2009-02-10 12:44:47.000000000 +0100 ++++ qtjambi-src-preview-4.5.0_01/generator/main.h 2009-02-25 22:57:37.000000000 +0100 +@@ -68,18 +68,13 @@ + includes += commandLineIncludes.split(path_splitter); + + // Include Qt +- QString qtdir = getenv ("QTDIR"); +- if (qtdir.isEmpty()) { +- qWarning("QTDIR environment variable not set. This may cause problems with finding the necessary include files."); +- } else { +- qtdir += "/include"; +- includes << (qtdir + "/QtXml"); +- includes << (qtdir + "/QtNetwork"); +- includes << (qtdir + "/QtCore"); +- includes << (qtdir + "/QtGui"); +- includes << (qtdir + "/QtOpenGL"); +- includes << qtdir; +- } ++ QString qtdir = "/usr/include/qt4"; ++ includes << (qtdir + "/QtXml"); ++ includes << (qtdir + "/QtNetwork"); ++ includes << (qtdir + "/QtCore"); ++ includes << (qtdir + "/QtGui"); ++ includes << (qtdir + "/QtOpenGL"); ++ includes << qtdir; + + foreach (QString include, includes) + preprocess.push_include_path(QDir::convertSeparators(include).toStdString()); diff --git a/dev-java/qtjambi/qtjambi-4.5.0_p1.ebuild b/dev-java/qtjambi/qtjambi-4.5.0_p1.ebuild new file mode 100644 index 000000000000..eefde0023385 --- /dev/null +++ b/dev-java/qtjambi/qtjambi-4.5.0_p1.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/qtjambi/qtjambi-4.5.0_p1.ebuild,v 1.1 2009/07/22 07:29:15 ali_bush Exp $ + +EAPI="2" + +JAVA_PKG_IUSE="doc source" +WANT_ANT_TASKS="ant-trax" + +inherit eutils qt4 java-pkg-2 java-ant-2 toolchain-funcs + +QTVER="${PV%%_p*}" +MY_PV="${PV/p/0}" +MY_P="${PN}-src-lgpl-${MY_PV}" + +DESCRIPTION="QtJambi is a set of Java bindings and utilities for the Qt C++ toolkit." +HOMEPAGE="http://www.qtsoftware.com/" +SRC_URI="http://get.qtsoftware.com/${PN}/source/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="4" +KEYWORDS="~amd64 ~x86" +IUSE="debug examples opengl phonon webkit xmlpatterns" + +COMMON_DEPS=">=x11-libs/qt-gui-${QTVER}:${SLOT} + >=x11-libs/qt-sql-${QTVER}:${SLOT} + >=x11-libs/qt-svg-${QTVER}:${SLOT} + opengl? ( >=x11-libs/qt-opengl-${QTVER}:${SLOT} ) + phonon? ( >=x11-libs/qt-phonon-${QTVER}:${SLOT} ) + webkit? ( >=x11-libs/qt-webkit-${QTVER}:${SLOT} ) + xmlpatterns? ( >=x11-libs/qt-xmlpatterns-${QTVER}:${SLOT} )" + +DEPEND="${COMMON_DEPS} + >=virtual/jdk-1.6" + +RDEPEND="${COMMON_DEPS} + >=virtual/jre-1.6" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + epatch "${FILESDIR}/generator-${PV}.patch" + epatch "${FILESDIR}/configuration-${PV}.patch" + + if [[ $(gcc-version) == "4.4" ]] ; then + epatch "${FILESDIR}/gcc4.4-${PV}.patch" + fi + + # Respect MAKEOPTS + sed -i -e "/String arguments =/s|=.*|=\" ${MAKEOPTS}\";|" \ + com/trolltech/tools/ant/MakeTask.java || die + + java-ant_rewrite-classpath +} + +qtjambi_use() { + echo "-Dgentoo.${2:-$1}=$(use $1 && echo true || echo false)" +} + +qt_config_use() { + echo "QT_CONFIG$(use $1 && echo '+' || echo '-')=$1" +} + +src_compile() { + local myconf="-Dqtjambi.config=$(use debug && echo debug || echo release) + -Dlibrary.designer=true + $(qtjambi_use opengl) + $(qtjambi_use phonon) + $(qtjambi_use webkit) + $(qtjambi_use xmlpatterns)" + export QTDIR="/usr/$(get_libdir)/qt4" + + einfo "Initializing Qt Jambi build environment" + eant -Dgentoo.classpath="$(java-pkg_getjar --build-only ant-core ant.jar)" \ + ${myconf} init + + einfo "Merging XML files used by the Qt Jambi generator" + eant ${myconf} generator.xmlmerge + + # Use eqmake4 instead of generator.qmake ant target + eqmake4 generator/generator.pro -o generator/Makefile + + einfo "Building and running the generator" + eant ${myconf} generator.run # implies generator.compile + + # Use eqmake4 instead of library.native.qmake ant target + eqmake4 java.pro -recursive \ + $(qt_config_use opengl) \ + $(qt_config_use phonon) \ + $(qt_config_use webkit) \ + $(qt_config_use xmlpatterns) + + einfo "Building the native library" + eant ${myconf} library.native.compile + + einfo "Building the Java library" + eant ${myconf} library.java + + einfo "Building the Designer library" + eant ${myconf} library.designer + + if use examples; then + einfo "Building examples" + eant ${myconf} examples + fi + + # Build API documentation + if use doc; then + einfo "Generating Javadoc" + javadoc -J-Xmx256m -d javadoc -subpackages com || die + fi + + # Generate start script for jambi-designer + cat > bin/jambi-designer <<-EOF + #!/bin/sh + export LD_LIBRARY_PATH="/usr/$(get_libdir)/qt4:/usr/$(get_libdir)/${PN}-${SLOT}:\${LD_LIBRARY_PATH}" + export CLASSPATH="/usr/share/${PN}-${SLOT}/lib/${PN}.jar:/usr/share/${PN}-${SLOT}/lib/${PN}-designer.jar:\${CLASSPATH}" + export QT_PLUGIN_PATH="/usr/$(get_libdir)/qt4/plugins" + exec /usr/bin/designer "\$@" + EOF +} + +src_install() { + dobin "${S}"/bin/* || die + newbin "${S}"/generator/generator jambi-generator || die + + einfo "Installing jars" + java-pkg_newjar qtjambi-${MY_PV}.jar + java-pkg_newjar qtjambi-designer-${MY_PV}.jar ${PN}-designer.jar + java-pkg_dojar ant-qtjambi.jar + + einfo "Installing native libraries" + # `java-pkg_doso "${S}"/lib/*` does not work (bug #251500) + java-pkg_doso "${S}"/lib/*.so.1.0.0 "${S}"/lib/*.so.1.0 "${S}"/lib/*.so.1 "${S}"/lib/*.so + + einfo "Installing designer plugins" + exeinto /usr/$(get_libdir)/qt4/plugins/${PN} + doexe plugins/designer/*.so || die + # Designer needs these libraries in both directories + dosym /usr/$(get_libdir)/qt4/plugins/${PN}/libJambiCustomWidget.so \ + /usr/$(get_libdir)/qt4/plugins/designer/libJambiCustomWidget.so + dosym /usr/$(get_libdir)/qt4/plugins/${PN}/libJambiLanguage.so \ + /usr/$(get_libdir)/qt4/plugins/designer/libJambiLanguage.so + + if use doc; then + einfo "Installing documentation" + dohtml "${S}"/readme.html + java-pkg_dojavadoc "${S}"/javadoc + fi + + if use examples; then + einfo "Installing examples" + + # Get rid of class files before installing + find "${S}"/com/trolltech/examples -name '*.class' -delete || die + + java-pkg_newjar qtjambi-examples-${MY_PV}.jar ${PN}-examples.jar + java-pkg_doexamples "${S}"/com/trolltech/examples + java-pkg_dolauncher jambi-examples --main com.trolltech.launcher.Launcher \ + --java_args "-Djava.library.path=/usr/$(get_libdir)/qt4:/usr/$(get_libdir)/${PN}-${SLOT}" + fi + + use source && java-pkg_dosrc "${S}"/com +} |