77 lines
1.8 KiB
Nix
77 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchpatch,
|
|
fetchurl,
|
|
cmake,
|
|
freetype,
|
|
gfortran,
|
|
openssl,
|
|
libnsl,
|
|
motif,
|
|
xorg,
|
|
libxcrypt,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "2024.06.12.0";
|
|
pname = "cernlib";
|
|
year = lib.versions.major version;
|
|
|
|
src = fetchurl {
|
|
urls = [
|
|
"https://ftp.riken.jp/cernlib/download/${year}_source/tar/cernlib-cernlib-${version}-free.tar.gz"
|
|
"https://cernlib.web.cern.ch/download/${year}_source/tar/cernlib-cernlib-${version}-free.tar.gz"
|
|
];
|
|
hash = "sha256-SEFgQjPBkmRoaMD/7yXiXO9DZNrRhqZ01kptSDQur84=";
|
|
};
|
|
|
|
patches = [
|
|
(fetchpatch {
|
|
url = "https://github.com/user-attachments/files/16832928/geant321-fix-weak-alias-on-darwin.patch";
|
|
hash = "sha256-YzaUh4rJBszGdp5s/HDQMI5qQhCGrTt9P6XCgZOFn1I=";
|
|
})
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace CMakeLists.txt \
|
|
--replace-fail "find_program ( SED NAMES gsed" "find_program ( SED NAMES sed"
|
|
'';
|
|
|
|
# gfortran warning's on iframework messes with CMake's check_fortran_compiler_flag
|
|
# see also https://github.com/NixOS/nixpkgs/issues/27218
|
|
preConfigure = ''
|
|
export NIX_CFLAGS_COMPILE="$(echo $NIX_CFLAGS_COMPILE | sed 's|-iframework [^ ]*||g')"
|
|
'';
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
buildInputs =
|
|
with xorg;
|
|
[
|
|
freetype
|
|
gfortran
|
|
openssl
|
|
libX11
|
|
libXaw
|
|
libXft
|
|
libXt
|
|
libxcrypt
|
|
motif
|
|
]
|
|
++ lib.optional stdenv.hostPlatform.isLinux libnsl;
|
|
|
|
setupHook = ./setup-hook.sh;
|
|
|
|
meta = {
|
|
homepage = "http://cernlib.web.cern.ch";
|
|
description = "Legacy collection of libraries and modules for data analysis in high energy physics";
|
|
platforms = [
|
|
"aarch64-linux"
|
|
"i686-linux"
|
|
"x86_64-linux"
|
|
"x86_64-darwin"
|
|
];
|
|
maintainers = with lib.maintainers; [ veprbl ];
|
|
license = lib.licenses.gpl2;
|
|
};
|
|
}
|