aboutsummaryrefslogtreecommitdiff
path: root/graphics/jogl
diff options
context:
space:
mode:
authorEdwin Groothuis <edwin@FreeBSD.org>2008-06-11 13:08:32 +0000
committerEdwin Groothuis <edwin@FreeBSD.org>2008-06-11 13:08:32 +0000
commit9d90cf369d76dabea61dd9e316421a2491ac7e7d (patch)
tree3aabb3facda00461f151b9a800a962b8c9c299b7 /graphics/jogl
parent290c805953113468901dccde13deabcda5c6ea5f (diff)
downloadports-9d90cf369d76dabea61dd9e316421a2491ac7e7d.tar.gz
ports-9d90cf369d76dabea61dd9e316421a2491ac7e7d.zip
Notes
Diffstat (limited to 'graphics/jogl')
-rw-r--r--graphics/jogl/Makefile76
-rw-r--r--graphics/jogl/distinfo3
-rw-r--r--graphics/jogl/files/patch-gluegen_make_build.xml22
-rw-r--r--graphics/jogl/files/patch-gluegen_make_gluegen-cpptasks.xml96
-rw-r--r--graphics/jogl/files/patch-gluegen_src_java_com_sun_gluegen_StructLayout.java10
-rw-r--r--graphics/jogl/files/patch-gluegen_src_java_com_sun_gluegen_runtime_CPU.java10
-rw-r--r--graphics/jogl/files/patch-jogl_make_build.xml211
-rw-r--r--graphics/jogl/pkg-descr9
-rw-r--r--graphics/jogl/pkg-plist107
9 files changed, 544 insertions, 0 deletions
diff --git a/graphics/jogl/Makefile b/graphics/jogl/Makefile
new file mode 100644
index 000000000000..04a0bb440f1a
--- /dev/null
+++ b/graphics/jogl/Makefile
@@ -0,0 +1,76 @@
+# New ports collection makefile for: jogl
+# Date created: 5 December 1994
+# Whom: Peter Jeremy <peterjeremy@optushome.com.au>
+#
+# $FreeBSD$
+#
+
+PORTNAME= jogl
+PORTVERSION= 1.1.1
+CATEGORIES= graphics devel java
+MASTER_SITES=http://download.java.net/media/jogl/builds/archive/jsr-231-1.1.1/
+EXTRACT_SUFX= -src.zip
+
+MAINTAINER= peterjeremy@optushome.com.au
+COMMENT= Java bindings for OpenGL
+
+LIB_DEPENDS= GL.1:${PORTSDIR}/graphics/libGL \
+ X11.6:${PORTSDIR}/x11/libX11 \
+ Xau.6:${PORTSDIR}/x11/libXau \
+ Xdamage.1:${PORTSDIR}/x11/libXdamage \
+ Xdmcp.6:${PORTSDIR}/x11/libXdmcp \
+ Xext.6:${PORTSDIR}/x11/libXext \
+ Xfixes.3:${PORTSDIR}/x11/libXfixes \
+ Xxf86vm.1:${PORTSDIR}/x11/libXxf86vm \
+ drm.2:${PORTSDIR}/graphics/libdrm
+BUILD_DEPENDS= java:${PORTSDIR}/java/javavmwrapper \
+ ${JAVALIBDIR}/antlr.jar:${PORTSDIR}/devel/antlr
+RUN_DEPENDS= java:${PORTSDIR}/java/javavmwrapper
+
+NO_WRKSUBDIR= yes
+
+DATADIR= ${JAVASHAREDIR}/${PORTNAME}
+
+ALL_TARGET= all
+.if !defined(NOPORTDOCS)
+ALL_TARGET+= javadoc
+.endif
+
+# Java currently only supports i386 and amd64. Supporting additional
+# architectures will need patches to at least
+# gluegen/src/java/com/sun/gluegen/StructLayout.java
+# gluegen/src/java/com/sun/gluegen/runtime/CPU.java
+# gluegen/make/gluegen-cpptasks.xml
+# jogl/make/build.xml
+ONLY_FOR_ARCHS= i386 amd64
+
+USE_ZIP= yes
+USE_ANT= yes
+USE_LDCONFIG= yes
+USE_JAVA= yes
+JAVA_VERSION= 1.4+
+
+BUILD_WRKSRC= ${WRKSRC}/jogl/make
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%JAVALIBDIR%%|${JAVALIBDIR}|g' \
+ ${WRKSRC}/gluegen/make/build.xml
+ @${REINPLACE_CMD} -e 's|%%JAVALIBDIR%%|${JAVALIBDIR}|g' \
+ -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${WRKSRC}/jogl/make/build.xml
+
+do-install:
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/jogl/doc/userguide/index.html \
+ ${DATADIR}/UserGuide.html
+ cd ${BUILD_WRKSRC}/../javadoc_public && \
+ ${FIND} . -print | ${CPIO} -pdm ${DATADIR}
+.endif
+ ${INSTALL_DATA} ${WRKSRC}/gluegen/build/obj/libgluegen-rt.so \
+ ${WRKSRC}/jogl/build/obj/libjogl.so \
+ ${WRKSRC}/jogl/build/obj/libjogl_awt.so ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKSRC}/gluegen/build/gluegen-rt.jar \
+ ${WRKSRC}/jogl/build/jogl.jar ${JAVAJARDIR}
+
+.include <bsd.port.mk>
diff --git a/graphics/jogl/distinfo b/graphics/jogl/distinfo
new file mode 100644
index 000000000000..4ceb95d72b4a
--- /dev/null
+++ b/graphics/jogl/distinfo
@@ -0,0 +1,3 @@
+MD5 (jogl-1.1.1-src.zip) = 2f5a12e82c1cd93054dce9fd6556dc02
+SHA256 (jogl-1.1.1-src.zip) = dbd34718f15e6f45deb2d96bc328c3d54aa2f3a2160a4593997506c837d859a0
+SIZE (jogl-1.1.1-src.zip) = 3638019
diff --git a/graphics/jogl/files/patch-gluegen_make_build.xml b/graphics/jogl/files/patch-gluegen_make_build.xml
new file mode 100644
index 000000000000..8806ec072b7d
--- /dev/null
+++ b/graphics/jogl/files/patch-gluegen_make_build.xml
@@ -0,0 +1,22 @@
+--- gluegen/make/build.xml.orig 2008-05-14 18:54:48.000000000 +1000
++++ gluegen/make/build.xml 2008-06-09 10:41:50.000000000 +1000
+@@ -11,8 +11,8 @@
+ -->
+ <project name="GlueGen" basedir="." default="all">
+ <!-- On jpackage.org-compatible systems, antlr.jar can be found in /usr/share/java -->
+- <available property="antlr.jar" file="/usr/share/java/antlr.jar"
+- value="/usr/share/java/antlr.jar"/>
++ <available property="antlr.jar" file="%%JAVALIBDIR%%/antlr.jar"
++ value="%%JAVALIBDIR%%/antlr.jar"/>
+
+ <target name="load.user.properties" unless="user.properties.file">
+ <!-- Load the user specified properties file that defines various host
+@@ -281,7 +281,7 @@
+ <property name="compiler.cfg.id" value="compiler.cfg.freebsd" />
+ <property name="linker.cfg.id" value="linker.cfg.linux" />
+ <property name="c.src.dir" value="unix" />
+- <property name="java.includes.dir.freebsd" value="${java.includes.dir}/freebsd" />
++ <property name="java.includes.dir.platform" value="${java.includes.dir}/freebsd" />
+ </target>
+
+ <target name="declare.hpux" if="isHPUX">
diff --git a/graphics/jogl/files/patch-gluegen_make_gluegen-cpptasks.xml b/graphics/jogl/files/patch-gluegen_make_gluegen-cpptasks.xml
new file mode 100644
index 000000000000..ebffda8c02d9
--- /dev/null
+++ b/graphics/jogl/files/patch-gluegen_make_gluegen-cpptasks.xml
@@ -0,0 +1,96 @@
+--- gluegen/make/gluegen-cpptasks.xml.orig 2008-02-08 20:47:30.000000000 +1100
++++ gluegen/make/gluegen-cpptasks.xml 2008-05-27 22:25:42.000000000 +1000
+@@ -30,6 +30,8 @@
+ - configuration is exactly as specified.
+ -
+ - isFreeBSD
++ - isFreeBSDamd64
++ - isFreeBSDx86
+ - isHPUX
+ - isIA64
+ - isLinux
+@@ -88,6 +90,7 @@
+ - compiler.cfg.win32.msvc
+ - compiler.cfg.macosx
+ - compiler.cfg.freebsd
++ - compiler.cfg.freebsd.amd64
+ - compiler.cfg.hpux
+ - linker.cfg.linux
+ - linker.cfg.linux.amd64
+@@ -158,6 +161,25 @@
+ <condition property="isFreeBSD">
+ <os name="FreeBSD" />
+ </condition>
++ <condition property="isFreeBSDamd64">
++ <and>
++ <istrue value="${isFreeBSD}" />
++ <or>
++ <os arch="AMD64" />
++ <os arch="amd64" />
++ <os arch="x86_64" />
++ </or>
++ </and>
++ </condition>
++ <condition property="isFreeBSDx86">
++ <and>
++ <istrue value="${isFreeBSD}" />
++ <or>
++ <os arch="i386" />
++ <os arch="x86" />
++ </or>
++ </and>
++ </condition>
+ <condition property="isHPUX">
+ <os name="HP-UX" />
+ </condition>
+@@ -235,6 +257,8 @@
+ </condition>
+
+ <echo message="FreeBSD=${isFreeBSD}" />
++ <echo message="FreeBSDamd64=${isFreeBSDamd64}" />
++ <echo message="FreeBSDx86=${isFreeBSDx86}" />
+ <echo message="HPUX=${isHPUX}" />
+ <echo message="IA64=${isIA64}" />
+ <echo message="Linux=${isLinux}" />
+@@ -253,10 +277,16 @@
+ <echo message="X11=${isX11}" />
+ </target>
+
+- <target name="gluegen.cpptasks.detect.os.freebsd" unless="gluegen.cpptasks.detected.os" if="isFreeBSD">
++ <target name="gluegen.cpptasks.detect.os.freebsd.x86" unless="gluegen.cpptasks.detected.os" if="isFreeBSDx86">
+ <property name="os.and.arch" value="freebsd-i586" />
+ </target>
+
++ <target name="gluegen.cpptasks.detect.os.freebsd.amd64" unless="gluegen.cpptasks.detected.os" if="isFreeBSDamd64">
++ <property name="os.and.arch" value="freebsd-amd64" />
++ </target>
++
++ <target name="gluegen.cpptasks.detect.os.freebsd" depends="gluegen.cpptasks.detect.os.freebsd.amd64,gluegen.cpptasks.detect.os.freebsd.x86" unless="gluegen.cpptasks.detected.os" />
++
+ <target name="gluegen.cpptasks.detect.os.hpux" unless="gluegen.cpptasks.detected.os" if="isHPUX">
+ <property name="os.and.arch" value="hpux-hppa" />
+ </target>
+@@ -466,6 +496,10 @@
+
+ <compiler id="compiler.cfg.freebsd" name="gcc">
+ </compiler>
++ <compiler id="compiler.cfg.freebsd.amd64" name="gcc">
++ <compilerarg value="-fPIC"/>
++ </compiler>
++
+
+ <compiler id="compiler.cfg.hpux" name="aCC">
+ <!-- Interpret source as ANSI C89 (not C++) -->
+@@ -496,6 +530,12 @@
+ <linker id="linker.cfg.linux.amd64" name="gcc">
+ </linker>
+
++ <linker id="linker.cfg.freebsd" name="gcc">
++ </linker>
++
++ <linker id="linker.cfg.freebsd.amd64" name="gcc">
++ </linker>
++
+ <linker id="linker.cfg.solaris" name="suncc">
+ </linker>
+
diff --git a/graphics/jogl/files/patch-gluegen_src_java_com_sun_gluegen_StructLayout.java b/graphics/jogl/files/patch-gluegen_src_java_com_sun_gluegen_StructLayout.java
new file mode 100644
index 000000000000..97c8bdab6216
--- /dev/null
+++ b/graphics/jogl/files/patch-gluegen_src_java_com_sun_gluegen_StructLayout.java
@@ -0,0 +1,10 @@
+--- gluegen/src/java/com/sun/gluegen/StructLayout.java.orig 2008-02-23 06:46:44.000000000 +1100
++++ gluegen/src/java/com/sun/gluegen/StructLayout.java 2008-06-09 08:40:19.000000000 +1000
+@@ -140,6 +140,7 @@
+ (os.startsWith("mac os") && cpu.equals("i386")) ||
+ (os.startsWith("mac os") && cpu.equals("x86_64")) ||
+ (os.startsWith("freebsd") && cpu.equals("i386")) ||
++ (os.startsWith("freebsd") && cpu.equals("amd64")) ||
+ (os.startsWith("hp-ux") && cpu.equals("pa_risc2.0"))
+ ) {
+ // FIXME: make struct alignment configurable? May need to change
diff --git a/graphics/jogl/files/patch-gluegen_src_java_com_sun_gluegen_runtime_CPU.java b/graphics/jogl/files/patch-gluegen_src_java_com_sun_gluegen_runtime_CPU.java
new file mode 100644
index 000000000000..55104f1bcf89
--- /dev/null
+++ b/graphics/jogl/files/patch-gluegen_src_java_com_sun_gluegen_runtime_CPU.java
@@ -0,0 +1,10 @@
+--- gluegen/src/java/com/sun/gluegen/runtime/CPU.java.orig 2008-02-23 06:46:44.000000000 +1100
++++ gluegen/src/java/com/sun/gluegen/runtime/CPU.java 2008-06-09 18:38:20.000000000 +1000
+@@ -64,6 +64,7 @@
+ (os.startsWith("hp-ux") && cpu.equals("pa_risc2.0"))) {
+ is32Bit = true;
+ } else if ((os.startsWith("windows") && cpu.equals("amd64")) ||
++ (os.startsWith("freebsd") && cpu.equals("amd64")) ||
+ (os.startsWith("linux") && cpu.equals("amd64")) ||
+ (os.startsWith("linux") && cpu.equals("x86_64")) ||
+ (os.startsWith("linux") && cpu.equals("ia64")) ||
diff --git a/graphics/jogl/files/patch-jogl_make_build.xml b/graphics/jogl/files/patch-jogl_make_build.xml
new file mode 100644
index 000000000000..a7d650472bf9
--- /dev/null
+++ b/graphics/jogl/files/patch-jogl_make_build.xml
@@ -0,0 +1,211 @@
+--- jogl/make/build.xml.orig 2008-04-29 17:18:50.000000000 +1000
++++ jogl/make/build.xml 2008-06-09 10:49:28.000000000 +1000
+@@ -82,8 +82,8 @@
+ </target>
+
+ <!-- On jpackage.org-compatible systems, antlr.jar can be found in /usr/share/java -->
+- <available property="antlr.jar" file="/usr/share/java/antlr.jar"
+- value="/usr/share/java/antlr.jar"/>
++ <available property="antlr.jar" file="%%JAVALIBDIR%%/antlr.jar"
++ value="%%JAVALIBDIR%%/antlr.jar"/>
+
+ <!-- ================================================================== -->
+ <!--
+@@ -213,6 +213,9 @@
+ <property name="java.lib.dir.linux" value="${java.home.dir}/jre/lib/i386" />
+ <property name="java.lib.dir.linux.amd64" value="${java.home.dir}/jre/lib/amd64" />
+ <property name="java.lib.dir.linux.ia64" value="${java.home.dir}/jre/lib/ia64" />
++ <property name="java.lib.dir.freebsd.x86" value="${java.home.dir}/jre/lib/i386" />
++ <property name="java.lib.dir.freebsd.amd64" value="${java.home.dir}/jre/lib/amd64" />
++ <property name="java.lib.dir.freebsd.ia64" value="${java.home.dir}/jre/lib/ia64" />
+ <property name="java.lib.dir.hpux" value="${java.home.dir}/jre/lib/PA_RISC2.0" />
+ <condition property="cpu" value="sparc">
+ <os name="SunOS" arch="sparc" />
+@@ -437,15 +440,26 @@
+ <property name="linker.cfg.id.core" value="linker.cfg.macosx.jogl" />
+ </target>
+
+- <target name="declare.freebsd" depends="declare.x11" if="isFreeBSD">
+- <echo message="FreeBSD" />
+- <property name="java.includes.dir.platform" value="${java.includes.dir.freebsd}" />
+- <property name="java.lib.dir.platform" value="${java.lib.dir.linux}" />
++ <target name="declare.freebsd.x86" depends="declare.x11" if="isFreeBSDx86">
++ <echo message="FreeBSD.x86" />
++ <property name="java.includes.dir.platform" value="${java.includes.dir}/freebsd" />
++ <property name="java.lib.dir.platform" value="${java.lib.dir.freebsd.x86}" />
+
+- <property name="compiler.cfg.id" value="compiler.cfg.freebsd.jogl" />
+- <property name="linker.cfg.id.core" value="linker.cfg.linux.jogl" />
++ <property name="compiler.cfg.id" value="compiler.cfg.freebsd.jogl" />
++ <property name="linker.cfg.id.core" value="linker.cfg.freebsd.jogl" />
+ </target>
+
++ <target name="declare.freebsd.amd64" depends="declare.x11" if="isFreeBSDamd64">
++ <echo message="FreeBSD.amd64*" />
++ <property name="java.includes.dir.platform" value="${java.includes.dir}/freebsd" />
++ <property name="java.lib.dir.platform" value="${java.lib.dir.freebsd.amd64}" />
++
++ <property name="compiler.cfg.id" value="compiler.cfg.freebsd.amd64" />
++ <property name="linker.cfg.id.core" value="linker.cfg.freebsd.amd64.jogl" />
++ </target>
++
++ <target name="declare.freebsd" depends="declare.freebsd.x86,declare.freebsd.amd64,declare.x11" if="isFreeBSD" />
++
+ <target name="declare.hpux" depends="declare.x11" if="isHPUX">
+ <echo message="HP-UX" />
+ <property name="java.includes.dir.platform" value="${java.includes.dir.hpux}" />
+@@ -727,7 +741,7 @@
+ <compiler id="compiler.cfg.freebsd.jogl" extends="compiler.cfg.freebsd">
+ <!-- Need to force X11R6 headers on to include path after stub_includes -->
+ <includepath path="stub_includes/opengl"/>
+- <includepath path="/usr/X11R6/include" />
++ <includepath path="%%LOCALBASE%%/include" />
+ </compiler>
+
+ <!-- linker configuration -->
+@@ -744,6 +758,18 @@
+ <syslibset dir="${x11.cg.lib}" libs="Cg, CgGL" if="c.compiler.use-cglib"/>
+ </linker>
+
++ <linker id="linker.cfg.freebsd.jogl" extends="linker.cfg.freebsd">
++ <syslibset dir="%%LOCALBASE%%/lib" libs="GL, X11"/>
++ <syslibset dir="%%LOCALBASE%%/lib" libs="Xxf86vm" />
++ <syslibset dir="${x11.cg.lib}" libs="Cg, CgGL" if="c.compiler.use-cglib"/>
++ </linker>
++
++ <linker id="linker.cfg.freebsd.amd64.jogl" name="gcc">
++ <syslibset dir="%%LOCALBASE%%/lib" libs="GL, X11"/>
++ <syslibset dir="%%LOCALBASE%%/lib" libs="Xxf86vm" />
++ <syslibset dir="${x11.cg.lib}" libs="Cg, CgGL" if="c.compiler.use-cglib"/>
++ </linker>
++
+ <linker id="linker.cfg.solaris.jogl" extends="linker.cfg.solaris">
+ <syslibset libs="GL, X11"/>
+ <syslibset dir="${x11.cg.lib}" libs="Cg, CgGL" if="c.compiler.use-cglib"/>
+@@ -855,6 +881,7 @@
+ <includepath path="stub_includes/cg" if="c.compiler.use-cglib"/>
+ <!-- This must come last to not override real include paths -->
+ <!-- includepath path="stub_includes/macosx" if="isOSX" / -->
++ <sysincludepath path="%%LOCALBASE%%/include" if="isFreeBSD"/>
+ </compiler>
+
+ <linker extends="${linker.cfg.id}">
+@@ -1210,6 +1237,60 @@
+ </fail>
+ </target>
+
++ <target name="dist.check.freebsd-x86" if="jogl.dist.dir">
++ <condition property="freebsd-x86.complete">
++ <and>
++ <available file="${jogl.dist.dir}/jogl-freebsd/jogl.jar" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/libjogl.so" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/libjogl_awt.so" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/libjogl_cg.so" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/libgluegen-rt.so" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/gluegen-rt-natives-freebsd-i586.jar" />
++ <!-- Assume we also copy over these generated files in the FreeBSD build -->
++ <!-- in order to satisfy requests from end users that we provide these -->
++ <!-- files for easier source browsing in IDEs -->
++ <available file="${jogl.dist.dir}/jogl-freebsd/DebugGL.java" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/TraceGL.java" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/GL.java" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/GLU.java" />
++ </and>
++ </condition>
++ <fail unless="freebsd-x86.complete">
++ ********************************************************************
++ ** Files are missing from the FreeBSD/i386 build. This will cause **
++ ** the distribution to be incomplete. Please check the status of **
++ ** the FreeBSD/i386 build and try again. **
++ ********************************************************************
++ </fail>
++ </target>
++
++ <target name="dist.check.freebsd-amd64" if="jogl.dist.dir">
++ <condition property="freebsd-amd64.complete">
++ <and>
++ <available file="${jogl.dist.dir}/jogl-freebsd/jogl.jar" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/libjogl.so" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/libjogl_awt.so" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/libjogl_cg.so" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/libgluegen-rt.so" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/gluegen-rt-natives-freebsd-amd64.jar" />
++ <!-- Assume we also copy over these generated files in the FreeBSD build -->
++ <!-- in order to satisfy requests from end users that we provide these -->
++ <!-- files for easier source browsing in IDEs -->
++ <available file="${jogl.dist.dir}/jogl-freebsd/DebugGL.java" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/TraceGL.java" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/GL.java" />
++ <available file="${jogl.dist.dir}/jogl-freebsd/GLU.java" />
++ </and>
++ </condition>
++ <fail unless="freebsd-amd64.complete">
++ ********************************************************************
++ ** Files are missing from the FreeBSD/amd64 build. This will cause **
++ ** the distribution to be incomplete. Please check the status of **
++ ** the FreeBSD/amd64 build and try again. **
++ ********************************************************************
++ </fail>
++ </target>
++
+ <target name="dist.check.macosx" if="jogl.dist.dir">
+ <condition property="macosx.complete">
+ <and>
+@@ -1373,7 +1454,7 @@
+ <property name="tmp.version" value="${base_version}-pre-${timestamp}" />
+ </target>
+
+- <target name="dist" depends="dist.dir.check,dist.check.windows,dist.check.windows-amd64,dist.check.linux,dist.check.linux-amd64,dist.check.macosx,dist.check.macosxfat,dist.check.solsparc,dist.check.solsparcv9,dist.check.solx86,dist.check.solamd64,setup-version-RI,setup-version-non-RI">
++ <target name="dist" depends="dist.dir.check,dist.check.windows,dist.check.windows-amd64,dist.check.linux,dist.check.linux-amd64,dist.check.freebsd-x86,dist.check.freebsd-amd64,dist.check.macosx,dist.check.macosxfat,dist.check.solsparc,dist.check.solsparcv9,dist.check.solx86,dist.check.solamd64,setup-version-RI,setup-version-non-RI">
+ <delete>
+ <fileset dir="${jogl.dist.dir}" includes="*.jar" />
+ </delete>
+@@ -1391,7 +1472,7 @@
+ <!-- Build jar files suitable for Java Web Start -->
+ <jar manifest="${jogl.dist.dir}/META-INF/MANIFEST.MF" destfile="${jogl.dist.dir}/jogl.jar" duplicate="preserve">
+ <zipgroupfileset dir="${jogl.dist.dir}"
+- includes="jogl-win/jogl.jar, jogl-linux/jogl.jar, jogl-macosx/jogl.jar" />
++ includes="jogl-win/jogl.jar, jogl-linux/jogl.jar, jogl-freebsd/jogl.jar, jogl-macosx/jogl.jar" />
+ </jar>
+ <!-- Apply Pack200 repacking to allow later compression by that mechanism -->
+ <apply executable="pack200" verbose="true" >
+@@ -1410,6 +1491,12 @@
+ <jar destfile="${jogl.dist.dir}/jogl-natives-linux-amd64.jar"
+ basedir="${jogl.dist.dir}/jogl-linux/64"
+ includes="libjogl.so,libjogl_awt.so,libjogl_cg.so" />
++ <jar destfile="${jogl.dist.dir}/jogl-natives-freebsd-i586.jar"
++ basedir="${jogl.dist.dir}/jogl-freebsd"
++ includes="libjogl.so,libjogl_awt.so,libjogl_cg.so" />
++ <jar destfile="${jogl.dist.dir}/jogl-natives-freebsd-amd64.jar"
++ basedir="${jogl.dist.dir}/jogl-freebsd"
++ includes="libjogl.so,libjogl_awt.so,libjogl_cg.so" />
+ <jar destfile="${jogl.dist.dir}/jogl-natives-macosx-ppc.jar"
+ basedir="${jogl.dist.dir}/jogl-macosx/ppc"
+ includes="libjogl.jnilib,libjogl_awt.jnilib,libjogl_cg.jnilib" />
+@@ -1444,6 +1531,9 @@
+ <fileset dir="${jogl.dist.dir}/jogl-linux/64" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
++ <fileset dir="${jogl.dist.dir}/jogl-freebsd" includes="gluegen-natives-*.jar" />
++ </copy>
++ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-macosx/ppc" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+@@ -1492,6 +1582,16 @@
+ <param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-linux/64" />
+ </antcall>
+ <antcall target="dist.build.zip" inheritAll="true">
++ <param name="zip.os.arch" value="freebsd-i586" />
++ <param name="zip.so.suffix" value=".so" />
++ <param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-freebsd" />
++ </antcall>
++ <antcall target="dist.build.zip" inheritAll="true">
++ <param name="zip.os.arch" value="freebsd-amd64" />
++ <param name="zip.so.suffix" value=".so" />
++ <param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-freebsd" />
++ </antcall>
++ <antcall target="dist.build.zip" inheritAll="true">
+ <param name="zip.os.arch" value="macosx-ppc" />
+ <param name="zip.so.suffix" value=".jnilib" />
+ <param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-macosx/ppc" />
diff --git a/graphics/jogl/pkg-descr b/graphics/jogl/pkg-descr
new file mode 100644
index 000000000000..0ba95432a4a0
--- /dev/null
+++ b/graphics/jogl/pkg-descr
@@ -0,0 +1,9 @@
+The JOGL project hosts the development version of the Java Binding for
+the OpenGL API (JSR-231), and is designed to provide hardware-
+supported 3D graphics to applications written in Java. JOGL provides
+full access to the APIs in the OpenGL 2.0 specification as well as
+nearly all vendor extensions, and integrates with the AWT and Swing
+widget sets. It is part of a suite of open-source technologies
+initiated by the Game Technology Group at Sun Microsystems.
+
+WWW: https://jogl.dev.java.net/
diff --git a/graphics/jogl/pkg-plist b/graphics/jogl/pkg-plist
new file mode 100644
index 000000000000..276bad57ff27
--- /dev/null
+++ b/graphics/jogl/pkg-plist
@@ -0,0 +1,107 @@
+lib/libgluegen-rt.so
+lib/libjogl.so
+lib/libjogl_awt.so
+%%JAVAJARDIR%%/gluegen-rt.jar
+%%JAVAJARDIR%%/jogl.jar
+%%PORTDOCS%%%%DATADIR%%/UserGuide.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/Animator.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/BufferUtil.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/FileUtil.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/FPSAnimator.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/Gamma.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/GLUT.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/ImageUtil.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/JOGLAppletLauncher.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/Screenshot.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/StreamUtil.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/TGAWriter.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/TileRenderer.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/j2d/Overlay.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/j2d/TextRenderer.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/j2d/TextRenderer.DefaultRenderDelegate.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/j2d/TextRenderer.RenderDelegate.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/j2d/TextureRenderer.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/j2d/package-frame.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/j2d/package-summary.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/j2d/package-tree.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/Texture.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/TextureCoords.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/TextureData.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/TextureData.Flusher.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/TextureIO.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/DDSImage.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/DDSImage.ImageInfo.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/SGIImage.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/TextureProvider.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/TextureWriter.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/TGAImage.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/TGAImage.Header.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/package-frame.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/package-summary.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/spi/package-tree.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/package-frame.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/package-summary.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/texture/package-tree.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/package-frame.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/package-summary.html
+%%PORTDOCS%%%%DATADIR%%/com/sun/opengl/util/package-tree.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/AbstractGraphicsConfiguration.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/AbstractGraphicsDevice.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/AWTGraphicsConfiguration.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/AWTGraphicsDevice.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/ComponentEvents.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/DebugGL.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/DefaultGLCapabilitiesChooser.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GL.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLAutoDrawable.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLCanvas.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLCapabilities.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLCapabilitiesChooser.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLContext.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLDrawable.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLDrawableFactory.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLJPanel.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLEventListener.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLException.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/GLPbuffer.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/Threading.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/TraceGL.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/GLU.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/GLUnurbs.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/GLUquadric.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/GLUtessellator.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/GLUtessellatorCallback.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/GLUtessellatorCallbackAdapter.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/package-frame.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/package-summary.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/glu/package-tree.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/package-frame.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/package-summary.html
+%%PORTDOCS%%%%DATADIR%%/javax/media/opengl/package-tree.html
+%%PORTDOCS%%%%DATADIR%%/package-list
+%%PORTDOCS%%%%DATADIR%%/overview-frame.html
+%%PORTDOCS%%%%DATADIR%%/constant-values.html
+%%PORTDOCS%%%%DATADIR%%/serialized-form.html
+%%PORTDOCS%%%%DATADIR%%/resources/inherit.gif
+%%PORTDOCS%%%%DATADIR%%/overview-tree.html
+%%PORTDOCS%%%%DATADIR%%/index-all.html
+%%PORTDOCS%%%%DATADIR%%/deprecated-list.html
+%%PORTDOCS%%%%DATADIR%%/allclasses-frame.html
+%%PORTDOCS%%%%DATADIR%%/allclasses-noframe.html
+%%PORTDOCS%%%%DATADIR%%/index.html
+%%PORTDOCS%%%%DATADIR%%/overview-summary.html
+%%PORTDOCS%%%%DATADIR%%/help-doc.html
+%%PORTDOCS%%%%DATADIR%%/stylesheet.css
+@dirrm %%DATADIR%%/com/sun/opengl/util/j2d
+@dirrm %%DATADIR%%/com/sun/opengl/util/texture/spi
+@dirrm %%DATADIR%%/com/sun/opengl/util/texture
+@dirrm %%DATADIR%%/com/sun/opengl/util
+@dirrm %%DATADIR%%/com/sun/opengl
+@dirrm %%DATADIR%%/com/sun
+@dirrm %%DATADIR%%/com
+@dirrm %%DATADIR%%/javax/media/opengl/glu
+@dirrm %%DATADIR%%/javax/media/opengl
+@dirrm %%DATADIR%%/javax/media
+@dirrm %%DATADIR%%/javax
+@dirrm %%DATADIR%%/resources
+@dirrm %%DATADIR%%