forked from rarias/jungle
Compare commits
1 Commits
fix/parave
...
quick-shel
| Author | SHA1 | Date | |
|---|---|---|---|
|
9deef256a2
|
@@ -19,6 +19,7 @@ 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:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{ stdenv
|
{
|
||||||
|
stdenv
|
||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
@@ -12,17 +13,14 @@
|
|||||||
, openssl
|
, openssl
|
||||||
, glibcLocales
|
, glibcLocales
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
|
|
||||||
, enableDebug ? false
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
wx = wxGTK32;
|
wx = wxGTK32;
|
||||||
version = "4.12.0";
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wxparaver";
|
pname = "wxparaver";
|
||||||
inherit version;
|
version = "4.12.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bsc-performance-tools";
|
owner = "bsc-performance-tools";
|
||||||
@@ -39,26 +37,21 @@ stdenv.mkDerivation {
|
|||||||
./fix-boost-87.patch
|
./fix-boost-87.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
# Fix the PARAVER_HOME variable
|
# Fix the PARAVER_HOME variable
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i 's@^PARAVER_HOME=.*$@PARAVER_HOME='$out'@g' docs/wxparaver
|
sed -i 's@^PARAVER_HOME=.*$@PARAVER_HOME='$out'@g' docs/wxparaver
|
||||||
sed -i '1aexport LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"' docs/wxparaver
|
sed -i '1aexport LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"' docs/wxparaver
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
dontStrip = true;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
preConfigure = ''
|
||||||
|
export CFLAGS="-O3"
|
||||||
dontStrip = true;
|
export CXXFLAGS="-O3"
|
||||||
|
'';
|
||||||
env =
|
|
||||||
let
|
|
||||||
flags = if enableDebug then "-ggdb -Og" else "-O3";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
CFLAGS = flags;
|
|
||||||
CXXFLAGS = flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-boost=${boost}"
|
"--with-boost=${boost}"
|
||||||
@@ -76,11 +69,11 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
libxml2
|
libxml2.dev
|
||||||
xml2
|
xml2
|
||||||
wx
|
wx
|
||||||
paraverKernel
|
paraverKernel
|
||||||
openssl
|
openssl.dev
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{ stdenv
|
{
|
||||||
|
stdenv
|
||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
@@ -9,16 +10,11 @@
|
|||||||
, automake
|
, automake
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, zlib
|
, zlib
|
||||||
|
|
||||||
, enableDebug ? false
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation rec {
|
||||||
version = "4.12.0";
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "paraver-kernel";
|
pname = "paraver-kernel";
|
||||||
inherit version;
|
version = "4.12.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bsc-performance-tools";
|
owner = "bsc-performance-tools";
|
||||||
@@ -39,14 +35,10 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
env =
|
preConfigure = ''
|
||||||
let
|
export CFLAGS="-O3 -DPARALLEL_ENABLED"
|
||||||
flags = "-DPARALLEL_ENABLED " + (if enableDebug then "-ggdb -Og" else "-O3");
|
export CXXFLAGS="-O3 -DPARALLEL_ENABLED"
|
||||||
in
|
'';
|
||||||
{
|
|
||||||
CFLAGS = flags;
|
|
||||||
CXXFLAGS = flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-boost=${boost}"
|
"--with-boost=${boost}"
|
||||||
|
|||||||
76
pkgs/quick-shell/default.nix
Normal file
76
pkgs/quick-shell/default.nix
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
{ 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