diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers')
19 files changed, 255 insertions, 207 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix index 6fdb57345072..62a1329eca6a 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix @@ -2,7 +2,7 @@ buildBazelPackage rec { name = "bazel-deps-${version}"; - version = "2019-02-01"; + version = "2019-07-11"; meta = with stdenv.lib; { homepage = "https://github.com/johnynek/bazel-deps"; @@ -10,13 +10,14 @@ buildBazelPackage rec { license = licenses.mit; maintainers = [ maintainers.uri-canva ]; platforms = platforms.all; + broken = true; # global variable '_common_attrs_for_plugin_bootstrapping' is referenced before assignment. }; src = fetchFromGitHub { owner = "johnynek"; repo = "bazel-deps"; - rev = "6585033409e09028852403ec15ec0c77851234be"; - sha256 = "0hypf7mcbpx2djqm92k82vn1k6pbnv564xbnazx8nw60f6ns0x87"; + rev = "48fdf7f8bcf3aadfa07f9f7e6f0c9f4247cb0f58"; + sha256 = "0wpn5anfgq5wfljfhpn8gbgdmgcp0claffjgqcnv5dh70ch7i0gi"; }; bazelTarget = "//src/scala/com/github/johnynek/bazel_deps:parseproject_deploy.jar"; @@ -24,49 +25,7 @@ buildBazelPackage rec { buildInputs = [ git makeWrapper ]; fetchAttrs = { - preInstall = '' - # Remove all built in external workspaces, Bazel will recreate them when building - rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker,embedded_jdk,\@embedded_jdk.marker,local_*,\@local_*} - # For each external workspace, remove all files that aren't referenced by Bazel - # Many of these files are non-hermetic (for example .git/refs/remotes/origin/HEAD) - files_to_delete=() - for workspace in $(find $bazelOut/external -maxdepth 2 -name "WORKSPACE" -print0 | xargs -0L1 dirname); do - workspaceOut="$NIX_BUILD_TOP/workspaces/$(basename workspace)/output" - workspaceUserRoot="$NIX_BUILD_TOP/workspaces/$(basename workspace)/tmp" - rm -rf $workspace/.git - if ! targets_and_files=$(cd "$workspace" && bazel --output_base="$workspaceOut" --output_user_root="$workspaceUserRoot" query '//...:*' 2> /dev/null | sort -u); then - continue - fi - if ! targets=$(cd "$workspace" && bazel --output_base="$workspaceOut" --output_user_root="$workspaceUserRoot" query '//...:all' 2> /dev/null | sort -u); then - continue - fi - mapfile -t referenced_files < <(comm -23 <(printf '%s' "$targets_and_files") <(printf '%s' "$targets") | sed -e 's,^//:,,g' | sed -e 's,^//,,g' | sed -e 's,:,/,g') - referenced_files+=( "WORKSPACE" ) - for referenced_file in "''${referenced_files[@]}"; do - # Some of the referenced files are symlinks to non-referenced files. - # The symlink targets have deterministic contents, but non-deterministic - # paths. Copy them to the referenced path, which is deterministic. - if target=$(readlink "$workspace/$referenced_file"); then - rm "$workspace/$referenced_file" - cp -a "$target" "$workspace/$referenced_file" - fi - done - mapfile -t workspace_files_to_delete < <(find "$workspace" -type f -or -type l | sort -u | comm -23 - <(printf "$workspace/%s\n" "''${referenced_files[@]}" | sort -u)) - for workspace_file_to_delete in "''${workspace_files_to_delete[@]}"; do - files_to_delete+=("$workspace_file_to_delete") - done - # We're running bazel in many different workspaces in a loop. Letting the - # daemon shut down on its own would leave several daemons alive at the - # same time, using up a lot of memory. Shut them down explicitly instead. - bazel --output_base="$workspaceOut" --output_user_root="$workspaceUserRoot" shutdown 2> /dev/null - done - for file_to_delete in "''${files_to_delete[@]}"; do - rm "$file_to_delete" - done - find . -type d -empty -delete - ''; - - sha256 = "1yirrzhhrsmbgd27fg709plhrhyi8pzwqv84yg72sd3799kswh9m"; + sha256 = "1r5qxsbw2cgww7vcg5psh7404l3jcxpvc0ndgl3k8vj1x8y93nkf"; }; buildAttrs = { diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix index 0d821fa61660..2eb5f772f890 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix @@ -76,5 +76,6 @@ buildBazelPackage rec { license = licenses.asl20; maintainers = [ maintainers.uri-canva ]; platforms = platforms.darwin; + broken = true; # global variable '_layer' is referenced before assignment. }; } diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix index 2e8f806d53aa..f7b0184f8367 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix @@ -1,16 +1,16 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }: buildGoPackage rec { name = "bazel-buildtools-${version}"; - version = "0.22.0"; + version = "0.28.0"; + rev = "d7ccc5507c6c16e04f5e362e558d70b8b179b052"; goPackagePath = "github.com/bazelbuild/buildtools"; - src = fetchFromGitHub { - owner = "bazelbuild"; - repo = "buildtools"; - rev = "55b64c3d2ddfb57f06477c1d94ef477419c96bd6"; - sha256 = "0n6q8pkgy3vvmwyrxvkmjfbcxc31i31czg2bjdzq7awwrr4fdbwy"; + src = fetchgit { + inherit rev; + url = "https://github.com/bazelbuild/buildtools"; + sha256 = "1d8zjgbg77sk27cz9pjz1h6ajwxqmvdzqgwa2jbh6iykibhpadq0"; }; goDeps = ./deps.nix; diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix index d7cd02c12b8b..5bae5b406535 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix @@ -5,8 +5,8 @@ fetch = { type = "git"; url = "https://github.com/golang/protobuf"; - rev = "b5d812f8a3706043e23a9cd5babf2e5423744d30"; - sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl"; + rev = "6c65a5562fc06764971b7c5d05c76c75e84bdbf7"; + sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym"; }; } { diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix index bad0023eef32..f67d8e761b43 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix @@ -1,4 +1,5 @@ -{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub, runCommand, runCommandCC, makeWrapper +{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub +, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs # this package (through the fixpoint glass) , bazel , lr, xe, zip, unzip, bash, writeCBin, coreutils @@ -11,19 +12,21 @@ , buildJdk, runJdk , buildJdkName , runtimeShell -# Always assume all markers valid (don't redownload dependencies). -# Also, don't clean up environment variables. +# Downstream packages for tests +, bazel-watcher +# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic). +# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers). , enableNixHacks ? false , gcc-unwrapped , autoPatchelfHook }: let - version = "0.27.0"; + version = "0.28.1"; src = fetchurl { url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip"; - sha256 = "0yn662dzgfr8ls4avfl12k5sr4f210bab12wml18bh4sjlxhs263"; + sha256 = "0503fax70w7h6v00mkrrrgf1m5n0vkjqs76lyg95alhzc4yldsic"; }; # Update with `eval $(nix-build -A bazel.updater)`, @@ -33,7 +36,6 @@ let let srcs = (builtins.fromJSON (builtins.readFile ./src-deps.json)); toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl { - name = d.name; urls = d.urls; sha256 = d.sha256; }); @@ -42,12 +44,13 @@ let srcs.io_bazel_skydoc srcs.bazel_skylib srcs.io_bazel_rules_sass + srcs.platforms (if stdenv.hostPlatform.isDarwin then srcs.${"java_tools_javac11_darwin-v2.0.zip"} else srcs.${"java_tools_javac11_linux-v2.0.zip"}) srcs.${"coverage_output_generator-v1.0.zip"} srcs.build_bazel_rules_nodejs - srcs.${"android_tools_pkg-0.4.tar.gz"} + srcs.${"android_tools_pkg-0.7.tar.gz"} ]); distDir = runCommand "bazel-deps" {} '' @@ -136,8 +139,6 @@ stdenv.mkDerivation rec { # This is breaking the build of any C target. This patch removes the last # argument if it's found to be an empty string. ./trim-last-argument-to-gcc-if-empty.patch - - ./python-stub-path-fix.patch ] ++ lib.optional enableNixHacks ./nix-hacks.patch; @@ -220,13 +221,25 @@ stdenv.mkDerivation rec { cpp = callPackage ./cpp-test.nix { inherit runLocal bazelTest bazel-examples; }; java = callPackage ./java-test.nix { inherit runLocal bazelTest bazel-examples; }; protobuf = callPackage ./protobuf-test.nix { inherit runLocal bazelTest; }; - pythonBinPath = callPackage ./python-bin-path-test.nix{ inherit runLocal bazelTest; }; + pythonBinPath = callPackage ./python-bin-path-test.nix { inherit runLocal bazelTest; }; bashToolsWithNixHacks = callPackage ./bash-tools-test.nix { inherit runLocal bazelTest; bazel = bazelWithNixHacks; }; + cppWithNixHacks = callPackage ./cpp-test.nix { inherit runLocal bazelTest bazel-examples; bazel = bazelWithNixHacks; }; javaWithNixHacks = callPackage ./java-test.nix { inherit runLocal bazelTest bazel-examples; bazel = bazelWithNixHacks; }; protobufWithNixHacks = callPackage ./protobuf-test.nix { inherit runLocal bazelTest; bazel = bazelWithNixHacks; }; - pythonBinPathWithNixHacks = callPackage ./python-bin-path-test.nix{ inherit runLocal bazelTest; bazel = bazelWithNixHacks; }; + pythonBinPathWithNixHacks = callPackage ./python-bin-path-test.nix { inherit runLocal bazelTest; bazel = bazelWithNixHacks; }; + + # downstream packages using buildBazelPackage + # fixed-output hashes of the fetch phase need to be spot-checked manually + downstream = recurseIntoAttrs ({ + inherit bazel-watcher; + } + # dm-sonnet is only packaged for linux + // (lib.optionalAttrs stdenv.isLinux { + # TODO(timokau) dm-sonnet is broken currently + # dm-sonnet-linux = python3.pkgs.dm-sonnet; + })); }; # update the list of workspace dependencies @@ -310,9 +323,8 @@ stdenv.mkDerivation rec { genericPatches = '' # Substitute python's stub shebang to plain python path. (see TODO add pr URL) # See also `postFixup` where python is added to $out/nix-support - substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt\ - --replace "/usr/bin/env python" "${python3}/bin/python" \ - --replace "NIX_STORE_PYTHON_PATH" "${python3}/bin/python" \ + patchShebangs src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt \ + --replace "#!/usr/bin/env python" "#!${python3}/bin/python" # md5sum is part of coreutils sed -i 's|/sbin/md5|md5sum|' \ @@ -332,6 +344,11 @@ stdenv.mkDerivation rec { substituteInPlace tools/build_rules/test_rules.bzl \ --replace /bin/bash ${customBash}/bin/bash + for i in $(find tools/cpp/ -type f) + do + substituteInPlace $i \ + --replace /bin/bash ${customBash}/bin/bash + done # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. substituteInPlace scripts/bootstrap/compile.sh \ @@ -339,8 +356,8 @@ stdenv.mkDerivation rec { # add nix environment vars to .bazelrc cat >> .bazelrc <<EOF - build --experimental_distdir=${distDir} - fetch --experimental_distdir=${distDir} + build --distdir=${distDir} + fetch --distdir=${distDir} build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')" build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')" build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')" @@ -456,24 +473,8 @@ stdenv.mkDerivation rec { installCheckPhase = '' export TEST_TMPDIR=$(pwd) - tar xf ${srcDepsSet.io_bazel_skydoc} -C $TEST_TMPDIR - mv $(ls | grep skydoc-) io_bazel_skydoc - - tar xf ${srcDepsSet.bazel_skylib} -C $TEST_TMPDIR - mv $(ls | grep bazel-skylib-) bazel_skylib - - tar xf ${srcDepsSet.io_bazel_rules_sass} -C $TEST_TMPDIR - mv $(ls | grep rules_sass-) rules_sass - - unzip ${srcDepsSet.build_bazel_rules_nodejs} -d $TEST_TMPDIR - mv rules_nodejs-0.16.2 build_bazel_rules_nodejs - hello_test () { - $out/bin/bazel test \ - --override_repository=io_bazel_skydoc=$TEST_TMPDIR/io_bazel_skydoc \ - --override_repository=bazel_skylib=$TEST_TMPDIR/bazel_skylib \ - --override_repository=io_bazel_rules_sass=$TEST_TMPDIR/rules_sass \ - --override_repository=build_bazel_rules_nodejs=$TEST_TMPDIR/build_bazel_rules_nodejs \ + $out/bin/bazel test --distdir=${distDir} \ --test_output=errors \ --java_toolchain='${javaToolchain}' \ examples/cpp:hello-success_test \ diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch index f58be89fabc1..95f07646802e 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch @@ -1,10 +1,12 @@ -diff -Naur a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java ---- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java 2019-06-12 20:39:37.420705161 -0700 -+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java 2019-06-12 20:44:18.894429744 -0700 -@@ -428,24 +428,7 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +index 8e772005cd..6ffa1c919c 100644 +--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java ++++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +@@ -432,25 +432,7 @@ public final class RepositoryDelegatorFunction implements SkyFunction { + String content; try { content = FileSystemUtils.readContent(markerPath, StandardCharsets.UTF_8); - String markerRuleKey = readMarkerFile(content, markerData); +- String markerRuleKey = readMarkerFile(content, markerData); - boolean verified = false; - if (Preconditions.checkNotNull(ruleKey).equals(markerRuleKey) - && Objects.equals( @@ -17,19 +19,21 @@ diff -Naur a/src/main/java/com/google/devtools/build/lib/rules/repository/Reposi - } - - if (verified) { - return new Fingerprint().addString(content).digestAndReset(); +- return new Fingerprint().addString(content).digestAndReset(); - } else { - // So that we are in a consistent state if something happens while fetching the repository - markerPath.delete(); - return null; - } ++ return new Fingerprint().addString(content).digestAndReset(); } catch (IOException e) { throw new RepositoryFunctionException(e, Transience.TRANSIENT); } -diff -Naur a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java ---- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java 2019-06-12 20:39:37.538708196 -0700 -+++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java 2019-06-12 20:44:18.863429602 -0700 -@@ -146,7 +146,6 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java +index c282d57ab6..f9b0c08627 100644 +--- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java ++++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java +@@ -146,7 +146,6 @@ public class JavaSubprocessFactory implements SubprocessFactory { ProcessBuilder builder = new ProcessBuilder(); builder.command(params.getArgv()); if (params.getEnv() != null) { diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch deleted file mode 100644 index cbc4192d2d9b..000000000000 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt -index dac21c9a83..69b11c283f 100644 ---- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt -+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt -@@ -67,7 +67,7 @@ def FindPythonBinary(module_space): - return os.path.join(module_space, PYTHON_BINARY) - else: - # Case 4: Path has to be looked up in the search path. -- return SearchPath(PYTHON_BINARY) -+ return "NIX_STORE_PYTHON_PATH" - - def CreatePythonPathEntries(python_imports, module_space): - parts = python_imports.split(':'); diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json b/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json index a0d07f1a68d4..fc3fe13f5809 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json @@ -7,12 +7,20 @@ "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip" ] }, - "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz": { - "name": "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz", - "sha256": "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f", + "1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz": { + "name": "1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz", + "sha256": "3ca1b3d453a977aeda60dd335feb812771addfd0d0c61751b34b9681aa4d6534", "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz", - "https://github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz" + "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz", + "https://github.com/bazelbuild/skydoc/archive/1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz" + ] + }, + "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip": { + "name": "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip", + "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip", + "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip" ] }, "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": { @@ -23,11 +31,11 @@ "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz" ] }, - "android_tools_pkg-0.4.tar.gz": { - "name": "android_tools_pkg-0.4.tar.gz", - "sha256": "331e7706f2bcae8a68057d8ddd3e3f1574bca26c67c65802fc4a8ac6164fa912", + "android_tools_pkg-0.7.tar.gz": { + "name": "android_tools_pkg-0.7.tar.gz", + "sha256": "a8e48f2fdee2c34b31f45bd47ce050a75ac774f19e0a1f6694fa49fc11d88718", "urls": [ - "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.4.tar.gz" + "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.7.tar.gz" ] }, "bazel_j2objc": { @@ -41,11 +49,11 @@ }, "bazel_rbe_toolchains": { "name": "bazel_rbe_toolchains", - "sha256": "f575778fb1366718f5e1204200ecf35796c558998c15303945d351f0b42669e5", - "strip_prefix": "bazel_rbe_toolchains-f50471a57cd05a313a953fa54756db6e8fd93673", + "sha256": "e2b8644caa15235a488e831264e5dcb014e2cdf3b697319bc1e9d6b0fff0b4b9", + "strip_prefix": "bazel_rbe_toolchains-01529a65d21abdf71635ff0c2472043a567ecded", "urls": [ - "https://mirror.bazel.build/github.com/buchgr/bazel_rbe_toolchains/archive/f50471a57cd05a313a953fa54756db6e8fd93673.tar.gz", - "https://github.com/buchgr/bazel_rbe_toolchains/archive/f50471a57cd05a313a953fa54756db6e8fd93673.tar.gz" + "https://mirror.bazel.build/github.com/buchgr/bazel_rbe_toolchains/archive/01529a65d21abdf71635ff0c2472043a567ecded.tar.gz", + "https://github.com/buchgr/bazel_rbe_toolchains/archive/01529a65d21abdf71635ff0c2472043a567ecded.tar.gz" ] }, "bazel_skylib": { @@ -127,11 +135,11 @@ }, "io_bazel_skydoc": { "name": "io_bazel_skydoc", - "sha256": "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f", - "strip_prefix": "skydoc-2d9566b21fbe405acf5f7bf77eda30df72a4744c", + "sha256": "3ca1b3d453a977aeda60dd335feb812771addfd0d0c61751b34b9681aa4d6534", + "strip_prefix": "skydoc-1ca560df1cf6e280f987af2f8d08a5edc7ac6b54", "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz", - "https://github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz" + "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz", + "https://github.com/bazelbuild/skydoc/archive/1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz" ] }, "java_tools_javac11_darwin-v2.0.zip": { @@ -169,6 +177,13 @@ "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11.zip" ] }, + "java_tools_langtools_javac12": { + "name": "java_tools_langtools_javac12", + "sha256": "99b107105165a91df82cd7cf82a8efb930d803fb7de1663cf7f780142104cd14", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk12.zip" + ] + }, "java_tools_langtools_javac9": { "name": "java_tools_langtools_javac9", "sha256": "3b6bbc47256acf2f61883901e2d4e3f9b292f5fe154a6912b928805de24cb864", @@ -235,11 +250,27 @@ ] }, "openjdk_linux_aarch64": { + "downloaded_file_path": "zulu-linux-aarch64.tar.gz", "name": "openjdk_linux_aarch64", - "sha256": "72e7843902b0395e2d30e1e9ad2a5f05f36a4bc62529828bcbc698d54aec6022", + "sha256": "23c37c0c3a8fdcbc68e96e70ff5c5c020c14db76deaae9b547849afda4586e5e", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-allmodules-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz" + ] + }, + "openjdk_linux_aarch64_minimal": { + "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz", + "name": "openjdk_linux_aarch64_minimal", + "sha256": "7af2583fe5ef0a781d4a9dca0c0160d42e7db1305ec1b66f98aa44c91cc875df", "urls": [ - "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz", - "http://openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz" + "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-minimal-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz" + ] + }, + "openjdk_linux_aarch64_vanilla": { + "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz", + "name": "openjdk_linux_aarch64_vanilla", + "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz" ] }, "openjdk_linux_minimal": { @@ -306,6 +337,15 @@ "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip" ] }, + "platforms": { + "name": "platforms", + "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5", + "strip_prefix": "platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip", + "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip" + ] + }, "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz": { "name": "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz", "sha256": "57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5", @@ -369,6 +409,13 @@ "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip" ] }, + "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz": { + "name": "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz", + "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz" + ] + }, "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz": { "name": "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz", "sha256": "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87", diff --git a/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix index 5999525def08..ea8ee1f84962 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "bear-${version}"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "rizsotto"; repo = "Bear"; rev = version; - sha256 = "0r5mhacn8v4b2kjni91nxh3b6g86cbkrnlk4f6sj4mdrvx25dp39"; + sha256 = "0fqhhavyz9ddjc3wgb2ng47bfgk1q4w5bwah74nsa02k8r22pbch"; }; nativeBuildInputs = [ cmake ]; diff --git a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix index c20985f31dc4..ba842289dba4 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix @@ -1,56 +1,71 @@ -{ stdenv, lib, fetchurl, coursier, jdk, jre, python, makeWrapper }: +{ stdenv, lib, fetchurl, coursier, python, makeWrapper }: let baseName = "bloop"; - version = "1.2.5"; - deps = stdenv.mkDerivation { - name = "${baseName}-deps-${version}"; + version = "1.3.2"; + nailgunCommit = "9327a60a"; # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py + + client = stdenv.mkDerivation { + name = "${baseName}-client-${version}"; + + src = fetchurl { + url = "https://raw.githubusercontent.com/scalacenter/nailgun/${nailgunCommit}/pynailgun/ng.py"; + sha256 = "0z4as5ibmzkd145wsch9caiy4037bgg780gcf7pyns0cv9n955b4"; + }; + + phases = [ "installPhase" ]; + + installPhase = ''cp $src $out''; + }; + + server = stdenv.mkDerivation { + name = "${baseName}-server-${version}"; buildCommand = '' + mkdir -p $out/bin + export COURSIER_CACHE=$(pwd) - ${coursier}/bin/coursier fetch ch.epfl.scala:bloop-frontend_2.12:${version} \ + ${coursier}/bin/coursier bootstrap ch.epfl.scala:bloop-frontend_2.12:${version} \ -r "bintray:scalameta/maven" \ -r "bintray:scalacenter/releases" \ - -r "https://oss.sonatype.org/content/repositories/staging" > deps - mkdir -p $out/share/java - cp $(< deps) $out/share/java/ + -r "https://oss.sonatype.org/content/repositories/staging" \ + --deterministic \ + -f --main bloop.Server -o $out/bin/blp-server ''; outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "19373fyb0g7irrdzb1vsjmyv5xj84qwbcfb6lm076px7wfyn0w1c"; + outputHash = "0k9zc9q793fkfwcssbkmzb0nxmgb99rwi0pjkqhvf719vmgvhc2a"; }; -in -stdenv.mkDerivation rec { - name = "${baseName}-${version}"; - # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py - nailgunCommit = "0c325237"; + zsh = stdenv.mkDerivation { + name = "${baseName}-zshcompletion-${version}"; - buildInputs = [ jdk makeWrapper deps ]; + src = fetchurl { + url = "https://raw.githubusercontent.com/scalacenter/bloop/v${version}/etc/zsh/_bloop"; + sha256 = "09qq5888vaqlqan2jbs2qajz2c3ff13zj8r0x2pcxsqmvlqr02hp"; + }; - phases = [ "installPhase" ]; + phases = [ "installPhase" ]; - client = fetchurl { - url = "https://raw.githubusercontent.com/scalacenter/nailgun/${nailgunCommit}/pynailgun/ng.py"; - sha256 = "0qjw4nsyb4cxg96jj1yv5c0ivcxvmscxxqfzll5w9p1pjb30bq0n"; + installPhase = ''cp $src $out''; }; +in +stdenv.mkDerivation rec { + name = "${baseName}-${version}"; - zshCompletion = fetchurl { - url = "https://raw.githubusercontent.com/scalacenter/bloop/v${version}/etc/zsh/_bloop"; - sha256 = "1id6f1fgy2rk0q5aad6ffivhbxa94fallzsc04l9n0y1s2xdhqpm"; - }; + buildInputs = [ makeWrapper ]; + + phases = [ "installPhase" ]; installPhase = '' mkdir -p $out/bin mkdir -p $out/share/zsh/site-functions - cp ${client} $out/bin/blp-client - cp ${zshCompletion} $out/share/zsh/site-functions/_bloop - chmod +x $out/bin/blp-client + ln -s ${server}/bin/blp-server $out/blp-server + ln -s ${zsh} $out/share/zsh/site-functions/_bloop - makeWrapper ${jre}/bin/java $out/bin/blp-server \ - --prefix PATH : ${lib.makeBinPath [ jdk ]} \ - --add-flags "-cp $CLASSPATH bloop.Server" - makeWrapper $out/bin/blp-client $out/bin/bloop \ + cp ${client} $out/bloop + chmod +x $out/bloop + makeWrapper $out/bloop $out/bin/bloop \ --prefix PATH : ${lib.makeBinPath [ python ]} ''; diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh index 8c6b11bd73e7..29fe6fd79de4 100755 --- a/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -68,8 +68,20 @@ cmakeConfigurePhase() { # executable. This flag makes the shared library accessible from its # nix/store directory. cmakeFlags="-DCMAKE_INSTALL_NAME_DIR=${!outputLib}/lib $cmakeFlags" + + # This ensures correct paths with multiple output derivations + # It requires the project to use variables from GNUInstallDirs module + # https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html + cmakeFlags="-DCMAKE_INSTALL_BINDIR=${!outputBin}/bin $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_SBINDIR=${!outputBin}/sbin $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_INCLUDEDIR=${!outputInclude}/include $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_OLDINCLUDEDIR=${!outputInclude}/include $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_MANDIR=${!outputMan}/share/man $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_INFODIR=${!outputInfo}/share/info $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_DOCDIR=${!outputDoc}/share/doc/${shareDocName} $cmakeFlags" cmakeFlags="-DCMAKE_INSTALL_LIBDIR=${!outputLib}/lib $cmakeFlags" - cmakeFlags="-DCMAKE_INSTALL_INCLUDEDIR=${!outputDev}/include $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_LIBEXECDIR=${!outputLib}/libexec $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_LOCALEDIR=${!outputLib}/share/locale $cmakeFlags" # Don’t build tests when doCheck = false if [ -z "$doCheck" ]; then diff --git a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix index 9c5d22ee07b3..ce7b08710441 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix @@ -37,13 +37,7 @@ let newPython = python3.override { sha256 = "c0abe3218b86533cca287e7057a37481883c07acef7814b70583406938214cc8"; }; }); - pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec { - version = "3.13"; - src = oldAttrs.src.override { - inherit version; - sha256 = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf"; - }; - }); + pyyaml = super.pyyaml_3; }; }; diff --git a/nixpkgs/pkgs/development/tools/build-managers/drake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/drake/default.nix index a7bb93d52ed1..15fc682a315c 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/drake/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/drake/default.nix @@ -1,14 +1,16 @@ -{ lib, bundlerApp }: +{ lib, bundlerApp, bundlerUpdateScript }: bundlerApp { pname = "drake"; gemdir = ./.; exes = [ "drake" ]; + passthru.updateScript = bundlerUpdateScript "drake"; + meta = with lib; { description = "A branch of Rake supporting automatic parallelizing of tasks"; homepage = http://quix.github.io/rake/; - maintainers = with maintainers; [ romildo manveru ]; + maintainers = with maintainers; [ romildo manveru nicknovitski ]; license = licenses.mit; platforms = platforms.unix; }; diff --git a/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix index d89c5fdbabde..34d19b616942 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix @@ -2,8 +2,8 @@ , git, ninja, python2 }: let - rev = "96ff462cddf35f98e25fd5d098fc27bc81eab94a"; - sha256 = "1ny23sprl7ygb2lpdnqxv60m8kaf4h2dmpqjp61l5vc2s7f32g97"; + rev = "64b846c96daeb3eaf08e26d8a84d8451c6cb712b"; + sha256 = "1v2kzsshhxn0ck6gd5w16gi2m3higwd9vkyylmsczxfxnw8skgpy"; shortRev = builtins.substring 0 7 rev; lastCommitPosition = writeText "last_commit_position.h" '' @@ -18,19 +18,13 @@ let in stdenv.mkDerivation rec { name = "gn-${version}"; - version = "20181031"; + version = "20190403"; src = fetchgit { url = "https://gn.googlesource.com/gn"; inherit rev sha256; }; - postPatch = '' - # FIXME Needed with old Apple SDKs - substituteInPlace base/mac/foundation_util.mm \ - --replace "NSArray<NSString*>*" "NSArray*" - ''; - nativeBuildInputs = [ ninja python2 git ]; buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [ libobjc @@ -43,7 +37,7 @@ stdenv.mkDerivation rec { ]); buildPhase = '' - python build/gen.py --no-sysroot --no-last-commit-position + python build/gen.py --no-last-commit-position ln -s ${lastCommitPosition} out/last_commit_position.h ninja -j $NIX_BUILD_CORES -C out gn ''; diff --git a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix index 25ff6d09d420..0ec57cc8b82c 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, jdk, makeWrapper }: +{ stdenv, fetchurl, unzip, jdk, java ? jdk, makeWrapper }: rec { gradleGen = {name, src, nativeVersion} : stdenv.mkDerivation rec { @@ -12,8 +12,8 @@ rec { gradle_launcher_jar=$(echo $out/lib/gradle/lib/gradle-launcher-*.jar) test -f $gradle_launcher_jar - makeWrapper ${jdk}/bin/java $out/bin/gradle \ - --set JAVA_HOME ${jdk} \ + makeWrapper ${java}/bin/java $out/bin/gradle \ + --set JAVA_HOME ${java} \ --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain" ''; @@ -33,7 +33,7 @@ rec { echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies ''; - buildInputs = [ unzip jdk makeWrapper ]; + buildInputs = [ unzip java makeWrapper ]; meta = { description = "Enterprise-grade build system"; @@ -51,7 +51,9 @@ rec { }; }; - gradle_latest = gradleGen rec { + gradle_latest = gradle_5_3; + + gradle_5_3 = gradleGen rec { name = "gradle-5.3.1"; nativeVersion = "0.17"; diff --git a/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix index bce8dedbf58a..40ddf742ed5e 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix @@ -1,32 +1,30 @@ -{ buildGoPackage, fetchFromGitHub, lib }: +{ buildGoModule, fetchFromGitHub, lib }: -with lib; - -buildGoPackage rec { - name = "mage-${version}"; - version = "1.7.1"; - - goPackagePath = "github.com/magefile/mage"; - subPackages = [ "." ]; +buildGoModule rec { + pname = "mage"; + version = "1.8.0"; src = fetchFromGitHub { owner = "magefile"; - repo = "mage"; + repo = pname; rev = "v${version}"; - sha256 = "0n4k5dy338rxwzj654smxzlanmd0zws6mdzv0wc4byqjhr7mqhg2"; + sha256 = "0vkzm2k2v3np30kdgz9kpwkhnshbjcn8j1y321djz2h3w23k5h7r"; }; - buildFlagsArray = [ + modSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"; + + buildFlagsArray = [ "-ldflags=" "-X github.com/magefile/mage/mage.commitHash=v${version}" "-X github.com/magefile/mage/mage.gitTag=v${version}" + "-X github.com/magefile/mage/mage.timestamp=1970-01-01T00:00:00Z" ]; - meta = { + meta = with lib; { description = "A Make/Rake-like Build Tool Using Go"; + homepage = "https://magefile.org/"; license = licenses.asl20; - maintainers = [ maintainers.swdunlop ]; - homepage = https://magefile.org/; + maintainers = with maintainers; [ swdunlop ]; platforms = platforms.all; }; } diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix index ff49bea526a1..f929d3105856 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "mill-${version}"; - version = "0.4.1"; + version = "0.5.0"; src = fetchurl { url = "https://github.com/lihaoyi/mill/releases/download/${version}/${version}"; - sha256 = "17im60ckbd5hbpkl4pb3nr3mg5crln4sphd7d0dgzsrs3p9h194x"; + sha256 = "ecf83db96a32024f14b031ce458b1b3eed01e713265e16c42eb4a894a1a0d654"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/nixpkgs/pkgs/development/tools/build-managers/rake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rake/default.nix index 8de0130d31bd..2ce65b28fae5 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/rake/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/rake/default.nix @@ -1,15 +1,17 @@ -{ lib, bundlerApp }: +{ lib, bundlerApp, bundlerUpdateScript }: bundlerApp { pname = "rake"; gemdir = ./.; exes = [ "rake" ]; + passthru.updateScript = bundlerUpdateScript "rake"; + meta = with lib; { description = "A software task management and build automation tool"; homepage = https://github.com/ruby/rake; license = with licenses; mit; - maintainers = with maintainers; [ manveru ]; + maintainers = with maintainers; [ manveru nicknovitski ]; platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix b/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix new file mode 100644 index 000000000000..767cd70abcda --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchFromGitHub, python2, which}: +stdenv.mkDerivation rec { + name = "redo-apenwarr-${version}"; + + version = "unstable-2019-06-21"; + + src = fetchFromGitHub { + owner = "apenwarr"; + repo = "redo"; + rev = "8924fa35fa7363b531f8e6b48a1328d2407ad5cf"; + sha256 = "1dj20w29najqjyvk0jh5kqbcd10k32rad986q5mzv4v49qcwdc1q"; + }; + + DESTDIR=""; + PREFIX = placeholder "out"; + + patchPhase = '' + patchShebangs . + ''; + + buildInputs = [ python2 which ]; + + meta = with stdenv.lib; { + description = "Apenwarr version of the redo build tool."; + homepage = https://github.com/apenwarr/redo/; + license = stdenv.lib.licenses.asl20; + platforms = platforms.all; + maintainers = with stdenv.lib.maintainers; [ andrewchambers ]; + }; +} |