nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 rocmUpdateScript,
6 cmake,
7 writeText,
8}:
9
10stdenv.mkDerivation (finalAttrs: {
11 pname = "rocm-core";
12 version = "6.3.3";
13
14 src = fetchFromGitHub {
15 owner = "ROCm";
16 repo = "rocm-core";
17 rev = "rocm-${finalAttrs.version}";
18 hash = "sha256-UDnPGvgwzwv49CzF+Kt0v95CsxS33BZeqNcKw1K6jRI=";
19 };
20
21 nativeBuildInputs = [ cmake ];
22 # FIXME: What's the correct way to set this?
23 env.ROCM_LIBPATCH_VERSION = "${lib.versions.major finalAttrs.version}0${lib.versions.minor finalAttrs.version}0${lib.versions.patch finalAttrs.version}";
24 env.BUILD_ID = "nixos-${finalAttrs.env.ROCM_LIBPATCH_VERSION}";
25 env.ROCM_BUILD_ID = "release-${finalAttrs.env.BUILD_ID}";
26 cmakeFlags = [
27 "-DROCM_LIBPATCH_VERSION=${finalAttrs.env.ROCM_LIBPATCH_VERSION}"
28 "-DROCM_VERSION=${finalAttrs.version}"
29 "-DBUILD_ID=${finalAttrs.env.BUILD_ID}"
30 ];
31
32 setupHook = writeText "setupHook.sh" ''
33 export ROCM_LIBPATCH_VERSION="${finalAttrs.env.ROCM_LIBPATCH_VERSION}"
34 export BUILD_ID="${finalAttrs.env.BUILD_ID}"
35 export ROCM_BUILD_ID="${finalAttrs.env.ROCM_BUILD_ID}"
36 '';
37
38 passthru.ROCM_LIBPATCH_VERSION = finalAttrs.env.ROCM_LIBPATCH_VERSION;
39 passthru.updateScript = rocmUpdateScript {
40 name = finalAttrs.pname;
41 inherit (finalAttrs.src) owner;
42 inherit (finalAttrs.src) repo;
43 page = "tags?per_page=4";
44 };
45
46 meta = with lib; {
47 description = "Utility for getting the ROCm release version";
48 homepage = "https://github.com/ROCm/rocm-core";
49 license = with licenses; [ mit ];
50 teams = [ teams.rocm ];
51 platforms = platforms.linux;
52 };
53})