diff options
author | James Le Cuirot <chewi@gentoo.org> | 2015-10-18 21:47:37 +0100 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2015-12-06 23:05:57 +0000 |
commit | 6013671e355fae27228cc3627c21a7fe8a6bc63b (patch) | |
tree | 2f4bf96e34c837122ead267b7a0f95a8b472a21e /dev-java/gnu-classpath | |
parent | dev-util/checkstyle: EAPI bump, use split antlr-2 and guava-18 (diff) | |
download | gentoo-6013671e355fae27228cc3627c21a7fe8a6bc63b.tar.gz gentoo-6013671e355fae27228cc3627c21a7fe8a6bc63b.tar.bz2 gentoo-6013671e355fae27228cc3627c21a7fe8a6bc63b.zip |
dev-java/gnu-classpath: EAPI bump, dependency clean up, doc fixes
* Apply slot operators where appropriate.
* Use the new split anltr-2.
* Remove dependency on gjdoc as this will be last-rited.
* Avoid cyclic gjdoc dependency by building it before docs.
* Actually install the docs.
Package-Manager: portage-2.2.20.1
Diffstat (limited to 'dev-java/gnu-classpath')
-rw-r--r-- | dev-java/gnu-classpath/files/gnu-classpath-0.98-freetype-2.5.3-support.patch | 32 | ||||
-rw-r--r-- | dev-java/gnu-classpath/gnu-classpath-0.98-r4.ebuild | 136 |
2 files changed, 168 insertions, 0 deletions
diff --git a/dev-java/gnu-classpath/files/gnu-classpath-0.98-freetype-2.5.3-support.patch b/dev-java/gnu-classpath/files/gnu-classpath-0.98-freetype-2.5.3-support.patch new file mode 100644 index 000000000000..42828e2a4b8f --- /dev/null +++ b/dev-java/gnu-classpath/files/gnu-classpath-0.98-freetype-2.5.3-support.patch @@ -0,0 +1,32 @@ +--- ./native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c.orig 2014-03-18 10:35:50.904133661 +0100 ++++ ./native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c 2014-03-18 10:37:03.808131298 +0100 +@@ -42,8 +42,9 @@ + #include <pango/pango.h> + #include <pango/pangoft2.h> + #include <pango/pangofc-font.h> +-#include <freetype/ftglyph.h> +-#include <freetype/ftoutln.h> ++#include <ft2build.h> ++#include FT_GLYPH_H ++#include FT_OUTLINE_H + #include "jcl.h" + #include "gdkfont.h" + #include "gnu_java_awt_peer_gtk_FreetypeGlyphVector.h" +--- ./native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c.orig 2014-03-18 10:37:12.048131031 +0100 ++++ ./native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c 2014-03-18 10:37:58.416129528 +0100 +@@ -39,10 +39,11 @@ + #include <pango/pango.h> + #include <pango/pangoft2.h> + #include <pango/pangofc-font.h> +-#include <freetype/ftglyph.h> +-#include <freetype/ftoutln.h> +-#include <freetype/fttypes.h> +-#include <freetype/tttables.h> ++#include <ft2build.h> ++#include FT_GLYPH_H ++#include FT_OUTLINE_H ++#include FT_TYPES_H ++#include FT_TRUETYPE_TABLES_H + #include "gdkfont.h" + #include "gtkpeer.h" + #include "gnu_java_awt_peer_gtk_GdkFontPeer.h"
\ No newline at end of file diff --git a/dev-java/gnu-classpath/gnu-classpath-0.98-r4.ebuild b/dev-java/gnu-classpath/gnu-classpath-0.98-r4.ebuild new file mode 100644 index 000000000000..2dc9217d778f --- /dev/null +++ b/dev-java/gnu-classpath/gnu-classpath-0.98-r4.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils java-pkg-2 multilib + +MY_P=${P/gnu-/} +DESCRIPTION="Free core class libraries for use with virtual machines and compilers for the Java language" +SRC_URI="mirror://gnu/classpath/${MY_P}.tar.gz" +HOMEPAGE="https://www.gnu.org/software/classpath" + +LICENSE="GPL-2-with-linking-exception" +SLOT="0.98" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos" + +IUSE="alsa debug doc dssi examples gconf +gjdoc gmp gtk gstreamer qt4 xml" +REQUIRED_USE="doc? ( gjdoc )" + +RDEPEND="alsa? ( media-libs/alsa-lib ) + dssi? ( >=media-libs/dssi-0.9 ) + gconf? ( gnome-base/gconf:2= ) + gjdoc? ( >=dev-java/antlr-2.7.7-r7:0 ) + gmp? ( >=dev-libs/gmp-4.2.4:0= ) + gstreamer? ( + >=media-libs/gstreamer-0.10.10:0.10= + >=media-libs/gst-plugins-base-0.10.10:0.10= + x11-libs/gtk+:2= + ) + gtk? ( + >=x11-libs/gtk+-2.8:2= + dev-libs/glib:2= + media-libs/freetype:2= + >=x11-libs/cairo-1.1.9:= + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + x11-libs/pango + ) + qt4? ( dev-qt/qtgui:4= ) + xml? ( >=dev-libs/libxml2-2.6.8:2= >=dev-libs/libxslt-1.1.11 )" + +DEPEND="app-arch/zip + dev-java/eclipse-ecj + gtk? ( + x11-libs/libXrender + >=x11-libs/libXtst-1.1.0 + x11-proto/xproto + ) + >=virtual/jdk-1.5 + ${RDEPEND}" + +RDEPEND=">=virtual/jre-1.5 + ${RDEPEND}" + +S=${WORKDIR}/${MY_P} + +java_prepare() { + epatch "${FILESDIR}"/${P}-freetype-2.5.3-support.patch +} + +src_configure() { + # We require ecj anyway, so force it to avoid problems with bad versions of javac + export JAVAC="${EPREFIX}/usr/bin/ecj" + export JAVA="${EPREFIX}/usr/bin/java" + # build takes care of them itself, duplicate -source -target kills ecj + export JAVACFLAGS="-nowarn" + # build system is passing -J-Xmx768M which ecj however ignores + # this will make the ecj launcher do it (seen case where default was not enough heap) + export gjl_java_args="-Xmx768M" + + # don't use econf, because it ends up putting things under /usr, which may + # collide with other slots of classpath + local myconf + if use gjdoc; then + local antlr=$(java-pkg_getjar antlr antlr.jar) + myconf="--with-antlr-jar=${antlr}" + fi + + if use doc; then + # Avoid a cyclic dependency on gjdoc by building gjdoc before + # the docs. First we need to trick configure. Hack alert! + echo -e "#!/bin/sh\necho gjdoc 0.8" > tools/gjdoc.build || die + chmod 755 tools/gjdoc.build || die + fi + + ANTLR= ./configure \ + $(use_enable alsa) \ + $(use_enable debug ) \ + $(use_enable examples) \ + $(use_enable gconf gconf-peer) \ + $(use_enable gjdoc) \ + $(use_enable gmp) \ + $(use_enable gtk gtk-peer) \ + $(use_enable gstreamer gstreamer-peer) \ + $(use_enable qt4 qt-peer) \ + $(use_enable xml xmlj) \ + $(use_enable dssi ) \ + $(use_with doc gjdoc "${S}/tools/gjdoc.build") \ + --enable-jni \ + --disable-dependency-tracking \ + --disable-plugin \ + --host=${CHOST} \ + --prefix="${EPREFIX}"/usr/${PN}-${SLOT} \ + --with-ecj-jar=$(java-pkg_getjar --build-only eclipse-ecj-* ecj.jar) \ + --disable-Werror \ + ${myconf} || die "configure failed" +} + +src_compile() { + if use doc; then + # Build gjdoc before the docs. We need to hack the real gjdoc + # script to run from the build directory instead. + sed -r "s:^(tools_dir=).*:\1${S}/tools:" tools/gjdoc > tools/gjdoc.build || die + emake -C lib + emake -C tools + fi + + default +} + +src_install() { + emake DESTDIR="${D}" install + dodoc AUTHORS BUGS ChangeLog* HACKING NEWS README THANKYOU TODO + java-pkg_regjar /usr/${P}/share/classpath/glibj.zip + + if use doc; then + # Strangely the Makefile doesn't install these. + insinto "/usr/${PN}-${SLOT}/share/classpath/api" + doins -r doc/api/html/* + fi +} |