Archived
1
0
forked from rarias/bscpkgs

2 Commits

Author SHA1 Message Date
b7e43d5b08 Make lib imports in overlay explicit 2025-09-12 14:46:57 +02:00
751d9e7373 Set strictDeps=true on our top level packages 2025-09-12 14:46:56 +02:00
5 changed files with 46 additions and 71 deletions

View File

@@ -2,23 +2,17 @@
inputs.nixpkgs.url = "nixpkgs";
outputs = { self, nixpkgs, ...}:
let
let
pkgs = import nixpkgs {
# For now we only support x86
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
in
overlays = [ self.overlays.default ];
};
in
{
bscOverlay = import ./overlay.nix;
overlays.default = self.bscOverlay;
# full nixpkgs with our overlay applied
legacyPackages.${system} = pkgs;
hydraJobs = {
inherit (self.legacyPackages.${system}.bsc-ci) test pkgs;
};
legacyPackages.x86_64-linux = pkgs;
# propagate nixpkgs lib, so we can do bscpkgs.lib
inherit (nixpkgs) lib;

View File

@@ -1,15 +1,19 @@
final: /* Future last stage */
prev: /* Previous stage */
with final.lib;
let
callPackage = final.callPackage;
inherit (prev.lib) collect isDerivation mapAttrs;
inherit (final) callPackage;
mkDeps = name: pkgs: final.runCommand name { }
"printf '%s\n' ${toString (collect (x: x ? outPath) pkgs)} > $out";
bscPkgs = {
mkStrict = drv: if (isDerivation drv && drv ? overrideAttrs && !(drv ? strictDeps))
then drv.overrideAttrs { strictDeps = true; }
else drv;
bscPkgs = mapAttrs (_: mkStrict) {
bench6 = callPackage ./pkgs/bench6/default.nix { };
bigotes = callPackage ./pkgs/bigotes/default.nix { };
clangOmpss2 = callPackage ./pkgs/llvm-ompss2/default.nix { };
@@ -88,9 +92,7 @@ in bscPkgs // {
};
};
pkgs = filterAttrs (_: isDerivation) bscPkgs;
pkgsList = final.runCommand "ci-pkgs" { }
pkgs = final.runCommand "ci-pkgs" { }
"printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
tests = final.runCommand "ci-tests" { }
@@ -98,7 +100,7 @@ in bscPkgs // {
all = final.runCommand "ci-all" { }
''
deps="${toString [ final.bsc-ci.pkgsList final.bsc-ci.tests ]}"
deps="${toString [ final.bsc-ci.pkgs final.bsc-ci.tests ]}"
cat $deps
printf '%s\n' $deps > $out
'';

View File

@@ -1,4 +1,5 @@
{ stdenv
{
stdenv
, fetchFromGitHub
, autoreconfHook
, boost
@@ -11,17 +12,14 @@
, openssl
, glibcLocales
, wrapGAppsHook
, enableDebug ? false
}:
let
wx = wxGTK32;
version = "4.12.0";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "wxparaver";
inherit version;
version = "4.12.0";
src = fetchFromGitHub {
owner = "bsc-performance-tools";
@@ -38,26 +36,21 @@ stdenv.mkDerivation {
./fix-boost-87.patch
];
hardeningDisable = [ "all" ];
# Fix the PARAVER_HOME variable
postPatch = ''
sed -i 's@^PARAVER_HOME=.*$@PARAVER_HOME='$out'@g' docs/wxparaver
sed -i '1aexport LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"' docs/wxparaver
'';
dontStrip = true;
enableParallelBuilding = true;
hardeningDisable = [ "all" ];
dontStrip = true;
env =
let
flags = if enableDebug then "-ggdb -Og" else "-O3";
in
{
CFLAGS = flags;
CXXFLAGS = flags;
};
preConfigure = ''
export CFLAGS="-O3"
export CXXFLAGS="-O3"
'';
configureFlags = [
"--with-boost=${boost}"
@@ -67,19 +60,19 @@ stdenv.mkDerivation {
];
nativeBuildInputs = [
autoconf
automake
autoreconfHook
wrapGAppsHook
];
buildInputs = [
autoreconfHook
boost
libxml2
libxml2.dev
xml2
wx
autoconf
automake
paraverKernel
openssl
openssl.dev
];
postInstall = ''

View File

@@ -1,4 +1,5 @@
{ stdenv
{
stdenv
, fetchFromGitHub
, autoreconfHook
, boost
@@ -8,16 +9,11 @@
, automake
, pkg-config
, zlib
, enableDebug ? false
}:
let
version = "4.12.0";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "paraver-kernel";
inherit version;
version = "4.12.0";
src = fetchFromGitHub {
owner = "bsc-performance-tools";
@@ -38,31 +34,24 @@ stdenv.mkDerivation {
dontStrip = true;
env =
let
flags = "-DPARALLEL_ENABLED " + (if enableDebug then "-ggdb -Og" else "-O3");
in
{
CFLAGS = flags;
CXXFLAGS = flags;
};
preConfigure = ''
export CFLAGS="-O3 -DPARALLEL_ENABLED"
export CXXFLAGS="-O3 -DPARALLEL_ENABLED"
'';
configureFlags = [
"--with-boost=${boost}"
"--enable-openmp"
];
nativeBuildInputs = [
autoreconfHook
autoconf
automake
pkg-config
];
buildInputs = [
autoreconfHook
boost
libxml2.dev
xml2
autoconf
automake
pkg-config
zlib
];
}

View File

@@ -61,16 +61,13 @@ stdenv.mkDerivation rec {
"--with-wx-config=${wx}/bin/wx-config"
];
nativeBuildInputs = [
autoconf
automake
];
buildInputs = [
boost
xml2
libxml2.dev
wx
autoconf
automake
openssl.dev
];