nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 120 lines 3.7 kB view raw
1{ 2 fetchFromGitHub, 3 lib, 4 bazel_8, 5 libgcc, 6 cctools, 7 stdenv, 8 jdk_headless, 9 callPackage, 10 zlib, 11}: 12let 13 bazelPackage = callPackage ./build-support/bazelPackage.nix { }; 14 registry = fetchFromGitHub { 15 owner = "bazelbuild"; 16 repo = "bazel-central-registry"; 17 rev = "722299976c97e5191045c8016b7c8532189fc3f6"; 18 sha256 = "sha256-hi5BKI94am2LCXD93GBeT0gsODxGeSsd0OrhTwpNAgM="; 19 }; 20 src = fetchFromGitHub { 21 owner = "bazelbuild"; 22 repo = "examples"; 23 rev = "9d6a2e67d29b8b6208d22d70cb22880345bb6803"; 24 sha256 = "sha256-NQqXsmX7hyTqLINkz1rnavx15jQTdIKpotw42rGc5mc="; 25 }; 26in 27{ 28 java = bazelPackage { 29 inherit src registry; 30 sourceRoot = "source/java-tutorial"; 31 name = "java-tutorial"; 32 targets = [ "//:ProjectRunner" ]; 33 bazel = bazel_8; 34 commandArgs = [ 35 "--extra_toolchains=@@rules_java++toolchains+local_jdk//:all" 36 "--tool_java_runtime_version=local_jdk_21" 37 ]; 38 env = { 39 JAVA_HOME = jdk_headless.home; 40 USE_BAZEL_VERSION = bazel_8.version; 41 }; 42 installPhase = '' 43 mkdir $out 44 cp bazel-bin/ProjectRunner.jar $out/ 45 ''; 46 nativeBuildInputs = lib.optional (stdenv.hostPlatform.isDarwin) cctools; 47 bazelRepoCacheFOD = { 48 outputHash = 49 { 50 aarch64-darwin = "sha256-FwHsg9P65Eu/n8PV7UW90bvBNG+U67zizRy6Krk32Yg="; 51 aarch64-linux = "sha256-W8h2tCIauGnEvPpXje19bZUE/izHaCQ0Wj4nMaP3nkc="; 52 x86_64-darwin = "sha256-XIrGRmYDDRN3Kkt1dFWex1bPRMeIHAR+XWLqB/PpOAM="; 53 x86_64-linux = "sha256-VBckTQAK5qeyi2ublk+Dcga5O5XZg3bfHR6Yaw6vSp0="; 54 } 55 .${stdenv.hostPlatform.system}; 56 outputHashAlgo = "sha256"; 57 }; 58 }; 59 cpp = bazelPackage { 60 inherit src registry; 61 sourceRoot = "source/cpp-tutorial/stage3"; 62 name = "cpp-tutorial"; 63 targets = [ "//main:hello-world" ]; 64 bazel = bazel_8; 65 installPhase = '' 66 mkdir $out 67 cp bazel-bin/main/hello-world $out/ 68 ''; 69 nativeBuildInputs = lib.optional (stdenv.hostPlatform.isDarwin) cctools; 70 commandArgs = lib.optionals (stdenv.hostPlatform.isDarwin) [ 71 "--host_cxxopt=-xc++" 72 "--cxxopt=-xc++" 73 ]; 74 env = { 75 USE_BAZEL_VERSION = bazel_8.version; 76 }; 77 bazelRepoCacheFOD = { 78 outputHash = 79 { 80 aarch64-darwin = "sha256-l6qJU0zGIKl12TYYsG5b+upswUA0hGE+VtQ9QnKpBh8="; 81 aarch64-linux = "sha256-l6qJU0zGIKl12TYYsG5b+upswUA0hGE+VtQ9QnKpBh8="; 82 x86_64-darwin = "sha256-l6qJU0zGIKl12TYYsG5b+upswUA0hGE+VtQ9QnKpBh8="; 83 x86_64-linux = "sha256-l6qJU0zGIKl12TYYsG5b+upswUA0hGE+VtQ9QnKpBh8="; 84 } 85 .${stdenv.hostPlatform.system}; 86 outputHashAlgo = "sha256"; 87 }; 88 }; 89 rust = bazelPackage { 90 inherit src registry; 91 sourceRoot = "source/rust-examples/01-hello-world"; 92 name = "rust-examples-01-hello-world"; 93 targets = [ "//:bin" ]; 94 bazel = bazel_8; 95 env = { 96 USE_BAZEL_VERSION = bazel_8.version; 97 }; 98 installPhase = '' 99 mkdir $out 100 cp bazel-bin/bin $out/hello-world 101 ''; 102 buildInputs = [ 103 zlib 104 libgcc 105 ]; 106 nativeBuildInputs = lib.optional (stdenv.hostPlatform.isDarwin) cctools; 107 autoPatchelfIgnoreMissingDeps = [ "librustc_driver-*.so" ]; 108 bazelVendorDepsFOD = { 109 outputHash = 110 { 111 aarch64-darwin = "sha256-0QtaPtcBljyhiJGwA8ctSpi+UQp/9q/ZoHUHORizmlY="; 112 aarch64-linux = "sha256-zpiwQ8OB8KhY+kxSXlSOd/zmoH1VGYDGgojf4Or04pQ="; 113 x86_64-darwin = "sha256-+tCDSuYkon1DEARwWTYABJbmysSNAK9vy0tCm8YsGjQ="; 114 x86_64-linux = "sha256-wCWSRc20Yr/hdXn8szbhLAX7Oy3G5keyHTTdO0msnks="; 115 } 116 .${stdenv.hostPlatform.system}; 117 outputHashAlgo = "sha256"; 118 }; 119 }; 120}