summary refs log tree commit diff
path: root/pkgs/development/coq-modules/compcert/default.nix
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-09-19 10:50:47 +0200
committerVincent Laporte <vbgl@users.noreply.github.com>2023-09-19 13:30:30 +0200
commit85fd87463918c383c46f8725b96eea6e63cf5d4f (patch)
treeac7b357fbafe74fdd320ab3f7e840eba540bc240 /pkgs/development/coq-modules/compcert/default.nix
parentbd17fe35505e9684d8234b8c09cef7715639db5c (diff)
downloadnixpkgs-85fd87463918c383c46f8725b96eea6e63cf5d4f.tar
nixpkgs-85fd87463918c383c46f8725b96eea6e63cf5d4f.tar.gz
nixpkgs-85fd87463918c383c46f8725b96eea6e63cf5d4f.tar.bz2
nixpkgs-85fd87463918c383c46f8725b96eea6e63cf5d4f.tar.lz
nixpkgs-85fd87463918c383c46f8725b96eea6e63cf5d4f.tar.xz
nixpkgs-85fd87463918c383c46f8725b96eea6e63cf5d4f.tar.zst
nixpkgs-85fd87463918c383c46f8725b96eea6e63cf5d4f.zip
compcert: add aarch64 support
Diffstat (limited to 'pkgs/development/coq-modules/compcert/default.nix')
-rw-r--r--pkgs/development/coq-modules/compcert/default.nix19
1 files changed, 16 insertions, 3 deletions
diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix
index ebb227f2927..4e25aeaec2e 100644
--- a/pkgs/development/coq-modules/compcert/default.nix
+++ b/pkgs/development/coq-modules/compcert/default.nix
@@ -5,7 +5,20 @@
 , version ? null
 }:
 
-let compcert = mkCoqDerivation rec {
+let
+
+# https://compcert.org/man/manual002.html
+targets = {
+  x86_64-linux = "x86_64-linux";
+  aarch64-linux = "aarch64-linux";
+  x86_64-darwin = "x86_64-macos";
+  aarch64-darwin = "aarch64-macos";
+};
+
+target = targets.${stdenv.hostPlatform.system}
+  or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+compcert = mkCoqDerivation {
 
   pname = "compcert";
   owner = "AbsInt";
@@ -49,7 +62,7 @@ let compcert = mkCoqDerivation rec {
     -coqdevdir $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ \
     -toolprefix ${tools}/bin/ \
     -use-external-Flocq \
-    ${if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux"}
+    ${target}
   '';
 
   installTargets = "documentation install";
@@ -80,7 +93,7 @@ let compcert = mkCoqDerivation rec {
     description = "Formally verified C compiler";
     homepage    = "https://compcert.org";
     license     = licenses.inria-compcert;
-    platforms   = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms   = builtins.attrNames targets;
     maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ];
   };
 }; in