mastodon: 4.3.1 -> 4.3.2 (#361487)
[NixPkgs.git] / pkgs / by-name / ce / cernlib / package.nix
blob0673aeefffb1dec9d6f0a2011ed48bddc25328a9
2   lib,
3   stdenv,
4   fetchpatch,
5   fetchurl,
6   cmake,
7   freetype,
8   gfortran,
9   openssl,
10   libnsl,
11   motif,
12   xorg,
13   libxcrypt,
16 stdenv.mkDerivation rec {
17   version = "2024.06.12.0";
18   pname = "cernlib";
19   year = lib.versions.major version;
21   src = fetchurl {
22     urls = [
23       "https://ftp.riken.jp/cernlib/download/${year}_source/tar/cernlib-cernlib-${version}-free.tar.gz"
24       "https://cernlib.web.cern.ch/download/${year}_source/tar/cernlib-cernlib-${version}-free.tar.gz"
25     ];
26     hash = "sha256-SEFgQjPBkmRoaMD/7yXiXO9DZNrRhqZ01kptSDQur84=";
27   };
29   patches = [
30     (fetchpatch {
31       url = "https://github.com/user-attachments/files/16832928/geant321-fix-weak-alias-on-darwin.patch";
32       hash = "sha256-YzaUh4rJBszGdp5s/HDQMI5qQhCGrTt9P6XCgZOFn1I=";
33     })
34   ];
36   postPatch = ''
37     substituteInPlace CMakeLists.txt \
38       --replace-fail "find_program ( SED NAMES gsed" "find_program ( SED NAMES sed"
39   '';
41   # gfortran warning's on iframework messes with CMake's check_fortran_compiler_flag
42   # see also https://github.com/NixOS/nixpkgs/issues/27218
43   preConfigure = ''
44     export NIX_CFLAGS_COMPILE="$(echo $NIX_CFLAGS_COMPILE | sed 's|-iframework [^ ]*||g')"
45   '';
47   nativeBuildInputs = [ cmake ];
48   buildInputs = with xorg; [
49     freetype
50     gfortran
51     openssl
52     libX11
53     libXaw
54     libXft
55     libXt
56     libxcrypt
57     motif
58   ] ++ lib.optional stdenv.hostPlatform.isLinux libnsl;
60   setupHook = ./setup-hook.sh;
62   meta = {
63     homepage = "http://cernlib.web.cern.ch";
64     description = "Legacy collection of libraries and modules for data analysis in high energy physics";
65     platforms = [
66       "aarch64-linux"
67       "i686-linux"
68       "x86_64-linux"
69       "x86_64-darwin"
70     ];
71     maintainers = with lib.maintainers; [ veprbl ];
72     license = lib.licenses.gpl2;
73   };