diff --git a/nix/pkgs/copybara.nix b/nix/pkgs/copybara.nix new file mode 100644 index 0000000000..7b6ad352f3 --- /dev/null +++ b/nix/pkgs/copybara.nix @@ -0,0 +1,34 @@ +{ pkgs, ... }: +pkgs.buildBazelPackage rec { + name = "copybara"; + version = "master"; + + src = ../../third_party/copybara; + + nativeBuildInputs = with pkgs; [ git mercurial jdk makeWrapper ]; + + bazelTarget = "//java/com/google/copybara:copybara_deploy.jar"; + removeRulesCC = false; + bazelFlags = [ + "--javabase=@local_jdk//:jdk" + "--host_javabase=@local_jdk//:jdk" + "--java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8" + "--host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8" + ]; + + fetchAttrs = { + sha256 = "0l76jrr8w5x28464cbz7vbv1lim6zjdd4z6xclb5lghw507nlk70"; + preHook = '' + export COURSIER_CACHE="$(echo ''${NIX_BUILD_TOP}/tmp/coursier | sed -e 's,//,/,g')" + ''; + }; + + buildAttrs = { + installPhase = '' + mkdir -p $out/bin $out/share/java + install -Dm755 bazel-bin/java/com/google/copybara/copybara_deploy.jar $out/share/java/copybara.jar + makeWrapper ${pkgs.jre}/bin/java $out/bin/copybara \ + --add-flags "-cp $out/share/java/copybara.jar com.google.copybara.Main" + ''; + }; +} diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index da1e959f3c..15e2f191e4 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -2,4 +2,5 @@ args: { javaws-env = import ./javaws-env.nix args; plex-pass = import ./plex-pass.nix args; secretsync = import ./secretsync args; + copybara = import ./copybara.nix args; } // (import ./heptapod-runner.nix args)