68 lines
1.9 KiB
Nix
68 lines
1.9 KiB
Nix
|
# Build with `nix-build nix/old-glibc.nix`
|
||
|
let
|
||
|
# Pin the nixpkgs
|
||
|
nixpkgsPath = builtins.fetchTarball {
|
||
|
# Descriptive name to make the store path easier to identify
|
||
|
name = "nixos-20.09";
|
||
|
# Commit hash for nixos-20.09 as of 2021-01-11
|
||
|
url = "https://github.com/nixos/nixpkgs/archive/41dddb1283733c4993cb6be9573d5cef937c1375.tar.gz";
|
||
|
# Hash obtained using `nix-prefetch-url --unpack <url>`
|
||
|
sha256 = "1blbidbmxhaxar2x76nz72bazykc5yxi0algsbrhxgrsvijs4aiw";
|
||
|
};
|
||
|
|
||
|
pkgs = import nixpkgsPath { };
|
||
|
|
||
|
ovni = pkgs.stdenv.mkDerivation rec {
|
||
|
name = "ovni";
|
||
|
|
||
|
buildInputs = with pkgs; [ cmake openmpi ];
|
||
|
|
||
|
# Prevent accidental reutilization of previous builds, as we are taking the
|
||
|
# current directory as-is
|
||
|
preConfigure = ''
|
||
|
rm -rf build install
|
||
|
|
||
|
# There is no /bin/bash
|
||
|
patchShebangs test/*.sh
|
||
|
'';
|
||
|
|
||
|
cmakeBuildType = "Debug";
|
||
|
cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" ];
|
||
|
buildFlags = [ "VERBOSE=1" ];
|
||
|
preCheck = ''
|
||
|
export CTEST_OUTPUT_ON_FAILURE=1
|
||
|
'';
|
||
|
dontStrip = true;
|
||
|
doCheck = true;
|
||
|
checkTarget = "test";
|
||
|
|
||
|
src = ../.;
|
||
|
};
|
||
|
|
||
|
nosv = pkgs.stdenv.mkDerivation rec {
|
||
|
pname = "nosv";
|
||
|
version = src.shortRev;
|
||
|
buildInputs = with pkgs; [ autoreconfHook pkg-config numactl ovni ];
|
||
|
configureFlags = [ "--with-ovni=${ovni}" ];
|
||
|
dontStrip = true;
|
||
|
src = builtins.fetchGit {
|
||
|
url = "ssh://git@gitlab-internal.bsc.es/nos-v/nos-v.git";
|
||
|
ref = "master";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
# Quick fix to avoid rebuilding every time the ovni source changes.
|
||
|
# Use this nosv' version below as dependency of ovni-rt
|
||
|
nosv' = /nix/store/rvnrbc7ibpw06jdilz6mha7szzxcr2mi-nosv-8936f3e;
|
||
|
|
||
|
ovni-rt = ovni.overrideAttrs (old: {
|
||
|
__impure = true;
|
||
|
__noChroot = true;
|
||
|
buildInputs = old.buildInputs ++ [ nosv pkgs.strace ];
|
||
|
cmakeFlags = old.cmakeFlags ++ [ "-DBUILD_RT_TESTING=ON" ];
|
||
|
});
|
||
|
|
||
|
in
|
||
|
|
||
|
ovni-rt
|