summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-java/qtjambi/ChangeLog17
-rw-r--r--dev-java/qtjambi/files/configuration-4.5.0_p1.patch107
-rw-r--r--dev-java/qtjambi/files/gcc4.4-4.5.0_p1.patch35
-rw-r--r--dev-java/qtjambi/files/generator-4.5.0_p1.patch29
-rw-r--r--dev-java/qtjambi/qtjambi-4.5.0_p1.ebuild164
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
+}