depot/third_party/nixpkgs/pkgs/development/python-modules/skein/skeinrepo.nix
Default email 81047829ea Project import generated by Copybara.
GitOrigin-RevId: 48d63e924a2666baf37f4f14a18f19347fbd54a2
2022-02-10 15:34:41 -05:00

44 lines
1.2 KiB
Nix

{ autoPatchelfHook, lib, maven, stdenv, src, version }:
stdenv.mkDerivation rec {
pname = "skein-maven-repo";
inherit version src;
nativeBuildInputs = [ maven ] ++ lib.optional stdenv.isLinux autoPatchelfHook;
installPhase = ''
mkdir -p $out
archs="${
if stdenv.isLinux
then "linux-x86_32 linux-x86_64"
else "osx-x86_64"
}"
for arch in $archs
do
mvn -Dmaven.repo.local=$out dependency:get -Dartifact=com.google.protobuf:protoc:3.0.0:exe:$arch
mvn -Dmaven.repo.local=$out dependency:get -Dartifact=io.grpc:protoc-gen-grpc-java:1.16.0:exe:$arch
done
if ${ lib.boolToString stdenv.isLinux }
then
autoPatchelf $out
fi
# We have to use maven package here as dependency:go-offline doesn't
# fetch every required jar.
mvn -f java/pom.xml -Dmaven.repo.local=$out package
rm $(find $out -name _remote.repositories)
rm $(find $out -name resolver-status.properties)
'';
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = if stdenv.isLinux
then "12f0q3444qw6y4f6qsa9540a0fz4cgi844zzi8z1phqn3k4dnl6v"
else "0bjbwiv17cary1isxca0m2hsvgs1i5fh18z247h1hky73lnhbrz8";
} // lib.optionalAttrs stdenv.isLinux { dontAutoPatchelf = true; }