summary refs log tree commit diff
path: root/pkgs/development/libraries/java
diff options
context:
space:
mode:
authorPascal Wittmann <mail@pascal-wittmann.de>2016-04-17 16:32:08 +0200
committerPascal Wittmann <mail@pascal-wittmann.de>2016-04-17 16:34:14 +0200
commit04e3fe2280da1b218749bf737cebcb4cacd70467 (patch)
tree286c7ce31fccc94cfbd75ba57336f8548f773ddc /pkgs/development/libraries/java
parent4003d16d66d7387e8979c2f27671aee1ab5f0a78 (diff)
downloadnixpkgs-04e3fe2280da1b218749bf737cebcb4cacd70467.tar
nixpkgs-04e3fe2280da1b218749bf737cebcb4cacd70467.tar.gz
nixpkgs-04e3fe2280da1b218749bf737cebcb4cacd70467.tar.bz2
nixpkgs-04e3fe2280da1b218749bf737cebcb4cacd70467.tar.lz
nixpkgs-04e3fe2280da1b218749bf737cebcb4cacd70467.tar.xz
nixpkgs-04e3fe2280da1b218749bf737cebcb4cacd70467.tar.zst
nixpkgs-04e3fe2280da1b218749bf737cebcb4cacd70467.zip
swt: repair shared objects and refactor
Diffstat (limited to 'pkgs/development/libraries/java')
-rw-r--r--pkgs/development/libraries/java/swt/builder.sh18
-rw-r--r--pkgs/development/libraries/java/swt/default.nix48
2 files changed, 39 insertions, 27 deletions
diff --git a/pkgs/development/libraries/java/swt/builder.sh b/pkgs/development/libraries/java/swt/builder.sh
deleted file mode 100644
index 9f678d7158b..00000000000
--- a/pkgs/development/libraries/java/swt/builder.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-source $stdenv/setup
-
-unzip $src src.zip
-unzip src.zip
-
-export JAVA_HOME=${jdk}
-echo $JAVA_HOME=${jdk}
-sh ./build.sh make_swt make_atk
-
-mkdir -p $out/lib
-cp *.so $out/lib
-
-mkdir out
-javac -d out/ $(find org/ -name "*.java")
-
-mkdir -p $out/jars
-cp version.txt out/
-cd out && jar -c * > $out/jars/swt.jar
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index d942dd7b692..e91c8bbca7b 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -1,9 +1,6 @@
 { stdenv, fetchurl, unzip, jdk, pkgconfig, gtk
-, libXtst
-, libXi
-, mesa
-, webkit
-, libsoup
+, libXtst, libXi, mesa, webkit, libsoup, xorg
+, pango, gdk_pixbuf, glib
 }:
 
 let
@@ -26,8 +23,6 @@ in stdenv.mkDerivation rec {
   fullVersion = "${version}-201202080800";
   name = "swt-${version}";
 
-  builder = ./builder.sh;
-
   # Alas, the Eclipse Project apparently doesn't produce source-only
   # releases of SWT.  So we just grab a binary release and extract
   # "src.zip" from that.
@@ -36,6 +31,41 @@ in stdenv.mkDerivation rec {
     sha256 = metadata.sha256;
   };
 
-  buildInputs = [unzip jdk pkgconfig gtk libXtst libXi mesa webkit libsoup];
-  inherit jdk;
+  sourceRoot = ".";
+
+  buildInputs = [ unzip jdk pkgconfig gtk libXtst libXi mesa webkit libsoup ];
+
+  NIX_LFLAGS = [ "-lX11" "-I${xorg.libX11}/lib"
+    "-lpango-1.0" "-I${pango}/lib"
+    "-lgdk_pixbuf-2.0" "-I${gdk_pixbuf}/lib"
+    "-lglib-2.0" "-I${glib}/lib"];
+
+  buildPhase = ''
+    unzip src.zip -d src
+
+    cd src
+    sed -i "s#^LFLAGS =#LFLAGS = $NIX_LFLAGS #g"  *.mak
+    export JAVA_HOME=${jdk}
+
+    sh ./build.sh
+
+    mkdir out
+    javac -d out/ $(find org/ -name "*.java")
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp *.so $out/lib
+
+    mkdir -p $out/jars
+    cp version.txt out/
+    cd out && jar -c * > $out/jars/swt.jar
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.eclipse.org/swt/;
+    description = "An widget toolkit for Java to access the user-interface facilities of the operating systems on which it is implemented";
+    license = licenses.epl10;
+    maintainers = with maintainers; [ pSub ];
+  };
 }