diff options
Diffstat (limited to 'pkgs/development/compilers')
64 files changed, 2026 insertions, 628 deletions
diff --git a/pkgs/development/compilers/acme/default.nix b/pkgs/development/compilers/acme/default.nix new file mode 100644 index 0000000000000..c5a997ad75bc3 --- /dev/null +++ b/pkgs/development/compilers/acme/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchsvn }: + +stdenv.mkDerivation rec { + pname = "acme"; + version = "120"; + + src = fetchsvn { + url = "svn://svn.code.sf.net/p/acme-crossass/code-0/trunk"; + rev = version; + sha256 = "0w17b8f8bis22m6l5bg8qg8nniy20f8yg2xmzjipblmc39vpv6s2"; + }; + + sourceRoot = "code-0-r${src.rev}/src"; + + makeFlags = [ "BINDIR=$(out)/bin" ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace "= gcc" "?= gcc" + ''; + + meta = with stdenv.lib; { + description = "A multi-platform cross assembler for 6502/6510/65816 CPUs."; + homepage = "https://sourceforge.net/projects/acme-crossass/"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = with maintainers; [ OPNA2608 ]; + }; +} diff --git a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py index 22a3c9cf4686c..a7782610afb35 100755 --- a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py +++ b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py @@ -6,7 +6,7 @@ import re import requests import sys -releases = ("openjdk8", "openjdk11") +releases = ("openjdk8", "openjdk11", "openjdk13") oses = ("mac", "linux") types = ("jre", "jdk") impls = ("hotspot", "openj9") diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix index fe38f2b21633c..d62224d518deb 100644 --- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix +++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix @@ -9,6 +9,7 @@ sourcePerArch: , fontconfig , zlib , xorg +, libffi }: let @@ -29,7 +30,7 @@ let result = stdenv.mkDerivation rec { buildInputs = [ alsaLib freetype fontconfig zlib xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender - ]; + ] ++ lib.optional stdenv.isAarch32 libffi; nativeBuildInputs = [ autoPatchelfHook ]; diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk13-darwin.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-darwin.nix new file mode 100644 index 0000000000000..48806143c87c1 --- /dev/null +++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-darwin.nix @@ -0,0 +1,9 @@ +let + sources = builtins.fromJSON (builtins.readFile ./sources.json); +in +{ + jdk-hotspot = import ./jdk-darwin-base.nix sources.openjdk13.mac.jdk.hotspot; + jre-hotspot = import ./jdk-darwin-base.nix sources.openjdk13.mac.jre.hotspot; + jdk-openj9 = import ./jdk-darwin-base.nix sources.openjdk13.mac.jdk.openj9; + jre-openj9 = import ./jdk-darwin-base.nix sources.openjdk13.mac.jre.openj9; +} diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix new file mode 100644 index 0000000000000..1bd7bb8844816 --- /dev/null +++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix @@ -0,0 +1,9 @@ +let + sources = builtins.fromJSON (builtins.readFile ./sources.json); +in +{ + jdk-hotspot = import ./jdk-linux-base.nix sources.openjdk13.linux.jdk.hotspot; + jre-hotspot = import ./jdk-linux-base.nix sources.openjdk13.linux.jre.hotspot; + jdk-openj9 = import ./jdk-linux-base.nix sources.openjdk13.linux.jdk.openj9; + jre-openj9 = import ./jdk-linux-base.nix sources.openjdk13.linux.jre.openj9; +} diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json index 760608027904d..80a16465af25f 100644 --- a/pkgs/development/compilers/adoptopenjdk-bin/sources.json +++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json @@ -117,6 +117,124 @@ } } }, + "openjdk13": { + "linux": { + "jdk": { + "hotspot": { + "aarch64": { + "build": "33", + "sha256": "74f4110333ac4239564ed864b1d7d69b7af32af39efcfbde9816e1486cb5ae07", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_aarch64_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + }, + "armv6l": { + "build": "33", + "sha256": "477e1b8d26a220d6d570765e9e0a4a34dbb489fab63a420d0859d173efc59adb", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_arm_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + }, + "armv7l": { + "build": "33", + "sha256": "477e1b8d26a220d6d570765e9e0a4a34dbb489fab63a420d0859d173efc59adb", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_arm_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + }, + "packageType": "jdk", + "vmType": "hotspot", + "x86_64": { + "build": "33", + "sha256": "e562caeffa89c834a69a44242d802eae3523875e427f07c05b1902c152638368", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_x64_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + } + }, + "openj9": { + "packageType": "jdk", + "vmType": "openj9", + "x86_64": { + "build": "33", + "sha256": "68ebab0021c719694be8fc868478725a69c5c515cdb62e2933eefe87ba6437df", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jdk_x64_linux_openj9_13_33_openj9-0.16.0.tar.gz", + "version": "13.0.0" + } + } + }, + "jre": { + "hotspot": { + "aarch64": { + "build": "33", + "sha256": "2365b7fbba8d9125fb091933aad9f38f8cc1fbb0217cdec9ec75d2000f6d451a", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_aarch64_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + }, + "packageType": "jre", + "vmType": "hotspot", + "x86_64": { + "build": "33", + "sha256": "73800a0d7c4e81df408a8518d282aa2c001ce4ee15541574c639dfc3564f708f", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_x64_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + } + }, + "openj9": { + "packageType": "jre", + "vmType": "openj9", + "x86_64": { + "build": "33", + "sha256": "2ee59be5062a81daa7be85be161cab6b245f9a2e2cbd4769ae9edefaac41e31d", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jre_x64_linux_openj9_13_33_openj9-0.16.0.tar.gz", + "version": "13.0.0" + } + } + } + }, + "mac": { + "jdk": { + "hotspot": { + "packageType": "jdk", + "vmType": "hotspot", + "x86_64": { + "build": "33", + "sha256": "f948be96daba250b6695e22cb51372d2ba3060e4d778dd09c89548889783099f", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_x64_mac_hotspot_13_33.tar.gz", + "version": "13.0.0" + } + }, + "openj9": { + "packageType": "jdk", + "vmType": "openj9", + "x86_64": { + "build": "33", + "sha256": "583e0defd5c062550896ead7cac383be16f1a81d9b6492dfec26da9af5dcc1c0", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jdk_x64_mac_openj9_13_33_openj9-0.16.0.tar.gz", + "version": "13.0.0" + } + } + }, + "jre": { + "hotspot": { + "packageType": "jre", + "vmType": "hotspot", + "x86_64": { + "build": "33", + "sha256": "1c23efba7908de9a611a98e755602f45381a8f7c957adb3fc4012ab1369a352c", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_x64_mac_hotspot_13_33.tar.gz", + "version": "13.0.0" + } + }, + "openj9": { + "packageType": "jre", + "vmType": "openj9", + "x86_64": { + "build": "33", + "sha256": "33a60b78138d50cb02325156c7d1fcf588697749a4401f6c11a3cbefa3033127", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jre_x64_mac_openj9_13_33_openj9-0.16.0.tar.gz", + "version": "13.0.0" + } + } + } + } + }, "openjdk8": { "linux": { "jdk": { @@ -139,6 +257,18 @@ "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u232b09.tar.gz", "version": "8.0.232" }, + "armv6l": { + "build": "10", + "sha256": "7b3d6ade8c25adca01095ba66642132d8c87a1a8caf3883850e34778453afcec", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, + "armv7l": { + "build": "10", + "sha256": "7b3d6ade8c25adca01095ba66642132d8c87a1a8caf3883850e34778453afcec", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, "packageType": "jdk", "vmType": "hotspot", "x86_64": { @@ -179,6 +309,18 @@ "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_arm_linux_hotspot_8u232b09.tar.gz", "version": "8.0.232" }, + "armv6l": { + "build": "10", + "sha256": "19de77b74812b90851816bdb991d6473488a10d3ac293c6accf46ae9b1f714a0", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_arm_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, + "armv7l": { + "build": "10", + "sha256": "19de77b74812b90851816bdb991d6473488a10d3ac293c6accf46ae9b1f714a0", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_arm_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, "packageType": "jre", "vmType": "hotspot", "x86_64": { @@ -247,4 +389,4 @@ } } } -} \ No newline at end of file +} diff --git a/pkgs/development/compilers/as31/default.nix b/pkgs/development/compilers/as31/default.nix deleted file mode 100644 index b70fde00e15e3..0000000000000 --- a/pkgs/development/compilers/as31/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ stdenv, fetchpatch, fetchurl, yacc }: - -let - - version = "2.3.1"; - -in stdenv.mkDerivation { - pname = "as31"; - inherit version; - src = fetchurl { - name = "as31-${version}.tar.gz"; # Nix doesn't like the colons in the URL - url = "http://wiki.erazor-zone.de/_media/wiki:projects:linux:as31:as31-${version}.tar.gz"; - sha256 = "0mbk6z7z03xb0r0ccyzlgkjdjmdzknck4yxxmgr9k7v8f5c348fd"; - }; - - buildInputs = [ yacc ]; - - patches = [ - (fetchpatch { - name = "CVE-2012-0808.patch"; - url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=655496;filename=as31-mkstemps.patch;msg=5"; - sha256 = "0iia4wa8m141bwz4588yxb1dp2qwhapcii382sncm6jvwyngwh21"; - }) - ]; - - preConfigure = '' - chmod +x ./configure - ''; - - postConfigure = '' - rm as31/parser.c - ''; - - meta = with stdenv.lib; { - homepage = http://wiki.erazor-zone.de/wiki:projects:linux:as31; - description = "An 8031/8051 assembler by Ken Stauffer and Theo Deraadt which produces a variety of object code output formats"; - maintainers = with maintainers; [ aneeshusa ]; - platforms = with platforms; unix; - }; -} diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 1d61b83314936..3e2d3ce2ad2f8 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -42,6 +42,7 @@ let doCheck = false; jailbreak = true; })); + elmi-to-json = justStaticExecutables (overrideCabal (self.callPackage ./packages/elmi-to-json.nix {}) (drv: { prePatch = '' substituteInPlace package.yaml --replace "- -Werror" "" @@ -50,6 +51,15 @@ let jailbreak = true; })); + elm-instrument = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-instrument.nix {}) (drv: { + prePatch = '' + sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place + ''; + jailbreak = true; + # Tests are failing because of missing instances for Eq and Show type classes + doCheck = false; + })); + inherit fetchElmDeps; elmVersion = elmPkgs.elm.version; }; @@ -76,6 +86,26 @@ let in with hsPkgs.elmPkgs; { elm-test = patchBinwrap [elmi-to-json] nodePkgs.elm-test; elm-verify-examples = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples; + elm-coverage = + let patched = patchBinwrap [elmi-to-json] nodePkgs.elm-coverage; + in patched.override { + preRebuild = '' + sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json + + # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done + # in case of just this package + sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json + + rm node_modules/elm/install.js + echo "console.log('no-op');" > node_modules/elm/install.js + ''; + + # Link Elm instrument binary + postInstall = patched.postInstall + '' + mkdir -p unpacked_bin + ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument + ''; + }; elm-language-server = nodePkgs."@elm-tooling/elm-language-server"; inherit (nodePkgs) elm-doc-preview elm-live elm-upgrade elm-xref elm-analyse; diff --git a/pkgs/development/compilers/elm/packages/elm-instrument.nix b/pkgs/development/compilers/elm/packages/elm-instrument.nix new file mode 100644 index 0000000000000..54077994fbdd4 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/elm-instrument.nix @@ -0,0 +1,34 @@ +{ mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary +, bytestring, Cabal, cmark, containers, directory, elm-format +, fetchgit, filepath, free, HUnit, indents, json, mtl +, optparse-applicative, parsec, process, QuickCheck, quickcheck-io +, split, stdenv, tasty, tasty-golden, tasty-hunit, tasty-quickcheck +, text +}: +mkDerivation { + pname = "elm-instrument"; + version = "0.0.7"; + src = fetchgit { + url = "https://github.com/zwilias/elm-instrument"; + sha256 = "167d7l2547zxdj7i60r6vazznd9ichwc0bqckh3vrh46glkz06jv"; + rev = "63e15bb5ec5f812e248e61b6944189fa4a0aee4e"; + fetchSubmodules = true; + }; + isLibrary = true; + isExecutable = true; + setupHaskellDepends = [ base Cabal directory filepath process ]; + libraryHaskellDepends = [ + ansi-terminal ansi-wl-pprint base binary bytestring containers + directory filepath free indents json mtl optparse-applicative + parsec process split text + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + base cmark containers elm-format HUnit mtl parsec QuickCheck + quickcheck-io split tasty tasty-golden tasty-hunit tasty-quickcheck + text + ]; + homepage = "http://elm-lang.org"; + description = "Instrumentation library for Elm"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/pkgs/development/compilers/elm/packages/elmi-to-json.nix b/pkgs/development/compilers/elm/packages/elmi-to-json.nix index 87b02f013f851..eaed18c5297b0 100644 --- a/pkgs/development/compilers/elm/packages/elmi-to-json.nix +++ b/pkgs/development/compilers/elm/packages/elmi-to-json.nix @@ -5,11 +5,11 @@ }: mkDerivation { pname = "elmi-to-json"; - version = "1.2.0"; + version = "1.3.0"; src = fetchgit { - url = "https://github.com/stoeffel/elmi-to-json.git"; - sha256 = "1kxai87h2g0749yq0fkxwk3xaavydraaivhnavbwr62q2hw4wrj7"; - rev = "af08ceafe742a252f1f1f3c229b0ce3b3e00084d"; + url = "https://github.com/stoeffel/elmi-to-json"; + sha256 = "11j56vcyhijkwi9hzggkwwmxlhzhgm67ab2m7kxkhcbbqgpasa8n"; + rev = "ae40d1aa1e3d6878f2af514e611d44890e7abc1e"; fetchSubmodules = true; }; isLibrary = true; diff --git a/pkgs/development/compilers/elm/packages/generate-node-packages.sh b/pkgs/development/compilers/elm/packages/generate-node-packages.sh index 1d24df549ea6e..343721208b89d 100755 --- a/pkgs/development/compilers/elm/packages/generate-node-packages.sh +++ b/pkgs/development/compilers/elm/packages/generate-node-packages.sh @@ -1,10 +1,12 @@ -#!/usr/bin/env nix-shell -#! nix-shell -i bash -p nodePackages.node2nix +#!/usr/bin/env bash + +ROOT="$(realpath "$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")"/../../../../..)" set -eu -o pipefail rm -f node-env.nix -node2nix --nodejs-10 \ +$(nix-build $ROOT -A nodePackages.node2nix --no-out-link)/bin/node2nix \ + --nodejs-10 \ -i node-packages.json \ -o node-packages.nix \ -c node-composition.nix \ diff --git a/pkgs/development/compilers/elm/packages/node-packages.json b/pkgs/development/compilers/elm/packages/node-packages.json index e129a0ffaec4b..643aad746fa2d 100644 --- a/pkgs/development/compilers/elm/packages/node-packages.json +++ b/pkgs/development/compilers/elm/packages/node-packages.json @@ -1,10 +1,11 @@ [ - "elm-test", - "elm-verify-examples", - "elm-doc-preview", - "elm-upgrade", "elm-analyse", + "elm-coverage", + "elm-doc-preview", + "@elm-tooling/elm-language-server", "elm-live", - "elm-xref", - "@elm-tooling/elm-language-server" + "elm-test", + "elm-upgrade", + "elm-verify-examples", + "elm-xref" ] diff --git a/pkgs/development/compilers/elm/packages/node-packages.nix b/pkgs/development/compilers/elm/packages/node-packages.nix index 70aa04987c68b..1c8956f4beaca 100644 --- a/pkgs/development/compilers/elm/packages/node-packages.nix +++ b/pkgs/development/compilers/elm/packages/node-packages.nix @@ -121,6 +121,15 @@ let sha512 = "85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA=="; }; }; + "abbrev-1.1.1" = { + name = "abbrev"; + packageName = "abbrev"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"; + sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="; + }; + }; "accepts-1.3.7" = { name = "accepts"; packageName = "accepts"; @@ -157,6 +166,15 @@ let sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="; }; }; + "ansi-regex-5.0.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz"; + sha512 = "bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="; + }; + }; "ansi-styles-2.2.1" = { name = "ansi-styles"; packageName = "ansi-styles"; @@ -283,6 +301,15 @@ let sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; }; }; + "astral-regex-1.0.0" = { + name = "astral-regex"; + packageName = "astral-regex"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz"; + sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="; + }; + }; "async-limiter-1.0.1" = { name = "async-limiter"; packageName = "async-limiter"; @@ -661,6 +688,15 @@ let sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA=="; }; }; + "cliui-6.0.0" = { + name = "cliui"; + packageName = "cliui"; + version = "6.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz"; + sha512 = "t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="; + }; + }; "clone-response-1.0.2" = { name = "clone-response"; packageName = "clone-response"; @@ -895,6 +931,15 @@ let sha1 = "a3bbb302db2297cbea3c04edf36941f4613aa399"; }; }; + "cross-spawn-5.1.0" = { + name = "cross-spawn"; + packageName = "cross-spawn"; + version = "5.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz"; + sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449"; + }; + }; "cross-spawn-6.0.5" = { name = "cross-spawn"; packageName = "cross-spawn"; @@ -1129,6 +1174,15 @@ let sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; }; }; + "elm-0.19.1" = { + name = "elm"; + packageName = "elm"; + version = "0.19.1"; + src = fetchurl { + url = "https://registry.npmjs.org/elm/-/elm-0.19.1.tgz"; + sha512 = "rehOtJKZvoYDddlrd7AX5NAf0H+LUllnBg3AHaeaIOKWzw4W316d7Bkhlbo7aSG+hVUVWP2ihKwyYkDi589TfA=="; + }; + }; "elm-analyse-git://github.com/elm-tooling/elm-analyse#1a665a6e540d7d11b29b3c5e3c52089704325d9c" = { name = "elm-analyse"; packageName = "elm-analyse"; @@ -1184,6 +1238,15 @@ let sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="; }; }; + "emoji-regex-8.0.0" = { + name = "emoji-regex"; + packageName = "emoji-regex"; + version = "8.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"; + sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="; + }; + }; "encodeurl-1.0.2" = { name = "encodeurl"; packageName = "encodeurl"; @@ -1220,13 +1283,13 @@ let sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA=="; }; }; - "es6-promisify-6.0.2" = { + "es6-promisify-6.1.0" = { name = "es6-promisify"; packageName = "es6-promisify"; - version = "6.0.2"; + version = "6.1.0"; src = fetchurl { - url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz"; - sha512 = "eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg=="; + url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.0.tgz"; + sha512 = "jCsk2fpfEFusVv1MDkF4Uf0hAzIKNDMgR6LyOIw6a3jwkN1sCgWzuwgnsHY9YSQ8n8P31HoncvE0LC44cpWTrw=="; }; }; "escape-html-1.0.3" = { @@ -1481,6 +1544,15 @@ let sha1 = "7afbd00f8f08c5b622f97cda6f714173d547bb3f"; }; }; + "find-0.2.9" = { + name = "find"; + packageName = "find"; + version = "0.2.9"; + src = fetchurl { + url = "https://registry.npmjs.org/find/-/find-0.2.9.tgz"; + sha1 = "4b73f1ff9e56ad91b76e716407fe5ffe6554bb8c"; + }; + }; "find-elm-dependencies-2.0.2" = { name = "find-elm-dependencies"; packageName = "find-elm-dependencies"; @@ -1508,6 +1580,15 @@ let sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="; }; }; + "find-up-4.1.0" = { + name = "find-up"; + packageName = "find-up"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"; + sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="; + }; + }; "firstline-1.2.0" = { name = "firstline"; packageName = "firstline"; @@ -1607,6 +1688,15 @@ let sha1 = "337352bded4a0b714f3eb84de8cea765e9d37600"; }; }; + "fs-extra-4.0.3" = { + name = "fs-extra"; + packageName = "fs-extra"; + version = "4.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz"; + sha512 = "q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg=="; + }; + }; "fs-extra-5.0.0" = { name = "fs-extra"; packageName = "fs-extra"; @@ -2219,6 +2309,15 @@ let sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; }; }; + "is-fullwidth-code-point-3.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"; + sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="; + }; + }; "is-glob-4.0.1" = { name = "is-glob"; packageName = "is-glob"; @@ -2561,6 +2660,15 @@ let sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="; }; }; + "locate-path-5.0.0" = { + name = "locate-path"; + packageName = "locate-path"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz"; + sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="; + }; + }; "lodash-4.17.15" = { name = "lodash"; packageName = "lodash"; @@ -2786,15 +2894,6 @@ let sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; }; }; - "minimist-0.0.8" = { - name = "minimist"; - packageName = "minimist"; - version = "0.0.8"; - src = fetchurl { - url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; - sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; - }; - }; "minimist-1.2.0" = { name = "minimist"; packageName = "minimist"; @@ -2840,13 +2939,22 @@ let sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA=="; }; }; - "mkdirp-0.5.1" = { + "mkdirp-0.5.3" = { name = "mkdirp"; packageName = "mkdirp"; - version = "0.5.1"; + version = "0.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz"; + sha512 = "P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg=="; + }; + }; + "moment-2.24.0" = { + name = "moment"; + packageName = "moment"; + version = "2.24.0"; src = fetchurl { - url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; - sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz"; + sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="; }; }; "ms-2.0.0" = { @@ -2948,6 +3056,15 @@ let sha512 = "z9xN2ibI6P0UylFadN7oMcIMsoTeCENC0rZyRM5MVK9AqzSPx+uGqKG6KMPeC/laOV4wOGZq/GH0PTstRNSqOA=="; }; }; + "nopt-1.0.10" = { + name = "nopt"; + packageName = "nopt"; + version = "1.0.10"; + src = fetchurl { + url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz"; + sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee"; + }; + }; "normalize-path-2.1.1" = { name = "normalize-path"; packageName = "normalize-path"; @@ -3236,6 +3353,15 @@ let sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="; }; }; + "p-locate-4.1.0" = { + name = "p-locate"; + packageName = "p-locate"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz"; + sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="; + }; + }; "p-timeout-2.0.1" = { name = "p-timeout"; packageName = "p-timeout"; @@ -3290,6 +3416,15 @@ let sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; }; }; + "path-exists-4.0.0" = { + name = "path-exists"; + packageName = "path-exists"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"; + sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="; + }; + }; "path-is-absolute-1.0.1" = { name = "path-is-absolute"; packageName = "path-is-absolute"; @@ -4064,6 +4199,15 @@ let sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="; }; }; + "slice-ansi-2.1.0" = { + name = "slice-ansi"; + packageName = "slice-ansi"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz"; + sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ=="; + }; + }; "snapdragon-0.8.2" = { name = "snapdragon"; packageName = "snapdragon"; @@ -4208,6 +4352,15 @@ let sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="; }; }; + "string-width-4.2.0" = { + name = "string-width"; + packageName = "string-width"; + version = "4.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz"; + sha512 = "zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg=="; + }; + }; "string.prototype.trimleft-2.1.1" = { name = "string.prototype.trimleft"; packageName = "string.prototype.trimleft"; @@ -4262,6 +4415,15 @@ let sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="; }; }; + "strip-ansi-6.0.0" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "6.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz"; + sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w=="; + }; + }; "strip-eof-1.0.0" = { name = "strip-eof"; packageName = "strip-eof"; @@ -4325,6 +4487,15 @@ let sha512 = "oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g=="; }; }; + "table-5.4.6" = { + name = "table"; + packageName = "table"; + version = "5.4.6"; + src = fetchurl { + url = "https://registry.npmjs.org/table/-/table-5.4.6.tgz"; + sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug=="; + }; + }; "tar-4.4.13" = { name = "tar"; packageName = "tar"; @@ -4397,6 +4568,15 @@ let sha1 = "8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"; }; }; + "tmp-0.0.33" = { + name = "tmp"; + packageName = "tmp"; + version = "0.0.33"; + src = fetchurl { + url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"; + sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="; + }; + }; "tmp-0.1.0" = { name = "tmp"; packageName = "tmp"; @@ -4469,6 +4649,15 @@ let sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="; }; }; + "touch-3.1.0" = { + name = "touch"; + packageName = "touch"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz"; + sha512 = "WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA=="; + }; + }; "tough-cookie-2.4.3" = { name = "tough-cookie"; packageName = "tough-cookie"; @@ -4622,6 +4811,15 @@ let sha512 = "NG1h/MdGIX3HzyqMjyj1laBCmlPYhcO4xEy7gEqqzGiSLw7XqDQCnY4nYSn5XSaH8mQ6TFkaujrO8d/PIZN85A=="; }; }; + "upgrade-1.1.0" = { + name = "upgrade"; + packageName = "upgrade"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/upgrade/-/upgrade-1.1.0.tgz"; + sha1 = "4a50875ec5c715d19379799f0590a0e796958f61"; + }; + }; "uri-js-4.2.2" = { name = "uri-js"; packageName = "uri-js"; @@ -4838,6 +5036,15 @@ let sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q=="; }; }; + "wrap-ansi-6.2.0" = { + name = "wrap-ansi"; + packageName = "wrap-ansi"; + version = "6.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz"; + sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="; + }; + }; "wrappy-1.0.2" = { name = "wrappy"; packageName = "wrappy"; @@ -4946,6 +5153,15 @@ let sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw=="; }; }; + "yargs-15.3.1" = { + name = "yargs"; + packageName = "yargs"; + version = "15.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz"; + sha512 = "92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA=="; + }; + }; "yargs-parser-13.1.2" = { name = "yargs-parser"; packageName = "yargs-parser"; @@ -4955,6 +5171,15 @@ let sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg=="; }; }; + "yargs-parser-18.1.1" = { + name = "yargs-parser"; + packageName = "yargs-parser"; + version = "18.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.1.tgz"; + sha512 = "KRHEsOM16IX7XuLnMOqImcPNbLVXMNHYAoFc3BKR8Ortl5gzDbtXvvEoGx9imk5E+X1VeNKNlcHr8B8vi+7ipA=="; + }; + }; "yn-4.0.0" = { name = "yn"; packageName = "yn"; @@ -4967,180 +5192,210 @@ let }; in { - elm-test = nodeEnv.buildNodePackage { - name = "elm-test"; - packageName = "elm-test"; - version = "0.19.1-revision2"; + elm-analyse = nodeEnv.buildNodePackage { + name = "elm-analyse"; + packageName = "elm-analyse"; + version = "0.16.5"; src = fetchurl { - url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.1-revision2.tgz"; - sha512 = "zVs2mVeyIE+K9y7/8b333h5xRMDWAoqbBDm7ThLDhyTi7ICxeL3t5uOS4KZCrRk9+4sP6+voSbcBlgr46Q+GiQ=="; + url = "https://registry.npmjs.org/elm-analyse/-/elm-analyse-0.16.5.tgz"; + sha512 = "I7dgGFOc+mYDcDuyo1/HcIn3E5MiMbocStNzivsPSjCUviuEieHdDKZmJJ9uM3IdCu0fdBmRNWQBSOXtXrgzKg=="; }; dependencies = [ - sources."@types/color-name-1.1.1" + sources."accepts-1.3.7" sources."ajv-6.12.0" - sources."ansi-styles-4.2.1" - sources."anymatch-3.1.1" + sources."array-flatten-1.1.1" sources."asn1-0.2.4" sources."assert-plus-1.0.0" + sources."async-limiter-1.0.1" sources."asynckit-0.4.0" sources."aws-sign2-0.7.0" sources."aws4-1.9.1" - sources."balanced-match-1.0.0" + sources."babel-runtime-6.18.0" sources."bcrypt-pbkdf-1.0.2" - sources."binary-0.3.0" - sources."binary-extensions-2.0.0" - sources."binwrap-0.2.2" - sources."bluebird-3.7.2" - sources."brace-expansion-1.1.11" - sources."braces-3.0.2" - sources."buffers-0.1.1" + sources."body-parser-1.19.0" + sources."bytes-3.1.0" sources."caseless-0.12.0" - sources."chainsaw-0.1.0" - sources."chalk-3.0.0" - sources."chokidar-3.3.0" - sources."chownr-1.1.4" - sources."color-convert-2.0.1" - sources."color-name-1.1.4" sources."combined-stream-1.0.8" - sources."concat-map-0.0.1" + sources."concat-stream-1.5.2" + sources."content-disposition-0.5.2" + sources."content-type-1.0.4" + sources."cookie-0.3.1" + sources."cookie-signature-1.0.6" + sources."core-js-2.6.11" sources."core-util-is-1.0.2" - sources."cross-spawn-7.0.1" sources."dashdash-1.14.1" + sources."debug-2.6.9" sources."delayed-stream-1.0.0" + sources."depd-1.1.2" + sources."destroy-1.0.4" sources."ecc-jsbn-0.1.2" - sources."elmi-to-json-1.3.0" + sources."ee-first-1.1.1" + sources."encodeurl-1.0.2" + sources."escape-html-1.0.3" + sources."etag-1.8.1" + (sources."express-4.16.3" // { + dependencies = [ + sources."body-parser-1.18.2" + sources."bytes-3.0.0" + sources."http-errors-1.6.3" + sources."iconv-lite-0.4.19" + sources."qs-6.5.1" + (sources."raw-body-2.3.2" // { + dependencies = [ + sources."depd-1.1.1" + sources."http-errors-1.6.2" + sources."setprototypeof-1.0.3" + ]; + }) + sources."setprototypeof-1.1.0" + sources."statuses-1.4.0" + ]; + }) + (sources."express-ws-2.0.0" // { + dependencies = [ + sources."ws-1.1.5" + ]; + }) sources."extend-3.0.2" sources."extsprintf-1.3.0" sources."fast-deep-equal-3.1.1" sources."fast-json-stable-stringify-2.1.0" - sources."fill-range-7.0.1" - (sources."find-elm-dependencies-2.0.2" // { + (sources."finalhandler-1.1.1" // { dependencies = [ - sources."firstline-1.2.0" + sources."statuses-1.4.0" ]; }) - sources."find-parent-dir-0.3.0" - sources."firstline-2.0.2" + sources."find-0.2.7" sources."forever-agent-0.6.1" sources."form-data-2.3.3" - sources."fs-extra-8.1.0" - sources."fs-minipass-1.2.7" - sources."fs.realpath-1.0.0" - sources."fsevents-2.1.2" + sources."forwarded-0.1.2" + sources."fresh-0.5.2" + sources."fs-extra-2.0.0" sources."getpass-0.1.7" - sources."glob-7.1.6" - sources."glob-parent-5.1.0" sources."graceful-fs-4.2.3" sources."har-schema-2.0.0" sources."har-validator-5.1.3" - sources."has-flag-4.0.0" + sources."http-errors-1.7.2" sources."http-signature-1.2.0" - sources."inflight-1.0.6" - sources."inherits-2.0.4" - sources."is-binary-path-2.1.0" - sources."is-extglob-2.1.1" - sources."is-glob-4.0.1" - sources."is-number-7.0.0" + sources."iconv-lite-0.4.24" + sources."inherits-2.0.3" + sources."ipaddr.js-1.9.1" + sources."is-stream-1.1.0" sources."is-typedarray-1.0.0" - sources."isexe-2.0.0" + sources."is-wsl-1.1.0" + sources."isarray-1.0.0" sources."isstream-0.1.2" sources."jsbn-0.1.1" sources."json-schema-0.2.3" sources."json-schema-traverse-0.4.1" sources."json-stringify-safe-5.0.1" - sources."jsonfile-4.0.0" + sources."jsonfile-2.4.0" sources."jsprim-1.4.1" sources."lodash-4.17.15" + sources."media-typer-0.3.0" + sources."merge-descriptors-1.0.1" + sources."methods-1.1.2" + sources."mime-1.4.1" sources."mime-db-1.43.0" sources."mime-types-2.1.26" - sources."minimatch-3.0.4" - sources."minimist-1.2.5" - sources."minipass-2.9.0" - sources."minizlib-1.3.3" - (sources."mkdirp-0.5.1" // { + sources."minimist-1.2.0" + sources."ms-2.0.0" + sources."negotiator-0.6.2" + sources."node-watch-0.5.5" + sources."oauth-sign-0.9.0" + sources."on-finished-2.3.0" + sources."opn-5.4.0" + sources."options-0.0.6" + sources."os-homedir-1.0.2" + sources."os-tmpdir-1.0.2" + sources."parseurl-1.3.3" + sources."path-to-regexp-0.1.7" + sources."performance-now-2.1.0" + sources."process-nextick-args-1.0.7" + sources."proxy-addr-2.0.6" + sources."psl-1.7.0" + sources."punycode-2.1.1" + sources."qs-6.7.0" + sources."range-parser-1.2.1" + sources."raw-body-2.4.0" + sources."readable-stream-2.0.6" + sources."regenerator-runtime-0.9.6" + (sources."request-2.88.0" // { dependencies = [ - sources."minimist-0.0.8" + sources."qs-6.5.2" + sources."safe-buffer-5.2.0" ]; }) - sources."murmur-hash-js-1.0.0" - sources."mustache-3.2.1" - sources."nice-try-1.0.5" - (sources."node-elm-compiler-5.0.4" // { + sources."safe-buffer-5.1.1" + sources."safer-buffer-2.1.2" + (sources."send-0.16.2" // { dependencies = [ - sources."cross-spawn-6.0.5" - sources."path-key-2.0.1" - sources."shebang-command-1.2.0" - sources."shebang-regex-1.0.0" - sources."which-1.3.1" + sources."http-errors-1.6.3" + sources."setprototypeof-1.1.0" + sources."statuses-1.4.0" ]; }) - sources."normalize-path-3.0.0" - sources."oauth-sign-0.9.0" - sources."once-1.4.0" - sources."path-is-absolute-1.0.1" - sources."path-key-3.1.1" - sources."performance-now-2.1.0" - sources."picomatch-2.2.1" - sources."psl-1.7.0" - sources."punycode-2.1.1" - sources."qs-6.5.2" - sources."readdirp-3.2.0" - sources."request-2.88.2" - sources."request-promise-4.2.5" - sources."request-promise-core-1.1.3" - sources."rimraf-2.6.3" - sources."safe-buffer-5.2.0" - sources."safer-buffer-2.1.2" - sources."semver-5.7.1" - sources."shebang-command-2.0.0" - sources."shebang-regex-3.0.0" - sources."split-1.0.1" + sources."serve-static-1.13.2" + sources."setprototypeof-1.1.1" sources."sshpk-1.16.1" - sources."stealthy-require-1.1.1" - sources."supports-color-7.1.0" - sources."tar-4.4.13" - sources."temp-0.9.1" - sources."through-2.3.8" - sources."to-regex-range-5.0.1" - sources."tough-cookie-2.5.0" - sources."traverse-0.3.9" + sources."statuses-1.5.0" + sources."string_decoder-0.10.31" + sources."sums-0.2.4" + sources."through2-2.0.1" + sources."tmp-0.0.31" + sources."toidentifier-1.0.0" + (sources."tough-cookie-2.4.3" // { + dependencies = [ + sources."punycode-1.4.1" + ]; + }) + sources."traverse-chain-0.1.0" sources."tunnel-agent-0.6.0" sources."tweetnacl-0.14.5" - sources."universalify-0.1.2" - sources."unzip-stream-0.3.0" + sources."type-is-1.6.18" + sources."typedarray-0.0.6" + sources."ultron-1.0.2" + sources."unpipe-1.0.0" sources."uri-js-4.2.2" + sources."util-deprecate-1.0.2" + sources."utils-merge-1.0.1" sources."uuid-3.4.0" + sources."vary-1.1.2" sources."verror-1.10.0" - sources."which-2.0.1" - sources."wrappy-1.0.2" - sources."xmlbuilder-13.0.2" - sources."yallist-3.1.1" + (sources."ws-3.3.1" // { + dependencies = [ + sources."ultron-1.1.1" + ]; + }) + sources."xtend-4.0.2" ]; buildInputs = globalBuildInputs; meta = { - description = "Run elm-test suites."; - homepage = "https://github.com/rtfeldman/node-test-runner#readme"; - license = "BSD-3-Clause"; + description = "A tool that allows you analyse your Elm code and identifies deficiencies and best practices."; + license = "MIT"; }; production = true; bypassCache = true; reconstructLock = true; }; - elm-verify-examples = nodeEnv.buildNodePackage { - name = "elm-verify-examples"; - packageName = "elm-verify-examples"; - version = "5.0.0"; + elm-coverage = nodeEnv.buildNodePackage { + name = "elm-coverage"; + packageName = "elm-coverage"; + version = "0.3.0"; src = fetchurl { - url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-5.0.0.tgz"; - sha512 = "dAOv+U9hXZ0IRGx19mkpCAdf5rUwoJWlzFmcR2gvOzE/QjZUSlPh3e0IIDAfGUuEF8DjfE5CTe31fNtIkkd2rQ=="; + url = "https://registry.npmjs.org/elm-coverage/-/elm-coverage-0.3.0.tgz"; + sha512 = "WHlO9LCu6DLzlIPR28GqcCgtyy6ZjRKBR+c6yYwy7m2o0D0buuLsr3wsZxJBjZYmwregmWRseUOM3DzHmoiIzg=="; }; dependencies = [ + sources."@types/color-name-1.1.1" + sources."abbrev-1.1.1" sources."ajv-6.12.0" sources."ansi-regex-4.1.0" sources."ansi-styles-3.2.1" sources."anymatch-3.1.1" sources."asn1-0.2.4" sources."assert-plus-1.0.0" + sources."astral-regex-1.0.0" sources."asynckit-0.4.0" sources."aws-sign2-0.7.0" sources."aws4-1.9.1" @@ -5156,29 +5411,42 @@ in sources."camelcase-5.3.1" sources."caseless-0.12.0" sources."chainsaw-0.1.0" - sources."chalk-2.4.2" + (sources."chalk-2.4.2" // { + dependencies = [ + sources."supports-color-5.5.0" + ]; + }) sources."chokidar-3.2.1" sources."chownr-1.1.4" - sources."cliui-5.0.0" + (sources."cliui-6.0.0" // { + dependencies = [ + sources."ansi-regex-5.0.0" + sources."emoji-regex-8.0.0" + sources."is-fullwidth-code-point-3.0.0" + sources."string-width-4.2.0" + sources."strip-ansi-6.0.0" + ]; + }) sources."color-convert-1.9.3" sources."color-name-1.1.3" sources."combined-stream-1.0.8" sources."concat-map-0.0.1" sources."core-util-is-1.0.2" - (sources."cross-spawn-7.0.0" // { - dependencies = [ - sources."which-1.3.1" - ]; - }) + sources."cross-spawn-5.1.0" sources."dashdash-1.14.1" sources."decamelize-1.2.0" sources."delayed-stream-1.0.0" sources."ecc-jsbn-0.1.2" + sources."elm-0.19.1" (sources."elm-test-0.19.1" // { dependencies = [ + (sources."cross-spawn-7.0.0" // { + dependencies = [ + sources."which-1.3.1" + ]; + }) sources."fs-extra-8.1.0" - sources."has-flag-4.0.0" - sources."supports-color-7.1.0" + sources."which-2.0.1" ]; }) sources."elmi-to-json-1.2.0" @@ -5189,17 +5457,18 @@ in sources."fast-deep-equal-3.1.1" sources."fast-json-stable-stringify-2.1.0" sources."fill-range-7.0.1" + sources."find-0.2.9" (sources."find-elm-dependencies-2.0.2" // { dependencies = [ sources."firstline-1.2.0" ]; }) sources."find-parent-dir-0.3.0" - sources."find-up-3.0.0" + sources."find-up-4.1.0" sources."firstline-2.0.2" sources."forever-agent-0.6.1" sources."form-data-2.3.3" - sources."fs-extra-5.0.0" + sources."fs-extra-4.0.3" sources."fs-minipass-1.2.7" sources."fs.realpath-1.0.0" sources."fsevents-2.1.2" @@ -5220,6 +5489,7 @@ in sources."is-glob-4.0.1" sources."is-number-7.0.0" sources."is-typedarray-1.0.0" + sources."is-wsl-1.1.0" sources."isexe-2.0.0" sources."isstream-0.1.2" sources."jsbn-0.1.1" @@ -5228,19 +5498,21 @@ in sources."json-stringify-safe-5.0.1" sources."jsonfile-4.0.0" sources."jsprim-1.4.1" - sources."locate-path-3.0.0" + sources."locate-path-5.0.0" sources."lodash-4.17.15" + (sources."lru-cache-4.1.5" // { + dependencies = [ + sources."yallist-2.1.2" + ]; + }) sources."mime-db-1.43.0" sources."mime-types-2.1.26" sources."minimatch-3.0.4" sources."minimist-1.2.5" sources."minipass-2.9.0" sources."minizlib-1.3.3" - (sources."mkdirp-0.5.1" // { - dependencies = [ - sources."minimist-0.0.8" - ]; - }) + sources."mkdirp-0.5.3" + sources."moment-2.24.0" sources."murmur-hash-js-1.0.0" sources."mustache-3.2.1" sources."nice-try-1.0.5" @@ -5248,20 +5520,23 @@ in dependencies = [ sources."cross-spawn-6.0.5" sources."path-key-2.0.1" - sources."which-1.3.1" ]; }) + sources."nopt-1.0.10" sources."normalize-path-3.0.0" sources."oauth-sign-0.9.0" sources."once-1.4.0" + sources."opn-5.5.0" + sources."os-tmpdir-1.0.2" sources."p-limit-2.2.2" - sources."p-locate-3.0.0" + sources."p-locate-4.1.0" sources."p-try-2.2.0" - sources."path-exists-3.0.0" + sources."path-exists-4.0.0" sources."path-is-absolute-1.0.1" sources."path-key-3.1.1" sources."performance-now-2.1.0" sources."picomatch-2.2.1" + sources."pseudomap-1.0.2" sources."psl-1.7.0" sources."punycode-2.1.1" sources."qs-6.5.2" @@ -5271,49 +5546,75 @@ in sources."request-promise-core-1.1.3" sources."require-directory-2.1.1" sources."require-main-filename-2.0.0" - sources."rimraf-2.7.1" + sources."rimraf-2.6.3" sources."safe-buffer-5.2.0" sources."safer-buffer-2.1.2" sources."semver-5.7.1" sources."set-blocking-2.0.0" sources."shebang-command-1.2.0" sources."shebang-regex-1.0.0" + sources."slice-ansi-2.1.0" sources."split-1.0.1" sources."sshpk-1.16.1" sources."stealthy-require-1.1.1" sources."string-width-3.1.0" sources."strip-ansi-5.2.0" - sources."supports-color-5.5.0" - sources."tar-4.4.13" - (sources."temp-0.9.0" // { + (sources."supports-color-7.1.0" // { dependencies = [ - sources."rimraf-2.6.3" + sources."has-flag-4.0.0" ]; }) + sources."table-5.4.6" + sources."tar-4.4.13" + sources."temp-0.9.0" sources."through-2.3.8" + sources."tmp-0.0.33" sources."to-regex-range-5.0.1" + sources."touch-3.1.0" sources."tough-cookie-2.5.0" sources."traverse-0.3.9" + sources."traverse-chain-0.1.0" sources."tunnel-agent-0.6.0" sources."tweetnacl-0.14.5" sources."universalify-0.1.2" sources."unzip-stream-0.3.0" + sources."upgrade-1.1.0" sources."uri-js-4.2.2" sources."uuid-3.4.0" sources."verror-1.10.0" - sources."which-2.0.1" + sources."which-1.3.1" sources."which-module-2.0.0" - sources."wrap-ansi-5.1.0" + (sources."wrap-ansi-6.2.0" // { + dependencies = [ + sources."ansi-regex-5.0.0" + sources."ansi-styles-4.2.1" + sources."color-convert-2.0.1" + sources."color-name-1.1.4" + sources."emoji-regex-8.0.0" + sources."is-fullwidth-code-point-3.0.0" + sources."string-width-4.2.0" + sources."strip-ansi-6.0.0" + ]; + }) sources."wrappy-1.0.2" sources."xmlbuilder-13.0.2" sources."y18n-4.0.0" sources."yallist-3.1.1" - sources."yargs-13.3.2" - sources."yargs-parser-13.1.2" + (sources."yargs-15.3.1" // { + dependencies = [ + sources."ansi-regex-5.0.0" + sources."emoji-regex-8.0.0" + sources."is-fullwidth-code-point-3.0.0" + sources."string-width-4.2.0" + sources."strip-ansi-6.0.0" + ]; + }) + sources."yargs-parser-18.1.1" ]; buildInputs = globalBuildInputs; meta = { - description = "Verify examples in Elm doc-comments"; + description = "> Work in progress - Code coverage tooling for Elm"; + homepage = "https://github.com/zwilias/elm-coverage#readme"; license = "BSD-3-Clause"; }; production = true; @@ -5736,97 +6037,22 @@ in bypassCache = true; reconstructLock = true; }; - elm-upgrade = nodeEnv.buildNodePackage { - name = "elm-upgrade"; - packageName = "elm-upgrade"; - version = "0.19.8"; - src = fetchurl { - url = "https://registry.npmjs.org/elm-upgrade/-/elm-upgrade-0.19.8.tgz"; - sha512 = "SwNzV40wu9IEe35TWR9b7F8WctIRUkpl6F3lzF0AqmYnCcKjbzrxbW6G7DYfA9ICUYjuSLcyYJKm5c86oMiH8w=="; - }; - dependencies = [ - sources."@sindresorhus/is-2.1.0" - sources."@szmarczak/http-timer-4.0.5" - sources."@types/cacheable-request-6.0.1" - sources."@types/http-cache-semantics-4.0.0" - sources."@types/keyv-3.1.1" - sources."@types/node-13.9.1" - sources."@types/responselike-1.0.0" - sources."cacheable-lookup-2.0.0" - sources."cacheable-request-7.0.1" - sources."caw-2.0.1" - (sources."clone-response-1.0.2" // { - dependencies = [ - sources."mimic-response-1.0.1" - ]; - }) - sources."config-chain-1.1.12" - sources."decompress-response-5.0.0" - sources."defer-to-connect-2.0.0" - sources."duplexer3-0.1.4" - sources."end-of-stream-1.4.4" - sources."fs-extra-8.1.0" - sources."get-proxy-2.1.0" - sources."get-stream-5.1.0" - sources."got-10.6.0" - sources."graceful-fs-4.2.3" - sources."has-symbol-support-x-1.4.2" - sources."has-to-string-tag-x-1.4.1" - sources."http-cache-semantics-4.1.0" - sources."ini-1.3.5" - sources."is-object-1.0.1" - sources."isexe-2.0.0" - sources."isurl-1.0.0" - sources."json-buffer-3.0.1" - sources."jsonfile-4.0.0" - sources."keyv-4.0.0" - sources."lowercase-keys-2.0.0" - sources."mimic-response-2.1.0" - sources."normalize-url-4.5.0" - sources."npm-conf-1.1.3" - sources."once-1.4.0" - sources."p-cancelable-2.0.0" - sources."p-event-4.1.0" - sources."p-finally-1.0.0" - sources."p-timeout-2.0.1" - sources."pify-3.0.0" - sources."proto-list-1.2.4" - sources."pump-3.0.0" - sources."responselike-2.0.0" - sources."safe-buffer-5.2.0" - sources."safename-1.0.2" - sources."semver-7.1.3" - sources."to-readable-stream-2.1.0" - sources."tunnel-agent-0.6.0" - sources."type-fest-0.10.0" - sources."universalify-0.1.2" - sources."url-to-options-1.0.1" - sources."which-2.0.2" - sources."wrappy-1.0.2" - sources."yn-4.0.0" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "Upgrade Elm projects"; - homepage = "https://github.com/avh4/elm-upgrade#readme"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; - elm-analyse = nodeEnv.buildNodePackage { - name = "elm-analyse"; - packageName = "elm-analyse"; - version = "0.16.5"; + "@elm-tooling/elm-language-server" = nodeEnv.buildNodePackage { + name = "_at_elm-tooling_slash_elm-language-server"; + packageName = "@elm-tooling/elm-language-server"; + version = "1.6.3"; src = fetchurl { - url = "https://registry.npmjs.org/elm-analyse/-/elm-analyse-0.16.5.tgz"; - sha512 = "I7dgGFOc+mYDcDuyo1/HcIn3E5MiMbocStNzivsPSjCUviuEieHdDKZmJJ9uM3IdCu0fdBmRNWQBSOXtXrgzKg=="; + url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-1.6.3.tgz"; + sha512 = "8liKU5tfKrldgNtE8GNGEUlZM+o7Qfjycn3gnyzzKqWEBCjkxeuU6VwWaIozw5k/xfJqHcIDb5nFPsqEadO5Ig=="; }; dependencies = [ + sources."@nodelib/fs.scandir-2.1.3" + sources."@nodelib/fs.stat-2.0.3" + sources."@nodelib/fs.walk-1.2.4" sources."accepts-1.3.7" sources."ajv-6.12.0" sources."array-flatten-1.1.1" + sources."array-union-2.1.0" sources."asn1-0.2.4" sources."assert-plus-1.0.0" sources."async-limiter-1.0.1" @@ -5836,6 +6062,7 @@ in sources."babel-runtime-6.18.0" sources."bcrypt-pbkdf-1.0.2" sources."body-parser-1.19.0" + sources."braces-3.0.2" sources."bytes-3.1.0" sources."caseless-0.12.0" sources."combined-stream-1.0.8" @@ -5846,16 +6073,25 @@ in sources."cookie-signature-1.0.6" sources."core-js-2.6.11" sources."core-util-is-1.0.2" + sources."cross-spawn-7.0.1" sources."dashdash-1.14.1" sources."debug-2.6.9" sources."delayed-stream-1.0.0" sources."depd-1.1.2" sources."destroy-1.0.4" + sources."dir-glob-3.0.1" sources."ecc-jsbn-0.1.2" sources."ee-first-1.1.1" + sources."elm-analyse-git://github.com/elm-tooling/elm-analyse#1a665a6e540d7d11b29b3c5e3c52089704325d9c" sources."encodeurl-1.0.2" + sources."end-of-stream-1.4.4" sources."escape-html-1.0.3" sources."etag-1.8.1" + (sources."execa-4.0.0" // { + dependencies = [ + sources."is-stream-2.0.0" + ]; + }) (sources."express-4.16.3" // { dependencies = [ sources."body-parser-1.18.2" @@ -5882,7 +6118,11 @@ in sources."extend-3.0.2" sources."extsprintf-1.3.0" sources."fast-deep-equal-3.1.1" + sources."fast-diff-1.2.0" + sources."fast-glob-3.2.2" sources."fast-json-stable-stringify-2.1.0" + sources."fastq-1.6.1" + sources."fill-range-7.0.1" (sources."finalhandler-1.1.1" // { dependencies = [ sources."statuses-1.4.0" @@ -5894,19 +6134,28 @@ in sources."forwarded-0.1.2" sources."fresh-0.5.2" sources."fs-extra-2.0.0" + sources."get-stream-5.1.0" sources."getpass-0.1.7" + sources."glob-parent-5.1.0" + sources."globby-11.0.0" sources."graceful-fs-4.2.3" sources."har-schema-2.0.0" sources."har-validator-5.1.3" sources."http-errors-1.7.2" sources."http-signature-1.2.0" + sources."human-signals-1.1.1" sources."iconv-lite-0.4.24" + sources."ignore-5.1.4" sources."inherits-2.0.3" sources."ipaddr.js-1.9.1" + sources."is-extglob-2.1.1" + sources."is-glob-4.0.1" + sources."is-number-7.0.0" sources."is-stream-1.1.0" sources."is-typedarray-1.0.0" sources."is-wsl-1.1.0" sources."isarray-1.0.0" + sources."isexe-2.0.0" sources."isstream-0.1.2" sources."jsbn-0.1.1" sources."json-schema-0.2.3" @@ -5917,26 +6166,38 @@ in sources."lodash-4.17.15" sources."media-typer-0.3.0" sources."merge-descriptors-1.0.1" + sources."merge-stream-2.0.0" + sources."merge2-1.3.0" sources."methods-1.1.2" + sources."micromatch-4.0.2" sources."mime-1.4.1" sources."mime-db-1.43.0" sources."mime-types-2.1.26" + sources."mimic-fn-2.1.0" sources."minimist-1.2.0" sources."ms-2.0.0" sources."negotiator-0.6.2" sources."node-watch-0.5.5" + sources."npm-run-path-4.0.1" sources."oauth-sign-0.9.0" sources."on-finished-2.3.0" + sources."once-1.4.0" + sources."onetime-5.1.0" sources."opn-5.4.0" sources."options-0.0.6" sources."os-homedir-1.0.2" sources."os-tmpdir-1.0.2" sources."parseurl-1.3.3" + sources."path-key-3.1.1" sources."path-to-regexp-0.1.7" + sources."path-type-4.0.0" sources."performance-now-2.1.0" + sources."picomatch-2.2.1" + sources."pjson-1.0.9" sources."process-nextick-args-1.0.7" sources."proxy-addr-2.0.6" sources."psl-1.7.0" + sources."pump-3.0.0" sources."punycode-2.1.1" sources."qs-6.7.0" sources."range-parser-1.2.1" @@ -5949,6 +6210,9 @@ in sources."safe-buffer-5.2.0" ]; }) + sources."reusify-1.0.4" + sources."run-parallel-1.1.9" + sources."rxjs-6.5.4" sources."safe-buffer-5.1.1" sources."safer-buffer-2.1.2" (sources."send-0.16.2" // { @@ -5960,12 +6224,18 @@ in }) sources."serve-static-1.13.2" sources."setprototypeof-1.1.1" + sources."shebang-command-2.0.0" + sources."shebang-regex-3.0.0" + sources."signal-exit-3.0.2" + sources."slash-3.0.0" sources."sshpk-1.16.1" sources."statuses-1.5.0" sources."string_decoder-0.10.31" + sources."strip-final-newline-2.0.0" sources."sums-0.2.4" sources."through2-2.0.1" sources."tmp-0.0.31" + sources."to-regex-range-5.0.1" sources."toidentifier-1.0.0" (sources."tough-cookie-2.4.3" // { dependencies = [ @@ -5973,6 +6243,7 @@ in ]; }) sources."traverse-chain-0.1.0" + sources."tslib-1.11.1" sources."tunnel-agent-0.6.0" sources."tweetnacl-0.14.5" sources."type-is-1.6.18" @@ -5985,6 +6256,15 @@ in sources."uuid-3.4.0" sources."vary-1.1.2" sources."verror-1.10.0" + sources."vscode-jsonrpc-5.0.1" + sources."vscode-languageserver-6.1.1" + sources."vscode-languageserver-protocol-3.15.3" + sources."vscode-languageserver-textdocument-1.0.1" + sources."vscode-languageserver-types-3.15.1" + sources."vscode-uri-2.1.1" + sources."web-tree-sitter-0.16.2" + sources."which-2.0.2" + sources."wrappy-1.0.2" (sources."ws-3.3.1" // { dependencies = [ sources."ultron-1.1.1" @@ -5994,7 +6274,8 @@ in ]; buildInputs = globalBuildInputs; meta = { - description = "A tool that allows you analyse your Elm code and identifies deficiencies and best practices."; + description = "Implementation of an elm language server in node."; + homepage = "https://github.com/elm-tooling/elm-language-server#readme"; license = "MIT"; }; production = true; @@ -6031,7 +6312,7 @@ in sources."elm-hot-1.1.4" sources."encodeurl-1.0.2" sources."end-of-stream-1.4.4" - sources."es6-promisify-6.0.2" + sources."es6-promisify-6.1.0" sources."escape-html-1.0.3" sources."escape-string-regexp-1.0.5" sources."etag-1.8.1" @@ -6123,291 +6404,470 @@ in bypassCache = true; reconstructLock = true; }; - elm-xref = nodeEnv.buildNodePackage { - name = "elm-xref"; - packageName = "elm-xref"; - version = "4.1.0"; + elm-test = nodeEnv.buildNodePackage { + name = "elm-test"; + packageName = "elm-test"; + version = "0.19.1-revision2"; src = fetchurl { - url = "https://registry.npmjs.org/elm-xref/-/elm-xref-4.1.0.tgz"; - sha512 = "23nVGYsArS2DZ0RnFq6cKYO49pCjuLULhM+fvBcfA7ZIbKSw5WkDyK9c5hlQEm+JZAPZ43PNcI0yLzTEqaajiA=="; + url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.1-revision2.tgz"; + sha512 = "zVs2mVeyIE+K9y7/8b333h5xRMDWAoqbBDm7ThLDhyTi7ICxeL3t5uOS4KZCrRk9+4sP6+voSbcBlgr46Q+GiQ=="; }; dependencies = [ + sources."@types/color-name-1.1.1" + sources."ajv-6.12.0" + sources."ansi-styles-4.2.1" + sources."anymatch-3.1.1" + sources."asn1-0.2.4" + sources."assert-plus-1.0.0" + sources."asynckit-0.4.0" + sources."aws-sign2-0.7.0" + sources."aws4-1.9.1" + sources."balanced-match-1.0.0" + sources."bcrypt-pbkdf-1.0.2" + sources."binary-0.3.0" + sources."binary-extensions-2.0.0" + sources."binwrap-0.2.2" sources."bluebird-3.7.2" - sources."compare-versions-3.6.0" + sources."brace-expansion-1.1.11" + sources."braces-3.0.2" + sources."buffers-0.1.1" + sources."caseless-0.12.0" + sources."chainsaw-0.1.0" + sources."chalk-3.0.0" + sources."chokidar-3.3.0" + sources."chownr-1.1.4" + sources."color-convert-2.0.1" + sources."color-name-1.1.4" + sources."combined-stream-1.0.8" + sources."concat-map-0.0.1" sources."core-util-is-1.0.2" - sources."fs-extra-6.0.1" + sources."cross-spawn-7.0.1" + sources."dashdash-1.14.1" + sources."delayed-stream-1.0.0" + sources."ecc-jsbn-0.1.2" + sources."elmi-to-json-1.3.0" + sources."extend-3.0.2" + sources."extsprintf-1.3.0" + sources."fast-deep-equal-3.1.1" + sources."fast-json-stable-stringify-2.1.0" + sources."fill-range-7.0.1" + (sources."find-elm-dependencies-2.0.2" // { + dependencies = [ + sources."firstline-1.2.0" + ]; + }) + sources."find-parent-dir-0.3.0" + sources."firstline-2.0.2" + sources."forever-agent-0.6.1" + sources."form-data-2.3.3" + sources."fs-extra-8.1.0" + sources."fs-minipass-1.2.7" + sources."fs.realpath-1.0.0" + sources."fsevents-2.1.2" + sources."getpass-0.1.7" + sources."glob-7.1.6" + sources."glob-parent-5.1.0" sources."graceful-fs-4.2.3" + sources."har-schema-2.0.0" + sources."har-validator-5.1.3" + sources."has-flag-4.0.0" + sources."http-signature-1.2.0" + sources."inflight-1.0.6" sources."inherits-2.0.4" - sources."isarray-1.0.0" + sources."is-binary-path-2.1.0" + sources."is-extglob-2.1.1" + sources."is-glob-4.0.1" + sources."is-number-7.0.0" + sources."is-typedarray-1.0.0" + sources."isexe-2.0.0" + sources."isstream-0.1.2" + sources."jsbn-0.1.1" + sources."json-schema-0.2.3" + sources."json-schema-traverse-0.4.1" + sources."json-stringify-safe-5.0.1" sources."jsonfile-4.0.0" - sources."klaw-2.1.1" + sources."jsprim-1.4.1" + sources."lodash-4.17.15" + sources."mime-db-1.43.0" + sources."mime-types-2.1.26" + sources."minimatch-3.0.4" sources."minimist-1.2.5" - sources."process-nextick-args-2.0.1" - sources."readable-stream-2.3.7" - sources."safe-buffer-5.1.2" - sources."semver-6.3.0" - sources."semver-regex-1.0.0" - (sources."semver-sort-0.0.4" // { + sources."minipass-2.9.0" + sources."minizlib-1.3.3" + sources."mkdirp-0.5.3" + sources."murmur-hash-js-1.0.0" + sources."mustache-3.2.1" + sources."nice-try-1.0.5" + (sources."node-elm-compiler-5.0.4" // { dependencies = [ - sources."semver-5.7.1" + sources."cross-spawn-6.0.5" + sources."path-key-2.0.1" + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."which-1.3.1" ]; }) - sources."string_decoder-1.1.1" - sources."through2-2.0.5" + sources."normalize-path-3.0.0" + sources."oauth-sign-0.9.0" + sources."once-1.4.0" + sources."path-is-absolute-1.0.1" + sources."path-key-3.1.1" + sources."performance-now-2.1.0" + sources."picomatch-2.2.1" + sources."psl-1.7.0" + sources."punycode-2.1.1" + sources."qs-6.5.2" + sources."readdirp-3.2.0" + sources."request-2.88.2" + sources."request-promise-4.2.5" + sources."request-promise-core-1.1.3" + sources."rimraf-2.6.3" + sources."safe-buffer-5.2.0" + sources."safer-buffer-2.1.2" + sources."semver-5.7.1" + sources."shebang-command-2.0.0" + sources."shebang-regex-3.0.0" + sources."split-1.0.1" + sources."sshpk-1.16.1" + sources."stealthy-require-1.1.1" + sources."supports-color-7.1.0" + sources."tar-4.4.13" + sources."temp-0.9.1" + sources."through-2.3.8" + sources."to-regex-range-5.0.1" + sources."tough-cookie-2.5.0" + sources."traverse-0.3.9" + sources."tunnel-agent-0.6.0" + sources."tweetnacl-0.14.5" sources."universalify-0.1.2" - sources."util-deprecate-1.0.2" - sources."xtend-4.0.2" + sources."unzip-stream-0.3.0" + sources."uri-js-4.2.2" + sources."uuid-3.4.0" + sources."verror-1.10.0" + sources."which-2.0.1" + sources."wrappy-1.0.2" + sources."xmlbuilder-13.0.2" + sources."yallist-3.1.1" ]; buildInputs = globalBuildInputs; meta = { - description = "Cross referencing tool for Elm - find usages and unused code"; - homepage = "https://github.com/zwilias/elm-xref#readme"; + description = "Run elm-test suites."; + homepage = "https://github.com/rtfeldman/node-test-runner#readme"; license = "BSD-3-Clause"; }; production = true; bypassCache = true; reconstructLock = true; }; - "@elm-tooling/elm-language-server" = nodeEnv.buildNodePackage { - name = "_at_elm-tooling_slash_elm-language-server"; - packageName = "@elm-tooling/elm-language-server"; - version = "1.6.3"; + elm-upgrade = nodeEnv.buildNodePackage { + name = "elm-upgrade"; + packageName = "elm-upgrade"; + version = "0.19.8"; src = fetchurl { - url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-1.6.3.tgz"; - sha512 = "8liKU5tfKrldgNtE8GNGEUlZM+o7Qfjycn3gnyzzKqWEBCjkxeuU6VwWaIozw5k/xfJqHcIDb5nFPsqEadO5Ig=="; + url = "https://registry.npmjs.org/elm-upgrade/-/elm-upgrade-0.19.8.tgz"; + sha512 = "SwNzV40wu9IEe35TWR9b7F8WctIRUkpl6F3lzF0AqmYnCcKjbzrxbW6G7DYfA9ICUYjuSLcyYJKm5c86oMiH8w=="; + }; + dependencies = [ + sources."@sindresorhus/is-2.1.0" + sources."@szmarczak/http-timer-4.0.5" + sources."@types/cacheable-request-6.0.1" + sources."@types/http-cache-semantics-4.0.0" + sources."@types/keyv-3.1.1" + sources."@types/node-13.9.1" + sources."@types/responselike-1.0.0" + sources."cacheable-lookup-2.0.0" + sources."cacheable-request-7.0.1" + sources."caw-2.0.1" + (sources."clone-response-1.0.2" // { + dependencies = [ + sources."mimic-response-1.0.1" + ]; + }) + sources."config-chain-1.1.12" + sources."decompress-response-5.0.0" + sources."defer-to-connect-2.0.0" + sources."duplexer3-0.1.4" + sources."end-of-stream-1.4.4" + sources."fs-extra-8.1.0" + sources."get-proxy-2.1.0" + sources."get-stream-5.1.0" + sources."got-10.6.0" + sources."graceful-fs-4.2.3" + sources."has-symbol-support-x-1.4.2" + sources."has-to-string-tag-x-1.4.1" + sources."http-cache-semantics-4.1.0" + sources."ini-1.3.5" + sources."is-object-1.0.1" + sources."isexe-2.0.0" + sources."isurl-1.0.0" + sources."json-buffer-3.0.1" + sources."jsonfile-4.0.0" + sources."keyv-4.0.0" + sources."lowercase-keys-2.0.0" + sources."mimic-response-2.1.0" + sources."normalize-url-4.5.0" + sources."npm-conf-1.1.3" + sources."once-1.4.0" + sources."p-cancelable-2.0.0" + sources."p-event-4.1.0" + sources."p-finally-1.0.0" + sources."p-timeout-2.0.1" + sources."pify-3.0.0" + sources."proto-list-1.2.4" + sources."pump-3.0.0" + sources."responselike-2.0.0" + sources."safe-buffer-5.2.0" + sources."safename-1.0.2" + sources."semver-7.1.3" + sources."to-readable-stream-2.1.0" + sources."tunnel-agent-0.6.0" + sources."type-fest-0.10.0" + sources."universalify-0.1.2" + sources."url-to-options-1.0.1" + sources."which-2.0.2" + sources."wrappy-1.0.2" + sources."yn-4.0.0" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Upgrade Elm projects"; + homepage = "https://github.com/avh4/elm-upgrade#readme"; + license = "MIT"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + elm-verify-examples = nodeEnv.buildNodePackage { + name = "elm-verify-examples"; + packageName = "elm-verify-examples"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-5.0.0.tgz"; + sha512 = "dAOv+U9hXZ0IRGx19mkpCAdf5rUwoJWlzFmcR2gvOzE/QjZUSlPh3e0IIDAfGUuEF8DjfE5CTe31fNtIkkd2rQ=="; }; dependencies = [ - sources."@nodelib/fs.scandir-2.1.3" - sources."@nodelib/fs.stat-2.0.3" - sources."@nodelib/fs.walk-1.2.4" - sources."accepts-1.3.7" sources."ajv-6.12.0" - sources."array-flatten-1.1.1" - sources."array-union-2.1.0" + sources."ansi-regex-4.1.0" + sources."ansi-styles-3.2.1" + sources."anymatch-3.1.1" sources."asn1-0.2.4" sources."assert-plus-1.0.0" - sources."async-limiter-1.0.1" sources."asynckit-0.4.0" sources."aws-sign2-0.7.0" sources."aws4-1.9.1" - sources."babel-runtime-6.18.0" + sources."balanced-match-1.0.0" sources."bcrypt-pbkdf-1.0.2" - sources."body-parser-1.19.0" + sources."binary-0.3.0" + sources."binary-extensions-2.0.0" + sources."binwrap-0.2.2" + sources."bluebird-3.7.2" + sources."brace-expansion-1.1.11" sources."braces-3.0.2" - sources."bytes-3.1.0" + sources."buffers-0.1.1" + sources."camelcase-5.3.1" sources."caseless-0.12.0" + sources."chainsaw-0.1.0" + sources."chalk-2.4.2" + sources."chokidar-3.2.1" + sources."chownr-1.1.4" + sources."cliui-5.0.0" + sources."color-convert-1.9.3" + sources."color-name-1.1.3" sources."combined-stream-1.0.8" - sources."concat-stream-1.5.2" - sources."content-disposition-0.5.2" - sources."content-type-1.0.4" - sources."cookie-0.3.1" - sources."cookie-signature-1.0.6" - sources."core-js-2.6.11" + sources."concat-map-0.0.1" sources."core-util-is-1.0.2" - sources."cross-spawn-7.0.1" - sources."dashdash-1.14.1" - sources."debug-2.6.9" - sources."delayed-stream-1.0.0" - sources."depd-1.1.2" - sources."destroy-1.0.4" - sources."dir-glob-3.0.1" - sources."ecc-jsbn-0.1.2" - sources."ee-first-1.1.1" - sources."elm-analyse-git://github.com/elm-tooling/elm-analyse#1a665a6e540d7d11b29b3c5e3c52089704325d9c" - sources."encodeurl-1.0.2" - sources."end-of-stream-1.4.4" - sources."escape-html-1.0.3" - sources."etag-1.8.1" - (sources."execa-4.0.0" // { - dependencies = [ - sources."is-stream-2.0.0" - ]; - }) - (sources."express-4.16.3" // { + (sources."cross-spawn-7.0.0" // { dependencies = [ - sources."body-parser-1.18.2" - sources."bytes-3.0.0" - sources."http-errors-1.6.3" - sources."iconv-lite-0.4.19" - sources."qs-6.5.1" - (sources."raw-body-2.3.2" // { - dependencies = [ - sources."depd-1.1.1" - sources."http-errors-1.6.2" - sources."setprototypeof-1.0.3" - ]; - }) - sources."setprototypeof-1.1.0" - sources."statuses-1.4.0" + sources."which-1.3.1" ]; }) - (sources."express-ws-2.0.0" // { + sources."dashdash-1.14.1" + sources."decamelize-1.2.0" + sources."delayed-stream-1.0.0" + sources."ecc-jsbn-0.1.2" + (sources."elm-test-0.19.1" // { dependencies = [ - sources."ws-1.1.5" + sources."fs-extra-8.1.0" + sources."has-flag-4.0.0" + sources."supports-color-7.1.0" ]; }) + sources."elmi-to-json-1.2.0" + sources."emoji-regex-7.0.3" + sources."escape-string-regexp-1.0.5" sources."extend-3.0.2" sources."extsprintf-1.3.0" sources."fast-deep-equal-3.1.1" - sources."fast-diff-1.2.0" - sources."fast-glob-3.2.2" sources."fast-json-stable-stringify-2.1.0" - sources."fastq-1.6.1" sources."fill-range-7.0.1" - (sources."finalhandler-1.1.1" // { + (sources."find-elm-dependencies-2.0.2" // { dependencies = [ - sources."statuses-1.4.0" + sources."firstline-1.2.0" ]; }) - sources."find-0.2.7" + sources."find-parent-dir-0.3.0" + sources."find-up-3.0.0" + sources."firstline-2.0.2" sources."forever-agent-0.6.1" sources."form-data-2.3.3" - sources."forwarded-0.1.2" - sources."fresh-0.5.2" - sources."fs-extra-2.0.0" - sources."get-stream-5.1.0" + sources."fs-extra-5.0.0" + sources."fs-minipass-1.2.7" + sources."fs.realpath-1.0.0" + sources."fsevents-2.1.2" + sources."get-caller-file-2.0.5" sources."getpass-0.1.7" + sources."glob-7.1.4" sources."glob-parent-5.1.0" - sources."globby-11.0.0" sources."graceful-fs-4.2.3" sources."har-schema-2.0.0" sources."har-validator-5.1.3" - sources."http-errors-1.7.2" + sources."has-flag-3.0.0" sources."http-signature-1.2.0" - sources."human-signals-1.1.1" - sources."iconv-lite-0.4.24" - sources."ignore-5.1.4" - sources."inherits-2.0.3" - sources."ipaddr.js-1.9.1" + sources."inflight-1.0.6" + sources."inherits-2.0.4" + sources."is-binary-path-2.1.0" sources."is-extglob-2.1.1" + sources."is-fullwidth-code-point-2.0.0" sources."is-glob-4.0.1" sources."is-number-7.0.0" - sources."is-stream-1.1.0" sources."is-typedarray-1.0.0" - sources."is-wsl-1.1.0" - sources."isarray-1.0.0" sources."isexe-2.0.0" sources."isstream-0.1.2" sources."jsbn-0.1.1" sources."json-schema-0.2.3" sources."json-schema-traverse-0.4.1" sources."json-stringify-safe-5.0.1" - sources."jsonfile-2.4.0" + sources."jsonfile-4.0.0" sources."jsprim-1.4.1" + sources."locate-path-3.0.0" sources."lodash-4.17.15" - sources."media-typer-0.3.0" - sources."merge-descriptors-1.0.1" - sources."merge-stream-2.0.0" - sources."merge2-1.3.0" - sources."methods-1.1.2" - sources."micromatch-4.0.2" - sources."mime-1.4.1" sources."mime-db-1.43.0" sources."mime-types-2.1.26" - sources."mimic-fn-2.1.0" - sources."minimist-1.2.0" - sources."ms-2.0.0" - sources."negotiator-0.6.2" - sources."node-watch-0.5.5" - sources."npm-run-path-4.0.1" + sources."minimatch-3.0.4" + sources."minimist-1.2.5" + sources."minipass-2.9.0" + sources."minizlib-1.3.3" + sources."mkdirp-0.5.3" + sources."murmur-hash-js-1.0.0" + sources."mustache-3.2.1" + sources."nice-try-1.0.5" + (sources."node-elm-compiler-5.0.4" // { + dependencies = [ + sources."cross-spawn-6.0.5" + sources."path-key-2.0.1" + sources."which-1.3.1" + ]; + }) + sources."normalize-path-3.0.0" sources."oauth-sign-0.9.0" - sources."on-finished-2.3.0" sources."once-1.4.0" - sources."onetime-5.1.0" - sources."opn-5.4.0" - sources."options-0.0.6" - sources."os-homedir-1.0.2" - sources."os-tmpdir-1.0.2" - sources."parseurl-1.3.3" + sources."p-limit-2.2.2" + sources."p-locate-3.0.0" + sources."p-try-2.2.0" + sources."path-exists-3.0.0" + sources."path-is-absolute-1.0.1" sources."path-key-3.1.1" - sources."path-to-regexp-0.1.7" - sources."path-type-4.0.0" sources."performance-now-2.1.0" sources."picomatch-2.2.1" - sources."pjson-1.0.9" - sources."process-nextick-args-1.0.7" - sources."proxy-addr-2.0.6" sources."psl-1.7.0" - sources."pump-3.0.0" sources."punycode-2.1.1" - sources."qs-6.7.0" - sources."range-parser-1.2.1" - sources."raw-body-2.4.0" - sources."readable-stream-2.0.6" - sources."regenerator-runtime-0.9.6" - (sources."request-2.88.0" // { - dependencies = [ - sources."qs-6.5.2" - sources."safe-buffer-5.2.0" - ]; - }) - sources."reusify-1.0.4" - sources."run-parallel-1.1.9" - sources."rxjs-6.5.4" - sources."safe-buffer-5.1.1" + sources."qs-6.5.2" + sources."readdirp-3.1.3" + sources."request-2.88.2" + sources."request-promise-4.2.5" + sources."request-promise-core-1.1.3" + sources."require-directory-2.1.1" + sources."require-main-filename-2.0.0" + sources."rimraf-2.7.1" + sources."safe-buffer-5.2.0" sources."safer-buffer-2.1.2" - (sources."send-0.16.2" // { - dependencies = [ - sources."http-errors-1.6.3" - sources."setprototypeof-1.1.0" - sources."statuses-1.4.0" - ]; - }) - sources."serve-static-1.13.2" - sources."setprototypeof-1.1.1" - sources."shebang-command-2.0.0" - sources."shebang-regex-3.0.0" - sources."signal-exit-3.0.2" - sources."slash-3.0.0" + sources."semver-5.7.1" + sources."set-blocking-2.0.0" + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."split-1.0.1" sources."sshpk-1.16.1" - sources."statuses-1.5.0" - sources."string_decoder-0.10.31" - sources."strip-final-newline-2.0.0" - sources."sums-0.2.4" - sources."through2-2.0.1" - sources."tmp-0.0.31" - sources."to-regex-range-5.0.1" - sources."toidentifier-1.0.0" - (sources."tough-cookie-2.4.3" // { + sources."stealthy-require-1.1.1" + sources."string-width-3.1.0" + sources."strip-ansi-5.2.0" + sources."supports-color-5.5.0" + sources."tar-4.4.13" + (sources."temp-0.9.0" // { dependencies = [ - sources."punycode-1.4.1" + sources."rimraf-2.6.3" ]; }) - sources."traverse-chain-0.1.0" - sources."tslib-1.11.1" + sources."through-2.3.8" + sources."to-regex-range-5.0.1" + sources."tough-cookie-2.5.0" + sources."traverse-0.3.9" sources."tunnel-agent-0.6.0" sources."tweetnacl-0.14.5" - sources."type-is-1.6.18" - sources."typedarray-0.0.6" - sources."ultron-1.0.2" - sources."unpipe-1.0.0" + sources."universalify-0.1.2" + sources."unzip-stream-0.3.0" sources."uri-js-4.2.2" - sources."util-deprecate-1.0.2" - sources."utils-merge-1.0.1" sources."uuid-3.4.0" - sources."vary-1.1.2" sources."verror-1.10.0" - sources."vscode-jsonrpc-5.0.1" - sources."vscode-languageserver-6.1.1" - sources."vscode-languageserver-protocol-3.15.3" - sources."vscode-languageserver-textdocument-1.0.1" - sources."vscode-languageserver-types-3.15.1" - sources."vscode-uri-2.1.1" - sources."web-tree-sitter-0.16.2" - sources."which-2.0.2" + sources."which-2.0.1" + sources."which-module-2.0.0" + sources."wrap-ansi-5.1.0" sources."wrappy-1.0.2" - (sources."ws-3.3.1" // { + sources."xmlbuilder-13.0.2" + sources."y18n-4.0.0" + sources."yallist-3.1.1" + sources."yargs-13.3.2" + sources."yargs-parser-13.1.2" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Verify examples in Elm doc-comments"; + license = "BSD-3-Clause"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + elm-xref = nodeEnv.buildNodePackage { + name = "elm-xref"; + packageName = "elm-xref"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-xref/-/elm-xref-4.1.0.tgz"; + sha512 = "23nVGYsArS2DZ0RnFq6cKYO49pCjuLULhM+fvBcfA7ZIbKSw5WkDyK9c5hlQEm+JZAPZ43PNcI0yLzTEqaajiA=="; + }; + dependencies = [ + sources."bluebird-3.7.2" + sources."compare-versions-3.6.0" + sources."core-util-is-1.0.2" + sources."fs-extra-6.0.1" + sources."graceful-fs-4.2.3" + sources."inherits-2.0.4" + sources."isarray-1.0.0" + sources."jsonfile-4.0.0" + sources."klaw-2.1.1" + sources."minimist-1.2.5" + sources."process-nextick-args-2.0.1" + sources."readable-stream-2.3.7" + sources."safe-buffer-5.1.2" + sources."semver-6.3.0" + sources."semver-regex-1.0.0" + (sources."semver-sort-0.0.4" // { dependencies = [ - sources."ultron-1.1.1" + sources."semver-5.7.1" ]; }) + sources."string_decoder-1.1.1" + sources."through2-2.0.5" + sources."universalify-0.1.2" + sources."util-deprecate-1.0.2" sources."xtend-4.0.2" ]; buildInputs = globalBuildInputs; meta = { - description = "Implementation of an elm language server in node."; - homepage = "https://github.com/elm-tooling/elm-language-server#readme"; - license = "MIT"; + description = "Cross referencing tool for Elm - find usages and unused code"; + homepage = "https://github.com/zwilias/elm-xref#readme"; + license = "BSD-3-Clause"; }; production = true; bypassCache = true; diff --git a/pkgs/development/compilers/elm/packages/patch-binwrap.nix b/pkgs/development/compilers/elm/packages/patch-binwrap.nix index 3a67954b78c9d..30f54e6f5ac5a 100644 --- a/pkgs/development/compilers/elm/packages/patch-binwrap.nix +++ b/pkgs/development/compilers/elm/packages/patch-binwrap.nix @@ -14,7 +14,7 @@ in targets: pkg: pkg.override { - buildInputs = [ binwrap binwrap-install ]; + nativeBuildInputs = pkg.nativeBuildInputs ++ [ binwrap binwrap-install ]; # Manually install targets # by symlinking binaries into `node_modules` diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix new file mode 100644 index 0000000000000..89e05be1e4e94 --- /dev/null +++ b/pkgs/development/compilers/flutter/default.nix @@ -0,0 +1,30 @@ +{ callPackage }: + +let + mkFlutter = opts: callPackage (import ./flutter.nix opts) { }; + getPatches = dir: + let files = builtins.attrNames (builtins.readDir dir); + in map (f: dir + ("/" + f)) files; +in { + stable = mkFlutter { + pname = "flutter"; + channel = "stable"; + version = "1.12.13+hotfix.8"; + sha256Hash = "01ik4xckr3fp65sq4g0g6wy5b9i0r49l643xmbxa6z9k21sby46d"; + patches = getPatches ./patches/stable; + }; + beta = mkFlutter { + pname = "flutter-beta"; + channel = "beta"; + version = "1.14.6"; + sha256Hash = "1a79pr741zkr39p5gc3p9x59d70vm60hpz2crgc53ysglj4ycigy"; + patches = getPatches ./patches/beta; + }; + dev = mkFlutter { + pname = "flutter-dev"; + channel = "dev"; + version = "1.15.3"; + sha256Hash = "06mawwqf7q7wdmzlyxlrlblhnnk4ckf3vp92lplippdh3d52r93i"; + patches = getPatches ./patches/dev; + }; +} diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix new file mode 100644 index 0000000000000..1b9c482d6e927 --- /dev/null +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -0,0 +1,128 @@ +{ channel, pname, version, sha256Hash, patches }: + +{ bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv +, fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb +, libXcomposite, libXcursor, libXdamage, libXfixes, libGL, nspr, nss, systemd }: + +let + drvName = "flutter-${channel}-${version}"; + flutter = stdenv.mkDerivation { + name = "${drvName}-unwrapped"; + + src = fetchurl { + url = + "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/flutter_linux_v${version}-${channel}.tar.xz"; + sha256 = sha256Hash; + }; + + buildInputs = [ makeWrapper git ]; + + inherit patches; + + postPatch = '' + patchShebangs --build ./bin/ + find ./bin/ -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \; + ''; + + buildPhase = '' + FLUTTER_ROOT=$(pwd) + FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools" + SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot" + STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp" + SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart" + DART_SDK_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk" + + DART="$DART_SDK_PATH/bin/dart" + PUB="$DART_SDK_PATH/bin/pub" + + HOME=../.. # required for pub upgrade --offline, ~/.pub-cache + # path is relative otherwise it's replaced by /build/flutter + + (cd "$FLUTTER_TOOLS_DIR" && "$PUB" upgrade --offline) + + local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)" + "$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" + echo "$revision" > "$STAMP_PATH" + echo -n "${version}" > version + + rm -rf bin/cache/{artifacts,downloads} + rm -f bin/cache/*.stamp + ''; + + installPhase = '' + mkdir -p $out + cp -r . $out + ''; + }; + + # Wrap flutter inside an fhs user env to allow execution of binary, + # like adb from $ANDROID_HOME or java from android-studio. + fhsEnv = buildFHSUserEnv { + name = "${drvName}-fhs-env"; + multiPkgs = pkgs: [ + # Flutter only use these certificates + (runCommand "fedoracert" { } '' + mkdir -p $out/etc/pki/tls/ + ln -s ${cacert}/etc/ssl/certs $out/etc/pki/tls/certs + '') + pkgs.zlib + ]; + targetPkgs = pkgs: + with pkgs; [ + bash + curl + git + unzip + which + xz + + # flutter test requires this lib + libGLU + + # for android emulator + alsaLib + dbus + expat + libpulseaudio + libuuid + libX11 + libxcb + libXcomposite + libXcursor + libXdamage + libXfixes + libGL + nspr + nss + systemd + ]; + }; + +in runCommand drvName { + startScript = '' + #!${bash}/bin/bash + export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} + export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1 + ${fhsEnv}/bin/${drvName}-fhs-env ${flutter}/bin/flutter --no-version-check "$@" + ''; + preferLocalBuild = true; + allowSubstitutes = false; + passthru = { unwrapped = flutter; }; + meta = with stdenv.lib; { + description = + "Flutter is Google's SDK for building mobile, web and desktop with Dart."; + longDescription = '' + Flutter is Google’s UI toolkit for building beautiful, + natively compiled applications for mobile, web, and desktop from a single codebase. + ''; + homepage = "https://flutter.dev"; + license = licenses.bsd3; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ babariviere ]; + }; +} '' + mkdir -p $out/bin + + echo -n "$startScript" > $out/bin/${pname} + chmod +x $out/bin/${pname} +'' diff --git a/pkgs/development/compilers/flutter/patches/beta/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/beta/disable-auto-update.patch new file mode 100644 index 0000000000000..42c09c805cb5f --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/beta/disable-auto-update.patch @@ -0,0 +1,31 @@ +diff --git a/bin/flutter b/bin/flutter +index e0c18e235..2c3fb7ddd 100755 +--- a/bin/flutter ++++ b/bin/flutter +@@ -185,8 +185,6 @@ fi + # FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS" + # FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432" + +-(upgrade_flutter) 3< "$PROG_NAME" +- + # FLUTTER_TOOL_ARGS isn't quoted below, because it is meant to be considered as + # separate space-separated args. + "$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@" +diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +index 99455ae64..f5b0cb59c 100644 +--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart ++++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +@@ -301,13 +301,6 @@ class FlutterCommandRunner extends CommandRunner<void> { + } + + _checkFlutterCopy(); +- try { +- await globals.flutterVersion.ensureVersionFile(); +- } on FileSystemException catch (e) { +- globals.printError('Failed to write the version file to the artifact cache: "$e".'); +- globals.printError('Please ensure you have permissions in the artifact cache directory.'); +- throwToolExit('Failed to write the version file'); +- } + final bool machineFlag = topLevelResults['machine'] as bool; + if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool && !machineFlag) { + await globals.flutterVersion.checkFlutterVersionFreshness(); diff --git a/pkgs/development/compilers/flutter/patches/beta/move-cache.patch b/pkgs/development/compilers/flutter/patches/beta/move-cache.patch new file mode 100644 index 0000000000000..303f8dd373957 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/beta/move-cache.patch @@ -0,0 +1,63 @@ +diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart +index 8e511eefd..fbc7d6ac3 100644 +--- a/dev/devicelab/lib/framework/runner.dart ++++ b/dev/devicelab/lib/framework/runner.dart +@@ -126,7 +126,7 @@ Future<void> cleanupSystem() async { + print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)'); + final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; + final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); +- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); ++ recursiveCopy(Directory(path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); + copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); + if (!Platform.isWindows) { + await exec( +diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart +index 79b06949f..9040ba0a8 100644 +--- a/packages/flutter_tools/lib/src/asset.dart ++++ b/packages/flutter_tools/lib/src/asset.dart +@@ -6,6 +6,7 @@ import 'dart:async'; + + import 'package:yaml/yaml.dart'; + ++import 'base/common.dart'; + import 'base/context.dart'; + import 'base/file_system.dart'; + import 'base/utils.dart'; +@@ -325,7 +326,7 @@ List<_Asset> _getMaterialAssets(String fontSet) { + for (final Map<dynamic, dynamic> font in family['fonts']) { + final Uri entryUri = globals.fs.path.toUri(font['asset'] as String); + result.add(_Asset( +- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), ++ baseDir: globals.fs.path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), + relativeUri: Uri(path: entryUri.pathSegments.last), + entryUri: entryUri, + )); +diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart +index 715189938..5afb2a0db 100644 +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -189,8 +189,14 @@ class Cache { + return; + } + assert(_lock == null); ++ ++ final Directory dir = globals.fs.directory(globals.fs.path.join(homeDirPath, '.cache', 'flutter')); ++ if (!dir.existsSync()) { ++ dir.createSync(recursive: true); ++ os.chmod(dir, '755'); ++ } + final File lockFile = +- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile')); ++ globals.fs.file(globals.fs.path.join(homeDirPath, '.cache', 'flutter', 'lockfile')); + try { + _lock = lockFile.openSync(mode: FileMode.write); + } on FileSystemException catch (e) { +@@ -290,7 +296,7 @@ class Cache { + if (_rootOverride != null) { + return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache')); + } else { +- return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache')); ++ return _fileSystem.directory(_fileSystem.path.join(homeDirPath, '.cache', 'flutter')); + } + } + diff --git a/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch new file mode 120000 index 0000000000000..2c92799f3bbaa --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch @@ -0,0 +1 @@ +../beta/disable-auto-update.patch \ No newline at end of file diff --git a/pkgs/development/compilers/flutter/patches/dev/move-cache.patch b/pkgs/development/compilers/flutter/patches/dev/move-cache.patch new file mode 100644 index 0000000000000..4672d4c625d0f --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/dev/move-cache.patch @@ -0,0 +1,63 @@ +diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart +index 8e511eefd..fbc7d6ac3 100644 +--- a/dev/devicelab/lib/framework/runner.dart ++++ b/dev/devicelab/lib/framework/runner.dart +@@ -126,7 +126,7 @@ Future<void> cleanupSystem() async { + print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)'); + final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; + final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); +- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); ++ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); + copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); + if (!Platform.isWindows) { + await exec( +diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart +index 79b06949f..9040ba0a8 100644 +--- a/packages/flutter_tools/lib/src/asset.dart ++++ b/packages/flutter_tools/lib/src/asset.dart +@@ -6,6 +6,7 @@ import 'dart:async'; + + import 'package:yaml/yaml.dart'; + ++import 'base/common.dart'; + import 'base/context.dart'; + import 'base/file_system.dart'; + import 'base/utils.dart'; +@@ -325,7 +326,7 @@ List<_Asset> _getMaterialAssets(String fontSet) { + for (final Map<dynamic, dynamic> font in family['fonts']) { + final Uri entryUri = globals.fs.path.toUri(font['asset'] as String); + result.add(_Asset( +- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), ++ baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), + relativeUri: Uri(path: entryUri.pathSegments.last), + entryUri: entryUri, + )); +diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart +index 715189938..5afb2a0db 100644 +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -189,8 +189,14 @@ class Cache { + return; + } + assert(_lock == null); ++ ++ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); ++ if (!dir.existsSync()) { ++ dir.createSync(recursive: true); ++ globals.os.chmod(dir, '755'); ++ } + final File lockFile = +- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile')); ++ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile')); + try { + _lock = lockFile.openSync(mode: FileMode.write); + } on FileSystemException catch (e) { +@@ -290,7 +296,7 @@ class Cache { + if (_rootOverride != null) { + return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache')); + } else { +- return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache')); ++ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); + } + } + diff --git a/pkgs/development/compilers/flutter/patches/stable/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/stable/disable-auto-update.patch new file mode 100644 index 0000000000000..16fe504595f35 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/stable/disable-auto-update.patch @@ -0,0 +1,31 @@ +diff --git a/bin/flutter b/bin/flutter +index 3955f8f39..1e7573d30 100755 +--- a/bin/flutter ++++ b/bin/flutter +@@ -185,8 +185,6 @@ fi + # FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS" + # FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432" + +-(upgrade_flutter) 3< "$PROG_NAME" +- + # FLUTTER_TOOL_ARGS isn't quoted below, because it is meant to be considered as + # separate space-separated args. + "$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@" +diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +index 5e45819d9..ab748b059 100644 +--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart ++++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +@@ -377,13 +377,6 @@ class FlutterCommandRunner extends CommandRunner<void> { + } + + _checkFlutterCopy(); +- try { +- await FlutterVersion.instance.ensureVersionFile(); +- } on FileSystemException catch (e) { +- printError('Failed to write the version file to the artifact cache: "$e".'); +- printError('Please ensure you have permissions in the artifact cache directory.'); +- throwToolExit('Failed to write the version file'); +- } + if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool) { + await FlutterVersion.instance.checkFlutterVersionFreshness(); + } diff --git a/pkgs/development/compilers/flutter/patches/stable/move-cache.patch b/pkgs/development/compilers/flutter/patches/stable/move-cache.patch new file mode 100644 index 0000000000000..e5719a2867f90 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/stable/move-cache.patch @@ -0,0 +1,63 @@ +diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart +index 9fae74726..d88d6ecbb 100644 +--- a/dev/devicelab/lib/framework/runner.dart ++++ b/dev/devicelab/lib/framework/runner.dart +@@ -126,7 +126,7 @@ Future<void> cleanupSystem() async { + print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)'); + final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; + final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); +- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); ++ recursiveCopy(Directory(path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); + copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); + if (!Platform.isWindows) { + await exec( +diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart +index e6216c737..5ab497092 100644 +--- a/packages/flutter_tools/lib/src/asset.dart ++++ b/packages/flutter_tools/lib/src/asset.dart +@@ -6,6 +6,7 @@ import 'dart:async'; + + import 'package:yaml/yaml.dart'; + ++import 'base/common.dart'; + import 'base/context.dart'; + import 'base/file_system.dart'; + import 'base/platform.dart'; +@@ -326,7 +327,7 @@ List<_Asset> _getMaterialAssets(String fontSet) { + for (Map<dynamic, dynamic> font in family['fonts']) { + final Uri entryUri = fs.path.toUri(font['asset'] as String); + result.add(_Asset( +- baseDir: fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), ++ baseDir: fs.path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), + relativeUri: Uri(path: entryUri.pathSegments.last), + entryUri: entryUri, + )); +diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart +index 5e1950b56..45585f9c0 100644 +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -164,8 +164,14 @@ class Cache { + return; + } + assert(_lock == null); ++ ++ final Directory dir = fs.directory(fs.path.join(homeDirPath, '.cache', 'flutter')); ++ if (!dir.existsSync()) { ++ dir.createSync(recursive: true); ++ os.chmod(dir, '755'); ++ } + final File lockFile = +- fs.file(fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile')); ++ fs.file(fs.path.join(homeDirPath, '.cache', 'flutter', 'lockfile')); + try { + _lock = lockFile.openSync(mode: FileMode.write); + } on FileSystemException catch (e) { +@@ -239,7 +245,7 @@ class Cache { + if (_rootOverride != null) { + return fs.directory(fs.path.join(_rootOverride.path, 'bin', 'cache')); + } else { +- return fs.directory(fs.path.join(flutterRoot, 'bin', 'cache')); ++ return fs.directory(fs.path.join(homeDirPath, '.cache', 'flutter')); + } + } + diff --git a/pkgs/development/compilers/ghc/8.10.1.nix b/pkgs/development/compilers/ghc/8.10.1.nix index bd67fae158afb..9198d08cef451 100644 --- a/pkgs/development/compilers/ghc/8.10.1.nix +++ b/pkgs/development/compilers/ghc/8.10.1.nix @@ -88,12 +88,12 @@ let in stdenv.mkDerivation (rec { - version = "8.10.0.20200123"; + version = "8.10.1"; name = "${targetPrefix}ghc-${version}"; src = fetchurl { - url = "https://downloads.haskell.org/ghc/8.10.1-rc1/ghc-${version}-src.tar.xz"; - sha256 = "162s5g33s918i12qfcqdj5wanc10xg07g5lq3gpm5j7c1v0y1zrf"; + url = "https://downloads.haskell.org/ghc/8.10.1/ghc-${version}-src.tar.xz"; + sha256 = "1xgdl6ig5jzli3bg054vfryfkg0y6wggf68g66c32sr67bw0ffsf"; }; enableParallelBuilding = true; @@ -149,15 +149,21 @@ stdenv.mkDerivation (rec { # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + # `--with` flags for libraries needed for RTS linker configureFlags = [ "--datadir=$doc/share/doc/ghc" "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" - ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib" + ] ++ stdenv.lib.optionals (libffi != null) [ + "--with-system-libffi" + "--with-ffi-includes=${targetPackages.libffi.dev}/include" + "--with-ffi-libraries=${targetPackages.libffi.out}/lib" ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ - "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" + "--with-gmp-includes=${targetPackages.gmp.dev}/include" + "--with-gmp-libraries=${targetPackages.gmp.out}/lib" ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" + "--with-iconv-includes=${libiconv}/include" + "--with-iconv-libraries=${libiconv}/lib" ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ "--enable-bootstrap-with-devel-snapshot" ] ++ stdenv.lib.optionals useLdGold [ diff --git a/pkgs/development/compilers/ghc/8.2.2-binary.nix b/pkgs/development/compilers/ghc/8.2.2-binary.nix index 1f24b9a1ff24e..9f546bcb541c8 100644 --- a/pkgs/development/compilers/ghc/8.2.2-binary.nix +++ b/pkgs/development/compilers/ghc/8.2.2-binary.nix @@ -1,12 +1,15 @@ { stdenv, substituteAll , fetchurl, perl, gcc, llvm , ncurses5, gmp, glibc, libiconv +, llvmPackages }: # Prebuilt only does native assert stdenv.targetPlatform == stdenv.hostPlatform; let + useLLVM = !stdenv.targetPlatform.isx86; + libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv); @@ -53,7 +56,7 @@ stdenv.mkDerivation rec { or (throw "cannot bootstrap GHC on this platform")); nativeBuildInputs = [ perl ]; - buildInputs = stdenv.lib.optionals (stdenv.targetPlatform.isAarch32 || stdenv.targetPlatform.isAarch64) [ llvm ]; + propagatedBuildInputs = stdenv.lib.optionals useLLVM [ llvmPackages.llvm ]; # Cannot patchelf beforehand due to relative RPATHs that anticipate # the final install location/ diff --git a/pkgs/development/compilers/ghc/8.4.4.nix b/pkgs/development/compilers/ghc/8.4.4.nix index 4bebd63956e77..57d6a108de091 100644 --- a/pkgs/development/compilers/ghc/8.4.4.nix +++ b/pkgs/development/compilers/ghc/8.4.4.nix @@ -96,7 +96,7 @@ stdenv.mkDerivation (rec { outputs = [ "out" "doc" ]; patches = [(fetchpatch { - url = "https://git.haskell.org/hsc2hs.git/patch/738f3666c878ee9e79c3d5e819ef8b3460288edf"; + url = "https://github.com/haskell/hsc2hs/commit/738f3666c878ee9e79c3d5e819ef8b3460288edf.diff"; sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3"; extraPrefix = "utils/hsc2hs/"; stripLen = 1; @@ -112,7 +112,7 @@ stdenv.mkDerivation (rec { }) ++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch ++ stdenv.lib.optional (targetPlatform.isAarch32 || targetPlatform.isAarch64) (fetchpatch { - url = "https://git.haskell.org/ghc.git/patch/d8495549ba9d194815c2d0eaee6797fc7c00756a"; + url = "https://github.com/ghc/ghc/commit/d8495549ba9d194815c2d0eaee6797fc7c00756a.diff"; sha256 = "1yjcma507c609bcim4rnxq0gaj2dg4d001jklmbpbqpzqzxkn5sz"; }); diff --git a/pkgs/development/compilers/ghc/8.6.3-binary.nix b/pkgs/development/compilers/ghc/8.6.5-binary.nix index fe576186b0e55..97793d9128950 100644 --- a/pkgs/development/compilers/ghc/8.6.3-binary.nix +++ b/pkgs/development/compilers/ghc/8.6.5-binary.nix @@ -1,12 +1,15 @@ { stdenv , fetchurl, perl, gcc , ncurses5, gmp, glibc, libiconv +, llvmPackages }: # Prebuilt only does native assert stdenv.targetPlatform == stdenv.hostPlatform; let + useLLVM = !stdenv.targetPlatform.isx86; + libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv); @@ -24,27 +27,33 @@ let in stdenv.mkDerivation rec { - version = "8.6.3"; + version = "8.6.5"; name = "ghc-${version}-binary"; + # https://downloads.haskell.org/~ghc/8.6.5/ src = fetchurl ({ i686-linux = { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb8-linux.tar.xz"; - sha256 = "0bw8a7fxcbskf93rb4m542ff66vrmx5i5kj77qx37cbhijx70w5m"; + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb9-linux.tar.xz"; + sha256 = "1p2h29qghql19ajk755xa0yxkn85slbds8m9n5196ris743vkp8w"; }; x86_64-linux = { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb8-linux.tar.xz"; - sha256 = "1m9gaga2pzi2cx5gvasg0rx1dlvr68gmi20l67652kag6xjsa719"; + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb9-linux.tar.xz"; + sha256 = "1pqlx6rdjs2110g0y1i9f8x18lmdizibjqd15f5xahcz39hgaxdw"; + }; + aarch64-linux = { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-aarch64-ubuntu18.04-linux.tar.xz"; + sha256 = "11n7l2a36i5vxzzp85la2555q4m34l747g0pnmd81cp46y85hlhq"; }; x86_64-darwin = { url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; - sha256 = "1hbzk57v45176kxcx848p5jn5p1xbp2129ramkbzsk6plyhnkl3r"; + sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz"; }; }.${stdenv.hostPlatform.system} or (throw "cannot bootstrap GHC on this platform")); nativeBuildInputs = [ perl ]; + propagatedBuildInputs = stdenv.lib.optionals useLLVM [ llvmPackages.llvm ]; # Cannot patchelf beforehand due to relative RPATHs that anticipate # the final install location/ @@ -168,5 +177,5 @@ stdenv.mkDerivation rec { }; meta.license = stdenv.lib.licenses.bsd3; - meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"]; + meta.platforms = ["x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"]; } diff --git a/pkgs/development/compilers/go/1.12.nix b/pkgs/development/compilers/go/1.12.nix index 35bcfa36e9934..3b4091bf1140c 100644 --- a/pkgs/development/compilers/go/1.12.nix +++ b/pkgs/development/compilers/go/1.12.nix @@ -43,8 +43,7 @@ stdenv.mkDerivation rec { ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - - propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ]; + depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ]; hardeningDisable = [ "all" ]; diff --git a/pkgs/development/compilers/go/1.13.nix b/pkgs/development/compilers/go/1.13.nix index aa88127303230..36345bb0dab8b 100644 --- a/pkgs/development/compilers/go/1.13.nix +++ b/pkgs/development/compilers/go/1.13.nix @@ -43,8 +43,7 @@ stdenv.mkDerivation rec { ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - - propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ]; + depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ]; hardeningDisable = [ "all" ]; diff --git a/pkgs/development/compilers/go/1.14.nix b/pkgs/development/compilers/go/1.14.nix index 3651b9361166d..b8038a5d9dd0c 100644 --- a/pkgs/development/compilers/go/1.14.nix +++ b/pkgs/development/compilers/go/1.14.nix @@ -43,8 +43,7 @@ stdenv.mkDerivation rec { ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - - propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ]; + depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ]; hardeningDisable = [ "all" ]; diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index 0dd852a1ef168..c3c46de1fce05 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ pcre ]; - propagatedBuildInputs = lib.optional stdenv.isDarwin Security; + depsTargetTargetPropagated = lib.optional stdenv.isDarwin Security; hardeningDisable = [ "all" ]; diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix index 3ee12af5c06c6..1502b243d8898 100644 --- a/pkgs/development/compilers/jetbrains-jdk/default.nix +++ b/pkgs/development/compilers/jetbrains-jdk/default.nix @@ -1,6 +1,6 @@ -{ stdenv, openjdk12, fetchFromGitHub, jetbrains }: +{ stdenv, openjdk11, fetchFromGitHub, jetbrains }: -openjdk12.overrideAttrs (oldAttrs: rec { +openjdk11.overrideAttrs (oldAttrs: rec { pname = "jetbrains-jdk"; version = "11.0.6-b774"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/llvm/10/clang/default.nix b/pkgs/development/compilers/llvm/10/clang/default.nix index 13fe4bedd46f2..dfdc9f74e15b0 100644 --- a/pkgs/development/compilers/llvm/10/clang/default.nix +++ b/pkgs/development/compilers/llvm/10/clang/default.nix @@ -8,7 +8,7 @@ let pname = "clang"; inherit version; - src = fetch "clang" "1w7ixr16a9f0g5kv4irvhwq973wn0d418kb0p9rabyfscm05wfmq"; + src = fetch "clang" "0ap63qhz0j6m63l4njwp055xni4s71dsxqi1w5d2p93hbswaiiw2"; unpackPhase = '' unpackFile $src @@ -36,7 +36,7 @@ let ]; patches = [ - # 10.0.0rc3-only + # 10.0.0 only, this should be present in 10.0.1 ./clang-extension-handling.patch ./purity.patch diff --git a/pkgs/development/compilers/llvm/10/compiler-rt.nix b/pkgs/development/compilers/llvm/10/compiler-rt.nix index 2d71268c66247..8c870a610cc2c 100644 --- a/pkgs/development/compilers/llvm/10/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/10/compiler-rt.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "compiler-rt"; inherit version; - src = fetch pname "0qv40mv91630l6f75w9g5y6v97s5shz94n82rms12gcd8mir6qp5"; + src = fetch pname "1g067yx8qz0bmf00b2xqjqaayqj2xvrjp9smms3a16syj9m0hfri"; nativeBuildInputs = [ cmake python3 llvm ]; buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix index f2a8883a9a7e3..574ab5ec4e77c 100644 --- a/pkgs/development/compilers/llvm/10/default.nix +++ b/pkgs/development/compilers/llvm/10/default.nix @@ -6,7 +6,7 @@ let release_version = "10.0.0"; - candidate = "rc3"; + candidate = "rc5"; version = "10.0.0${candidate}"; # differentiating these is important for rc's fetch = name: sha256: fetchurl { @@ -14,7 +14,7 @@ let inherit sha256; }; - clang-tools-extra_src = fetch "clang-tools-extra" "03669c93wzmbmfpv0pyzb7y4z1xc912l95iqywyx01xgdl1xws0r"; + clang-tools-extra_src = fetch "clang-tools-extra" "0x23q70c0xcwdhj0d66nisr8rqq69qcshrbb4si9pxfsm0zs9h3i"; tools = stdenv.lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); @@ -30,16 +30,11 @@ let in { llvm = callPackage ./llvm.nix { }; - llvm-polly = callPackage ./llvm.nix { enablePolly = true; }; clang-unwrapped = callPackage ./clang { inherit (tools) lld; inherit clang-tools-extra_src; }; - clang-polly-unwrapped = callPackage ./clang { - inherit clang-tools-extra_src; - llvm = tools.llvm-polly; - }; llvm-manpages = lowPrio (tools.llvm.override { enableManpages = true; diff --git a/pkgs/development/compilers/llvm/10/libc++/default.nix b/pkgs/development/compilers/llvm/10/libc++/default.nix index 767b1cbbc5832..18eae91d3402a 100644 --- a/pkgs/development/compilers/llvm/10/libc++/default.nix +++ b/pkgs/development/compilers/llvm/10/libc++/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { pname = "libc++"; inherit version; - src = fetch "libcxx" "1cjxiby8nq95g02rgx08iy86pswpi66b9wmxqjiyga1s92nb19j0"; + src = fetch "libcxx" "0qw85sy3y1mcdrj8yd1j1gmskh0vs4xdgrx80niigizhr7030vxs"; postUnpack = '' unpackFile ${libcxxabi.src} diff --git a/pkgs/development/compilers/llvm/10/libc++abi.nix b/pkgs/development/compilers/llvm/10/libc++abi.nix index 8ad52b5ed57fe..ba51f0f33f1bf 100644 --- a/pkgs/development/compilers/llvm/10/libc++abi.nix +++ b/pkgs/development/compilers/llvm/10/libc++abi.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { pname = "libc++abi"; inherit version; - src = fetch "libcxxabi" "1xs7dr91qzz7lq9am4q3vcj2jf1gx23ar1jbnhn763011hl94vs0"; + src = fetch "libcxxabi" "15iclzxjqfjynqxjg8dahyr0gfg83blv9dm7z9hq5ipxw8x2sglf"; nativeBuildInputs = [ cmake ]; buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; diff --git a/pkgs/development/compilers/llvm/10/libunwind.nix b/pkgs/development/compilers/llvm/10/libunwind.nix index 74a8687179fee..6016d0536bffd 100644 --- a/pkgs/development/compilers/llvm/10/libunwind.nix +++ b/pkgs/development/compilers/llvm/10/libunwind.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { pname = "libunwind"; inherit version; - src = fetch pname "1dm7l75ajnjy6kbg2157v2g5gfia3n47fc56ayryyp2jdvbgprwl"; + src = fetch pname "12c2fh63afav8rfmplfs628r74ksfs8fjls655rwjsrg1hk0gy3l"; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/compilers/llvm/10/lld.nix b/pkgs/development/compilers/llvm/10/lld.nix index 6323866ae8865..ab2dd8caee83b 100644 --- a/pkgs/development/compilers/llvm/10/lld.nix +++ b/pkgs/development/compilers/llvm/10/lld.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { pname = "lld"; inherit version; - src = fetch pname "1w9c9xmzbdnkwgal612hqz2lxj9jgqpfzxr2rllcspmf6v7arvf4"; + src = fetch pname "08zg546872b432qrx49i7k1c2vdq9yjvc7gnrvy2nywv0d2qf9nc"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm libxml2 ]; diff --git a/pkgs/development/compilers/llvm/10/lldb.nix b/pkgs/development/compilers/llvm/10/lldb.nix index fd318314dea5a..12cb43bc504cb 100644 --- a/pkgs/development/compilers/llvm/10/lldb.nix +++ b/pkgs/development/compilers/llvm/10/lldb.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (rec { pname = "lldb"; inherit version; - src = fetch pname "06qzh13cr20wrd5925698yq696bhl68zbvm7kjxp7c2rx5swxmg8"; + src = fetch pname "0swv16n7gm12f399f7hxai1jh89s14h3yg7cci10yaiibpvwk73x"; patches = [ ./lldb-procfs.patch ]; diff --git a/pkgs/development/compilers/llvm/10/llvm.nix b/pkgs/development/compilers/llvm/10/llvm.nix index eb93d8648f9af..0405958070a25 100644 --- a/pkgs/development/compilers/llvm/10/llvm.nix +++ b/pkgs/development/compilers/llvm/10/llvm.nix @@ -17,7 +17,7 @@ , enablePFM ? !(stdenv.isDarwin || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ) -, enablePolly ? false +, enablePolly ? true }: let @@ -31,8 +31,8 @@ in stdenv.mkDerivation (rec { pname = "llvm"; inherit version; - src = fetch pname "1pa322iwqg071gxdn5wxri263j6aki6ag36xbdzbyi3g8m8v8jci"; - polly_src = fetch "polly" "0p9dmv4hxwx4f5k1v4r9b5jp7fbi71ajpmrv3xf3vmp6m4i3r0pc"; + src = fetch pname "1abfi0zqbcwxf68dk00szpjxkcd44589va243af8sg97hljq6709"; + polly_src = fetch "polly" "1fzg5934km69rwam6vgznk0p4slzhr0icwmj3jibw3p93ppa8k9r"; unpackPhase = '' unpackFile $src diff --git a/pkgs/development/compilers/llvm/10/openmp.nix b/pkgs/development/compilers/llvm/10/openmp.nix index cff2ad3653603..1cdd4cc9bba19 100644 --- a/pkgs/development/compilers/llvm/10/openmp.nix +++ b/pkgs/development/compilers/llvm/10/openmp.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { pname = "openmp"; inherit version; - src = fetch pname "0axdxar18rvk9r4yx7y55ywqr3070mixag9sg2fcck1jzwfgymjb"; + src = fetch pname "0swif1plz7drjha6rdw02b60symsz95w62wxpiygbpdwsmhbbgam"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix index 05f4dbf6aa065..3c1b07e7ca706 100644 --- a/pkgs/development/compilers/llvm/5/default.nix +++ b/pkgs/development/compilers/llvm/5/default.nix @@ -23,7 +23,7 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux '' + '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) '' echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags ''; in { @@ -50,8 +50,10 @@ let libstdcxxClang = wrapCCWith rec { cc = tools.clang-unwrapped; - extraPackages = [ + extraTools = [ libstdcxxHook + ]; + extraPackages = [ targetLlvmLibraries.compiler-rt ]; extraBuildCommands = mkExtraBuildCommands cc; diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix index d4745930ed3f3..ba704f972c313 100644 --- a/pkgs/development/compilers/llvm/6/default.nix +++ b/pkgs/development/compilers/llvm/6/default.nix @@ -23,7 +23,7 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux '' + '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) '' echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags ''; in { @@ -50,8 +50,10 @@ let libstdcxxClang = wrapCCWith rec { cc = tools.clang-unwrapped; - extraPackages = [ + extraTools = [ libstdcxxHook + ]; + extraPackages = [ targetLlvmLibraries.compiler-rt ]; extraBuildCommands = mkExtraBuildCommands cc; diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix index ae98940adeab8..7a5e3d4c8fc93 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix @@ -1,4 +1,13 @@ { stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: + +let + + useLLVM = stdenv.hostPlatform.useLLVM or false; + bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + inherit (stdenv.hostPlatform) isMusl; + +in + stdenv.mkDerivation { pname = "compiler-rt"; inherit version; @@ -11,26 +20,34 @@ stdenv.mkDerivation { "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" ]; - cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false || stdenv.isDarwin) [ + cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [ - "-DCMAKE_C_FLAGS=-nodefaultlibs" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BUILD_BUILTINS=ON" + ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" + ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + "-DCMAKE_C_COMPILER_WORKS=ON" + "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" + ] ++ stdenv.lib.optionals (useLLVM) [ + "-DCOMPILER_RT_BUILD_BUILTINS=ON" + "-DCMAKE_C_FLAGS=-nodefaultlibs" + #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program + "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" + ] ++ stdenv.lib.optionals (bareMetal) [ + "-DCOMPILER_RT_OS_DIR=baremetal" ]; outputs = [ "out" "dev" ]; patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ] ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) ./crtbegin-and-end.patch + ] ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks @@ -41,7 +58,7 @@ stdenv.mkDerivation { postPatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) '' + '' + stdenv.lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -53,7 +70,7 @@ stdenv.mkDerivation { # Hack around weird upsream RPATH bug postInstall = stdenv.lib.optionalString stdenv.isDarwin '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) '' + '' + stdenv.lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index 04e1610fb7917..5124a5df00b30 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -23,7 +23,7 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc) '' + '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) '' echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags ''; in { @@ -57,8 +57,10 @@ let libstdcxxClang = wrapCCWith rec { cc = tools.clang-unwrapped; - extraPackages = [ + extraTools = [ libstdcxxHook + ]; + extraPackages = [ targetLlvmLibraries.compiler-rt ]; extraBuildCommands = mkExtraBuildCommands cc; diff --git a/pkgs/development/compilers/llvm/8/compiler-rt.nix b/pkgs/development/compilers/llvm/8/compiler-rt.nix index 9c0829146f723..795c81f421967 100644 --- a/pkgs/development/compilers/llvm/8/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/8/compiler-rt.nix @@ -1,4 +1,13 @@ { stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: + +let + + useLLVM = stdenv.hostPlatform.useLLVM or false; + bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + inherit (stdenv.hostPlatform) isMusl; + +in + stdenv.mkDerivation { pname = "compiler-rt"; inherit version; @@ -11,27 +20,26 @@ stdenv.mkDerivation { "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" ]; - cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_C_FLAGS=-nodefaultlibs" - "-DCMAKE_CXX_COMPILER_WORKS=ON" + ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" + ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + "-DCMAKE_C_COMPILER_WORKS=ON" + "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" + ] ++ stdenv.lib.optionals (useLLVM) [ + "-DCOMPILER_RT_BUILD_BUILTINS=ON" + "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.parsed.kernel.name == "none") [ - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + ] ++ stdenv.lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" ]; @@ -40,7 +48,7 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) ./crtbegin-and-end.patch; + ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra @@ -50,7 +58,7 @@ stdenv.mkDerivation { postPatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) '' + '' + stdenv.lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -62,7 +70,7 @@ stdenv.mkDerivation { # Hack around weird upsream RPATH bug postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) '' + '' + stdenv.lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o diff --git a/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix index d604dda5fe5ed..105011595c8b2 100644 --- a/pkgs/development/compilers/llvm/8/default.nix +++ b/pkgs/development/compilers/llvm/8/default.nix @@ -57,8 +57,10 @@ let libstdcxxClang = wrapCCWith rec { cc = tools.clang-unwrapped; - extraPackages = [ + extraTools = [ libstdcxxHook + ]; + extraPackages = [ targetLlvmLibraries.compiler-rt ]; extraBuildCommands = mkExtraBuildCommands cc; diff --git a/pkgs/development/compilers/llvm/9/compiler-rt.nix b/pkgs/development/compilers/llvm/9/compiler-rt.nix index 037953bb23d8c..0cfd8d7c9e723 100644 --- a/pkgs/development/compilers/llvm/9/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/9/compiler-rt.nix @@ -1,4 +1,13 @@ { stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: + +let + + useLLVM = stdenv.hostPlatform.useLLVM or false; + bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + inherit (stdenv.hostPlatform) isMusl; + +in + stdenv.mkDerivation rec { pname = "compiler-rt"; inherit version; @@ -11,27 +20,26 @@ stdenv.mkDerivation rec { "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" ]; - cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_C_FLAGS=-nodefaultlibs" - "-DCMAKE_CXX_COMPILER_WORKS=ON" + ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" + ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + "-DCMAKE_C_COMPILER_WORKS=ON" + "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" + ] ++ stdenv.lib.optionals (useLLVM) [ + "-DCOMPILER_RT_BUILD_BUILTINS=ON" + "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.parsed.kernel.name == "none") [ - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + ] ++ stdenv.lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" ]; @@ -49,7 +57,7 @@ stdenv.mkDerivation rec { postPatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) '' + '' + stdenv.lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -61,7 +69,7 @@ stdenv.mkDerivation rec { # Hack around weird upsream RPATH bug postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) '' + '' + stdenv.lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o diff --git a/pkgs/development/compilers/llvm/9/default.nix b/pkgs/development/compilers/llvm/9/default.nix index 11e44b8bdfaa4..d42e5187c3c7b 100644 --- a/pkgs/development/compilers/llvm/9/default.nix +++ b/pkgs/development/compilers/llvm/9/default.nix @@ -57,8 +57,10 @@ let libstdcxxClang = wrapCCWith rec { cc = tools.clang-unwrapped; - extraPackages = [ + extraTools = [ libstdcxxHook + ]; + extraPackages = [ targetLlvmLibraries.compiler-rt ]; extraBuildCommands = mkExtraBuildCommands cc; diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix index afd08f6e96e72..b0fbc2eb8d13e 100644 --- a/pkgs/development/compilers/nextpnr/default.nix +++ b/pkgs/development/compilers/nextpnr/default.nix @@ -14,14 +14,14 @@ let in with stdenv; mkDerivation rec { pname = "nextpnr"; - version = "2020.02.04"; + version = "2020.03.25"; srcs = [ (fetchFromGitHub { owner = "YosysHQ"; repo = "nextpnr"; - rev = "ca733561873cd54be047ae30a94efcd71b3f8be5"; - sha256 = "176drrq6w53qbwmnksa1b22w9qz3gd1db9hy2lyv8svbcdxd9qwp"; + rev = "a3ede0293a50c910e7d96319b2084d50f2501a6b"; + sha256 = "0ikfjva4gqmlx6y7mjamg03ad7x9gnz32ahqv798ynd87svq10aq"; name = "nextpnr"; }) (fetchFromGitHub { diff --git a/pkgs/development/compilers/ocaml/4.09.nix b/pkgs/development/compilers/ocaml/4.09.nix index 4b56d82eba54a..a093a24464195 100644 --- a/pkgs/development/compilers/ocaml/4.09.nix +++ b/pkgs/development/compilers/ocaml/4.09.nix @@ -1,6 +1,9 @@ import ./generic.nix { major_version = "4"; minor_version = "09"; - patch_version = "0"; - sha256 = "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj"; + patch_version = "1"; + sha256 = "1aq5505lpa39garky2icgfv4c7ylpx3j623cz9bsz5c466d2kqls"; + + # Breaks build with Clang + hardeningDisable = [ "strictoverflow" ]; } diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix index 6980b6e5ff134..12369ebcc6f11 100644 --- a/pkgs/development/compilers/ocaml/generic.nix +++ b/pkgs/development/compilers/ocaml/generic.nix @@ -11,7 +11,7 @@ let in { stdenv, fetchurl, ncurses, buildEnv -, libX11, xorgproto, useX11 ? safeX11 stdenv +, libX11, xorgproto, useX11 ? safeX11 stdenv && !stdenv.lib.versionAtLeast version "4.09" , aflSupport ? false , flambdaSupport ? false }: diff --git a/pkgs/development/compilers/openjdk/12.nix b/pkgs/development/compilers/openjdk/12.nix new file mode 100644 index 0000000000000..094bd57e6e985 --- /dev/null +++ b/pkgs/development/compilers/openjdk/12.nix @@ -0,0 +1,155 @@ +{ stdenv, lib, fetchurl, bash, pkgconfig, autoconf, cpio, file, which, unzip +, zip, perl, cups, freetype, alsaLib, libjpeg, giflib, libpng, zlib, lcms2 +, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama +, libXcursor, libXrandr, fontconfig, openjdk11 +, setJavaClassPath +, headless ? false +, enableJavaFX ? openjfx.meta.available, openjfx +, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf +}: + +let + major = "12"; + update = ".0.2"; + build = "ga"; + + openjdk = stdenv.mkDerivation rec { + pname = "openjdk" + lib.optionalString headless "-headless"; + version = "${major}${update}-${build}"; + + src = fetchurl { + url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz"; + sha256 = "1ndlxmikyy298z7lqpr1bd0zxq7yx6xidj8y3c8mw9m9fy64h9c7"; + }; + + nativeBuildInputs = [ pkgconfig autoconf ]; + buildInputs = [ + cpio file which unzip zip perl zlib cups freetype alsaLib libjpeg giflib + libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst + libXi libXinerama libXcursor libXrandr fontconfig openjdk11 + ] ++ lib.optionals (!headless && enableGnome2) [ + gtk3 gnome_vfs GConf glib + ]; + + patches = [ + ./fix-java-home-jdk10.patch + ./read-truststore-from-env-jdk10.patch + ./currency-date-range-jdk10.patch + ./increase-javadoc-heap.patch + # -Wformat etc. are stricter in newer gccs, per + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 + # so grab the work-around from + # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24 + (fetchurl { + url = https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch; + sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; + }) + ] ++ lib.optionals (!headless && enableGnome2) [ + ./swing-use-gtk-jdk10.patch + ]; + + prePatch = '' + chmod +x configure + patchShebangs --build configure + ''; + + configureFlags = [ + "--with-boot-jdk=${openjdk11.home}" + "--enable-unlimited-crypto" + "--with-native-debug-symbols=internal" + "--with-libjpeg=system" + "--with-giflib=system" + "--with-libpng=system" + "--with-zlib=system" + "--with-lcms=system" + "--with-stdc++lib=dynamic" + ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc" + ++ lib.optional headless "--enable-headless-only" + ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; + + separateDebugInfo = true; + + NIX_CFLAGS_COMPILE = [ "-Wno-error" ]; + + NIX_LDFLAGS = lib.optionals (!headless) [ + "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" + ] ++ lib.optionals (!headless && enableGnome2) [ + "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2" + ]; + + buildFlags = [ "all" ]; + + installPhase = '' + mkdir -p $out/lib + + mv build/*/images/jdk $out/lib/openjdk + + # Remove some broken manpages. + rm -rf $out/lib/openjdk/man/ja* + + # Mirror some stuff in top-level. + mkdir -p $out/share + ln -s $out/lib/openjdk/include $out/include + ln -s $out/lib/openjdk/man $out/share/man + + # jni.h expects jni_md.h to be in the header search path. + ln -s $out/include/linux/*_md.h $out/include/ + + # Remove crap from the installation. + rm -rf $out/lib/openjdk/demo + ${lib.optionalString headless '' + rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so + ''} + + ln -s $out/lib/openjdk/bin $out/bin + ''; + + preFixup = '' + # Propagate the setJavaClassPath setup hook so that any package + # that depends on the JDK has $CLASSPATH set up properly. + mkdir -p $out/nix-support + #TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 + echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs + + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat <<EOF > $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi + EOF + ''; + + postFixup = '' + # Build the set of output library directories to rpath against + LIBDIRS="" + for output in $outputs; do + if [ "$output" = debug ]; then continue; fi + LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort | uniq | tr '\n' ':'):$LIBDIRS" + done + # Add the local library paths to remove dependencies on the bootstrap + for output in $outputs; do + if [ "$output" = debug ]; then continue; fi + OUTPUTDIR=$(eval echo \$$output) + BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*) + echo "$BINLIBS" | while read i; do + patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true + patchelf --shrink-rpath "$i" || true + done + done + ''; + + disallowedReferences = [ openjdk11 ]; + + meta = with stdenv.lib; { + homepage = http://openjdk.java.net/; + license = licenses.gpl2; + description = "The open-source Java Development Kit"; + maintainers = with maintainers; [ edwtjo ]; + platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ]; + }; + + passthru = { + architecture = ""; + home = "${openjdk}/lib/openjdk"; + }; + }; +in openjdk diff --git a/pkgs/development/compilers/openjdk/darwin/default.nix b/pkgs/development/compilers/openjdk/darwin/default.nix index c954a8e2cf85b..775fd3cd3c43f 100644 --- a/pkgs/development/compilers/openjdk/darwin/default.nix +++ b/pkgs/development/compilers/openjdk/darwin/default.nix @@ -7,11 +7,11 @@ let }; jdk = stdenv.mkDerivation rec { - name = "zulu12.1.3-ca-jdk12"; + name = "zulu13.29.9-ca-jdk13.0.2"; src = fetchurl { url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz"; - sha256 = "05q3v4vwjd7xhqr21bzlip5x4xhq5rpdshfpb8i86n4zvn7l0mxy"; + sha256 = "1x8ja3x880a1izrwi7bdrwz1ljdvracjx627slzjd2xk8c4211pf"; curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/"; }; diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix index b2d511173c45a..24828f16e7bec 100644 --- a/pkgs/development/compilers/openjdk/default.nix +++ b/pkgs/development/compilers/openjdk/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, bash, pkgconfig, autoconf, cpio, file, which, unzip , zip, perl, cups, freetype, alsaLib, libjpeg, giflib, libpng, zlib, lcms2 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama -, libXcursor, libXrandr, fontconfig, openjdk11 +, libXcursor, libXrandr, fontconfig, openjdk13-bootstrap , setJavaClassPath , headless ? false , enableJavaFX ? openjfx.meta.available, openjfx @@ -9,24 +9,24 @@ }: let - major = "12"; + major = "13"; update = ".0.2"; - build = "ga"; + build = "-ga"; openjdk = stdenv.mkDerivation rec { pname = "openjdk" + lib.optionalString headless "-headless"; - version = "${major}${update}-${build}"; + version = "${major}${update}${build}"; src = fetchurl { url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz"; - sha256 = "1ndlxmikyy298z7lqpr1bd0zxq7yx6xidj8y3c8mw9m9fy64h9c7"; + sha256 = "1871ziss7ny19rw8f7bay5vznmhpqbfi4ihn3yygs06wyxhm0zmv"; }; nativeBuildInputs = [ pkgconfig autoconf ]; buildInputs = [ cpio file which unzip zip perl zlib cups freetype alsaLib libjpeg giflib libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst - libXi libXinerama libXcursor libXrandr fontconfig openjdk11 + libXi libXinerama libXcursor libXrandr fontconfig openjdk13-bootstrap ] ++ lib.optionals (!headless && enableGnome2) [ gtk3 gnome_vfs GConf glib ]; @@ -35,7 +35,7 @@ let ./fix-java-home-jdk10.patch ./read-truststore-from-env-jdk10.patch ./currency-date-range-jdk10.patch - ./increase-javadoc-heap.patch + ./increase-javadoc-heap-jdk13.patch # -Wformat etc. are stricter in newer gccs, per # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 # so grab the work-around from @@ -45,7 +45,7 @@ let sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; }) ] ++ lib.optionals (!headless && enableGnome2) [ - ./swing-use-gtk-jdk10.patch + ./swing-use-gtk-jdk13.patch ]; prePatch = '' @@ -54,7 +54,7 @@ let ''; configureFlags = [ - "--with-boot-jdk=${openjdk11.home}" + "--with-boot-jdk=${openjdk13-bootstrap.home}" "--enable-unlimited-crypto" "--with-native-debug-symbols=internal" "--with-libjpeg=system" @@ -137,7 +137,7 @@ let done ''; - disallowedReferences = [ openjdk11 ]; + disallowedReferences = [ openjdk13-bootstrap ]; meta = with stdenv.lib; { homepage = http://openjdk.java.net/; diff --git a/pkgs/development/compilers/openjdk/increase-javadoc-heap-jdk13.patch b/pkgs/development/compilers/openjdk/increase-javadoc-heap-jdk13.patch new file mode 100644 index 0000000000000..6e48db6ac3b9c --- /dev/null +++ b/pkgs/development/compilers/openjdk/increase-javadoc-heap-jdk13.patch @@ -0,0 +1,12 @@ +diff -uw -r a/make/Docs.gmk b/make/Docs.gmk +--- a/make/Docs.gmk 2019-10-09 08:05:43.107349180 -0400 ++++ b/make/Docs.gmk 2019-10-09 08:09:29.330118790 -0400 +@@ -277,7 +277,7 @@ + $1_ALL_MODULES := $$(sort $$($1_MODULES) $$($1_INDIRECT_EXPORTS)) + + $1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION) \ +- -Djspec.version=$$(VERSION_SPECIFICATION) ++ -Djspec.version=$$(VERSION_SPECIFICATION) -Xmx1G + + ifeq ($$(ENABLE_FULL_DOCS), true) + # Tell the ModuleGraph taglet to generate html links to soon-to-be-created diff --git a/pkgs/development/compilers/openjdk/openjfx/11.nix b/pkgs/development/compilers/openjdk/openjfx/11.nix index c6bff3961088e..b5ac58e6c6770 100644 --- a/pkgs/development/compilers/openjdk/openjfx/11.nix +++ b/pkgs/development/compilers/openjdk/openjfx/11.nix @@ -29,6 +29,9 @@ let JDK_HOME = ${openjdk11-bootstrap.home} '' + args.gradleProperties or ""); + #avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc. + NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ]; + buildPhase = '' runHook preBuild diff --git a/pkgs/development/compilers/openjdk/openjfx/12.nix b/pkgs/development/compilers/openjdk/openjfx/13.nix index 30c8d36fdfca9..632724a9ac004 100644 --- a/pkgs/development/compilers/openjdk/openjfx/12.nix +++ b/pkgs/development/compilers/openjdk/openjfx/13.nix @@ -3,9 +3,9 @@ , ffmpeg, python, ruby }: let - major = "12"; - update = ""; - build = "14"; + major = "13"; + update = ".0.2"; + build = "1"; repover = "${major}${update}+${build}"; gradle_ = (gradleGen.override { java = openjdk11_headless; @@ -15,8 +15,8 @@ let version = "${major}${update}-${build}"; src = fetchurl { - url = "https://hg.openjdk.java.net/openjfx/${major}/rt/archive/${repover}.tar.gz"; - sha256 = "16jjfjkrg57wsj9mmm52i2kl3byz3ba1f9f8wwc8zwqm4cpjzliz"; + url = "https://hg.openjdk.java.net/openjfx/${major}-dev/rt/archive/${repover}.tar.gz"; + sha256 = "1si9wpb9malnf8zzz57l6b80088z2370zfxp1b0kk6rs0cnvpr74"; }; buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsaLib ffmpeg ]; @@ -29,6 +29,9 @@ let JDK_HOME = ${openjdk11_headless.home} '' + args.gradleProperties or ""); + #avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc. + NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ]; + buildPhase = '' runHook preBuild @@ -59,8 +62,8 @@ let outputHashMode = "recursive"; # Downloaded AWT jars differ by platform. outputHash = { - x86_64-linux = "1z5qar5l28ja4pkf5l5m48xbv3x1yrnilsv9lpf2j3vkdk9h1nci"; - i686-linux = "0rbygvjc7w197fi5nxldqdrm6mpiyd3n45042g3gd4s5qk08spjd"; + x86_64-linux = "077zss95iq6iskx7ghz1c57ymydpzj0wm7r1pkznw99l9xwvdmqi"; + i686-linux = "03gglr2sh77cyg16qw9g45ji33dg7i93s5s30hz3mh420g112qa0"; }.${stdenv.system} or (throw "Unsupported platform"); }; @@ -72,6 +75,9 @@ in makePackage { COMPILE_WEBKIT = true ''; + #openjdk build fails if licenses are identical, so we must patch this trivial difference + patches = [ ./openjfx-mesa-license.patch ]; + preBuild = '' swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)" substituteInPlace build.gradle \ diff --git a/pkgs/development/compilers/openjdk/openjfx/openjfx-mesa-license.patch b/pkgs/development/compilers/openjdk/openjfx/openjfx-mesa-license.patch new file mode 100644 index 0000000000000..d3bf9e17c22bc --- /dev/null +++ b/pkgs/development/compilers/openjdk/openjfx/openjfx-mesa-license.patch @@ -0,0 +1,17 @@ +--- a/modules/javafx.graphics/src/main/legal/mesa3d.md 1969-12-31 19:00:01.000000000 -0500 ++++ b/modules/javafx.graphics/src/main/legal/mesa3d.md 2019-08-08 01:05:04.000000000 -0400 +@@ -1,7 +1,7 @@ + ## Mesa 3-D Graphics Library v5.0 + + ### Mesa License +-``` ++<pre> + + Mesa 3-D graphics library + Version: 5.0 +@@ -25,4 +25,4 @@ + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-``` ++</pre> diff --git a/pkgs/development/compilers/openjdk/swing-use-gtk-jdk13.patch b/pkgs/development/compilers/openjdk/swing-use-gtk-jdk13.patch new file mode 100644 index 0000000000000..8a1b9b6149bb7 --- /dev/null +++ b/pkgs/development/compilers/openjdk/swing-use-gtk-jdk13.patch @@ -0,0 +1,22 @@ +--- a/src/java.desktop/share/classes/javax/swing/UIManager.java 2019-08-08 01:05:04.000000000 -0400 ++++ b/src/java.desktop/share/classes/javax/swing/UIManager.java 2019-10-09 08:20:31.791606748 -0400 +@@ -660,9 +660,8 @@ + Toolkit toolkit = Toolkit.getDefaultToolkit(); + if (toolkit instanceof SunToolkit) { + SunToolkit suntk = (SunToolkit)toolkit; +- String desktop = suntk.getDesktop(); + boolean gtkAvailable = suntk.isNativeGTKAvailable(); +- if ("gnome".equals(desktop) && gtkAvailable) { ++ if (gtkAvailable) { + return "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; + } + } +@@ -1397,7 +1396,7 @@ + lafName = lafData.remove("defaultlaf"); + } + if (lafName == null) { +- lafName = getCrossPlatformLookAndFeelClassName(); ++ lafName = getSystemLookAndFeelClassName(); + } + lafName = swingProps.getProperty(defaultLAFKey, lafName); + diff --git a/pkgs/development/compilers/rgbds/default.nix b/pkgs/development/compilers/rgbds/default.nix index bf2594b9bf4cd..52d388beaed51 100644 --- a/pkgs/development/compilers/rgbds/default.nix +++ b/pkgs/development/compilers/rgbds/default.nix @@ -6,18 +6,18 @@ stdenv.mkDerivation rec { pname = "rgbds"; - version = "0.3.9"; + version = "0.3.10"; src = fetchFromGitHub { owner = "rednex"; repo = "rgbds"; rev = "v${version}"; - sha256 = "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv"; + sha256 = "0752fbffxgxyf3jw2iij88l05dqhppgcxy7dvk82hp4wdg4cflpq"; }; nativeBuildInputs = [ bison flex pkg-config libpng ]; installFlags = [ "PREFIX=\${out}" ]; meta = with stdenv.lib; { - homepage = https://rednex.github.io/rgbds/; + homepage = "https://rednex.github.io/rgbds/"; description = "A free assembler/linker package for the Game Boy and Game Boy Color"; license = licenses.mit; longDescription = diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index a5da7ee7a6d44..d08b63dd643f9 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -18,8 +18,9 @@ "armv7a" = "armv7"; "armv7l" = "armv7"; "armv6l" = "arm"; - }.${cpu.name} or cpu.name; - in "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}"; + }.${cpu.name} or platform.rustc.arch or cpu.name; + in platform.rustc.config + or "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}"; makeRustPlatform = { rustc, cargo, ... }: rec { rust = { @@ -30,14 +31,8 @@ inherit cargo; }; - # N.B. This is a legacy fetcher implementation that is being phased out and deleted. - # See ../../../build-support/rust/README.md for details. - fetchcargo = buildPackages.callPackage ../../../build-support/rust/fetchcargo.nix { - inherit cargo; - }; - buildRustPackage = callPackage ../../../build-support/rust { - inherit rustc cargo fetchcargo fetchCargoTarball; + inherit rustc cargo fetchCargoTarball; }; rustcSrc = callPackage ./rust-src.nix { diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index de90a0c0695aa..3a54d42498ce2 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -14,14 +14,14 @@ }: stdenv.mkDerivation rec { - pname = "yosys"; - version = "2020.02.25"; + pname = "yosys"; + version = "2020.03.24"; src = fetchFromGitHub { owner = "YosysHQ"; repo = "yosys"; - rev = "6edca05793197a846bbfb0329e836c87fa5aabb6"; - sha256 = "1cwps3nsld80bh2b66l8fx3fa2zsx174mw72kqxyihpfdm0m0z1s"; + rev = "c9555c9adeba886a308c60615ac794ec20d9276e"; + sha256 = "1fh118fv06jyfmkx6zy0w2k0rjj22m0ffyll3k5giaw8zzaf0j3a"; }; enableParallelBuilding = true; @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { # we have to do this ourselves for some reason... (cd misc && ${protobuf}/bin/protoc --cpp_out ../backends/protobuf/ ./yosys.proto) - if ! grep -q "ABCREV = ${shortAbcRev}" Makefile;then + if ! grep -q "ABCREV = ${shortAbcRev}" Makefile; then echo "yosys isn't compatible with the provided abc (${shortAbcRev}), failing." exit 1 fi @@ -60,20 +60,21 @@ stdenv.mkDerivation rec { doCheck = true; checkInputs = [ verilog ]; - meta = { - description = "Framework for RTL synthesis tools"; - longDescription = '' - Yosys is a framework for RTL synthesis tools. It currently has - extensive Verilog-2005 support and provides a basic set of - synthesis algorithms for various application domains. - Yosys can be adapted to perform any synthesis job by combining - the existing passes (algorithms) using synthesis scripts and - adding additional passes as needed by extending the yosys C++ - code base. - ''; - homepage = http://www.clifford.at/yosys/; - license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice emily ]; - platforms = stdenv.lib.platforms.all; + # Internally, yosys knows to use the specified hardcoded ABCEXTERNAL binary. + # But other tools (like mcy or symbiyosys) can't know how yosys was built, so + # they just assume that 'yosys-abc' is available -- but it's not installed + # when using ABCEXTERNAL + # + # add a symlink to fake things so that both variants work the same way. + postInstall = '' + ln -sfv ${abc-verifier}/bin/abc $out/bin/yosys-abc + ''; + + meta = with stdenv.lib; { + description = "Open RTL synthesis framework and tools"; + homepage = "http://www.clifford.at/yosys/"; + license = licenses.isc; + platforms = platforms.all; + maintainers = with maintainers; [ shell thoughtpolice emily ]; }; } diff --git a/pkgs/development/compilers/zasm/default.nix b/pkgs/development/compilers/zasm/default.nix new file mode 100644 index 0000000000000..174092496bab6 --- /dev/null +++ b/pkgs/development/compilers/zasm/default.nix @@ -0,0 +1,44 @@ +{ fetchFromGitHub, zlib, stdenv }: +let + libs-src = fetchFromGitHub { + owner = "megatokio"; + repo = "Libraries"; + rev = "97ea480051b106e83a086dd42583dfd3e9d458a1"; + sha256 = "1kqmjb9660mnb0r18s1grrrisx6b73ijsinlyr97vz6992jd5dzh"; + }; +in +stdenv.mkDerivation { + pname = "zasm"; + version = "4.2.6"; + src = fetchFromGitHub { + owner = "megatokio"; + repo = "zasm"; + rev = "f1424add17a5514895a598d6b5e3982579961519"; + sha256 = "1kqnqdqp2bfsazs6vfx2aiqanxxagn8plx8g6rc11vmr8yqnnpks"; + }; + + buildInputs = [ zlib ]; + + configurePhase = '' + ln -sf ${libs-src} Libraries + ''; + + buildPhase = '' + cd Linux + make + ''; + + installPhase = '' + mkdir -p $out/bin + mv zasm $out/bin + ''; + + meta = with stdenv.lib; { + description = "Z80 / 8080 assembler (for unix-style OS)"; + homepage = "https://k1.spdns.de/Develop/Projects/zasm/Distributions/"; + license = licenses.bsd2; + maintainers = [ maintainers.turbomack ]; + platforms = platforms.linux; + badPlatforms = platforms.aarch64; + }; +} |