forked from mirrors/nixpkgs
4b8803dae6
gnupg is gnupg 2.2. gnupg1 is also gnupg 2.2, just with a few extra symlinks in the bin directory. None of these packages need those symlinks, and it's confusing for them to say they're depending on "gnupg1", so switch their dep to plain "gnupg".
55 lines
1.7 KiB
Nix
55 lines
1.7 KiB
Nix
{ stdenv, fetchurl, makeWrapper
|
|
, coreutils, jdk, rlwrap, gnupg }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "leiningen";
|
|
version = "2.9.1";
|
|
name = "${pname}-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
|
|
sha256 = "1h0gpzpr7xk6hvmrrq41bcp2k9aai348baf8ad9bxvci01n4zb12";
|
|
};
|
|
|
|
jarsrc = fetchurl {
|
|
# NOTE: This is actually a .jar, Github has issues
|
|
url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
|
|
sha256 = "1y2mva5s2w2szzn1b9rhz0dvkffls4ravii677ybcf2w9wd86z7a";
|
|
};
|
|
|
|
JARNAME = "${name}-standalone.jar";
|
|
|
|
unpackPhase = "true";
|
|
|
|
buildInputs = [ makeWrapper ];
|
|
propagatedBuildInputs = [ jdk ];
|
|
|
|
# the jar is not in share/java, because it's a standalone jar and should
|
|
# never be picked up by set-java-classpath.sh
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin $out/share
|
|
cp -v $src $out/bin/lein
|
|
cp -v $jarsrc $out/share/$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/$JARNAME"
|
|
wrapProgram $out/bin/lein \
|
|
--prefix PATH ":" "${stdenv.lib.makeBinPath [ rlwrap coreutils ]}" \
|
|
--set LEIN_GPG ${gnupg}/bin/gpg \
|
|
--set JAVA_CMD ${jdk}/bin/java
|
|
'';
|
|
|
|
meta = {
|
|
homepage = https://leiningen.org/;
|
|
description = "Project automation for Clojure";
|
|
license = stdenv.lib.licenses.epl10;
|
|
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
|
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
|
};
|
|
}
|