Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

59 lines
1.3 KiB
Nix
Raw Permalink Normal View History

2025-10-09 14:15:47 +02:00
{
lib,
stdenv,
fetchurl,
unzip,
}:
stdenv.mkDerivation rec {
pname = "libf2c";
version = "20160102";
src = fetchurl {
url = "http://www.netlib.org/f2c/libf2c.zip";
sha256 = "1q78y8j8xpl8zdzdxmn5ablss56hi5a7vz3idam9l2nfx5q40h6a";
};
unpackPhase = ''
mkdir build
cd build
unzip ${src}
'';
postPatch = ''
substituteInPlace makefile.u \
--replace-fail "ld" "${stdenv.cc.targetPrefix}ld"
'';
makeFlags = [
"-f"
"makefile.u"
"CC=${stdenv.cc.targetPrefix}cc"
];
installPhase = ''
mkdir -p $out/include $out/lib
cp libf2c.a $out/lib
cp f2c.h $out/include
'';
nativeBuildInputs = [ unzip ];
hardeningDisable = [ "format" ];
# Makefile is missing depepdencies on generated headers:
# main.c:4:10: fatal error: signal1.h: No such file or directory
enableParallelBuilding = false;
meta = {
description = "F2c converts Fortran 77 source code to C";
homepage = "http://www.netlib.org/f2c/";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
# Generates arith.h at build time. Uses non-standard fpu_control.h.
broken =
(!stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|| (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.libc != "glibc");
};
}