summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
authorMoritz Ulrich <moritz@tarn-vedra.de>2016-08-23 12:38:24 +0200
committerMoritz Ulrich <moritz@tarn-vedra.de>2016-08-23 12:38:24 +0200
commit08933f8a07ce2ca1ae5ebadb43535432aa5c2330 (patch)
treed67087b1628bb31a07a50dba2497e48121d1234b /pkgs/development/tools/build-managers
parent320367c2739ec86a31af6c446a951f22f97e24b5 (diff)
downloadnixlib-08933f8a07ce2ca1ae5ebadb43535432aa5c2330.tar
nixlib-08933f8a07ce2ca1ae5ebadb43535432aa5c2330.tar.gz
nixlib-08933f8a07ce2ca1ae5ebadb43535432aa5c2330.tar.bz2
nixlib-08933f8a07ce2ca1ae5ebadb43535432aa5c2330.tar.lz
nixlib-08933f8a07ce2ca1ae5ebadb43535432aa5c2330.tar.xz
nixlib-08933f8a07ce2ca1ae5ebadb43535432aa5c2330.tar.zst
nixlib-08933f8a07ce2ca1ae5ebadb43535432aa5c2330.zip
leiningen: Simplify build.
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/leiningen/builder.sh23
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix29
-rw-r--r--pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch4
3 files changed, 23 insertions, 33 deletions
diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh
deleted file mode 100644
index 953113e384b0..000000000000
--- a/pkgs/development/tools/build-managers/leiningen/builder.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-
-source $stdenv/setup
-
-mkdir -pv $out/bin $out/share/java
-
-out_bin=$out/bin/lein
-
-cp -v $src $out_bin
-cp -v $jarsrc "$out/share/java/$name-standalone.jar"
-
-for p in $patches;
-do
-    patch --verbose $out_bin -p0 < $p
-done
-chmod -v 755 $out_bin
-
-patchShebangs $out
-
-wrapProgram $out_bin \
-    --prefix PATH ":" "${stdenv.lib.makeBinPath [ rlwrap coreutils findutils ]}" \
-    --set LEIN_GPG ${gnupg1compat}/bin/gpg \
-    --set JAVA_CMD ${jdk}/bin/java
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 8a8ab9ba91f1..39a39f949a52 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper
-, coreutils, findutils, jdk, rlwrap, gnupg1compat }:
+, coreutils, jdk, rlwrap, gnupg1compat }:
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
@@ -17,16 +17,33 @@ stdenv.mkDerivation rec {
     sha256 = "1533msarx6gb3xc2sp2nmspllnqy7anpnv9a0ifl0psxm3xph06p";
   };
 
-  patches = [ ./lein-fix-jar-path.patch ];
+  JARNAME = "${name}-standalone.jar";
 
-  inherit rlwrap gnupg1compat findutils coreutils jdk;
-
-  builder = ./builder.sh;
+  unpackPhase = "true";
 
   buildInputs = [ makeWrapper ];
-
   propagatedBuildInputs = [ jdk ];
 
+  installPhase = ''
+    mkdir -p $out/bin $out/share/java
+
+    cp -v $src $out/bin/lein
+    cp -v $jarsrc $out/share/java/$JARNAME
+  '';
+
+  fixupPhase = ''
+    chmod +x $out/bin/lein
+    patchShebangs $out/bin/lein
+
+    substituteInPlace $out/bin/lein \
+      --replace 'LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar' "LEIN_JAR=$out/share/java/$JARNAME"
+
+    wrapProgram $out/bin/lein \
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ rlwrap coreutils ]}" \
+      --set LEIN_GPG ${gnupg1compat}/bin/gpg \
+      --set JAVA_CMD ${jdk}/bin/java
+  '';
+
   meta = {
     homepage = http://leiningen.org/;
     description = "Project automation for Clojure";
diff --git a/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch b/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch
deleted file mode 100644
index f7d5bc4d9a7e..000000000000
--- a/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch
+++ /dev/null
@@ -1,4 +0,0 @@
-46c47
-< LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar
----
-> LEIN_JAR=$(find $(dirname $0)/../share/java -name *-standalone.jar | head -n 1)