Archived
1
0
forked from rarias/bscpkgs

1 Commits

Author SHA1 Message Date
2a7f6618d2 Expose our packages in flake packages output 2025-09-16 14:46:19 +02:00
5 changed files with 57 additions and 68 deletions

View File

@@ -2,25 +2,37 @@
inputs.nixpkgs.url = "nixpkgs"; inputs.nixpkgs.url = "nixpkgs";
outputs = { self, nixpkgs, ...}: outputs = { self, nixpkgs, ...}:
let let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
# For now we only support x86 # For now we only support x86
system = "x86_64-linux"; overlays = [ self.overlays.default ];
pkgs = import nixpkgs { };
inherit system; in
overlays = [ self.overlays.default ];
};
in
{ {
bscOverlay = import ./overlay.nix; bscOverlay = import ./overlay.nix;
overlays.default = self.bscOverlay; overlays.default = self.bscOverlay;
# full nixpkgs with our overlay applied
legacyPackages.${system} = pkgs;
hydraJobs = {
inherit (self.legacyPackages.${system}.bsc-ci) test pkgs;
};
# propagate nixpkgs lib, so we can do bscpkgs.lib # propagate nixpkgs lib, so we can do bscpkgs.lib
inherit (nixpkgs) lib; inherit (nixpkgs) lib;
# full nixpkgs with our overlay applied
legacyPackages.${system} = pkgs;
# packages added by our overlay
packages.${system} =
let
inherit (builtins) attrNames removeAttrs;
inherit (nixpkgs.lib) flip filterAttrs getAttrs pipe isDerivation;
in
# extract the names of the packages from the overlay, then get the
# actual packages from the full package set with the overlay applied
pipe (self.overlays.default null { inherit (nixpkgs) lib; } ) [
attrNames
(flip getAttrs pkgs)
(flip removeAttrs [ "bsc" ])
(filterAttrs (_: isDerivation))
];
}; };
} }

View File

@@ -88,9 +88,7 @@ in bscPkgs // {
}; };
}; };
pkgs = filterAttrs (_: isDerivation) bscPkgs; pkgs = final.runCommand "ci-pkgs" { }
pkgsList = final.runCommand "ci-pkgs" { }
"printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out"; "printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
tests = final.runCommand "ci-tests" { } tests = final.runCommand "ci-tests" { }
@@ -98,7 +96,7 @@ in bscPkgs // {
all = final.runCommand "ci-all" { } 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 cat $deps
printf '%s\n' $deps > $out printf '%s\n' $deps > $out
''; '';

View File

@@ -1,4 +1,5 @@
{ stdenv {
stdenv
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook , autoreconfHook
, boost , boost
@@ -11,17 +12,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";
@@ -38,26 +36,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}"
@@ -67,19 +60,19 @@ stdenv.mkDerivation {
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
autoconf
automake
autoreconfHook
wrapGAppsHook wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
autoreconfHook
boost boost
libxml2 libxml2.dev
xml2 xml2
wx wx
autoconf
automake
paraverKernel paraverKernel
openssl openssl.dev
]; ];
postInstall = '' postInstall = ''

View File

@@ -1,4 +1,5 @@
{ stdenv {
stdenv
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook , autoreconfHook
, boost , boost
@@ -8,16 +9,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";
@@ -38,31 +34,24 @@ 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}"
"--enable-openmp" "--enable-openmp"
]; ];
nativeBuildInputs = [
autoreconfHook
autoconf
automake
pkg-config
];
buildInputs = [ buildInputs = [
autoreconfHook
boost boost
libxml2.dev libxml2.dev
xml2 xml2
autoconf
automake
pkg-config
zlib zlib
]; ];
} }

View File

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