nixpkgs/pkgs/applications/science/electronics/archimedes/default.nix
Sergei Trofimovich 8aaed36df3 archimedes: use latest toolchain, not gcc-6
Without the change archimedes fails to build with latest toolchains as:

    ld: archimedes.c:(.text+0xdac7): undefined reference to `rnd'
    ld: archimedes.c:(.text+0xdeab): undefined reference to `rnd'
    ld: archimedes.c:(.text+0xdf13): undefined reference to `rnd'
    ld: archimedes.c:(.text+0xe3ef): undefined reference to `rnd'
    ld: archimedes.o:archimedes.c:(.text+0xe456): more undefined references to `rnd' follow
    ld: archimedes.o: in function `EMC':
    archimedes.c:(.text+0xf11b): undefined reference to `creation'
    ld: archimedes.c:(.text+0xf5f5): undefined reference to `creation'
    ld: archimedes.c:(.text+0xf826): undefined reference to `creation'
    ld: archimedes.c:(.text+0xf9ce): undefined reference to `creation'

The change happens to fix build against clang as well.
2022-07-04 08:20:07 +01:00

29 lines
837 B
Nix

{ lib, stdenv, fetchurl, fetchpatch }:
stdenv.mkDerivation rec {
pname = "archimedes";
version = "2.0.1";
src = fetchurl {
url = "mirror://gnu/archimedes/archimedes-${version}.tar.gz";
sha256 = "0jfpnd3pns5wxcxbiw49v5sgpmm5b4v8s4q1a5292hxxk2hzmb3z";
};
patches = [
# Pull patch pending upstream inclusion to support c99 toolchains:
# https://savannah.gnu.org/bugs/index.php?62703
(fetchpatch {
name = "c99.patch";
url = "https://savannah.gnu.org/bugs/download.php?file_id=53393";
sha256 = "1xmy1w4ln1gynldk3srdi2h0fxpx465dsa1yxc3rzrrjpxh6087f";
})
];
meta = {
description = "GNU package for semiconductor device simulations";
homepage = "https://www.gnu.org/software/archimedes";
license = lib.licenses.gpl2Plus;
platforms = with lib.platforms; linux;
};
}