[dev-java/jogl] New ebuild, see bug 2585

This commit is contained in:
Danilo Pianini
2012-02-24 15:44:14 +01:00
parent 8553cf3bc0
commit 4f5925f7c8
4 changed files with 153 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
AUX 1.1.0/fix-solaris-compiler.patch 1507 RMD160 79cbb883a181b16f5e2e6c9534a22fb3b98da3a6 SHA1 182b44cd6e014f2c1471485968d9ba9baefd2674 SHA256 396ff2529e2b9d5781cdc3e40bbf8f2ac87aafa5e8f0fe2769484b698712e572
AUX 1.1.0/uncouple-gluegen.patch 1529 RMD160 e7165ed0efdb4637f43b6fb80480fd8afcac2190 SHA1 10e6670df21c0a7263fc3cb5ed67fbe01d0a050e SHA256 9f48ff447f7787703c011d99d0b29b6ae397e03936e72e00ab7989912f361f81
DIST jogl-1.1.1-src.zip 3638019 RMD160 d7689175fb18ec50bb5a76ce6020ceb029c00203 SHA1 40059f355ea9a022c06657f18d610e3141e28d07 SHA256 dbd34718f15e6f45deb2d96bc328c3d54aa2f3a2160a4593997506c837d859a0
EBUILD jogl-1.1.1.ebuild 1931 RMD160 6fd202bfc6550efe28a6b93e4ef1c00aeb118fc0 SHA1 c0c0a94840500f346e6a747cdcc33d62a8df15b2 SHA256 4364084b80ba053ac93b5d12135f06f7d1c3175684464c029dce24de3bf00bd7
@@ -0,0 +1,41 @@
diff -Naur gluegen.orig/make/gluegen-cpptasks.xml gluegen/make/gluegen-cpptasks.xml
--- gluegen.orig/make/gluegen-cpptasks.xml 2007-03-14 23:09:20.000000000 +1300
+++ gluegen/make/gluegen-cpptasks.xml 2007-03-14 23:09:40.000000000 +1300
@@ -397,16 +397,16 @@
<compilerarg value="-fPIC"/>
</compiler>
- <compiler id="compiler.cfg.solaris" name="suncc">
+ <compiler id="compiler.cfg.solaris" name="gcc">
</compiler>
- <compiler id="compiler.cfg.solaris.sparcv9" name="suncc">
+ <compiler id="compiler.cfg.solaris.sparcv9" name="gcc">
<compilerarg value="-fast" />
<compilerarg value="-xchip=ultra" />
<compilerarg value="-xarch=v9a" />
</compiler>
- <compiler id="compiler.cfg.solaris.amd64" name="suncc">
+ <compiler id="compiler.cfg.solaris.amd64" name="gcc">
<compilerarg value="-fast" />
<compilerarg value="-xchip=opteron" />
<compilerarg value="-xarch=amd64" />
@@ -492,14 +492,14 @@
<linker id="linker.cfg.linux.amd64" name="gcc">
</linker>
- <linker id="linker.cfg.solaris" name="suncc">
+ <linker id="linker.cfg.solaris" name="gcc">
</linker>
- <linker id="linker.cfg.solaris.sparcv9" name="suncc">
+ <linker id="linker.cfg.solaris.sparcv9" name="gcc">
<linkerarg value="-xarch=v9a" />
</linker>
- <linker id="linker.cfg.solaris.amd64" name="suncc">
+ <linker id="linker.cfg.solaris.amd64" name="gcc">
<linkerarg value="-xarch=amd64" />
</linker>
@@ -0,0 +1,32 @@
diff -Naur jogl.orig/make/build.xml jogl/make/build.xml
--- jogl.orig/make/build.xml 2007-02-13 17:45:16.000000000 +1300
+++ jogl/make/build.xml 2007-03-14 22:55:50.000000000 +1300
@@ -127,7 +127,18 @@
<property name="gluegen.build.xml" value="${gluegen.make.dir}/build.xml" />
<property name="gluegen.jar" value="../../gluegen/build/gluegen.jar" />
<property name="gluegen-rt.jar" value="../../gluegen/build/gluegen-rt.jar" />
-
+ <!-- This property is used to skip building gluegen if the jar files
+ - are already available on the system and have been overridden
+ - by the user. The purpose is to allow linux distro's to uncouple
+ - gluegen from jogl.
+ -->
+ <condition property="gluegen.prebuilt" >
+ <and>
+ <available file="${gluegen.jar}" />
+ <available file="${gluegen-rt.jar}" />
+ </and>
+ </condition>
+
<!-- Names of directories relative to the project root.
Some of these are used in FileMappers later for dependence information
and need exact string matching, which is why they use file.separator
@@ -479,7 +490,7 @@
<!--
- Build GlueGen
-->
- <target name="build.gluegen" depends="init">
+ <target name="build.gluegen" depends="init" unless="gluegen.prebuilt">
<!-- Run the GlueGen build to ensure that the GlueGen ANT task
- has been built. -->
<!-- FIXME: remove passing down of antlr.jar when gluegen.properties is on all
+76
View File
@@ -0,0 +1,76 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
WANT_ANT_TASKS="ant-antlr"
JAVA_PKG_IUSE="cg source doc"
EAPI="2"
inherit java-pkg-2 java-ant-2
DESCRIPTION="Java(TM) Binding fot the OpenGL(TM) API"
HOMEPAGE="https://jogl.dev.java.net"
SRC_URI="http://download.java.net/media/${PN}/builds/archive/jsr-231-1.1.1/${P}-src.zip"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
COMMON_DEPEND="dev-java/ant-core
>=dev-java/cpptasks-1.0_beta4-r2
=dev-java/gluegen-20080421
cg? ( media-gfx/nvidia-cg-toolkit )
virtual/opengl
x11-libs/libX11
x11-libs/libXxf86vm"
DEPEND=">=virtual/jdk-1.4
app-arch/unzip
${COMMON_DEPEND}"
RDEPEND=">=virtual/jre-1.4
${COMMON_DEPEND}"
IUSE=""
S="${WORKDIR}/${PN}"
java_prepare() {
epatch "${FILESDIR}/1.1.0/uncouple-gluegen.patch"
cd "${S}/make"
mv build.xml build.xml.bak
sed 's_/usr/X11R6_/usr_g' build.xml.bak > build.xml
sed -i -e 's/suncc/gcc/g' build.xml ../../gluegen/make/gluegen-cpptasks.xml
rm -R "${S}/build/gensrc/classes/javax"
cd "${WORKDIR}/gluegen/make/lib"
rm -v *.jar || die
java-pkg_jar-from cpptasks
}
src_compile() {
cd make/
local antflags="-Dgluegen.prebuild=true"
antflags="${antflags} -Dantlr.jar=$(java-pkg_getjars --build-only antlr)"
local gcp="$(java-pkg_getjars ant-core):$(java-config --tools)"
local gluegen="-Dgluegen.jar=$(java-pkg_getjar gluegen gluegen.jar)"
local gluegenrt="-Dgluegen-rt.jar=$(java-pkg_getjar gluegen gluegen-rt.jar)"
use cg && antflags="${antflags} -Djogl.cg=1 -Dx11.cg.lib=/usr/lib"
# -Dbuild.sysclasspath=ignore fails with missing ant dependencies.
export ANT_OPTS="-Xmx1g"
eant \
-Dgentoo.classpath="${gcp}" \
${antflags} "${gluegen}" "${gluegenrt}" \
all $(use_doc)
}
src_install() {
use source && java-pkg_dosrc src/classes/*
java-pkg_doso build/obj/*.so
java-pkg_dojar build/*.jar
use doc && java-pkg_dojavadoc javadoc_public
}