Even if we do an override to papi get the proper configure flags for
cross-compiling, the memory fences are not defined for risc-v:
mb.h:67:2: error: #error Need to define rmb for this architecture!
Builds the .#bsc-ci.all target on each PR. Causes all packages to be
built in hut, populating the nix cache.
Reviewed-by: Aleix Boné <abonerib@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Currently, we can use bscpkgs similarly to nixpkgs either through
the flake outputs or with import bscpkgs:
```nix
# currently supported:
bscpkgs.legacyPackages.x86_64-linux.hello
let pkgs = import bscpkgs { system = "x86_64-linux"; }; in pkgs.hello
```
The missing piece is nixpkgs.lib (not pkgs.lib, the system agnostic
one). The workaround is to do bscpkgs.inputs.nixpkgs.lib instead. We can
simplify this by forwarding the lib to our outputs.
This enables us to use bscpkgs as a drop-in
replacing the inputs to our flake from nixpkgs to bscpkgs.
(inputs.nixpkgs.url = "<*BSC*pkgs url>").
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Aleix Boné <abonerib@bsc.es>
The rdma-core driver.h include is no longer installed:
56dd87acd2
So ibv_read_sysfs_file() is not defined. As the symbols is still
distributed, we simply add the missing prototype manually.
Similarly, the gaspi_get_system_mem() function is not available from the
gaspi public headers, so we define it in the max_mem.c test.
Fixes: rarias/bscpkgs#7
Reviewed-by: Aleix Boné <abonerib@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
To support the new instrumentation for HWC it would be useful to already
build nOS-V with PAPI support enabled. The enablePapi switch allows it
to be disabled with `nosv.override { enablePapi = false; }`.
Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Adds a new patch to fix libxml2: the m4 AM_PATH_XML2 macro has been
deprecated and is no longer included in the latest nixpkgs unstable.
Upstream recommends using `PKG_CHECK_MODULES` instead.
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Intel compiler for C++ (icpc) is not able to parse the location of C++
headers from the output of gcc 14, but works fine for gcc 13.
Reviewed-by: Aleix Boné <abonerib@bsc.es>
We need to add the gcc in the PATH, but adding it directly to $PATH
doesn't work, as it will be restored to $path_backup before icc runs. So
for now we simply inject it to path_backup, but ideally we should find a
more robust solution.
Reviewed-by: Aleix Boné <abonerib@bsc.es>