about summary refs log tree commit diff
path: root/pkgs/applications/editors/netbeans
diff options
context:
space:
mode:
authorBryan Gardiner <bog@khumba.net>2015-09-29 22:03:02 -0700
committerBryan Gardiner <bog@khumba.net>2015-09-29 22:03:38 -0700
commiteaddd4e5e8defd2db8dac35d910c2462177fe226 (patch)
treeef52e29a3870a79524d0376a83b8d2d56b9a48f8 /pkgs/applications/editors/netbeans
parent30cd66910ed3546ee7d8ab7007598e408e998e7c (diff)
downloadnixlib-eaddd4e5e8defd2db8dac35d910c2462177fe226.tar
nixlib-eaddd4e5e8defd2db8dac35d910c2462177fe226.tar.gz
nixlib-eaddd4e5e8defd2db8dac35d910c2462177fe226.tar.bz2
nixlib-eaddd4e5e8defd2db8dac35d910c2462177fe226.tar.lz
nixlib-eaddd4e5e8defd2db8dac35d910c2462177fe226.tar.xz
nixlib-eaddd4e5e8defd2db8dac35d910c2462177fe226.tar.zst
nixlib-eaddd4e5e8defd2db8dac35d910c2462177fe226.zip
netbeans: additional patching
- Patches a new awk call in the Netbeans 8 launcher, to fix a warning
  on startup:

    /nix/store/...-netbeans-8.0.2/netbeans/platform/lib/nbexec: line 201:
    /usr/bin/awk: No such file or directory

- Patches a bunch of sh/perl/python shebangs.
Diffstat (limited to 'pkgs/applications/editors/netbeans')
-rw-r--r--pkgs/applications/editors/netbeans/default.nix21
-rw-r--r--pkgs/applications/editors/netbeans/path.patch11
2 files changed, 25 insertions, 7 deletions
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index 1f8d3f700eae..3ea0c71f125a 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -1,4 +1,6 @@
-{stdenv, fetchurl, jdk, unzip, which, makeWrapper, makeDesktopItem}:
+{ stdenv, fetchurl, makeWrapper, makeDesktopItem
+, gawk, jdk, perl, python, unzip, which
+}:
 
 let
   desktopItem = makeDesktopItem {
@@ -16,14 +18,19 @@ stdenv.mkDerivation {
     url = http://download.netbeans.org/netbeans/8.0.2/final/zip/netbeans-8.0.2-201411181905.zip;
     sha256 = "1h9cqpwsnrhcnn4fqz3rr4s5jln8cfwki8af9zikq9j6aza337xv";
   };
+
   buildCommand = ''
-    # Unpack and copy the stuff
+    # Unpack and perform some path patching.
     unzip $src
-    mkdir -p $out
-    cp -a netbeans $out
-    
-    # Create a wrapper capable of starting it
+    patch -p1 <${./path.patch}
+    substituteInPlace netbeans/platform/lib/nbexec \
+        --subst-var-by AWK ${gawk}/bin/awk
+    patchShebangs .
+
+    # Copy to installation directory and create a wrapper capable of starting
+    # it.
     mkdir -p $out/bin
+    cp -a netbeans $out
     makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \
       --prefix PATH : ${jdk}/bin:${which}/bin \
       --prefix JAVA_HOME : ${jdk.home} \
@@ -34,7 +41,7 @@ stdenv.mkDerivation {
     cp ${desktopItem}/share/applications/* $out/share/applications
   '';
   
-  buildInputs = [ unzip makeWrapper ];
+  buildInputs = [ makeWrapper perl python unzip ];
   
   meta = {
     description = "An integrated development environment for Java, C, C++ and PHP";
diff --git a/pkgs/applications/editors/netbeans/path.patch b/pkgs/applications/editors/netbeans/path.patch
new file mode 100644
index 000000000000..57b5730e137c
--- /dev/null
+++ b/pkgs/applications/editors/netbeans/path.patch
@@ -0,0 +1,11 @@
+--- a/netbeans/platform/lib/nbexec	2015-09-29 21:26:39.282600903 -0700
++++ b/netbeans/platform/lib/nbexec	2015-09-29 21:26:58.977697858 -0700
+@@ -198,7 +198,7 @@
+         SunOS*) awk=nawk ;;
+         *) awk=awk ;;
+     esac
+-    jdk_version=$("${jdkhome}/bin/java" -version 2>&1 | "/usr/bin/${awk}" -F '"' '/version/ {print substr($2, 1, 3)}')    
++    jdk_version=$("${jdkhome}/bin/java" -version 2>&1 | "@AWK@" -F '"' '/version/ {print substr($2, 1, 3)}')    
+     if [ "$jdk_version" = "1.7" ] ; then   
+         jargs="$jargs $launcher_args"
+     fi