Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
Nix
at llvm-cleanup
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159{ lib, stdenv, stripJavaArchivesHook, fetchzip, pkg-config, atk, glib, gtk2, jdk, libGL, libGLU, libXt, libXtst, gnome2}:
let platformMap = { x86_64-linux = { platform = "gtk-linux-x86_64"; sha256 = "17frac2nsx22hfa72264as31rn35hfh9gfgy0n6wvc3knl5d2716"; }; i686-linux = { platform = "gtk-linux-x86"; sha256 = "13ca17rga9yvdshqvh0sfzarmdcl4wv4pid0ls7v35v4844zbc8b"; }; x86_64-darwin = { platform = "cocoa-macosx-x86_64"; sha256 = "0wjyxlw7i9zd2m8syd6k1q85fj8pzhxlfsrl8fpgsj37p698bd0a"; }; };
metadata = assert platformMap ? ${stdenv.hostPlatform.system}; platformMap.${stdenv.hostPlatform.system};in stdenv.mkDerivation rec { pname = "swt"; version = "4.5"; fullVersion = "${version}-201506032000";
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 = fetchzip { url = "https://archive.eclipse.org/eclipse/downloads/drops4/" + "R-${fullVersion}/${pname}-${version}-${metadata.platform}.zip"; inherit (metadata) sha256; stripRoot = false; postFetch = '' mkdir "$unpackDir" cd "$unpackDir"
renamed="$TMPDIR/src.zip" mv "$out/src.zip" "$renamed" unpackFile "$renamed" rm -r "$out"
mv "$unpackDir" "$out" ''; };
nativeBuildInputs = [ stripJavaArchivesHook 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 ];
prePatch = '' # clear whitespace from makefiles (since we match on EOL later) sed -i 's/ \+$//' ./*.mak '';
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 = '' runHook preBuild
export JAVA_HOME=${jdk}
./build.sh
mkdir out find org/ -name '*.java' -type f -exec javac -d out/ {} +
runHook postBuild '';
installPhase = '' 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"
runHook postInstall '';
meta = with lib; { 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; [ bb010g ]; platforms = platforms.linux; };}