Save full version in hpckit packages

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
This commit is contained in:
2026-03-20 16:48:46 +01:00
parent 2d90a92e69
commit f15b272c41
3 changed files with 26 additions and 18 deletions

View File

@@ -136,14 +136,15 @@ let
};
};
kit = fromTOML (readFile ./packages.toml);
in
mapAttrs (
name: value:
patchIntel {
unpatched = extractKit (lib.getName name) (lib.getVersion name) value;
unpatched = extractKit "hpckit" kit.meta.${name}.version value;
components = components.${name};
}
) (fromTOML (readFile ./packages.toml))
) (removeAttrs kit [ "meta" ])
// {
inherit patchIntel extractKit;
inherit patchIntel extractKit kit;
}

View File

@@ -1,3 +1,6 @@
[meta.hpckit-2023-1-0]
version="2023.1.0-46346"
[[hpckit-2023-1-0]]
name="intel-oneapi-ccl"
version="2021.9.0-43543"
@@ -292,6 +295,9 @@ version="2021.9.0-43484"
file="pool/main/intel-oneapi-tbb-devel-2021.9.0-2021.9.0-43484_amd64.deb"
sha256="dec4a9c18b10039dac5bd8a7c3158c9521cc018a986bff58a36d7a5daadfc3e3"
[meta.hpckit-2024]
version="2024.2.1-77"
[[hpckit-2024]]
name="intel-oneapi-ccl"
version="2021.13.1-31"
@@ -658,6 +664,9 @@ version="2024.2.0-705"
file="pool/main/intel-oneapi-tlt-2024.2-2024.2.0-705_amd64.deb"
sha256="b7eb4614de1e10fd691616365ec0b6e3b23712a9377999df1ebb2f2c0589f2aa"
[meta.hpckit-2025]
version="2025.3.1-52"
[[hpckit-2025]]
name="intel-oneapi-ccl"
version="2021.17.2-5"

View File

@@ -3,6 +3,7 @@
module Main (main) where
import Control.Arrow (second, (&&&))
import Control.Monad (when)
import qualified Data.Map.Lazy as M
import qualified Data.Map.Strict as MS
@@ -12,7 +13,7 @@ import qualified Data.Text.IO as TIO
import Data.Char (isAlpha, isNumber)
import Data.List (find, nub, sortOn)
import Data.Map.Lazy (Map)
import Data.Maybe (catMaybes, fromMaybe, maybeToList)
import Data.Maybe (catMaybes, maybeToList)
import Data.Ord (Down (Down))
import Data.Text.Read (decimal)
@@ -152,7 +153,6 @@ solveDeps d p = removeDupes $ go ([], [p])
done' = filter (not . isBlacklisted) $ nub $ done ++ (filter isMetaPackage todo)
todo' = concatMap depends todo >>= maybeToList . findMatching d
isMetaPackage = ((/= 0) . size) -- Packages with size 0
removeDupes :: [Package] -> [Package]
removeDupes l = fmap snd . MS.toList $ MS.fromListWith (getLatest) $ (cleanName . name &&& id) <$> l
@@ -210,17 +210,15 @@ main = do
d <- parse <$> TIO.getContents
sizes <- mapM (processHpcKit d . parseVersion) v
hPrintf stderr "Total Installed-Size: %.3fMb\n" ((fromIntegral (sum sizes)) / 1e6 :: Double)
mapM_ (processHpcKit d . parseVersion) v
where
-- TODO: replace fromMaybe+trace with either error handling?
processHpcKit :: Data -> Version -> IO Int
processHpcKit d v = do
let kit = getHpckit d v
deps = fromMaybe (trace (T.unpack $ "Could not find deps for kit: " <> showVer v <> " (SKIPPED)") $ []) $ solveDeps d <$> kit
totalSize = sum $ size <$> deps
mapM_ (displayTOML v) deps
return totalSize
processHpcKit :: Data -> Version -> IO ()
processHpcKit d v =
case (getHpckit d v) of
Nothing -> hPrintf stderr "[WARN]: Could not find hpckit with version %s [SKIPPED]\n" (show v)
(Just kit) -> do
-- Save resolved hpckit version information
printf "[meta.hpckit-%s]\nversion=\"%s\"\n\n" (showVerDash v) (showVer $ version kit)
let deps = solveDeps d kit
when (null deps) $ hPrintf stderr "[WARN]: Empty hpckit? (hpckit-%s)\n" (show v)
mapM_ (displayTOML v) deps