forked from rarias/jungle
Compare commits
3 Commits
quick-shel
...
97e81b2f91
| Author | SHA1 | Date | |
|---|---|---|---|
|
97e81b2f91
|
|||
|
a13a4e66a6
|
|||
|
9f740ec234
|
@@ -19,7 +19,6 @@ let
|
|||||||
cudainfo = prev.callPackage ./pkgs/cudainfo/default.nix { };
|
cudainfo = prev.callPackage ./pkgs/cudainfo/default.nix { };
|
||||||
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
||||||
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
||||||
quickShell = import ./pkgs/quick-shell/default.nix { pkgs = final; };
|
|
||||||
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
|
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
|
||||||
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { };
|
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { };
|
||||||
# FIXME: Extend this to all linuxPackages variants. Open problem, see:
|
# FIXME: Extend this to all linuxPackages variants. Open problem, see:
|
||||||
@@ -108,7 +107,12 @@ let
|
|||||||
(meta.availableOn platform pkg);
|
(meta.availableOn platform pkg);
|
||||||
|
|
||||||
# For now only RISC-V
|
# For now only RISC-V
|
||||||
crossSet = { riscv64 = final.pkgsCross.riscv64.bsc.pkgsTopLevel; };
|
crossSet = genAttrs [ "riscv64" ] genCross;
|
||||||
|
|
||||||
|
genCross = platform:
|
||||||
|
# filter out packages by meta.platforms
|
||||||
|
filterAttrs (_: meta.availableOn final.pkgsCross.${platform}.stdenv.hostPlatform)
|
||||||
|
final.pkgsCross.${platform}.bsc.pkgsTopLevel;
|
||||||
|
|
||||||
buildList = name: paths:
|
buildList = name: paths:
|
||||||
final.runCommandLocal name { } ''
|
final.runCommandLocal name { } ''
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ in
|
|||||||
meta = {
|
meta = {
|
||||||
description = "Performance analysis tool-suite for x86 based applications";
|
description = "Performance analysis tool-suite for x86 based applications";
|
||||||
homepage = "https://www.amd.com/es/developer/uprof.html";
|
homepage = "https://www.amd.com/es/developer/uprof.html";
|
||||||
platforms = lib.platforms.linux;
|
platforms = [ "x86_64-linux" ];
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
maintainers = with lib.maintainers.bsc; [ rarias varcila ];
|
maintainers = with lib.maintainers.bsc; [ rarias varcila ];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, cudatoolkit
|
, cudatoolkit
|
||||||
, cudaPackages
|
, cudaPackages
|
||||||
, autoAddDriverRunpath
|
, autoAddDriverRunpath
|
||||||
@@ -40,4 +41,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
'';
|
'';
|
||||||
installPhase = "touch $out";
|
installPhase = "touch $out";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
maintainers = with lib.maintainers.bsc; [ rarias ];
|
||||||
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,76 +0,0 @@
|
|||||||
{ pkgs }:
|
|
||||||
|
|
||||||
# This builds devshells using passthru to populate packages and inputsFrom
|
|
||||||
# lazily.
|
|
||||||
#
|
|
||||||
# Packages prefixed with @ are added to inputsFrom and the rest are
|
|
||||||
# added to packages. This makes it possible to obtain a devshell with combining
|
|
||||||
# inputsFrom and packages from the comand line:
|
|
||||||
#
|
|
||||||
# $ nix develop .#quickShell.@nosv.clang-tools.ovni.@tampi
|
|
||||||
#
|
|
||||||
# is equivalent to:
|
|
||||||
#
|
|
||||||
# with pkgs; mkShell {
|
|
||||||
# packages = [ clang-tools ovni ];
|
|
||||||
# inputsFrom = [ nosv tampi ];
|
|
||||||
# }
|
|
||||||
#
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (builtins) attrNames getAttr listToAttrs;
|
|
||||||
inherit (pkgs) lib;
|
|
||||||
|
|
||||||
# list of all packages' names
|
|
||||||
names = attrNames pkgs;
|
|
||||||
|
|
||||||
# generate a attributes containing the selected packages + all the available
|
|
||||||
# packages in names ("" -> packages and "@" -> inputsFrom)
|
|
||||||
go =
|
|
||||||
selected:
|
|
||||||
let
|
|
||||||
mkAttrs =
|
|
||||||
isInputs:
|
|
||||||
(map (
|
|
||||||
name:
|
|
||||||
let
|
|
||||||
pkg = getAttr name pkgs;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
name = (if isInputs then "@" else "") + name;
|
|
||||||
value = go (
|
|
||||||
if isInputs then
|
|
||||||
{
|
|
||||||
inherit (selected) packages;
|
|
||||||
inputsFrom = selected.inputsFrom ++ [ pkg ];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
inherit (selected) inputsFrom;
|
|
||||||
packages = selected.packages ++ [ pkg ];
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
) names);
|
|
||||||
|
|
||||||
attrs = listToAttrs ((mkAttrs true) ++ (mkAttrs false));
|
|
||||||
|
|
||||||
drv = pkgs.mkShell {
|
|
||||||
inherit (selected) inputsFrom packages;
|
|
||||||
name = # build a label from inputsFrom
|
|
||||||
if (selected.inputsFrom == [ ]) then
|
|
||||||
"nix-quick-shell"
|
|
||||||
else
|
|
||||||
lib.concatStringsSep "-" (map (v: v.pname or v.name or "unknown") selected.inputsFrom);
|
|
||||||
};
|
|
||||||
in
|
|
||||||
drv.overrideAttrs {
|
|
||||||
passthru = attrs // {
|
|
||||||
_passthru = drv.passthru;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
go {
|
|
||||||
inputsFrom = [ ];
|
|
||||||
packages = [ ];
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user