summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/java-modules/jogl/default.nix56
-rw-r--r--pkgs/top-level/java-packages.nix3
2 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/development/java-modules/jogl/default.nix b/pkgs/development/java-modules/jogl/default.nix
new file mode 100644
index 00000000000..03d5a05942f
--- /dev/null
+++ b/pkgs/development/java-modules/jogl/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchgit, makeWrapper, ant, jdk, git, xorg, udev }:
+
+{
+  jogl_2_3_2 =
+    let
+      version = "2.3.2";
+
+      gluegen-src = fetchgit {
+        url = git://jogamp.org/srv/scm/gluegen.git;
+        rev = "v${version}";
+        sha256 = "00hybisjwqs88p24dds652bzrwbbmhn2dpx56kp4j6xpadkp33d0";
+        fetchSubmodules = true;
+      };
+    in stdenv.mkDerivation rec {
+      name = "jogl-${version}";
+
+      src = fetchgit {
+        url = http://jogamp.org/srv/scm/jogl.git;
+        rev = "v${version}";
+        sha256 = "0msi2gxiqm2yqwkmxqbh521xdrimw1fly20g890r357rcgj8fsn3";
+        fetchSubmodules = true;
+      };
+
+      buildInputs = [ jdk ant git udev xorg.libX11 xorg.libXrandr xorg.libXcursor xorg.libXt xorg.libXxf86vm xorg.libXrender ];
+
+      buildPhase = ''
+        cp -r ${gluegen-src} $NIX_BUILD_TOP/gluegen
+        chmod -R +w $NIX_BUILD_TOP/gluegen
+        ( cd ../gluegen/make
+          ant )
+
+        ( cd make
+
+          # force way to do disfunctional "ant -Dsetup.addNativeBroadcom=false" and disable dependency on raspberrypi drivers
+          # if arm/aarch64 support will be added, this block might be commented out on those platforms
+          # on x86 compiling with default "setup.addNativeBroadcom=true" leads to unsatisfied import "vc_dispmanx_resource_delete" in libnewt.so
+          cp build-newt.xml build-newt.xml.old
+          fgrep -v 'if="setup.addNativeBroadcom"' build-newt.xml.old > build-newt.xml
+
+          ant )
+      '';
+
+      installPhase = ''
+        mkdir -p $out/share/java
+        cp $NIX_BUILD_TOP/gluegen/build/gluegen-rt{,-natives-linux-amd64}.jar $out/share/java/
+        cp $NIX_BUILD_TOP/jogl/build/jar/jogl-all{,-natives-linux-amd64}.jar  $out/share/java/
+      '';
+
+      meta = with stdenv.lib; {
+        description = "Java libraries for 3D Graphics, Multimedia and Processing";
+        homepage = http://jogamp.org/;
+        license = licenses.bsd3;
+        platforms = [ "x86_64-linux" ];
+      };
+    };
+}
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix
index 0df0b5a51c9..77cd5b0eba5 100644
--- a/pkgs/top-level/java-packages.nix
+++ b/pkgs/top-level/java-packages.nix
@@ -61,6 +61,9 @@ in {
     junit_3_8_2
     junit_4_12;
 
+  inherit (callPackage ../development/java-modules/jogl { })
+    jogl_2_3_2;
+
   inherit (callPackage ../development/java-modules/log4j { inherit fetchMaven; })
     log4j_1_2_12;