about summary refs log tree commit diff
path: root/pkgs/applications/science/electronics/archimedes
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2022-07-04 08:20:07 +0100
committerSergei Trofimovich <slyich@gmail.com>2022-07-04 08:20:07 +0100
commit8aaed36df32bcff840489b7083b4cb077a7cf97a (patch)
tree718e4364d56dd970c8e9b595b91ca9bf4e95827a /pkgs/applications/science/electronics/archimedes
parentd335ada6fe1397b4d9fc74bbe812922ce073aea6 (diff)
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.
Diffstat (limited to 'pkgs/applications/science/electronics/archimedes')
-rw-r--r--pkgs/applications/science/electronics/archimedes/default.nix12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/applications/science/electronics/archimedes/default.nix b/pkgs/applications/science/electronics/archimedes/default.nix
index 8bceed08e1db6..631f44e806333 100644
--- a/pkgs/applications/science/electronics/archimedes/default.nix
+++ b/pkgs/applications/science/electronics/archimedes/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "archimedes";
@@ -9,6 +9,16 @@ stdenv.mkDerivation rec {
     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";