about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/java
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-01-03 23:55:00 +0000
committerAlyssa Ross <hi@alyssa.is>2022-02-19 11:03:39 +0000
commitf4cf97a04cd5d0b86aa46baec9fb228a8f671c03 (patch)
tree28192415ff39a661d0001563bf81cc93fa25d16d /nixpkgs/pkgs/development/libraries/java
parentf8422837c9bde058e8f2de37702e7e94b2226040 (diff)
parent18c84ea816348e2a098390101b92d1e39a9dbd45 (diff)
downloadnixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.gz
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.bz2
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.lz
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.xz
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.zst
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.zip
Merge commit '18c84ea816348e2a098390101b92d1e39a9dbd45'
Conflicts:
	nixpkgs/nixos/modules/misc/documentation.nix
	nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
	nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
	nixpkgs/pkgs/development/go-modules/generic/default.nix
	nixpkgs/pkgs/development/interpreters/ruby/default.nix
	nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix
	nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix
	nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
	nixpkgs/pkgs/servers/mail/mailman/web.nix
	nixpkgs/pkgs/top-level/aliases.nix
	nixpkgs/pkgs/top-level/all-packages.nix
	nixpkgs/pkgs/top-level/impure.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/java')
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/io/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/math/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/java/geoipjava/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/builder.sh4
-rw-r--r--nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/java/gwt-widgets/builder.sh6
-rw-r--r--nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/libraries/java/httpunit/builder.sh5
-rw-r--r--nixpkgs/pkgs/development/libraries/java/httpunit/default.nix14
-rwxr-xr-xnixpkgs/pkgs/development/libraries/java/jdom/builder.sh6
-rw-r--r--nixpkgs/pkgs/development/libraries/java/jdom/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/java/jflex/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/java/junit/default.nix28
-rw-r--r--nixpkgs/pkgs/development/libraries/java/junixsocket/darwin.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/java/junixsocket/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/java/libmatthew-java/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/java/lombok/default.nix5
-rwxr-xr-xnixpkgs/pkgs/development/libraries/java/lucene/builder.sh6
-rw-r--r--nixpkgs/pkgs/development/libraries/java/lucene/default.nix10
-rwxr-xr-xnixpkgs/pkgs/development/libraries/java/mockobjects/builder.sh6
-rw-r--r--nixpkgs/pkgs/development/libraries/java/mockobjects/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/java/smack/builder.sh7
-rw-r--r--nixpkgs/pkgs/development/libraries/java/smack/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/java/swt/awt-libs.patch8
-rw-r--r--nixpkgs/pkgs/development/libraries/java/swt/default.nix147
-rw-r--r--nixpkgs/pkgs/development/libraries/java/swt/gtk-libs.patch14
30 files changed, 263 insertions, 226 deletions
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix
index 629ab7ec131a..08b6a99a55da 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "commons-bsf-1.2";
+stdenv.mkDerivation rec {
+  pname = "commons-bsf";
+  version = "2.4.0";
 
   src = fetchurl {
-    url = "mirror://apache/commons/bsf/binaries/bsf-bin-2.4.0.tar.gz";
+    url = "mirror://apache/commons/bsf/binaries/bsf-bin-${version}.tar.gz";
     sha256 = "1my3hv4y8cvrd1kr315wvbjqsamzlzswnbqcmsa2m4hqcafddfr8";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix
index 0c5ac8f4dded..ba8b59162c5c 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "2.8.0";
+  version = "2.11.0";
   pname = "commons-io";
 
   src = fetchurl {
     url    = "mirror://apache/commons/io/binaries/${pname}-${version}-bin.tar.gz";
-    sha256 = "02c54cjf3sdwbc9rcgg3xkx1f3yk8p5iv3iwvq78f5vfxsj53lkk";
+    sha256 = "sha256-9RXVNzjEhdYCYWbB9/xW3rm+gSOuD6+jwAO9zJVt4fk=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix
index d63a214e2ad7..5b6c8b36b349 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "commons-logging-1.2";
+stdenv.mkDerivation rec {
+  pname = "commons-logging";
+  version = "1.2";
 
   src = fetchurl {
-    url    = "mirror://apache/commons/logging/binaries/commons-logging-1.2-bin.tar.gz";
+    url    = "mirror://apache/commons/logging/binaries/commons-logging-${version}-bin.tar.gz";
     sha256 = "1gc70pmcv0x6ibl89jglmr22f8zpr63iaifi49nrq399qw2qhx9z";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/math/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/math/default.nix
index 960f12fb8bfb..5543532015e0 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/math/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/math/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-math/";
+    homepage    = "https://commons.apache.org/proper/commons-math/";
     description = "A library of lightweight, self-contained mathematics and statistics components";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix b/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix
index 9fbcf8b020ce..c8e67edfe2b5 100644
--- a/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix
@@ -1,18 +1,19 @@
-{lib, stdenv, fetchurl, gettext, jdk8, libmatthew_java}:
+{ lib, stdenv, fetchurl, gettext, jdk8, libmatthew_java }:
+
+stdenv.mkDerivation rec {
+  pname = "dbus-java";
+  version = "2.7";
 
-let jdk = jdk8; in
-stdenv.mkDerivation {
-  name = "dbus-java-2.7";
   src = fetchurl {
-    url = "https://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.7.tar.gz";
+    url = "https://dbus.freedesktop.org/releases/dbus-java/dbus-java-${version}.tar.gz";
     sha256 = "0cyaxd8x6sxmi6pklkkx45j311a6w51fxl4jc5j3inc4cailwh5y";
   };
-  JAVA_HOME=jdk;
-  JAVA="${jdk}/bin/java";
+  JAVA_HOME=jdk8;
+  JAVA="${jdk8}/bin/java";
   PREFIX="\${out}";
   JAVAUNIXLIBDIR="${libmatthew_java}/lib/jni";
   JAVAUNIXJARDIR="${libmatthew_java}/share/java";
-  buildInputs = [ gettext jdk ];
+  buildInputs = [ gettext jdk8 ];
   # I'm too lazy to build the documentation
   preBuild = ''
     sed -i -e "s|all: bin doc man|all: bin|" \
diff --git a/nixpkgs/pkgs/development/libraries/java/geoipjava/default.nix b/nixpkgs/pkgs/development/libraries/java/geoipjava/default.nix
index 0e5b1084b49c..cbb6b35a65c9 100644
--- a/nixpkgs/pkgs/development/libraries/java/geoipjava/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/geoipjava/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, jdk, unzip}:
 
-stdenv.mkDerivation {
-  name = "GeoIPJava-1.2.5";
+stdenv.mkDerivation rec {
+  pname = "GeoIPJava";
+  version = "1.2.5";
+
   src = fetchurl {
-    url = "https://geolite.maxmind.com/download/geoip/api/java/GeoIPJava-1.2.5.zip";
+    url = "https://geolite.maxmind.com/download/geoip/api/java/GeoIPJava-${version}.zip";
     sha256 = "1gb2d0qvvq7xankz7l7ymbr3qprwk9bifpy4hlgw0sq4i6a55ypd";
   };
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/builder.sh b/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/builder.sh
deleted file mode 100644
index d37e110011e8..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/builder.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-source $stdenv/setup
-
-mkdir -p $out/share/java
-cp $src $out/share/java/$name.jar
diff --git a/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix b/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix
index 34a0e8c530a4..a7270bbfa2ba 100644
--- a/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix
@@ -1,14 +1,25 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "gwt-dnd-2.6.5";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "gwt-dnd";
+  version = "2.6.5";
 
   src = fetchurl {
-    url = "http://gwt-dnd.googlecode.com/files/gwt-dnd-2.6.5.jar";
+    url = "http://gwt-dnd.googlecode.com/files/gwt-dnd-${version}.jar";
     sha256 = "07zdlr8afs499asnw0dcjmw1cnjc646v91lflx5dv4qj374c97fw";
   };
 
+  dontUnpack = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/java
+    cp $src $out/share/java/$name.jar
+
+    runHook postInstall
+  '';
+
   meta = with lib; {
     platforms = platforms.unix;
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/libraries/java/gwt-widgets/builder.sh b/nixpkgs/pkgs/development/libraries/java/gwt-widgets/builder.sh
deleted file mode 100644
index 8c2502385f2b..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/gwt-widgets/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-source $stdenv/setup
-
-tar xfvz $src
-cd gwt-widgets-*
-mkdir -p $out/share/java
-cp gwt-widgets-*.jar $out/share/java
diff --git a/nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix b/nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix
index 692326a21895..ebba8548016e 100644
--- a/nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix
@@ -1,14 +1,23 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "gwt-widgets-0.2.0";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "gwt-widgets";
+  version = "0.2.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gwt-widget/gwt-widgets-0.2.0-bin.tar.gz";
+    url = "mirror://sourceforge/gwt-widget/gwt-widgets-${version}-bin.tar.gz";
     sha256 = "09isj4j6842rj13nv8264irkjjhvmgihmi170ciabc98911bakxb";
   };
 
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/java
+    cp gwt-widgets-*.jar $out/share/java
+
+    runHook postInstall
+  '';
+
   meta = with lib; {
     platforms = platforms.unix;
     license = with licenses; [ afl21 lgpl2 ];
diff --git a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
index 19c8833db728..8f678ce7555b 100644
--- a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "hsqldb";
-  version = "2.6.0";
+  version = "2.6.1";
   underscoreMajMin = lib.strings.replaceChars ["."] ["_"] (lib.versions.majorMinor version);
 
   src = fetchurl {
     url = "mirror://sourceforge/project/hsqldb/hsqldb/hsqldb_${underscoreMajMin}/hsqldb-${version}.zip";
-    sha256 = "sha256-GhuTBJl1E+aoWa8pTWEqzghHDXXiCQFIt++8pjCQYik=";
+    sha256 = "sha256-cixyEwjEt68UOotd1TcJNyVUxTRDx4XyfyYg9k6kRtQ=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/java/httpunit/builder.sh b/nixpkgs/pkgs/development/libraries/java/httpunit/builder.sh
deleted file mode 100755
index 273850082958..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/httpunit/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup
-
-$unzip/bin/unzip $src
-mkdir $out
-mv $name/* $out/
diff --git a/nixpkgs/pkgs/development/libraries/java/httpunit/default.nix b/nixpkgs/pkgs/development/libraries/java/httpunit/default.nix
index ad276fcdd636..a93a646e21ac 100644
--- a/nixpkgs/pkgs/development/libraries/java/httpunit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/httpunit/default.nix
@@ -1,15 +1,17 @@
-{lib, stdenv, fetchurl, unzip} :
+{ lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "httpunit-1.7";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "httpunit";
+  version = "1.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/httpunit/httpunit-1.7.zip";
+    url = "mirror://sourceforge/httpunit/httpunit-${version}.zip";
     sha256 = "09gnayqgizd8cjqayvdpkxrc69ipyxawc96aznfrgdhdiwv8l5zf";
   };
 
-  inherit unzip;
+  buildCommand = ''
+    cp ./* $out
+  '';
 
   meta = with lib; {
     homepage = "http://httpunit.sourceforge.net";
diff --git a/nixpkgs/pkgs/development/libraries/java/jdom/builder.sh b/nixpkgs/pkgs/development/libraries/java/jdom/builder.sh
deleted file mode 100755
index dbec4b6f3e0e..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/jdom/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-set -e
-source $stdenv/setup
-
-tar zxvf $src
-mkdir -p $out
-mv * $out
diff --git a/nixpkgs/pkgs/development/libraries/java/jdom/default.nix b/nixpkgs/pkgs/development/libraries/java/jdom/default.nix
index 4bb90dd98874..cbbec60ad32b 100644
--- a/nixpkgs/pkgs/development/libraries/java/jdom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/jdom/default.nix
@@ -1,14 +1,18 @@
-{lib, stdenv, fetchurl} :
+{ lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "jdom-1.0";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "jdom";
+  version = "1.0";
 
   src = fetchurl {
-    url = "http://www.jdom.org/dist/binary/jdom-1.0.tar.gz";
+    url = "http://www.jdom.org/dist/binary/jdom-${version}.tar.gz";
     sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf";
   };
 
+  buildCommand = ''
+    cp -r ./ $out
+  '';
+
   meta = with lib; {
     description = "Java-based solution for accessing, manipulating, and outputting XML data from Java code";
     homepage = "http://www.jdom.org";
diff --git a/nixpkgs/pkgs/development/libraries/java/jflex/default.nix b/nixpkgs/pkgs/development/libraries/java/jflex/default.nix
index cf5b42a0ac21..4f5a9de7bd5c 100644
--- a/nixpkgs/pkgs/development/libraries/java/jflex/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/jflex/default.nix
@@ -1,14 +1,15 @@
 {lib, stdenv, fetchurl, jre} :
 
 stdenv.mkDerivation rec {
-  name = "jflex-1.8.2";
+  pname = "jflex";
+  version = "1.8.2";
 
   src = fetchurl {
-    url = "http://jflex.de/release/${name}.tar.gz";
+    url = "http://jflex.de/release/jflex-${version}.tar.gz";
     sha256 = "1ar7g6zb2xjgnws3j4cqcp86jplhc9av8cpcjdmxw08x6igd5q51";
   };
 
-  sourceRoot = name;
+  sourceRoot = "${pname}-${version}";
 
   installPhase = ''
     runHook preInstall
diff --git a/nixpkgs/pkgs/development/libraries/java/junit/default.nix b/nixpkgs/pkgs/development/libraries/java/junit/default.nix
deleted file mode 100644
index 5a1079851772..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/junit/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, antBuild, fetchgit, perl }:
-
-let
-  version = "4.11";
-in antBuild {
-  name = "junit-${version}";
-
-  # I think this is only used to generate the docs, and will likely disappear
-  # with the next release of junit since its build system completely changes.
-  buildInputs = [perl];
-
-  src = fetchgit {
-    url = "https://github.com/junit-team/junit.git";
-    sha256 = "1cn5dhs6vpbfbcmnm2vb1212n0kblv8cxrvnwmksjxd6bzlkac1k";
-    rev = "c2e4d911fadfbd64444fb285342a8f1b72336169";
-  };
-
-  antProperties = [
-    { name = "version"; value = version; }
-  ];
-
-  meta = {
-    homepage = "http://www.junit.org/";
-    description = "A framework for repeatable tests in Java";
-    license = lib.licenses.epl10;
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/java/junixsocket/darwin.patch b/nixpkgs/pkgs/development/libraries/java/junixsocket/darwin.patch
deleted file mode 100644
index 97fd42d0b81b..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/junixsocket/darwin.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -rc junixsocket-1.3/src/main/org/newsclub/net/unix/NativeUnixSocket.java junixsocket-1.3-new/src/main/org/newsclub/net/unix/NativeUnixSocket.java
-*** junixsocket-1.3/src/main/org/newsclub/net/unix/NativeUnixSocket.java        Tue Jul 20 14:59:41 2010
---- junixsocket-1.3-new/src/main/org/newsclub/net/unix/NativeUnixSocket.java    Sun May 27 22:26:15 2012
-***************
-*** 43,49 ****
-              String prefix = "lib";
-              String suffix = ".so";
-              String os = osName.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
-!             if ("macosx".equals(os)) {
-                  suffix = ".dylib";
-              } else if ("linux".equals(os) || "freebsd".equals(os)
-                      || "sunos".equals(os)) {
---- 43,49 ----
-              String prefix = "lib";
-              String suffix = ".so";
-              String os = osName.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
-!             if ("macosx".equals(os) || "darwin".equals(os)) {
-                  suffix = ".dylib";
-              } else if ("linux".equals(os) || "freebsd".equals(os)
-                      || "sunos".equals(os)) {
diff --git a/nixpkgs/pkgs/development/libraries/java/junixsocket/default.nix b/nixpkgs/pkgs/development/libraries/java/junixsocket/default.nix
deleted file mode 100644
index 0484f4c59ba6..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/junixsocket/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchurl, ant, jdk, junit }:
-
-stdenv.mkDerivation rec {
-  name = "junixsocket-1.3";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/junixsocket/${name}-src.tar.bz2";
-    sha256 = "0c6p8vmiv5nk8i6g1hgivnl3mpb2k3lhjjz0ss9dlirisfrxf1ym";
-  };
-
-  patches = [ ./darwin.patch ];
-
-  buildInputs = [ ant jdk junit ];
-
-  preConfigure =
-    ''
-      substituteInPlace src/main/org/newsclub/net/unix/NativeUnixSocketConfig.java \
-        --replace /opt/newsclub/lib-native $out/lib
-    '';
-
-  buildPhase = "ant";
-
-  ANT_ARGS =
-    # Note that our OpenJDK on Darwin is currently 32-bit, so we have to build a 32-bit dylib.
-    (if stdenv.is64bit then [ "-Dskip32=true" ] else [ "-Dskip64=true" ])
-    ++ [ "-Dgcc=${stdenv.cc.targetPrefix}cc" "-Dant.build.javac.source=1.6" ]
-    ++ lib.optional stdenv.isDarwin "-DisMac=true";
-
-  installPhase =
-    ''
-      mkdir -p $out/share/java $out/lib
-      cp -v dist/*.jar $out/share/java
-      cp -v lib-native/*.so lib-native/*.dylib $out/lib/
-    '';
-
-  meta = {
-    description = "A Java/JNI library for using Unix Domain Sockets from Java";
-    homepage = "https://github.com/kohlschutter/junixsocket";
-    license = lib.licenses.asl20;
-    platforms = lib.platforms.linux ++ lib.platforms.darwin;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/java/libmatthew-java/default.nix b/nixpkgs/pkgs/development/libraries/java/libmatthew-java/default.nix
index a3cdaa37ed06..6f736403e056 100644
--- a/nixpkgs/pkgs/development/libraries/java/libmatthew-java/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/libmatthew-java/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, jdk}:
 
-stdenv.mkDerivation {
-  name = "libmatthew-java-0.8";
+stdenv.mkDerivation rec {
+  pname = "libmatthew-java";
+  version = "0.8";
+
   src = fetchurl {
-    url = "https://src.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-0.8.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-0.8.tar.gz";
+    url = "https://src.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-${version}.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-${version}.tar.gz";
     sha256 = "1yldkhsdzm0a41a0i881bin2jklhp85y3ah245jd6fz3npcx7l85";
   };
   JAVA_HOME=jdk;
diff --git a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
index b4f0f4525f79..af75be537579 100644
--- a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, makeWrapper, jdk }:
 
 stdenv.mkDerivation rec {
-  name = "lombok-1.18.20";
+  pname = "lombok";
+  version = "1.18.20";
 
   src = fetchurl {
-    url = "https://projectlombok.org/downloads/${name}.jar";
+    url = "https://projectlombok.org/downloads/lombok-${version}.jar";
     sha256 = "sha256-zpR75sL751n7vo7ztCtoJfgUyYyIU/EBPy2WMM7fdLA=";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/java/lucene/builder.sh b/nixpkgs/pkgs/development/libraries/java/lucene/builder.sh
deleted file mode 100755
index d95feb5eeb44..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/lucene/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-set -e
-source $stdenv/setup
-
-tar zxvf $src
-mkdir -p $out
-mv $name/* $out
diff --git a/nixpkgs/pkgs/development/libraries/java/lucene/default.nix b/nixpkgs/pkgs/development/libraries/java/lucene/default.nix
index 417c7b969000..9791c0ee4556 100644
--- a/nixpkgs/pkgs/development/libraries/java/lucene/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/lucene/default.nix
@@ -1,16 +1,18 @@
-{lib, stdenv, fetchurl} :
+{ lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   pname = "lucene";
   version = "1.4.3";
 
-  builder = ./builder.sh;
-
   src = fetchurl {
-    url = "https://archive.apache.org/dist/jakarta/lucene/${pname}-${version}.tar.gz";
+    url = "https://archive.apache.org/dist/jakarta/lucene/lucene-${version}.tar.gz";
     sha256 = "1mxaxg65f7v8n60irjwm24v7hcisbl0srmpvcy1l4scs6rjj1awh";
   };
 
+  buildCommand = ''
+    cp -r . $out/
+  '';
+
   meta = with lib; {
     description = "Java full-text search engine";
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/java/mockobjects/builder.sh b/nixpkgs/pkgs/development/libraries/java/mockobjects/builder.sh
deleted file mode 100755
index fd5d1a20869c..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/mockobjects/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-set -e
-source $stdenv/setup
-
-tar xvf $src
-mkdir -p $out
-mv * $out
diff --git a/nixpkgs/pkgs/development/libraries/java/mockobjects/default.nix b/nixpkgs/pkgs/development/libraries/java/mockobjects/default.nix
index e20d7e707e71..93b222357840 100644
--- a/nixpkgs/pkgs/development/libraries/java/mockobjects/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/mockobjects/default.nix
@@ -1,14 +1,26 @@
-{lib, stdenv, fetchurl} :
+{ lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "mockobjects-0.09";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "mockobjects";
+  version = "0.09";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mockobjects/mockobjects-bin-0.09.tar";
+    url = "mirror://sourceforge/mockobjects/mockobjects-bin-${version}.tar";
     sha256 = "18rnyqfcyh0s3dwkkaszdd50ssyjx5fa1y3ii309ldqg693lfgnz";
   };
 
+  # Work around the "unpacker appears to have produced no directories"
+  setSourceRoot = "sourceRoot=`pwd`";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/java
+    cp mockobjects-*.jar $out/share/java
+
+    runHook postInstall
+  '';
+
   meta = with lib; {
     description = "Generic unit testing framework and methodology for testing any kind of code";
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/java/smack/builder.sh b/nixpkgs/pkgs/development/libraries/java/smack/builder.sh
deleted file mode 100644
index c97259e6a17e..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/smack/builder.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-source $stdenv/setup
-
-mkdir smack
-cd smack
-tar xfvz $src
-mkdir -p $out/share/java
-cp libs/smack-*.jar $out/share/java
diff --git a/nixpkgs/pkgs/development/libraries/java/smack/default.nix b/nixpkgs/pkgs/development/libraries/java/smack/default.nix
index f831bfc8b933..5c032f5469ce 100644
--- a/nixpkgs/pkgs/development/libraries/java/smack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/smack/default.nix
@@ -1,14 +1,25 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "smack-4.1.9";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "smack";
+  version = "4.1.9";
 
   src = fetchurl {
-    url = "http://www.igniterealtime.org/downloadServlet?filename=smack/smack_4_1_9.tar.gz";
+    url = "http://www.igniterealtime.org/downloadServlet?filename=smack/smack_${lib.replaceStrings ["."] ["_"] version}.tar.gz";
     sha256 = "009x0qcxd4dkvwcjz2nla470pwbabwvg37wc21pslpw42ldi0bzp";
   };
 
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/java
+    cp libs/smack-*.jar $out/share/java
+
+    runHook postInstall
+  '';
+
   meta = {
     description = "A XMPP (Jabber) client library for instant messaging and presence";
     homepage = "http://www.igniterealtime.org/projects/smack/";
diff --git a/nixpkgs/pkgs/development/libraries/java/swt/awt-libs.patch b/nixpkgs/pkgs/development/libraries/java/swt/awt-libs.patch
new file mode 100644
index 000000000000..6c3ff53b7983
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/java/swt/awt-libs.patch
@@ -0,0 +1,8 @@
+--- a/make_linux.mak
++++ b/make_linux.mak
+@@ -63,4 +63,4 @@
+
+ AWT_LFLAGS = -shared ${SWT_LFLAGS}
+-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt
++AWT_LIBS = `pkg-config --libs x11` -L$(AWT_LIB_PATH) -ljawt
+
diff --git a/nixpkgs/pkgs/development/libraries/java/swt/default.nix b/nixpkgs/pkgs/development/libraries/java/swt/default.nix
index bf35490f9a88..b85b348a9640 100644
--- a/nixpkgs/pkgs/development/libraries/java/swt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/swt/default.nix
@@ -1,73 +1,158 @@
-{ stdenv, lib, fetchurl, unzip, jdk, pkg-config, gtk2
-, libXt, libXtst, libXi, libGLU, libGL, webkitgtk, libsoup, xorg
-, pango, gdk-pixbuf, glib
+{ lib
+, stdenv
+, canonicalize-jars-hook
+, fetchzip
+, pkg-config
+, atk
+, glib
+, gtk2
+, jdk
+, libGL
+, libGLU
+, libXt
+, libXtst
+, gnome2
 }:
 
 let
   platformMap = {
     x86_64-linux =
       { platform = "gtk-linux-x86_64";
-        sha256 = "1qq0pjll6030v4ml0hifcaaik7sx3fl7ghybfdw95vsvxafwp2ff"; };
+        sha256 = "17frac2nsx22hfa72264as31rn35hfh9gfgy0n6wvc3knl5d2716"; };
     i686-linux =
       { platform = "gtk-linux-x86";
-        sha256 = "03mhzraikcs4fsz7d3h5af9pw1bbcfd6dglsvbk2ciwimy9zj30q"; };
+        sha256 = "13ca17rga9yvdshqvh0sfzarmdcl4wv4pid0ls7v35v4844zbc8b"; };
     x86_64-darwin =
       { platform = "cocoa-macosx-x86_64";
-        sha256 = "00k1mfbncvyh8klgmk0891w8jwnd5niqb16j1j8yacrm2smmlb05"; };
+        sha256 = "0wjyxlw7i9zd2m8syd6k1q85fj8pzhxlfsrl8fpgsj37p698bd0a"; };
   };
 
-  metadata = assert platformMap ? ${stdenv.hostPlatform.system}; platformMap.${stdenv.hostPlatform.system};
-
+  metadata = assert platformMap ? ${stdenv.hostPlatform.system};
+    platformMap.${stdenv.hostPlatform.system};
 in stdenv.mkDerivation rec {
+  pname = "swt";
   version = "4.5";
   fullVersion = "${version}-201506032000";
-  pname = "swt";
 
   hardeningDisable = [ "format" ];
 
   # 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.
-  src = fetchurl {
-    url = "http://archive.eclipse.org/eclipse/downloads/drops4/R-${fullVersion}/${pname}-${version}-${metadata.platform}.zip";
-    sha256 = metadata.sha256;
+  src = fetchzip {
+    url = "https://archive.eclipse.org/eclipse/downloads/drops4/" +
+      "R-${fullVersion}/${pname}-${version}-${metadata.platform}.zip";
+    inherit (metadata) sha256;
+    stripRoot = false;
+    extraPostFetch = ''
+      mkdir "$unpackDir"
+      cd "$unpackDir"
+
+      renamed="$TMPDIR/src.zip"
+      mv "$out/src.zip" "$renamed"
+      unpackFile "$renamed"
+      rm -r "$out"
+
+      mv "$unpackDir" "$out"
+    '';
   };
 
-  sourceRoot = ".";
+  nativeBuildInputs = [
+    canonicalize-jars-hook
+    pkg-config
+  ];
+  buildInputs = [
+    atk
+    gtk2
+    jdk
+    libGL
+    libGLU
+    libXtst
+    gnome2.gnome_vfs
+    gnome2.libgnome
+    gnome2.libgnomeui
+  ] ++ lib.optionals (lib.hasPrefix "8u" jdk.version) [
+    libXt
+  ];
+
+  patches = [ ./awt-libs.patch ./gtk-libs.patch ];
 
-  nativeBuildInputs = [ unzip pkg-config ];
-  buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU libGL webkitgtk libsoup ];
+  prePatch = ''
+    # clear whitespace from makefiles (since we match on EOL later)
+    sed -i 's/ \+$//' ./*.mak
+  '';
 
-  NIX_LFLAGS = toString (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk-pixbuf glib ]) +
-    " -lX11 -lpango-1.0 -lgdk_pixbuf-2.0 -lglib-2.0";
+  postPatch = let makefile-sed = builtins.toFile "swt-makefile.sed" (''
+    # fix pkg-config invocations in CFLAGS/LIBS pairs.
+    #
+    # change:
+    #     FOOCFLAGS = `pkg-config --cflags `foo bar`
+    #     FOOLIBS = `pkg-config --libs-only-L foo` -lbaz
+    # into:
+    #     FOOCFLAGS = `pkg-config --cflags foo bar`
+    #     FOOLIBS = `pkg-config --libs foo bar`
+    #
+    # the latter works more consistently.
+    /^[A-Z0-9_]\+CFLAGS = `pkg-config --cflags [^`]\+`$/ {
+      N
+      s'' +
+        "/" + ''
+          ^\([A-Z0-9_]\+\)CFLAGS = `pkg-config --cflags \(.\+\)`\
+          \1LIBS = `pkg-config --libs-only-L .\+$'' +
+        "/" + ''
+          \1CFLAGS = `pkg-config --cflags \2`\
+          \1LIBS = `pkg-config --libs \2`'' +
+        "/\n" + ''
+    }
+    # fix WebKit libs not being there
+    s/\$(WEBKIT_LIB) \$(WEBKIT_OBJECTS)$/\0 `pkg-config --libs glib-2.0`/g
+  ''); in ''
+    declare -a makefiles=(./*.mak)
+    sed -i -f ${makefile-sed} "''${makefiles[@]}"
+    # assign Makefile variables eagerly & change backticks to `$(shell …)`
+    sed -i -e 's/ = `\([^`]\+\)`/ := $(shell \1)/' \
+      -e 's/`\([^`]\+\)`/$(shell \1)/' \
+      "''${makefiles[@]}"
+  '';
 
   buildPhase = ''
-    unzip src.zip -d src
+    runHook preBuild
 
-    cd src
-    sed -i "s#^LFLAGS =#LFLAGS = $NIX_LFLAGS #g"  *.mak
     export JAVA_HOME=${jdk}
 
-    sh ./build.sh
+    ./build.sh
 
     mkdir out
-    javac -d out/ $(find org/ -name "*.java")
+    find org/ -name '*.java' -type f -exec javac -d out/ {} +
+
+    runHook postBuild
   '';
 
   installPhase = ''
-    mkdir -p $out/lib
-    cp *.so $out/lib
+    runHook preInstall
+
+    if [ -n "$prefix" ]; then
+      mkdir -p "$prefix"
+    fi
+
+    mkdir -p "$out/lib"
+    cp -t "$out/lib" ./*.so
+
+    mkdir -p "$out/jars"
+    cp -t out/ version.txt
+    (cd out && jar -c *) > "$out/jars/swt.jar"
 
-    mkdir -p $out/jars
-    cp version.txt out/
-    cd out && jar -c * > $out/jars/swt.jar
+    runHook postInstall
   '';
 
   meta = with 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";
+    homepage = "https://www.eclipse.org/swt/";
+    description = ''
+      A 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 ];
-    platforms = with platforms; linux;
+    maintainers = with maintainers; [ bb010g ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/java/swt/gtk-libs.patch b/nixpkgs/pkgs/development/libraries/java/swt/gtk-libs.patch
new file mode 100644
index 000000000000..cd13082b5df7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/java/swt/gtk-libs.patch
@@ -0,0 +1,14 @@
+--- a/make_linux.mak
++++ b/make_linux.mak
+@@ -53,9 +53,4 @@
+
+-# Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0)
+-GTKCFLAGS = `pkg-config --cflags gtk+-$(GTK_VERSION) gtk+-unix-print-$(GTK_VERSION)`
++GTKCFLAGS = `pkg-config --cflags gtk+-$(GTK_VERSION) gthread-2.0 gtk+-unix-print-$(GTK_VERSION) x11 xtst`
++GTKLIBS = `pkg-config --libs gtk+-$(GTK_VERSION) gthread-2.0 gtk+-unix-print-$(GTK_VERSION) x11 xtst`
+-ifeq ($(GTK_VERSION), 3.0)
+-GTKLIBS = `pkg-config --libs-only-L gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lgtk-3 -lgdk-3 -lcairo -lgthread-2.0 -lXtst
+-else
+-GTKLIBS = `pkg-config --libs-only-L gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lgtk-x11-$(GTK_VERSION) -lgthread-2.0 -lXtst
+-endif
+