summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix3
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix3
-rw-r--r--pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff27
-rw-r--r--pkgs/development/compilers/algol68g/default.nix55
-rw-r--r--pkgs/development/compilers/clasp/default.nix4
-rw-r--r--pkgs/development/compilers/cone/default.nix42
-rw-r--r--pkgs/development/compilers/dtc/default.nix2
-rw-r--r--pkgs/development/compilers/ecl/default.nix31
-rw-r--r--pkgs/development/compilers/gcc/10/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/11/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/common/configure-flags.nix7
-rw-r--r--pkgs/development/compilers/gnatboot/default.nix8
-rw-r--r--pkgs/development/compilers/graalvm/community-edition.nix5
-rw-r--r--pkgs/development/compilers/jetbrains-jdk/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/11/llvm/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/12/llvm/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/rocm/clang.nix4
-rw-r--r--pkgs/development/compilers/marst/default.nix54
-rw-r--r--pkgs/development/compilers/mkcl/default.nix23
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix10
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/11.nix4
-rw-r--r--pkgs/development/compilers/osl/default.nix4
-rw-r--r--pkgs/development/compilers/ponyc/pony-corral.nix4
-rw-r--r--pkgs/development/compilers/seexpr/default.nix4
-rw-r--r--pkgs/development/compilers/terra/default.nix3
-rw-r--r--pkgs/development/compilers/vyper/default.nix7
-rw-r--r--pkgs/development/compilers/yosys/default.nix6
-rw-r--r--pkgs/development/compilers/zulu/8.nix3
-rw-r--r--pkgs/development/compilers/zulu/default.nix3
32 files changed, 281 insertions, 71 deletions
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
index bcd3309fc39..ef3e4b7219e 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
@@ -26,6 +26,9 @@ let cpuName = stdenv.hostPlatform.parsed.cpu.name;
 
     mv $sourceRoot $out
 
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/Contents/Home/include/darwin/*_md.h $out/Contents/Home/include/
+
     rm -rf $out/Home/demo
 
     # Remove some broken manpages.
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
index f61d925036c..39685131edd 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
@@ -66,6 +66,9 @@ let result = stdenv.mkDerivation rec {
 
     mv $sourceRoot $out
 
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+
     rm -rf $out/demo
 
     # Remove some broken manpages.
diff --git a/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff b/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff
new file mode 100644
index 00000000000..14e7ccd5624
--- /dev/null
+++ b/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff
@@ -0,0 +1,27 @@
+diff -Naur algol68g-2.8.4-old/source/plotutils.c algol68g-2.8.4-new/source/plotutils.c
+--- algol68g-2.8.4-old/source/plotutils.c	2016-10-11 18:14:48.000000000 -0300
++++ algol68g-2.8.4-new/source/plotutils.c	2021-07-30 02:42:29.762627511 -0300
+@@ -1026,10 +1026,10 @@
+     X_COORD (&DEVICE (f)) = 0;
+     Y_COORD (&DEVICE (f)) = 0;
+     return (PLOTTER (&DEVICE (f)));
+-  } else if (!strcmp (device_type, "gif")) {
+-/*------------------------------------+
+-| Supported plotter type - pseudo GIF |
+-+------------------------------------*/
++  } else if (!strcmp (device_type, "gif") || !strcmp (device_type, "png")) {
++/*-------------------------------------------+
++| Supported plotter type - pseudo GIF or PNG |
+++-------------------------------------------*/
+     char *z = DEREF (char, &A68_PAGE_SIZE (&DEVICE (f))), size[BUFFER_SIZE];
+ /* Establish page size */
+     if (!scan_int (&z, &(WINDOW_X_SIZE (&DEVICE (f))))) {
+@@ -1067,7 +1067,7 @@
+     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BITMAPSIZE", size);
+     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BG_COLOR", (void *) "black");
+     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "GIF_ANIMATION", (void *) "no");
+-    PLOTTER (&DEVICE (f)) = pl_newpl_r ("gif", NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f)));
++    PLOTTER (&DEVICE (f)) = pl_newpl_r (device_type, NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f)));
+     if (PLOTTER (&DEVICE (f)) == NULL) {
+       diagnostic_node (A68_RUNTIME_ERROR, p, ERROR_DEVICE_CANNOT_OPEN);
+       exit_genie (p, A68_RUNTIME_ERROR);
diff --git a/pkgs/development/compilers/algol68g/default.nix b/pkgs/development/compilers/algol68g/default.nix
new file mode 100644
index 00000000000..88210ca5b72
--- /dev/null
+++ b/pkgs/development/compilers/algol68g/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchurl
+, gsl
+, plotutils
+, postgresql
+}:
+
+stdenv.mkDerivation rec {
+  pname = "algol68g";
+  version = "2.8.4";
+
+  src = fetchurl {
+    url = "https://jmvdveer.home.xs4all.nl/${pname}-${version}.tar.gz";
+    hash = "sha256-WCPM0MGP4Qo2ihF8w5JHSMSl0P6N/w2dgY/3PDQlZfA=";
+  };
+
+  patches = [
+    # add PNG support
+    ./0001-plotutils-png-support.diff
+  ];
+
+  buildInputs = [
+    gsl
+    plotutils
+    postgresql
+  ];
+
+  postInstall = let
+    pdfdoc = fetchurl {
+      url = "https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf";
+      hash = "sha256-QCwn1e/lVfTYTeolCFErvfMhvwCgsBnASqq2K+NYmlU=";
+    };
+  in
+    ''
+      install -m644 ${pdfdoc} $out/share/doc/${pname}/learning-algol-68-genie.pdf
+    '';
+
+  meta = with lib; {
+    homepage = "https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html";
+    description = "Algol 68 Genie compiler-interpreter";
+    longDescription = ''
+      Algol 68 Genie (a68g) is a recent checkout hybrid compiler-interpreter,
+      written from scratch by Marcel van der Veer. It ranks among the most
+      complete Algol 68 implementations. It implements for example arbitrary
+      precision arithmetic, complex numbers, parallel processing, partial
+      parametrisation and formatted transput, as well as support for curses,
+      regular expressions and sounds. It can be linked to GNU plotutils, the GNU
+      scientific library and PostgreSQL.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/clasp/default.nix b/pkgs/development/compilers/clasp/default.nix
index 3aa7063f551..0113a9aebc0 100644
--- a/pkgs/development/compilers/clasp/default.nix
+++ b/pkgs/development/compilers/clasp/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, fetchFromGitLab
 , llvmPackages
 , cmake, boehmgc, gmp, zlib, ncurses, boost, libelf
-, python, git, sbcl
+, python3, git, sbcl
 , wafHook
 }:
 let
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake python git sbcl wafHook ] ++
+  nativeBuildInputs = [ cmake python3 git sbcl wafHook ] ++
     (with llvmPackages; [ llvm clang ]);
 
   buildInputs = with llvmPackages;
diff --git a/pkgs/development/compilers/cone/default.nix b/pkgs/development/compilers/cone/default.nix
new file mode 100644
index 00000000000..9344160ad76
--- /dev/null
+++ b/pkgs/development/compilers/cone/default.nix
@@ -0,0 +1,42 @@
+{ llvmPackages
+, lib
+, fetchFromGitHub
+, cmake
+}:
+
+llvmPackages.stdenv.mkDerivation rec {
+  pname = "cone";
+  version = "unstable-2021-07-25";
+
+  src = fetchFromGitHub {
+    owner = "jondgoodwin";
+    repo = pname;
+    rev = "5feaabc342bcff3755f638a7e25155cd12127592";
+    sha256 = "CTDS83AWtuDY5g6NDn7O2awrYsKFf3Kp35FkMEjfbVw=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    llvmPackages.llvm
+  ];
+
+  postPatch = ''
+    sed -i CMakeLists.txt \
+        -e 's/LLVM 7/LLVM/' \
+        -e '/AVR/d'
+  '';
+
+  installPhase = ''
+    install -Dm755 conec $out/bin/conec
+    install -Dm644 libconestd.a $out/lib/libconestd.a
+  '';
+
+  meta = with lib; {
+    description = "Cone Programming Language";
+    homepage = "https://cone.jondgoodwin.com";
+    license = licenses.mit;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix
index 0050dd44b9a..f145b0397f5 100644
--- a/pkgs/development/compilers/dtc/default.nix
+++ b/pkgs/development/compilers/dtc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchgit, flex, bison, pkg-config, which
-, pythonSupport ? false, python, swig, libyaml
+, pythonSupport ? false, python ? null, swig, libyaml
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index 083998049c1..269beef9e7a 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -45,31 +45,28 @@ stdenv.mkDerivation {
 
   configureFlags = [
     (if threadSupport then "--enable-threads" else "--disable-threads")
-    "--with-gmp-prefix=${gmp.dev}"
-    "--with-libffi-prefix=${libffi.dev}"
-    ]
-    ++
-    (lib.optional (! noUnicode)
-      "--enable-unicode")
-    ;
+    "--with-gmp-prefix=${lib.getDev gmp}"
+    "--with-libffi-prefix=${lib.getDev libffi}"
+  ] ++ lib.optional useBoehmgc "--with-libgc-prefix=${lib.getDev boehmgc}"
+  ++ lib.optional (!noUnicode) "--enable-unicode";
 
   hardeningDisable = [ "format" ];
 
-  postInstall = ''
+  postInstall = let
+    ldArgs = lib.strings.concatMapStringsSep " "
+      (l: ''--prefix NIX_LDFLAGS ' ' "-L${l.lib or l.out or l}/lib"'')
+      ([ gmp libffi ] ++ lib.optional useBoehmgc boehmgc);
+  in ''
     sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config
-    wrapProgram "$out/bin/ecl" \
-      --prefix PATH ':' "${gcc}/bin" \
-      --prefix NIX_LDFLAGS ' ' "-L${gmp.lib or gmp.out or gmp}/lib" \
-      --prefix NIX_LDFLAGS ' ' "-L${libffi.lib or libffi.out or libffi}/lib"
+    wrapProgram "$out/bin/ecl" --prefix PATH ':' "${gcc}/bin" ${ldArgs}
   '';
 
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "Lisp implementation aiming to be small, fast and easy to embed";
     homepage = "https://common-lisp.net/project/ecl/";
-    license = lib.licenses.mit ;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.unix;
+    license = licenses.mit ;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.unix;
     changelog = "https://gitlab.com/embeddable-common-lisp/ecl/-/raw/${s.version}/CHANGELOG";
   };
 }
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix
index 143681c2a5b..58a4dfbe36e 100644
--- a/pkgs/development/compilers/gcc/10/default.nix
+++ b/pkgs/development/compilers/gcc/10/default.nix
@@ -156,7 +156,9 @@ stdenv.mkDerivation ({
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl);
+    ++ (optional (perl != null) perl)
+    ++ (optional langAda gnatboot)
+    ;
 
   # For building runtime libs
   depsBuildTarget =
@@ -177,7 +179,6 @@ stdenv.mkDerivation ({
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
     ++ (optional hostPlatform.isDarwin gnused)
-    ++ (optional langAda gnatboot)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix
index 7efc9d589f9..15d93561871 100644
--- a/pkgs/development/compilers/gcc/11/default.nix
+++ b/pkgs/development/compilers/gcc/11/default.nix
@@ -161,7 +161,9 @@ stdenv.mkDerivation ({
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl);
+    ++ (optional (perl != null) perl)
+    ++ (optional langAda gnatboot)
+    ;
 
   # For building runtime libs
   depsBuildTarget =
@@ -182,7 +184,6 @@ stdenv.mkDerivation ({
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
     ++ (optional hostPlatform.isDarwin gnused)
-    ++ (optional langAda gnatboot)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 4567e8b43e9..df4a632db05 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -199,7 +199,9 @@ stdenv.mkDerivation ({
   nativeBuildInputs = [ texinfo which gettext ]
     ++ (optional (perl != null) perl)
     ++ (optional javaAwtGtk pkg-config)
-    ++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex);
+    ++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex)
+    ++ (optional langAda gnatboot)
+    ;
 
   # For building runtime libs
   depsBuildTarget =
@@ -222,7 +224,6 @@ stdenv.mkDerivation ({
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
     ++ (optional hostPlatform.isDarwin gnused)
-    ++ (optional langAda gnatboot)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index 857263e51e0..43b2e0b5ef5 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -170,7 +170,9 @@ stdenv.mkDerivation ({
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl);
+    ++ (optional (perl != null) perl)
+    ++ (optional langAda gnatboot)
+    ;
 
   # For building runtime libs
   depsBuildTarget =
@@ -191,7 +193,6 @@ stdenv.mkDerivation ({
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
     ++ (optional hostPlatform.isDarwin gnused)
-    ++ (optional langAda gnatboot)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix
index 997771c2abf..1d75966797b 100644
--- a/pkgs/development/compilers/gcc/common/configure-flags.nix
+++ b/pkgs/development/compilers/gcc/common/configure-flags.nix
@@ -170,8 +170,11 @@ let
       "--enable-cloog-backend=isl"
     ]
 
-    # Ada options
-    ++ lib.optional langAda "--enable-libada"
+    # Ada options, gcc can't build the runtime library for a cross compiler
+    ++ lib.optional langAda
+      (if hostPlatform == targetPlatform
+       then "--enable-libada"
+       else "--disable-libada")
 
     # Java options
     ++ lib.optionals langJava [
diff --git a/pkgs/development/compilers/gnatboot/default.nix b/pkgs/development/compilers/gnatboot/default.nix
index d97298d0238..c68c4fd4ba0 100644
--- a/pkgs/development/compilers/gnatboot/default.nix
+++ b/pkgs/development/compilers/gnatboot/default.nix
@@ -1,15 +1,19 @@
 { lib, stdenv, fetchurl }:
 
+if stdenv.hostPlatform != stdenv.targetPlatform
+then builtins.throw "gnatboot can't cross-compile"
+else
+
 stdenv.mkDerivation {
   pname = "gentoo-gnatboot";
   version = "4.1";
 
-  src = if stdenv.system == "i686-linux" then
+  src = if stdenv.hostPlatform.system == "i686-linux" then
     fetchurl {
       url = mirror://gentoo/distfiles/gnatboot-4.1-i386.tar.bz2;
       sha256 = "0665zk71598204bf521vw68i5y6ccqarq9fcxsqp7ccgycb4lysr";
     }
-  else if stdenv.system == "x86_64-linux" then
+  else if stdenv.hostPlatform.system == "x86_64-linux" then
     fetchurl {
       url = mirror://gentoo/distfiles/gnatboot-4.1-amd64.tar.bz2;
       sha256 = "1li4d52lmbnfs6llcshlbqyik2q2q4bvpir0f7n38nagp0h6j0d4";
diff --git a/pkgs/development/compilers/graalvm/community-edition.nix b/pkgs/development/compilers/graalvm/community-edition.nix
index 8669b57dcca..ef35ce9d0c4 100644
--- a/pkgs/development/compilers/graalvm/community-edition.nix
+++ b/pkgs/development/compilers/graalvm/community-edition.nix
@@ -185,7 +185,10 @@ let
               --replace file:/dev/random    file:/dev/./urandom \
               --replace NativePRNGBlocking  SHA1PRNG
           '';
-        }.${javaVersionPlatform};
+        }.${javaVersionPlatform} + ''
+          # jni.h expects jni_md.h to be in the header search path.
+          ln -s $out/include/linux/*_md.h $out/include/
+        '';
 
         dontStrip = true;
 
diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix
index f3bd5d9f4a3..e36dedf3c87 100644
--- a/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -2,12 +2,12 @@
 
 openjdk11.overrideAttrs (oldAttrs: rec {
   pname = "jetbrains-jdk";
-  version = "11.0.10-b1427";
+  version = "11_0_11-b1504.13";
   src = fetchFromGitHub {
     owner = "JetBrains";
     repo = "JetBrainsRuntime";
-    rev = "jb${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "sha256-2cn+FiFfGpp7CBeQMAASVZwTm6DOFaXaWxAL/nVC2Nk=";
+    rev = "jb${version}";
+    sha256 = "1xpgsgmmj5jp5qyw98hqmik6a7z3hfwmij023ij3qqymyj3nhm2i";
   };
   patches = [];
   meta = with lib; {
@@ -23,7 +23,7 @@ openjdk11.overrideAttrs (oldAttrs: rec {
      JetBrains Runtime is not a certified build of OpenJDK. Please, use at
      your own risk.
     '';
-    homepage = "https://bintray.com/jetbrains/intellij-jdk/";
+    homepage = "https://confluence.jetbrains.com/display/JBR/JetBrains+Runtime";
     inherit (openjdk11.meta) license platforms mainProgram;
     maintainers = with maintainers; [ edwtjo petabyteboy ];
   };
diff --git a/pkgs/development/compilers/llvm/11/llvm/default.nix b/pkgs/development/compilers/llvm/11/llvm/default.nix
index 192cacd6510..f0148850dbe 100644
--- a/pkgs/development/compilers/llvm/11/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/11/llvm/default.nix
@@ -94,6 +94,7 @@ in stdenv.mkDerivation (rec {
     rm test/DebugInfo/X86/convert-inlined.ll
     rm test/DebugInfo/X86/convert-linked.ll
     rm test/tools/dsymutil/X86/op-convert.test
+    rm test/tools/llvm-readobj/ELF/dependent-libraries.test
   '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
     # Seems to require certain floating point hardware (NEON?)
     rm test/ExecutionEngine/frem.ll
diff --git a/pkgs/development/compilers/llvm/12/llvm/default.nix b/pkgs/development/compilers/llvm/12/llvm/default.nix
index 361c6798385..7ac5031c36b 100644
--- a/pkgs/development/compilers/llvm/12/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/12/llvm/default.nix
@@ -98,7 +98,6 @@ in stdenv.mkDerivation (rec {
     rm test/DebugInfo/X86/convert-debugloc.ll
     rm test/DebugInfo/X86/convert-inlined.ll
     rm test/DebugInfo/X86/convert-linked.ll
-    rm test/DebugInfo/X86/vla-multi.ll
     rm test/tools/dsymutil/X86/op-convert.test
   '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
     # Seems to require certain floating point hardware (NEON?)
diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index ef65827fbf2..8b1fca6c8b1 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -21,8 +21,8 @@ let
   release_version = "13.0.0";
   candidate = ""; # empty or "rcN"
   dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
-  rev = "1605fce6c3074f8d1dff5a917a1840ffa66abd86"; # When using a Git commit
-  rev-version = "unstable-2021-06-19"; # When using a Git commit
+  rev = "98033fdc50e61273b1d5c77ba5f0f75afe3965c1"; # When using a Git commit
+  rev-version = "unstable-2021-07-12"; # When using a Git commit
   version = if rev != "" then rev-version else "${release_version}${dash-candidate}";
   targetConfig = stdenv.targetPlatform.config;
 
@@ -30,7 +30,7 @@ let
     owner = "llvm";
     repo = "llvm-project";
     rev = if rev != "" then rev else "llvmorg-${version}";
-    sha256 = "1jf0b9vn4qv5gsvhyg6xsqdkdl4vzn7j4sfcldl8bggcgjmzp0q1";
+    sha256 = "0m28wpkyymzgqflp8xwyab0vryn3jln565qk15qm839n0d0mq3hh";
   };
 
   llvm_meta = {
diff --git a/pkgs/development/compilers/llvm/rocm/clang.nix b/pkgs/development/compilers/llvm/rocm/clang.nix
index 45c0bfda192..d6bfd07d444 100644
--- a/pkgs/development/compilers/llvm/rocm/clang.nix
+++ b/pkgs/development/compilers/llvm/rocm/clang.nix
@@ -1,7 +1,7 @@
 { lib, stdenv
 , fetchFromGitHub
 , cmake
-, python
+, python3
 , llvm
 , clang-tools-extra_src ? null
 , lld
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   pname = "clang";
 
-  nativeBuildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python3 ];
 
   buildInputs = [ llvm ];
 
diff --git a/pkgs/development/compilers/marst/default.nix b/pkgs/development/compilers/marst/default.nix
new file mode 100644
index 00000000000..8412c149c23
--- /dev/null
+++ b/pkgs/development/compilers/marst/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchurl
+, texinfo
+}:
+
+stdenv.mkDerivation rec {
+  pname = "marst";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "mirror://gnu/gnu/${pname}/${pname}-${version}.tar.gz";
+    hash = "sha256-Pue50cvjzZ+19iJxfae7VQbxpto7MPgS4jhLh7zk2lA=";
+  };
+
+  nativeBuildInputs = [
+    texinfo
+  ];
+
+  postBuild = ''
+    makeinfo doc/marst.texi -o doc/marst.info
+  '';
+
+  postInstall = ''
+    install -m644 doc/marst.info -Dt $out/share/info/
+    install -m644 doc/marst.pdf -Dt $out/share/doc/${pname}/
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.gnu.org/software/marst/";
+    description = "An Algol-60-to-C translator";
+    longDescription = ''
+      MARST is an Algol-to-C translator. It automatically translates programs
+      written on the algorithmic language Algol 60 to the C programming
+      language.
+
+      The MARST package includes three main components:
+
+      - the translator, MARST, that translates Algol 60 programs to the C
+        programming language.
+
+      - the library, ALGLIB, that contains precompiled standard Algol 60
+        procedures and other necessary library routines. This library is to be
+        used at linking stage. (In the distribution the name libalgol.a is used
+        for this library.)
+
+      - the converter, MACVT, that allows to convert existing Algol 60 programs
+        from some other representations to MARST representation.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/mkcl/default.nix b/pkgs/development/compilers/mkcl/default.nix
index 3656f1e0dd8..e8452f46a8a 100644
--- a/pkgs/development/compilers/mkcl/default.nix
+++ b/pkgs/development/compilers/mkcl/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, gmp, gcc }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, gmp, gcc }:
 
-with lib; stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "mkcl";
   version = "1.1.11";
 
@@ -11,6 +11,15 @@ with lib; stdenv.mkDerivation rec {
     sha256 = "0i2bfkda20lfypis6i4m7srfz6miyf66d8knp693d6sms73m2l26";
   };
 
+  patches = [
+    # "Array sys_siglist[] never was part of the public interface. Replace it with calls to psiginfo()."
+    (fetchpatch {
+      name = "sys_siglist.patch";
+      url = "https://github.com/jcbeaudoin/MKCL/commit/0777dd08254c88676f4f101117b10786b22111d6.patch";
+      sha256 = "1dnr1jzha77nrxs22mclrcqyqvxxn6q1sfn35qjs77fi3jcinjsc";
+    })
+  ];
+
   nativeBuildInputs = [ makeWrapper ];
 
   propagatedBuildInputs = [ gmp ];
@@ -18,7 +27,7 @@ with lib; stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   configureFlags = [
-    "GMP_CFLAGS=-I${gmp.dev}/include"
+    "GMP_CFLAGS=-I${lib.getDev gmp}/include"
     "GMP_LDFLAGS=-L${gmp.out}/lib"
   ];
 
@@ -27,9 +36,9 @@ with lib; stdenv.mkDerivation rec {
     cd contrib/tinycc
     ./configure --cc=cc \
       --elfinterp=$(< $NIX_CC/nix-support/dynamic-linker) \
-      --crtprefix=${getLib stdenv.cc.libc}/lib \
-      --sysincludepaths=${getDev stdenv.cc.libc}/include:{B}/include \
-      --libpaths=${getLib stdenv.cc.libc}/lib
+      --crtprefix=${lib.getLib stdenv.cc.libc}/lib \
+      --sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include \
+      --libpaths=${lib.getLib stdenv.cc.libc}/lib
   )'';
 
   postInstall = ''
@@ -38,7 +47,7 @@ with lib; stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     description = "ANSI Common Lisp Implementation";
     homepage = "https://common-lisp.net/project/mkcl/";
     license = licenses.lgpl2Plus;
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index efb29985452..c812a3bb823 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -14,21 +14,21 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "nextpnr";
-  version = "2021.01.02";
+  version = "2021.07.28";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "YosysHQ";
       repo   = "nextpnr";
-      rev    = "9b9628047c01a970cfe20f83f2b7129ed109440d";
-      sha256 = "0pcv96d0n40h2ipywi909hpzlys5b6r4pamc320qk1xxhppmgkmm";
+      rev    = "39a7381928359934788aefd670c835dedbbf2cd7";
+      sha256 = "1rs95vp5m3fdvhmjilj2r2g54xlabd3vy8wii1ammajqkyamy8x3";
       name   = "nextpnr";
     })
     (fetchFromGitHub {
       owner  = "YosysHQ";
       repo   = "nextpnr-tests";
-      rev    = "8f93e7e0f897b1b5da469919c9a43ba28b623b2a";
-      sha256 = "0zpd0w49k9l7rs3wmi2v8z5s4l4lad5rprs5l83w13667himpzyc";
+      rev    = "ccc61e5ec7cc04410462ec3196ad467354787afb";
+      sha256 = "09a0bhrphr3rsppryrfak4rhziyj8k3s17kgb0vgm0abjiz0jgam";
       name   = "nextpnr-tests";
     })
   ];
diff --git a/pkgs/development/compilers/openjdk/openjfx/11.nix b/pkgs/development/compilers/openjdk/openjfx/11.nix
index 228dbf9b14e..1d741fd8be2 100644
--- a/pkgs/development/compilers/openjdk/openjfx/11.nix
+++ b/pkgs/development/compilers/openjdk/openjfx/11.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, writeText, gradleGen, pkg-config, perl, cmake
-, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg, python, ruby
+, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg, python2, ruby
 , openjdk11-bootstrap }:
 
 let
@@ -20,7 +20,7 @@ let
     };
 
     buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg ];
-    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python ruby ];
+    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python2 ruby ];
 
     dontUseCmakeConfigure = true;
 
diff --git a/pkgs/development/compilers/osl/default.nix b/pkgs/development/compilers/osl/default.nix
index 10067644813..eeaba75c0de 100644
--- a/pkgs/development/compilers/osl/default.nix
+++ b/pkgs/development/compilers/osl/default.nix
@@ -1,6 +1,6 @@
 { clangStdenv, lib, fetchFromGitHub, cmake, zlib, openexr,
 openimageio, llvm, boost165, flex, bison, partio, pugixml,
-util-linux, python
+util-linux, python3
 }:
 
 let boost_static = boost165.override { enableStatic = true; };
@@ -26,7 +26,7 @@ in clangStdenv.mkDerivation rec {
      zlib openexr openimageio llvm
      partio pugixml
      util-linux # needed just for hexdump
-     python # CMake doesn't check this?
+     python3 # CMake doesn't check this?
   ];
   # TODO: How important is partio? CMake doesn't seem to find it
   meta = with lib; {
diff --git a/pkgs/development/compilers/ponyc/pony-corral.nix b/pkgs/development/compilers/ponyc/pony-corral.nix
index 3f40a4d7889..43fe247b79f 100644
--- a/pkgs/development/compilers/ponyc/pony-corral.nix
+++ b/pkgs/development/compilers/ponyc/pony-corral.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation ( rec {
   pname = "corral";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "1g4dkf5hsnykn3x6yx6ycjzmzzr1nwl59lj13j7zyka1ibv53hwf";
+    sha256 = "sha256-27J1Y3+tbZK7RX+63xVV2eaX/LF525vBR3Ff9EYDEl0=";
   };
 
   buildInputs = [ ponyc ];
diff --git a/pkgs/development/compilers/seexpr/default.nix b/pkgs/development/compilers/seexpr/default.nix
index 7fc1fc7b1b6..5dfa08c4572 100644
--- a/pkgs/development/compilers/seexpr/default.nix
+++ b/pkgs/development/compilers/seexpr/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, libpng, zlib, qt4,
-bison, flex, libGLU, pythonPackages
+bison, flex, libGLU, python2Packages
 }:
 
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ libGLU libpng zlib qt4 pythonPackages.pyqt4 bison flex ];
+  buildInputs = [ libGLU libpng zlib qt4 python2Packages.pyqt4 bison flex ];
   meta = with lib; {
     description = "Embeddable expression evaluation engine from Disney Animation";
     homepage = "https://www.disneyanimation.com/technology/seexpr.html";
diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix
index ac1851a683b..9919973de24 100644
--- a/pkgs/development/compilers/terra/default.nix
+++ b/pkgs/development/compilers/terra/default.nix
@@ -50,7 +50,6 @@ in stdenv.mkDerivation rec {
   ] ++ lib.optional enableCUDA "-DTERRA_ENABLE_CUDA=ON";
 
   doCheck = true;
-  enableParallelBuilding = true;
   hardeningDisable = [ "fortify" ];
   outputs = [ "bin" "dev" "out" "static" ];
 
@@ -82,7 +81,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A low-level counterpart to Lua";
-    homepage = "http://terralang.org/";
+    homepage = "https://terralang.org/";
     platforms = platforms.x86_64;
     maintainers = with maintainers; [ jb55 seylerius thoughtpolice ];
     license = licenses.mit;
diff --git a/pkgs/development/compilers/vyper/default.nix b/pkgs/development/compilers/vyper/default.nix
index 74c2503523e..6d1f7a374da 100644
--- a/pkgs/development/compilers/vyper/default.nix
+++ b/pkgs/development/compilers/vyper/default.nix
@@ -14,20 +14,21 @@ in
 
 buildPythonPackage rec {
   pname = "vyper";
-  version = "0.2.11";
+  version = "0.2.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e763561a161c35c03b92a0c176096dd9b4c78ab003c2f08324d443f459b3de84";
+    sha256 = "sha256-cNnKHVKwIx0miC2VhGYBzcSckTnyWYmjNzW0bEzP4bU=";
   };
 
   nativeBuildInputs = [ pytest-runner ];
 
+  # Replace the dynamic commit hash lookup with the hash from the tag
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'asttokens==' 'asttokens>=' \
       --replace 'subprocess.check_output("git rev-parse HEAD".split())' "' '" \
-      --replace 'commithash.decode("utf-8").strip()' "'069936fa3fee8646ff362145593128d7ef07da38'"
+      --replace 'commithash.decode("utf-8").strip()' "'6e7dba7a8b5f29762d3470da4f44634b819c808d'"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index a0c02e26db0..08f0ee22714 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -34,13 +34,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "yosys";
-  version = "0.9+4052";
+  version = "0.9+4221";
 
   src = fetchFromGitHub {
     owner  = "YosysHQ";
     repo   = "yosys";
-    rev    = "687f381b6985d9dda7e11535628e2fafff267af5";
-    sha256 = "15lcj798ckh9zwvdqb5gnvicilsxjyxv01gcviijg310hq62n7vf";
+    rev    = "9600f20be887b707f6d5d3f74dec58b336e2464e";
+    sha256 = "0xbvbnhc6qvcq1c8zxfyf4ws959c824z660nrghfxyzkrjl8wi1h";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix
index 6fcdacf535b..48573c67241 100644
--- a/pkgs/development/compilers/zulu/8.nix
+++ b/pkgs/development/compilers/zulu/8.nix
@@ -70,6 +70,9 @@ in stdenv.mkDerivation {
     mkdir -p $out
     cp -r ./* "$out/"
 
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+
     mkdir -p $out/nix-support
     printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix
index 81edb8b469a..9a5dc9f26e6 100644
--- a/pkgs/development/compilers/zulu/default.nix
+++ b/pkgs/development/compilers/zulu/default.nix
@@ -72,6 +72,9 @@ in stdenv.mkDerivation {
     mkdir -p $out
     cp -r ./* "$out/"
 
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+
     mkdir -p $out/nix-support
     printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs