diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/java')
40 files changed, 1052 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/bcel/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/bcel/default.nix new file mode 100644 index 000000000000..8d9b4e54fe8d --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/commons/bcel/default.nix @@ -0,0 +1,25 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + version = "5.2"; + name = "commons-bcel-${version}"; + + src = fetchurl { + url = "mirror://apache/commons/bcel/binaries/bcel-${version}.tar.gz"; + sha256 = "13ppnd6afljdjq21jpn4ik2h1yxq8k2kg21ghi0lyb1yap1rd7k6"; + }; + + installPhase = '' + tar xf ${src} + mkdir -p $out/share/java + cp bcel-5.2.jar $out/share/java/ + ''; + + meta = { + homepage = "http://commons.apache.org/proper/commons-bcel/"; + description = "Gives users a convenient way to analyze, create, and manipulate (binary) Java class files"; + maintainers = with stdenv.lib.maintainers; [ copumpkin ]; + license = stdenv.lib.licenses.asl20; + platforms = with stdenv.lib.platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix new file mode 100644 index 000000000000..e3c464482c7e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "commons-bsf-1.2"; + + src = fetchurl { + url = mirror://apache/commons/bsf/binaries/bsf-bin-2.4.0.tar.gz; + sha256 = "1my3hv4y8cvrd1kr315wvbjqsamzlzswnbqcmsa2m4hqcafddfr8"; + }; + + installPhase = '' + mkdir -p $out/share/java + cp lib/bsf.jar $out/share/java/ + ''; + + meta = { + description = "Interface to scripting languages, including JSR-223"; + homepage = http://commons.apache.org/proper/commons-bsf/; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.unix; + }; +} + diff --git a/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix new file mode 100644 index 000000000000..3c729f42320a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "1.18"; + name = "commons-compress-${version}"; + + src = fetchurl { + url = "mirror://apache/commons/compress/binaries/${name}-bin.tar.gz"; + sha256 = "0ciwzq134rqh1fp7qba091rajf2pdagfb665rarni7glb2x4lha1"; + }; + + installPhase = '' + tar xf ${src} + mkdir -p $out/share/java + cp *.jar $out/share/java/ + ''; + + meta = { + homepage = http://commons.apache.org/proper/commons-compress; + description = "Allows manipulation of ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE and Z files"; + maintainers = with stdenv.lib.maintainers; [ copumpkin ]; + license = stdenv.lib.licenses.asl20; + platforms = with stdenv.lib.platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/commons/fileupload/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/fileupload/default.nix new file mode 100644 index 000000000000..6fddc3cfe0c3 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/commons/fileupload/default.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + version = "1.3.1"; + name = "commons-fileupload-${version}"; + + src = fetchurl { + url = "mirror://apache/commons/fileupload/binaries/${name}-bin.tar.gz"; + sha256 = "1jy7w2j2ay56mpq4ij3331cf9zgpkm832ydr63svb35j0ymnky72"; + }; + installPhase = '' + tar xf ${src} + mkdir -p $out/share/java + cp lib/*.jar $out/share/java/ + ''; + + meta = { + homepage = http://commons.apache.org/proper/commons-fileupload; + description = "Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications"; + maintainers = with stdenv.lib.maintainers; [ copumpkin ]; + license = stdenv.lib.licenses.asl20; + platforms = with stdenv.lib.platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix new file mode 100644 index 000000000000..03b083328da4 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "2.6"; + name = "commons-io-${version}"; + + src = fetchurl { + url = "mirror://apache/commons/io/binaries/${name}-bin.tar.gz"; + sha256 = "1nzkv8gi56l1m4h7s8bcvqm0naq3bhh7fazcmgdhcr2zkjs5zfmn"; + }; + + installPhase = '' + tar xf ${src} + mkdir -p $out/share/java + cp *.jar $out/share/java/ + ''; + + meta = { + homepage = "http://commons.apache.org/proper/commons-io"; + description = "A library of utilities to assist with developing IO functionality"; + maintainers = with stdenv.lib.maintainers; [ copumpkin ]; + license = stdenv.lib.licenses.asl20; + platforms = with stdenv.lib.platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix new file mode 100644 index 000000000000..e46f22fadfb9 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "3.6"; + name = "commons-lang-${version}"; + + src = fetchurl { + url = "mirror://apache/commons/lang/binaries/commons-lang3-${version}-bin.tar.gz"; + sha256 = "0r1wdjw48k2mk2wzyq5c3cx2zmark4q9psw52ma6v2i0sh6a9il0"; + }; + + installPhase = '' + tar xf ${src} + mkdir -p $out/share/java + cp *.jar $out/share/java/ + ''; + + meta = { + homepage = "http://commons.apache.org/proper/commons-lang"; + description = "Provides additional methods to manipulate standard Java library classes"; + maintainers = with stdenv.lib.maintainers; [ copumpkin ]; + license = stdenv.lib.licenses.asl20; + platforms = with stdenv.lib.platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix new file mode 100644 index 000000000000..4e3fa2655020 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "commons-logging-1.2"; + + src = fetchurl { + url = mirror://apache/commons/logging/binaries/commons-logging-1.2-bin.tar.gz; + sha256 = "1gc70pmcv0x6ibl89jglmr22f8zpr63iaifi49nrq399qw2qhx9z"; + }; + + installPhase = '' + mkdir -p $out/share/java + cp commons-logging-*.jar $out/share/java/ + ''; + + meta = { + description = "Wrapper around a variety of logging API implementations"; + homepage = http://commons.apache.org/proper/commons-logging; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.unix; + }; +} + diff --git a/nixpkgs/pkgs/development/libraries/java/commons/math/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/math/default.nix new file mode 100644 index 000000000000..10c39f037890 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/commons/math/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "3.6.1"; + name = "commons-math-${version}"; + + src = fetchurl { + url = "mirror://apache/commons/math/binaries/commons-math3-${version}-bin.tar.gz"; + sha256 = "0x4nx5pngv2n4ga11c1s4w2mf6cwydwkgs7da6wwvcjraw57bhkz"; + }; + + installPhase = '' + tar xf ${src} + mkdir -p $out/share/java + cp *.jar $out/share/java/ + ''; + + meta = { + homepage = "http://commons.apache.org/proper/commons-math/"; + description = "A library of lightweight, self-contained mathematics and statistics components"; + maintainers = with stdenv.lib.maintainers; [ copumpkin ]; + license = stdenv.lib.licenses.asl20; + platforms = with stdenv.lib.platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/cup/default.nix b/nixpkgs/pkgs/development/libraries/java/cup/default.nix new file mode 100644 index 000000000000..de031a08fe8c --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/cup/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, jdk, ant } : + +stdenv.mkDerivation rec { + name = "java-cup-${version}"; + version = "11b-20160615"; + + src = fetchurl { + url = "http://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${version}.tar.gz"; + sha256 = "1ymz3plngxclh7x3xr31537rvvak7lwyd0qkmnl1mkj5drh77rz0"; + }; + + sourceRoot = "."; + + nativeBuildInputs = [ jdk ant ]; + + patches = [ ./javacup-0.11b_beta20160615-build-xml-git.patch ]; + + buildPhase = "ant"; + + installPhase = '' + mkdir -p $out/{bin,share/{java,java-cup}} + cp dist/java-cup-11b.jar $out/share/java-cup/ + cp dist/java-cup-11b-runtime.jar $out/share/java/ + cat > $out/bin/javacup <<EOF + #! $shell + exec ${jdk.jre}/bin/java -jar $out/share/java-cup/java-cup-11b.jar "\$@" + EOF + chmod a+x $out/bin/javacup + ''; + + meta = { + homepage = http://www2.cs.tum.edu/projects/cup/; + description = "LALR parser generator for Java"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/cup/javacup-0.11b_beta20160615-build-xml-git.patch b/nixpkgs/pkgs/development/libraries/java/cup/javacup-0.11b_beta20160615-build-xml-git.patch new file mode 100644 index 000000000000..f2054ee9d4d3 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/cup/javacup-0.11b_beta20160615-build-xml-git.patch @@ -0,0 +1,38 @@ +--- javacup/build.xml.orig 2016-06-15 07:10:15.000000000 -0300 ++++ javacup/build.xml 2016-07-17 08:46:46.632722844 -0300 +@@ -21,26 +21,6 @@ + <mkdir dir="${dist}" /> + <loadfile property="cupversion" srcFile="version.txt" failonerror="false" /> + <property name="cupversion" value="custombuild" unless:set="cupversion"/> +- <exec executable="git" outputproperty="gitversion"> +- <arg value="log"/> +- <arg value="-1"/> +- <arg value="--format=%h"/> +- </exec> +- <exec executable="git" outputproperty="changed"> +- <arg value="status"/> +- <arg value="--porcelain"/> +- <redirector> +- <outputfilterchain> +- <linecontainsregexp> +- <regexp pattern='^M.*'/> +- </linecontainsregexp> +- <tokenfilter> +- <replaceregex pattern=".*" replace="modifications based on "/> +- </tokenfilter> +- </outputfilterchain> +- </redirector> +- </exec> +- <property name="svnversion">${changed}${gitversion}</property> + </target> + + <property environment="env" /> +@@ -79,7 +59,7 @@ + <copy todir="${java}"><fileset dir="${src}"></fileset></copy> + <replace file="${java}/java_cup/version.java" + token="+ version_str" +- value='+ "v0.11b ${cupversion} (GIT ${svnversion})"'> ++ value='+ "v0.11b ${cupversion}"'> + </replace> + <javac srcdir="${java}" destdir="${classes}" verbose="off" listfiles="off" debug="on" source="1.8" target="1.8"> + <classpath refid="libraries"/> diff --git a/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix b/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix new file mode 100644 index 000000000000..5ec10cc7e0df --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl, gettext, jdk, libmatthew_java}: + +stdenv.mkDerivation { + name = "dbus-java-2.7"; + src = fetchurl { + url = https://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.7.tar.gz; + sha256 = "0cyaxd8x6sxmi6pklkkx45j311a6w51fxl4jc5j3inc4cailwh5y"; + }; + JAVA_HOME=jdk; + JAVA="${jdk}/bin/java"; + PREFIX=''''${out}''; + JAVAUNIXLIBDIR="${libmatthew_java}/lib/jni"; + JAVAUNIXJARDIR="${libmatthew_java}/share/java"; + buildInputs = [ gettext jdk ]; + # I'm too lazy to build the documentation + preBuild = '' + sed -i -e "s|all: bin doc man|all: bin|" \ + -e "s|install: install-bin install-man install-doc|install: install-bin|" Makefile + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = [ maintainers.sander ]; + license = licenses.afl21; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/geoipjava/default.nix b/nixpkgs/pkgs/development/libraries/java/geoipjava/default.nix new file mode 100644 index 000000000000..6af8885464a3 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/geoipjava/default.nix @@ -0,0 +1,27 @@ +{stdenv, fetchurl, jdk, unzip}: + +stdenv.mkDerivation { + name = "GeoIPJava-1.2.5"; + src = fetchurl { + url = https://geolite.maxmind.com/download/geoip/api/java/GeoIPJava-1.2.5.zip; + sha256 = "1gb2d0qvvq7xankz7l7ymbr3qprwk9bifpy4hlgw0sq4i6a55ypd"; + }; + buildInputs = [ jdk unzip ]; + buildPhase = + '' + cd source + javac $(find . -name \*.java) + jar cfv maxmindgeoip.jar $(find . -name \*.class) + ''; + installPhase = + '' + mkdir -p $out/share/java + cp maxmindgeoip.jar $out/share/java + ''; + meta = { + description = "GeoIP Java API"; + license = stdenv.lib.licenses.lgpl21Plus; + maintainers = [ stdenv.lib.maintainers.sander ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/builder.sh b/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/builder.sh new file mode 100644 index 000000000000..d37e110011e8 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/builder.sh @@ -0,0 +1,4 @@ +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 new file mode 100644 index 000000000000..e34699d7740e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix @@ -0,0 +1,16 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "gwt-dnd-2.6.5"; + builder = ./builder.sh; + + src = fetchurl { + url = http://gwt-dnd.googlecode.com/files/gwt-dnd-2.6.5.jar; + sha256 = "07zdlr8afs499asnw0dcjmw1cnjc646v91lflx5dv4qj374c97fw"; + }; + + meta = with stdenv.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 new file mode 100644 index 000000000000..8c2502385f2b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/gwt-widgets/builder.sh @@ -0,0 +1,6 @@ +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 new file mode 100644 index 000000000000..ec407076906d --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix @@ -0,0 +1,16 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "gwt-widgets-0.2.0"; + builder = ./builder.sh; + + src = fetchurl { + url = mirror://sourceforge/gwt-widget/gwt-widgets-0.2.0-bin.tar.gz; + sha256 = "09isj4j6842rj13nv8264irkjjhvmgihmi170ciabc98911bakxb"; + }; + + meta = with stdenv.lib; { + platforms = platforms.unix; + license = with licenses; [ afl21 lgpl2 ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/hsqldb/builder.sh b/nixpkgs/pkgs/development/libraries/java/hsqldb/builder.sh new file mode 100755 index 000000000000..d7de23ab95eb --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/hsqldb/builder.sh @@ -0,0 +1,6 @@ +source $stdenv/setup + +unzip $src +cd hsqldb* +mkdir -p $out +cp -R * $out/ diff --git a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix new file mode 100644 index 000000000000..a478ab0fc502 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, unzip +}: + +stdenv.mkDerivation { + name = "hsqldb-2.4.0"; + builder = ./builder.sh; + + src = fetchurl { + url = mirror://sourceforge/hsqldb/hsqldb_1_8_0_9.zip; + sha256 = "1v5dslwsqb7csjmi5g78pghsay2pszidvlzhyi79y18mra5iv3g9"; + }; + + buildInputs = [ unzip + ]; + + meta = with stdenv.lib; { + platforms = platforms.unix; + license = licenses.bsd3; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/httpunit/builder.sh b/nixpkgs/pkgs/development/libraries/java/httpunit/builder.sh new file mode 100755 index 000000000000..273850082958 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/httpunit/builder.sh @@ -0,0 +1,5 @@ +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 new file mode 100644 index 000000000000..500c575f73aa --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/httpunit/default.nix @@ -0,0 +1,19 @@ +{stdenv, fetchurl, unzip} : + +stdenv.mkDerivation { + name = "httpunit-1.7"; + builder = ./builder.sh; + + src = fetchurl { + url = mirror://sourceforge/httpunit/httpunit-1.7.zip; + sha256 = "09gnayqgizd8cjqayvdpkxrc69ipyxawc96aznfrgdhdiwv8l5zf"; + }; + + inherit unzip; + + meta = with stdenv.lib; { + homepage = http://httpunit.sourceforge.net; + platforms = platforms.unix; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/hydra-ant-logger/default.nix b/nixpkgs/pkgs/development/libraries/java/hydra-ant-logger/default.nix new file mode 100644 index 000000000000..7d1fac39b1cb --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/hydra-ant-logger/default.nix @@ -0,0 +1,25 @@ +{ fetchgit, stdenv, ant, jdk }: + +stdenv.mkDerivation rec { + name = "hydra-ant-logger-${version}"; + version = "2010.2"; + + src = fetchgit { + url = https://github.com/NixOS/hydra-ant-logger.git; + rev = "dae3224f4ed42418d3492bdf5bee4f825819006f"; + sha256 = "01s7m6007rn9107rw5wcgna7i20x6p6kfzl4f79jrvpkjy6kz176"; + }; + + buildInputs = [ ant jdk ]; + + buildPhase = "mkdir lib; ant"; + + installPhase = '' + mkdir -p $out/share/java + cp -v *.jar $out/share/java + ''; + + meta = { + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/jdom/builder.sh b/nixpkgs/pkgs/development/libraries/java/jdom/builder.sh new file mode 100755 index 000000000000..dbec4b6f3e0e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/jdom/builder.sh @@ -0,0 +1,6 @@ +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 new file mode 100644 index 000000000000..16755471acd7 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/jdom/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl} : + +stdenv.mkDerivation { + name = "jdom-1.0"; + builder = ./builder.sh; + + src = fetchurl { + url = http://www.jdom.org/dist/binary/jdom-1.0.tar.gz; + sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf"; + }; + + meta = with stdenv.lib; { + description = "Java-based solution for accessing, manipulating, and outputting XML data from Java code"; + homepage = http://www.jdom.org; + platforms = platforms.unix; + license = licenses.bsdOriginal; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/jflex/default.nix b/nixpkgs/pkgs/development/libraries/java/jflex/default.nix new file mode 100644 index 000000000000..744419dcd533 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/jflex/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, jre} : + +stdenv.mkDerivation rec { + name = "jflex-1.7.0"; + + src = fetchurl { + url = "http://jflex.de/release/${name}.tar.gz"; + sha256 = "1k7bqw1mn569g9dxc0ia3yz1bzgzs5w52lh1xn3hgj7k5ymh54kk"; + }; + + sourceRoot = name; + + installPhase = '' + runHook preInstall + mkdir -p $out + cp -a * $out + rm -f $out/bin/jflex.bat + + patchShebangs $out + sed -i -e '/^JAVA=java/ s#java#${jre}/bin/java#' $out/bin/jflex + runHook postInstall + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/jflex --version + runHook postInstallCheck + ''; + + meta = { + homepage = https://www.jflex.de/; + description = "Lexical analyzer generator for Java, written in Java"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/junit/default.nix b/nixpkgs/pkgs/development/libraries/java/junit/default.nix new file mode 100644 index 000000000000..0879f0a69260 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/junit/default.nix @@ -0,0 +1,28 @@ +{ stdenv, 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 = stdenv.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 new file mode 100644 index 000000000000..97fd42d0b81b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/junixsocket/darwin.patch @@ -0,0 +1,20 @@ +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 new file mode 100644 index 000000000000..bc34957b9c3e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/junixsocket/default.nix @@ -0,0 +1,42 @@ +{ 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=cc" "-Dant.build.javac.source=1.6" ] + ++ stdenv.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 = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/jzmq/default.nix b/nixpkgs/pkgs/development/libraries/java/jzmq/default.nix new file mode 100644 index 000000000000..402f893034b6 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/jzmq/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, zeromq3, jdk }: + +stdenv.mkDerivation rec { + name = "jzmq-${version}"; + version = "3.1.0"; + + src = fetchFromGitHub { + owner = "zeromq"; + repo = "jzmq"; + rev = "v${version}"; + sha256 = "1wlzs604mgmqmrgpk4pljx2nrlxzdfi3r8k59qlm90fx8qkqkc63"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ zeromq3 jdk ]; + + preConfigure = '' + ${if stdenv.hostPlatform.system == "x86_64-darwin" then + '' sed -i -e 's~/Headers~/include~' -e 's~_JNI_INC_SUBDIRS=\".*\"~_JNI_INC_SUBDIRS=\"darwin\"~' configure + '' else ""} + ''; + + meta = { + homepage = http://www.zeromq.org; + description = "Java bindings for ZeroMQ"; + platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.lgpl3; + maintainers = [ stdenv.lib.maintainers.vizanto ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/libmatthew-java/default.nix b/nixpkgs/pkgs/development/libraries/java/libmatthew-java/default.nix new file mode 100644 index 000000000000..98291a7763ca --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/libmatthew-java/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, jdk}: + +stdenv.mkDerivation { + name = "libmatthew-java-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; + sha256 = "1yldkhsdzm0a41a0i881bin2jklhp85y3ah245jd6fz3npcx7l85"; + }; + JAVA_HOME=jdk; + PREFIX=''''${out}''; + buildInputs = [ jdk ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = [ maintainers.sander ]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix new file mode 100644 index 000000000000..be3ddfff4c84 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "lombok-1.18.8"; + + src = fetchurl { + url = "https://projectlombok.org/downloads/${name}.jar"; + sha256 = "1z14rc3fh03qvn2xkjrb7ha0hddv3f3vsp781xm336sp4cl9b5h3"; + }; + + buildCommand = '' + mkdir -p $out/share/java + cp $src $out/share/java/lombok.jar + ''; + + meta = { + description = "A library that can write a lot of boilerplate for your Java project"; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.mit; + homepage = https://projectlombok.org/; + maintainers = [ stdenv.lib.maintainers.CrystalGamma ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/lucene/builder.sh b/nixpkgs/pkgs/development/libraries/java/lucene/builder.sh new file mode 100755 index 000000000000..d95feb5eeb44 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/lucene/builder.sh @@ -0,0 +1,6 @@ +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 new file mode 100644 index 000000000000..691b9905b04f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/lucene/default.nix @@ -0,0 +1,19 @@ +{stdenv, fetchurl} : + +stdenv.mkDerivation rec { + name = "lucene-${version}"; + version = "1.4.3"; + + builder = ./builder.sh; + + src = fetchurl { + url = "https://archive.apache.org/dist/jakarta/lucene/${name}.tar.gz"; + sha256 = "1mxaxg65f7v8n60irjwm24v7hcisbl0srmpvcy1l4scs6rjj1awh"; + }; + + meta = with stdenv.lib; { + description = "Java full-text search engine"; + platforms = platforms.unix; + license = licenses.asl20; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/mockobjects/builder.sh b/nixpkgs/pkgs/development/libraries/java/mockobjects/builder.sh new file mode 100755 index 000000000000..fd5d1a20869c --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/mockobjects/builder.sh @@ -0,0 +1,6 @@ +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 new file mode 100644 index 000000000000..ae93765ff981 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/mockobjects/default.nix @@ -0,0 +1,17 @@ +{stdenv, fetchurl} : + +stdenv.mkDerivation { + name = "mockobjects-0.09"; + builder = ./builder.sh; + + src = fetchurl { + url = mirror://sourceforge/mockobjects/mockobjects-bin-0.09.tar; + sha256 = "18rnyqfcyh0s3dwkkaszdd50ssyjx5fa1y3ii309ldqg693lfgnz"; + }; + + meta = with stdenv.lib; { + description = "Generic unit testing framework and methodology for testing any kind of code"; + platforms = platforms.unix; + license = licenses.asl20; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/rhino/default.nix b/nixpkgs/pkgs/development/libraries/java/rhino/default.nix new file mode 100644 index 000000000000..544f0f4c4e91 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/rhino/default.nix @@ -0,0 +1,59 @@ +{ fetchurl, stdenv, unzip, ant, javac, jvm }: + +let + version = "1.7R2"; + + xbeans = fetchurl { + url = "http://archive.apache.org/dist/xmlbeans/binaries/xmlbeans-2.2.0.zip"; + sha256 = "1pb08d9j81d0wz5wj31idz198iwhqb7mch872n08jh1354rjlqwk"; + }; +in + +stdenv.mkDerivation { + name = "rhino-${version}"; + + src = fetchurl { + url = "mirror://mozilla/js/rhino1_7R2.zip"; + sha256 = "1p32hkghi6bkc3cf2dcqyaw5cjj7403mykcp0fy8f5bsnv0pszv7"; + }; + + patches = [ ./gcj-type-mismatch.patch ]; + + hardeningDisable = [ "fortify" "format" ]; + + preConfigure = + '' + find -name \*.jar -or -name \*.class -exec rm -v {} \; + + # The build process tries to download it by itself. + mkdir -p "build/tmp-xbean" + ln -sv "${xbeans}" "build/tmp-xbean/xbean.zip" + ''; + + buildInputs = [ unzip ant javac jvm ]; + + buildPhase = "ant jar"; + doCheck = false; + + # FIXME: Install javadoc as well. + installPhase = + '' + mkdir -p "$out/share/java" + cp -v *.jar "$out/share/java" + ''; + + meta = with stdenv.lib; { + description = "An implementation of JavaScript written in Java"; + + longDescription = + '' Rhino is an open-source implementation of JavaScript written + entirely in Java. It is typically embedded into Java applications + to provide scripting to end users. + ''; + + homepage = http://www.mozilla.org/rhino/; + + license = with licenses; [ mpl11 /* or */ gpl2Plus ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/rhino/gcj-type-mismatch.patch b/nixpkgs/pkgs/development/libraries/java/rhino/gcj-type-mismatch.patch new file mode 100644 index 000000000000..dac7b209069a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/rhino/gcj-type-mismatch.patch @@ -0,0 +1,103 @@ +Work around GCJ bug #35410: +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35410 . + +diff --git a/src/org/mozilla/javascript/Arguments.java b/src/org/mozilla/javascript/Arguments.java +index d914294..d658f12 100644 +--- a/src/org/mozilla/javascript/Arguments.java ++++ b/src/org/mozilla/javascript/Arguments.java +@@ -144,7 +144,7 @@ final class Arguments extends IdScriptableObject + synchronized (this) { + if (args[index] != NOT_FOUND) { + if (args == activation.originalArgs) { +- args = args.clone(); ++ args = (Object[]) args.clone(); + } + args[index] = value; + return; +@@ -162,7 +162,7 @@ final class Arguments extends IdScriptableObject + synchronized (this) { + if (args[index] != NOT_FOUND) { + if (args == activation.originalArgs) { +- args = args.clone(); ++ args = (Object[]) args.clone(); + } + args[index] = NOT_FOUND; + return; +diff --git a/src/org/mozilla/javascript/FunctionObject.java b/src/org/mozilla/javascript/FunctionObject.java +index 1d6c752..3adc100 100644 +--- a/src/org/mozilla/javascript/FunctionObject.java ++++ b/src/org/mozilla/javascript/FunctionObject.java +@@ -455,7 +455,7 @@ public class FunctionObject extends BaseFunction + Object converted = convertArg(cx, scope, arg, typeTags[i]); + if (arg != converted) { + if (invokeArgs == args) { +- invokeArgs = args.clone(); ++ invokeArgs = (Object[]) args.clone(); + } + invokeArgs[i] = converted; + } +diff --git a/src/org/mozilla/javascript/Interpreter.java b/src/org/mozilla/javascript/Interpreter.java +index f7f544d..e125e2f 100644 +--- a/src/org/mozilla/javascript/Interpreter.java ++++ b/src/org/mozilla/javascript/Interpreter.java +@@ -285,9 +285,9 @@ public class Interpreter implements Evaluator + // clone stack but keep varSource to point to values + // from this frame to share variables. + +- copy.stack = stack.clone(); +- copy.stackAttributes = stackAttributes.clone(); +- copy.sDbl = sDbl.clone(); ++ copy.stack = (Object[]) stack.clone(); ++ copy.stackAttributes = (int[]) stackAttributes.clone(); ++ copy.sDbl = (double[]) sDbl.clone(); + + copy.frozen = false; + return copy; +diff --git a/src/org/mozilla/javascript/NativeJavaClass.java b/src/org/mozilla/javascript/NativeJavaClass.java +index f72f9e7..25c6757 100644 +--- a/src/org/mozilla/javascript/NativeJavaClass.java ++++ b/src/org/mozilla/javascript/NativeJavaClass.java +@@ -271,7 +271,7 @@ public class NativeJavaClass extends NativeJavaObject implements Function + Object x = Context.jsToJava(arg, argTypes[i]); + if (x != arg) { + if (args == origArgs) { +- args = origArgs.clone(); ++ args = (Object[]) origArgs.clone(); + } + args[i] = x; + } +diff --git a/src/org/mozilla/javascript/NativeJavaMethod.java b/src/org/mozilla/javascript/NativeJavaMethod.java +index b6eaf8b..dc699a0 100644 +--- a/src/org/mozilla/javascript/NativeJavaMethod.java ++++ b/src/org/mozilla/javascript/NativeJavaMethod.java +@@ -213,7 +213,7 @@ public class NativeJavaMethod extends BaseFunction + Object coerced = Context.jsToJava(arg, argTypes[i]); + if (coerced != arg) { + if (origArgs == args) { +- args = args.clone(); ++ args = (Object[]) args.clone(); + } + args[i] = coerced; + } +diff --git a/src/org/mozilla/javascript/regexp/NativeRegExp.java b/src/org/mozilla/javascript/regexp/NativeRegExp.java +index 0bae489..f7124bf 100644 +--- a/src/org/mozilla/javascript/regexp/NativeRegExp.java ++++ b/src/org/mozilla/javascript/regexp/NativeRegExp.java +@@ -2168,7 +2168,7 @@ System.out.println("Testing at " + gData.cp + ", op = " + op); + // XXX: If backTrackData will no longer be used, then + // there is no need to clone backTrackData.parens + if (backTrackData.parens != null) { +- gData.parens = backTrackData.parens.clone(); ++ gData.parens = (long[]) backTrackData.parens.clone(); + } + + gData.cp = backTrackData.cp; +@@ -2708,7 +2708,7 @@ class REBackTrackData { + continuation_pc = pc; + lastParen = gData.lastParen; + if (gData.parens != null) { +- parens = gData.parens.clone(); ++ parens = (long[]) gData.parens.clone(); + } + cp = gData.cp; + stateStackTop = gData.stateStackTop; diff --git a/nixpkgs/pkgs/development/libraries/java/saxon/default.nix b/nixpkgs/pkgs/development/libraries/java/saxon/default.nix new file mode 100644 index 000000000000..687e1e8a1deb --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/saxon/default.nix @@ -0,0 +1,83 @@ +{ stdenv, fetchurl, unzip, jre }: + +let + common = { pname, version, src, description + , prog ? null, jar ? null, license ? stdenv.lib.licenses.mpl20 }: + stdenv.mkDerivation { + name = "${pname}-${version}"; + inherit pname version src; + + nativeBuildInputs = [ unzip ]; + + buildCommand = let + prog' = if prog == null then pname else prog; + jar' = if jar == null then pname else jar; + in '' + unzip $src -d $out + mkdir -p $out/bin $out/share $out/share/java + cp -s "$out"/*.jar "$out/share/java/" # */ + rm -rf $out/notices + mv $out/doc $out/share + cat > $out/bin/${prog'} <<EOF + #! $shell + export JAVA_HOME=${jre} + exec ${jre}/bin/java -jar $out/${jar'}.jar "\$@" + EOF + chmod a+x $out/bin/${prog'} + ''; + + meta = with stdenv.lib; { + inherit description license; + homepage = http://saxon.sourceforge.net/; + maintainers = with maintainers; [ rvl ]; + platforms = platforms.all; + }; + }; + +in { + saxon = common { + pname = "saxon"; + version = "6.5.3"; + src = fetchurl { + url = mirror://sourceforge/saxon/saxon6_5_3.zip; + sha256 = "0l5y3y2z4wqgh80f26dwwxwncs8v3nkz3nidv14z024lmk730vs3"; + }; + description = "XSLT 1.0 processor"; + # http://saxon.sourceforge.net/saxon6.5.3/conditions.html + license = stdenv.lib.licenses.mpl10; + }; + + saxonb_8_8 = common { + pname = "saxonb"; + version = "8.8"; + jar = "saxon8"; + src = fetchurl { + url = mirror://sourceforge/saxon/saxonb8-8j.zip; + sha256 = "15bzrfyd2f1045rsp9dp4znyhmizh1pm97q8ji2bc0b43q23xsb8"; + }; + description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0"; + }; + + saxonb_9_1 = common { + pname = "saxonb"; + version = "9.1.0.8"; + jar = "saxon9"; + src = fetchurl { + url = mirror://sourceforge/saxon/Saxon-B/9.1.0.8/saxonb9-1-0-8j.zip; + sha256 = "1d39jdnwr3v3pzswm81zry6yikqlqy9dp2l2wmpqdiw00r5drg4j"; + }; + description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0"; + }; + + saxon-he = common { + pname = "saxon-he"; + version = "9.9.0.1"; + prog = "saxon-he"; + jar = "saxon9he"; + src = fetchurl { + url = mirror://sourceforge/saxon/Saxon-HE/9.9/SaxonHE9-9-0-1J.zip; + sha256 = "1inxd7ia7rl9fxfrw8dy9sb7rqv76ipblaki5262688wf2dscs60"; + }; + description = "Processor for XSLT 3.0, XPath 2.0 and 3.1, and XQuery 3.1"; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/smack/builder.sh b/nixpkgs/pkgs/development/libraries/java/smack/builder.sh new file mode 100644 index 000000000000..c97259e6a17e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/smack/builder.sh @@ -0,0 +1,7 @@ +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 new file mode 100644 index 000000000000..e28925c65bb2 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/smack/default.nix @@ -0,0 +1,16 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "smack-4.1.9"; + builder = ./builder.sh; + + src = fetchurl { + url = http://www.igniterealtime.org/downloadServlet?filename=smack/smack_4_1_9.tar.gz; + sha256 = "009x0qcxd4dkvwcjz2nla470pwbabwvg37wc21pslpw42ldi0bzp"; + }; + + meta = { + platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.asl20; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/java/swt/default.nix b/nixpkgs/pkgs/development/libraries/java/swt/default.nix new file mode 100644 index 000000000000..0dc9e8bd892c --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/java/swt/default.nix @@ -0,0 +1,73 @@ +{ stdenv, lib, fetchurl, unzip, jdk, pkgconfig, gtk2 +, libXt, libXtst, libXi, libGLU_combined, webkitgtk, libsoup, xorg +, pango, gdk_pixbuf, glib +}: + +let + platformMap = { + "x86_64-linux" = + { platform = "gtk-linux-x86_64"; + sha256 = "1qq0pjll6030v4ml0hifcaaik7sx3fl7ghybfdw95vsvxafwp2ff"; }; + "i686-linux" = + { platform = "gtk-linux-x86"; + sha256 = "03mhzraikcs4fsz7d3h5af9pw1bbcfd6dglsvbk2ciwimy9zj30q"; }; + "x86_64-darwin" = + { platform = "cocoa-macosx-x86_64"; + sha256 = "00k1mfbncvyh8klgmk0891w8jwnd5niqb16j1j8yacrm2smmlb05"; }; + }; + + metadata = assert platformMap ? ${stdenv.hostPlatform.system}; platformMap.${stdenv.hostPlatform.system}; + +in stdenv.mkDerivation rec { + version = "4.5"; + fullVersion = "${version}-201506032000"; + name = "swt-${version}"; + + 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}/${name}-${metadata.platform}.zip"; + sha256 = metadata.sha256; + }; + + sourceRoot = "."; + + nativeBuildInputs = [ unzip pkgconfig ]; + buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU_combined webkitgtk libsoup ]; + + NIX_LFLAGS = (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk_pixbuf glib ]) ++ + [ "-lX11" "-lpango-1.0" "-lgdk_pixbuf-2.0" "-lglib-2.0" ]; + + 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 ]; + platforms = with platforms; linux; + }; +} |