aboutsummaryrefslogtreecommitdiff
path: root/modules/workstation/devel/java
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2019-10-05 22:09:49 +0000
committerKatharina Fey <kookie@spacekookie.de>2019-10-05 22:09:49 +0000
commitc04d9504fa2ae8f447ef05a1e7ddb3b21ed06af9 (patch)
tree4dcadc971cabf2f96f5ef832a5664ae31c052051 /modules/workstation/devel/java
parent0a6d1447db7d1f52517a4a4c47d4198451fd223e (diff)
Adding workstation module
Diffstat (limited to 'modules/workstation/devel/java')
-rw-r--r--modules/workstation/devel/java/default.nix7
-rw-r--r--modules/workstation/devel/java/gdx.nix32
-rw-r--r--modules/workstation/devel/java/lwjgl.nix33
3 files changed, 72 insertions, 0 deletions
diff --git a/modules/workstation/devel/java/default.nix b/modules/workstation/devel/java/default.nix
new file mode 100644
index 00000000000..aa2cf8d7264
--- /dev/null
+++ b/modules/workstation/devel/java/default.nix
@@ -0,0 +1,7 @@
+/* JAVA DEVELOPMENT MODE
+ *
+ * FIXME: Integrate building libgdx/ lwjgl with nix
+ */
+{ pkgs, ... }: {
+ home.packages = with pkgs; [ eclipses.eclipse-java lombok ];
+}
diff --git a/modules/workstation/devel/java/gdx.nix b/modules/workstation/devel/java/gdx.nix
new file mode 100644
index 00000000000..2e1649fb2a9
--- /dev/null
+++ b/modules/workstation/devel/java/gdx.nix
@@ -0,0 +1,32 @@
+{ stdenv, pkgs, ... }:
+
+with pkgs;
+stdenv.mkDerivation rec {
+ name = "libgdx-${version}";
+ version = "1.9.6";
+
+ src = fetchurl {
+ url = "https://github.com/libgdx/libgdx/archive/${version}.tar.gz";
+ sha256 = "1lxky0cz4qjpw4x06cf2kpa00cj0n0jp3vfsp67jy1d42dqyshgb";
+ };
+
+ buildInputs = [ ant openjdk gcc ];
+
+ buildPhase = "find . -name '*.so' -delete && cd gdx/jni && ant -f build-linux64.xml && cd ../../extensions/gdx-box2d/gdx-box2d/jni && ant -f build-linux64.xml && cd ../../../../";
+
+ installPhase = ''
+ mkdir -p $out/lib
+ cp gdx/libs/linux64/*.so $out/lib
+ cp extensions/gdx-box2d/gdx-box2d/libs/linux64/*.so $out/lib
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Desktop/Android/BlackBerry/iOS/HTML5 Java game development framework";
+ longDescription = '''';
+ homepage = http://libgdx.badlogicgames.com/;
+ license = licenses.asl20;
+ maintainers = with maintainers; [ pmiddend ];
+ platforms = platforms.linux;
+ };
+}
+
diff --git a/modules/workstation/devel/java/lwjgl.nix b/modules/workstation/devel/java/lwjgl.nix
new file mode 100644
index 00000000000..77ab765f207
--- /dev/null
+++ b/modules/workstation/devel/java/lwjgl.nix
@@ -0,0 +1,33 @@
+{ stdenv, pkgs, ... }:
+
+with pkgs;
+stdenv.mkDerivation rec {
+ name = "lwjgl-${version}";
+ version = "2.9.2";
+
+ src = fetchurl {
+ url = "https://github.com/LWJGL/lwjgl/archive/lwjgl${version}.tar.gz";
+ sha256 = "1m396ply3kspym3r00s1rbk77irn2f9vgr76xsy7272k649y3wky";
+ };
+
+ buildInputs = with xorg; [ ant openjdk gcc libX11 libXt libXcursor
+ libXxf86vm libXrandr libXext ];
+
+ buildPhase = "mkdir -p bin && ant generate-all && ant compile && ant compile_native";
+
+ installPhase = ''
+ mkdir -p $out/lib
+ cp bin/lwjgl/*.so $out/lib
+ '';
+
+ meta = with stdenv.lib; {
+ description = "The Lightweight Java Game Library";
+ longDescription = ''
+ LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL), audio (OpenAL) and parallel computing (OpenCL) applications. This access is direct and high-performance, yet also wrapped in a type-safe and user-friendly layer, appropriate for the Java ecosystem.
+ '';
+ homepage = http://legacy.lwjgl.org/;
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ pmiddend ];
+ platforms = platforms.linux;
+ };
+}