diff options
author | Thiago Kenji Okada <thiagokokada@gmail.com> | 2023-09-26 19:15:43 +0100 |
---|---|---|
committer | Thiago Kenji Okada <thiagokokada@gmail.com> | 2023-09-27 10:25:45 +0100 |
commit | 76f51c0366ff92f8ef562e1a7a2d77e3e1fd9e8d (patch) | |
tree | 8e274170cf86e97c91985ec602f09e0ec3ca99ed | |
parent | 3e9ecc840b778c82db5288b2239bac2612ebf1e4 (diff) | |
download | nixpkgs-76f51c0366ff92f8ef562e1a7a2d77e3e1fd9e8d.tar nixpkgs-76f51c0366ff92f8ef562e1a7a2d77e3e1fd9e8d.tar.gz nixpkgs-76f51c0366ff92f8ef562e1a7a2d77e3e1fd9e8d.tar.bz2 nixpkgs-76f51c0366ff92f8ef562e1a7a2d77e3e1fd9e8d.tar.lz nixpkgs-76f51c0366ff92f8ef562e1a7a2d77e3e1fd9e8d.tar.xz nixpkgs-76f51c0366ff92f8ef562e1a7a2d77e3e1fd9e8d.tar.zst nixpkgs-76f51c0366ff92f8ef562e1a7a2d77e3e1fd9e8d.zip |
graalvmCEPackages: normalize package platforms in update.sh script
9 files changed, 62 insertions, 69 deletions
diff --git a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix index dec121a99b8..ce9e3ac3ebe 100644 --- a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix +++ b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix @@ -188,7 +188,7 @@ let passthru = { home = graalvm-ce; - updateScript = ./update.sh; + updateScript = [ ./update.sh "graalvm-ce" ]; } // (args.passhtru or { }); meta = with lib; ({ diff --git a/pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix b/pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix index 8f5d24a27fc..073defa0cdc 100644 --- a/pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix +++ b/pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix @@ -72,6 +72,10 @@ stdenv.mkDerivation ({ dontStrip = true; + passthru = { + updateScript = [ ./update.sh product ]; + } // (args.passhtru or { }); + meta = ({ inherit (graalvm-ce.meta) homepage license sourceProvenance maintainers platforms; description = "High-Performance Polyglot VM (Product: ${product})"; diff --git a/pkgs/development/compilers/graalvm/community-edition/default.nix b/pkgs/development/compilers/graalvm/community-edition/default.nix index 726db815fe4..e855bd2a7da 100644 --- a/pkgs/development/compilers/graalvm/community-edition/default.nix +++ b/pkgs/development/compilers/graalvm/community-edition/default.nix @@ -7,23 +7,10 @@ let buildGraalvm = callPackage ./buildGraalvm.nix; buildGraalvmProduct = callPackage ./buildGraalvmProduct.nix; - # Argh, this is really inconsistent... - javaPlatform = { - "aarch64-linux" = "linux-aarch64"; - "x86_64-linux" = "linux-x64"; - "aarch64-darwin" = "macos-aarch64"; - "x86_64-darwin" = "macos-x64"; - }; - javaPlatformForProducts = { - "aarch64-linux" = "linux-aarch64"; - "x86_64-linux" = "linux-amd64"; - "aarch64-darwin" = "macos-aarch64"; - "x86_64-darwin" = "macos-x64"; - }; hashes = product: (import (./. + "/${product}/hashes.nix")); version = product: (hashes product).version; - source = product: (hashes product).${product}.${javaPlatform.${stdenv.system}} - or (hashes product).${product}.${javaPlatformForProducts.${stdenv.system}} + platforms = product: builtins.attrNames (hashes product).${product}; + source = product: (hashes product).${product}.${stdenv.system} or (throw "Unsupported product combination: product=${product} system=${stdenv.system}"); in rec { @@ -32,7 +19,7 @@ rec { graalvm-ce = buildGraalvm { version = version "graalvm-ce"; src = fetchurl (source "graalvm-ce"); - meta.platforms = builtins.attrNames javaPlatform; + meta.platforms = platforms "graalvm-ce"; }; graaljs = callPackage ./graaljs { diff --git a/pkgs/development/compilers/graalvm/community-edition/graaljs/hashes.nix b/pkgs/development/compilers/graalvm/community-edition/graaljs/hashes.nix index 5ecfc4dffdd..8dab59fe1da 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graaljs/hashes.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graaljs/hashes.nix @@ -2,21 +2,21 @@ { "version" = "23.1.0"; "graaljs" = { - "linux-aarch64" = { + "aarch64-linux" = { sha256 = "09q88nsbz0lrl866x3hqxm3hb5wpn4x5rp6pk69x1v6xzl58wzq2"; url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-linux-aarch64.tar.gz"; }; - "linux-amd64" = { + "x86_64-linux" = { sha256 = "0zlk0gpxwjkh4wxsc310kl80ipgk5si1lmyx0q2hqsw9lm98n41g"; url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-linux-amd64.tar.gz"; }; - "macos-aarch64" = { - sha256 = "0ph3c6jgbvm3cliyqlccd2l292a7p0051l3sv7yf3318r6zrrk7m"; - url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-aarch64.tar.gz"; - }; - "macos-amd64" = { + "x86_64-darwin" = { sha256 = "1y5mc92yync85ywcahvq8x9jlla0rzjd4g7cm6q7p21wvfwp4d5q"; url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-amd64.tar.gz"; }; + "aarch64-darwin" = { + sha256 = "0ph3c6jgbvm3cliyqlccd2l292a7p0051l3sv7yf3318r6zrrk7m"; + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-aarch64.tar.gz"; + }; }; } diff --git a/pkgs/development/compilers/graalvm/community-edition/graalnodejs/hashes.nix b/pkgs/development/compilers/graalvm/community-edition/graalnodejs/hashes.nix index b9679ae0c3b..0874c37ca99 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graalnodejs/hashes.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graalnodejs/hashes.nix @@ -2,21 +2,21 @@ { "version" = "23.1.0"; "graalnodejs" = { - "linux-aarch64" = { + "aarch64-linux" = { sha256 = "056x616pp0b25wsryzrfrfnjaxr3444fc3hmv8jspl4pjxjrais2"; url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-linux-aarch64.tar.gz"; }; - "linux-amd64" = { + "x86_64-linux" = { sha256 = "1si2ifwihszv06sqd25mswibiqbxhxgj6yw829f8zrdhs0sra2nz"; url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-linux-amd64.tar.gz"; }; - "macos-aarch64" = { - sha256 = "1g6pql0pdxhxwpjqyfkaq07dar8sx2wipsyrjc7hmz3z7pjxcf5i"; - url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-aarch64.tar.gz"; - }; - "macos-amd64" = { + "x86_64-darwin" = { sha256 = "1ffkdavrs92h3f5yil15v3i7r9aggkpfqd13gl5ipqlrk6pykhr7"; url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-amd64.tar.gz"; }; + "aarch64-darwin" = { + sha256 = "1g6pql0pdxhxwpjqyfkaq07dar8sx2wipsyrjc7hmz3z7pjxcf5i"; + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-aarch64.tar.gz"; + }; }; } diff --git a/pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix b/pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix index 3e543b44569..21dfb4db4d0 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix @@ -2,21 +2,21 @@ { "version" = "23.1.0"; "graalpy" = { - "linux-aarch64" = { + "aarch64-linux" = { sha256 = "0n0zz86h7jsqgdiyj6vj7qw57ny40jpmfvylyxq70riy86a4zp67"; url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-linux-aarch64.tar.gz"; }; - "linux-amd64" = { + "x86_64-linux" = { sha256 = "0nnv255f2bqc4l88iw48f71874ryjn16bb8qn1yk7daj1pck80vj"; url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-linux-amd64.tar.gz"; }; - "macos-aarch64" = { - sha256 = "17clq7n1n5ww22rh9gp5h9ljhjvggcik8amhd70pwl4cjgv9mhsv"; - url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-aarch64.tar.gz"; - }; - "macos-amd64" = { + "x86_64-darwin" = { sha256 = "16kp66l0176sbd8jzvq3y3z7d9zvkqzdaw8vrvnk2qkipa136n0k"; url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-amd64.tar.gz"; }; + "aarch64-darwin" = { + sha256 = "17clq7n1n5ww22rh9gp5h9ljhjvggcik8amhd70pwl4cjgv9mhsv"; + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-aarch64.tar.gz"; + }; }; } diff --git a/pkgs/development/compilers/graalvm/community-edition/graalvm-ce/hashes.nix b/pkgs/development/compilers/graalvm/community-edition/graalvm-ce/hashes.nix index e98e8715300..ece96612877 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graalvm-ce/hashes.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graalvm-ce/hashes.nix @@ -2,21 +2,21 @@ { "version" = "21.0.0"; "graalvm-ce" = { - "linux-aarch64" = { + "aarch64-linux" = { sha256 = "199h3d6zayw28xlyggldap6nafh5fnpfbshs0rsf94dfgv7r4kmv"; url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_linux-aarch64_bin.tar.gz"; }; - "linux-x64" = { + "x86_64-linux" = { sha256 = "06dkb1yimk5q3yzjk6kjsrs2pkbjxgz9jr5vj6wfb2y5ri0jjhkc"; url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_linux-x64_bin.tar.gz"; }; - "macos-aarch64" = { - sha256 = "0dqgsp0bhqvv07b9kb0cxqm5cw47kapzbfbw13570ydgc0gfg3f5"; - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_macos-aarch64_bin.tar.gz"; - }; - "macos-x64" = { + "x86_64-darwin" = { sha256 = "1qbz3xfxj7nwb01cy99hd22k3pim8j43blcdcys48l8xcb234nlk"; url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_macos-x64_bin.tar.gz"; }; + "aarch64-darwin" = { + sha256 = "0dqgsp0bhqvv07b9kb0cxqm5cw47kapzbfbw13570ydgc0gfg3f5"; + url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_macos-aarch64_bin.tar.gz"; + }; }; } diff --git a/pkgs/development/compilers/graalvm/community-edition/truffleruby/hashes.nix b/pkgs/development/compilers/graalvm/community-edition/truffleruby/hashes.nix index ba99286d6a1..c61a42cc871 100644 --- a/pkgs/development/compilers/graalvm/community-edition/truffleruby/hashes.nix +++ b/pkgs/development/compilers/graalvm/community-edition/truffleruby/hashes.nix @@ -2,21 +2,21 @@ { "version" = "23.1.0"; "truffleruby" = { - "linux-aarch64" = { + "aarch64-linux" = { sha256 = "05q0xqm7qa9mw7v4kwyhbqsx27x19msf9rbbzq60dinp5724r721"; url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-aarch64.tar.gz"; }; - "linux-amd64" = { + "x86_64-linux" = { sha256 = "0bfcqcax9424vsdqzr18mxkhi2wpzc4xaji98anm8mcjkyl1r89q"; url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-amd64.tar.gz"; }; - "macos-aarch64" = { - sha256 = "1nmqyn4vzwjsvq7dly8qn1xx973jg027xfbs988vf3nljnhkpq5l"; - url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-aarch64.tar.gz"; - }; - "macos-amd64" = { + "x86_64-darwin" = { sha256 = "1yj9nk670hgh9104s1j207mqldagfvvvscj4bfgf3jlbcq5hvlhn"; url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-amd64.tar.gz"; }; + "aarch64-darwin" = { + sha256 = "1nmqyn4vzwjsvq7dly8qn1xx973jg027xfbs988vf3nljnhkpq5l"; + url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-aarch64.tar.gz"; + }; }; } diff --git a/pkgs/development/compilers/graalvm/community-edition/update.sh b/pkgs/development/compilers/graalvm/community-edition/update.sh index 23c36c91a67..3b1445bd649 100755 --- a/pkgs/development/compilers/graalvm/community-edition/update.sh +++ b/pkgs/development/compilers/graalvm/community-edition/update.sh @@ -75,19 +75,20 @@ declare -r -A products_urls=( [truffleruby]="https://github.com/oracle/truffleruby/releases/download/graal-${new_version}/truffleruby-community-${new_version}-@platform@.tar.gz" ) +# Argh, this is really inconsistent... if [[ "$product" == "graalvm-ce" ]]; then - readonly platforms=( - "linux-aarch64" - "linux-x64" - "macos-aarch64" - "macos-x64" + declare -r -A platforms=( + [aarch64-linux]="linux-aarch64" + [x86_64-linux]="linux-x64" + [aarch64-darwin]="macos-aarch64" + [x86_64-darwin]="macos-x64" ) else - readonly platforms=( - "linux-aarch64" - "linux-amd64" - "macos-aarch64" - "macos-amd64" + declare -r -A platforms=( + [aarch64-linux]="linux-aarch64" + [x86_64-linux]="linux-amd64" + [aarch64-darwin]="macos-aarch64" + [x86_64-darwin]="macos-amd64" ) fi @@ -99,23 +100,24 @@ echo_file "{" echo_file " \"version\" = \"$new_version\";" url="${products_urls["${product}"]}" echo_file " \"$product\" = {" -for platform in "${platforms[@]}"; do - args=("${url//@platform@/$platform}") +for nix_platform in "${!platforms[@]}"; do + product_platform="${platforms[$nix_platform]}" + args=("${url//@platform@/$product_platform}") # Get current hashes to skip derivations already in /nix/store to reuse cache when the version is the same # e.g.: when adding a new product and running this script with FORCE=1 if [[ "$current_version" == "$new_version" ]] && \ - previous_hash="$(nix-instantiate --eval "$hashes_nix" -A "$product.$platform.sha256" --json | jq -r)"; then + previous_hash="$(nix-instantiate --eval "$hashes_nix" -A "$product.$nix_platform.sha256" --json | jq -r)"; then args+=("$previous_hash" "--type" "sha256") else - info "Hash in '$product' for '$platform' not found. Re-downloading it..." + info "Hash in '$product' for '$nix_platform' not found. Re-downloading it..." fi if hash="$(nix-prefetch-url "${args[@]}")"; then -echo_file " \"$platform\" = {" +echo_file " \"$nix_platform\" = {" echo_file " sha256 = \"$hash\";" -echo_file " url = \"${url//@platform@/${platform}}\";" +echo_file " url = \"${url//@platform@/${product_platform}}\";" echo_file " };" else - info "Error while downloading '$product' for '$platform'. Skipping it..." + info "Error while downloading '$product' for '$nix_platform'. Skipping it..." fi done echo_file " };" |