diff options
author | Peder Bergebakken Sundt <pbsds@hotmail.com> | 2023-10-26 14:22:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-26 14:22:48 +0200 |
commit | 1ce5a446bb17c4d440c1159660eff6cdea7f66a4 (patch) | |
tree | a1ce420fb9add9e9c7535118b1fbb3ec626ad455 /pkgs | |
parent | f0f5af262cd2d45cc8d5425a5b707bc23eb3f06c (diff) | |
parent | a593ca3973018b5eecd76aedcafe336345f1bd2e (diff) |
Merge pull request #262750 from Madouura/pr/hsa-amd-aqlprofile
rocmPackages.hsa-amd-aqlprofile-bin: 5.7.0 -> 5.7.1
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix | 24 | ||||
-rw-r--r-- | pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix | 51 |
2 files changed, 62 insertions, 13 deletions
diff --git a/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix index d13092fd3eef0..8bd479c5c245f 100644 --- a/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix +++ b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix @@ -1,23 +1,17 @@ { lib , stdenv , fetchurl +, callPackage , dpkg }: -let - prefix = "hsa-amd-aqlprofile"; - version = "5.7.0"; - major = lib.versions.major version; - minor = lib.versions.minor version; - patch = lib.versions.patch version; - magic = lib.strings.concatStrings (lib.strings.intersperse "0" (lib.versions.splitVersion version)); -in stdenv.mkDerivation (finalAttrs: { - inherit version; - pname = "${prefix}-bin"; +stdenv.mkDerivation (finalAttrs: { + pname = "hsa-amd-aqlprofile-bin"; + version = "5.7.1"; src = fetchurl { - url = "https://repo.radeon.com/rocm/apt/${major}.${minor}/pool/main/h/${prefix}/${prefix}_1.0.0.${magic}.${magic}-63~22.04_amd64.deb"; - hash = "sha256-FQ25eXkhnvOmcf0sGW3GYu9kZj69bVvZrh0jVx/G/kI="; + url = "https://repo.radeon.com/rocm/apt/5.7.1/pool/main/h/hsa-amd-aqlprofile/hsa-amd-aqlprofile_1.0.0.50701.50701-98~22.04_amd64.deb"; + hash = "sha256-LWAtZ0paJW8lhE+QAMwq2l8wM+96bxk5rNWyQXTc9Vo="; }; nativeBuildInputs = [ dpkg ]; @@ -29,11 +23,15 @@ in stdenv.mkDerivation (finalAttrs: { runHook preInstall mkdir -p $out - cp -a opt/rocm-${version}/* $out + cp -a opt/rocm-${finalAttrs.version}/* $out + chmod +x $out/lib/libhsa-amd-aqlprofile64.so.1.* + chmod +x $out/lib/hsa-amd-aqlprofile/librocprofv2_att.so runHook postInstall ''; + passthru.updateScript = (callPackage ./update.nix { }) { inherit (finalAttrs) version; }; + meta = with lib; { description = "AQLPROFILE library for AMD HSA runtime API extension support"; homepage = "https://rocm.docs.amd.com/en/latest/"; diff --git a/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix new file mode 100644 index 0000000000000..95260a79321d4 --- /dev/null +++ b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix @@ -0,0 +1,51 @@ +{ lib +, writeScript +}: + +{ version }: + +let + prefix = "hsa-amd-aqlprofile"; + extVersion = lib.strings.concatStrings (lib.strings.intersperse "0" (lib.versions.splitVersion version)); + major = lib.versions.major version; + minor = lib.versions.minor version; + patch = lib.versions.patch version; + + updateScript = writeScript "update.sh" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl common-updater-scripts + apt="https://repo.radeon.com/rocm/apt" + pool="pool/main/h/${prefix}/" + url="$apt/latest/$pool" + res="$(curl -sL "$url")" + deb="${prefix}$(echo "$res" | grep -o -P "(?<=href=\"${prefix}).*(?=\">)" | tail -1)" + patch="${patch}" + + # Try up to 10 patch versions + for i in {1..10}; do + ((patch++)) + extVersion="$(echo "$deb" | grep -o -P "(?<=\.....).*(?=\..*-)")" + + if (( ''${#extVersion} == 5 )) && (( $extVersion <= ${extVersion} )); then + url="https://repo.radeon.com/rocm/apt/${major}.${minor}.$patch/pool/main/h/${prefix}/" + res="$(curl -sL "$url")" + deb="${prefix}$(echo "$res" | grep -o -P "(?<=href=\"${prefix}).*(?=\">)" | tail -1)" + else + break + fi + done + + extVersion="$(echo $deb | grep -o -P "(?<=\.....).*(?=\..*-)")" + version="$(echo $extVersion | sed "s/0/./1" | sed "s/0/./1")" + + if (( ''${#extVersion} == 5 )); then + repoVersion="$version" + + if (( ''${version:4:1} == 0 )); then + repoVersion=''${version:0:3} + fi + + update-source-version rocmPackages_5.${prefix}-bin "$version" "" "$apt/$repoVersion/$pool$deb" --ignore-same-hash + fi + ''; +in [ updateScript ] |