Save full version in hpckit packages
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user