summary refs log tree commit diff
path: root/pkgs/development/java-modules
diff options
context:
space:
mode:
authorvolth <volth@volth.com>2018-03-19 03:33:13 +0000
committervolth <volth@volth.com>2018-03-19 04:08:12 +0000
commit94ff822eec9376f998a2e6f9255ab9643a53c860 (patch)
tree03edc2e5e243c535dc3eb8409fa5611953634d5f /pkgs/development/java-modules
parent50c004a91c5a6be121064eee320e2d72fcfc2ba3 (diff)
downloadnixlib-94ff822eec9376f998a2e6f9255ab9643a53c860.tar
nixlib-94ff822eec9376f998a2e6f9255ab9643a53c860.tar.gz
nixlib-94ff822eec9376f998a2e6f9255ab9643a53c860.tar.bz2
nixlib-94ff822eec9376f998a2e6f9255ab9643a53c860.tar.lz
nixlib-94ff822eec9376f998a2e6f9255ab9643a53c860.tar.xz
nixlib-94ff822eec9376f998a2e6f9255ab9643a53c860.tar.zst
nixlib-94ff822eec9376f998a2e6f9255ab9643a53c860.zip
jogl: init at 2.3.2
Diffstat (limited to 'pkgs/development/java-modules')
-rw-r--r--pkgs/development/java-modules/jogl/default.nix56
1 files changed, 56 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 000000000000..03d5a05942fb
--- /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" ];
+      };
+    };
+}