summaryrefslogtreecommitdiffstats
path: root/pkgs/development/rocm-modules
diff options
context:
space:
mode:
authorMadoura <madouura@gmail.com>2023-10-22 08:09:57 -0500
committerMadoura <madouura@gmail.com>2023-10-23 16:04:00 -0500
commita593ca3973018b5eecd76aedcafe336345f1bd2e (patch)
tree258a0bcb2028ee8ba07a5d5039a17cfeb4c6e523 /pkgs/development/rocm-modules
parent501b1e3506cbb89e94427bdb415481d1fcbbf52c (diff)
rocmPackages.hsa-amd-aqlprofile-bin: 5.7.0 -> 5.7.1
Added update script that actually works
Diffstat (limited to 'pkgs/development/rocm-modules')
-rw-r--r--pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix24
-rw-r--r--pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix51
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 d13092fd3eef..8bd479c5c245 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 000000000000..95260a79321d
--- /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 ]