diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 530e2707a2a9..edf463d360e3 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -662,33 +662,9 @@ self: super: builtins.intersectAttrs super { spago = let - # Spago needs a small patch to work with the latest versions of rio. - # https://github.com/purescript/spago/pull/647 - spagoWithPatches = overrideCabal (appendPatch super.spago ( - # Spago-0.17 needs a small patch to work with the latest version of dhall. - # This can probably be removed with Spago-0.18. - # https://github.com/purescript/spago/pull/695 - pkgs.fetchpatch { - url = "https://github.com/purescript/spago/commit/6258ac601480e776c215c989cc5faae46d5ca9f7.patch"; - sha256 = "02zy4jf24qlqz9fkcs2rqg64ijd8smncmra8s5yp2mln4dmmii1k"; - } - )) (old: { - # The above patch contains a completely new spago.cabal file, but our - # source tree from Hackage already contains a cabal file. Delete the - # local cabal file and just take the one from the patch. - # - # WARNING: The empty line above the `rm` needs to be kept. - prePatch = old.prePatch or "" + '' - - rm spago.cabal - ''; - # The above patch also adds a dependency on the stringsearch package. - libraryHaskellDepends = old.libraryHaskellDepends or [] ++ [ self.stringsearch ]; - }); - # spago requires an older version of megaparsec, but it appears to work # fine with newer versions. - spagoWithOverrides = doJailbreak spagoWithPatches; + spagoWithOverrides = doJailbreak super.spago; # This defines the version of the purescript-docs-search release we are using. # This is defined in the src/Spago/Prelude.hs file in the spago source. diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix index f5720837d79e..62e85a874875 100644 --- a/pkgs/development/tools/purescript/spago/default.nix +++ b/pkgs/development/tools/purescript/spago/default.nix @@ -1,6 +1,9 @@ { haskell , haskellPackages , lib + +# The following are only needed for the passthru.tests: +, git , nodejs , purescript , runCommand @@ -32,6 +35,7 @@ spago.overrideAttrs (oldAttrs: { { __noChroot = true; nativeBuildInputs = [ + git nodejs purescript spago diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix index 4a5ad361e9fd..43f8e66d8704 100644 --- a/pkgs/development/tools/purescript/spago/spago.nix +++ b/pkgs/development/tools/purescript/spago/spago.nix @@ -1,21 +1,22 @@ { mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool , base, bower-json, bytestring, Cabal, containers, dhall, directory , either, exceptions, extra, fetchgit, file-embed, filepath, foldl -, fsnotify, github, Glob, hpack, hspec, hspec-discover -, hspec-megaparsec, http-client, http-conduit, http-types -, lens-family-core, megaparsec, mtl, network-uri, open-browser -, optparse-applicative, prettyprinter, process, QuickCheck, retry -, rio, rio-orphans, safe, semver-range, stdenv, stm, tar -, template-haskell, temporary, text, time, transformers, turtle -, unliftio, unordered-containers, vector, versions, with-utf8, zlib +, fsnotify, generic-lens, github, Glob, hpack, hspec +, hspec-discover, hspec-megaparsec, http-client, http-conduit +, http-types, lens-family-core, megaparsec, mtl, network-uri +, open-browser, optparse-applicative, prettyprinter, process +, QuickCheck, retry, rio, rio-orphans, safe, semver-range, stdenv +, stm, stringsearch, tar, template-haskell, temporary, text, time +, transformers, turtle, unliftio, unordered-containers, utf8-string +, vector, versions, with-utf8, zlib }: mkDerivation { pname = "spago"; - version = "0.17.0"; + version = "0.18.0"; src = fetchgit { url = "https://github.com/purescript/spago.git"; - sha256 = "1w9y1gvk307f92gixs5g02zbg0xwhrshwmc5j97pxhbzzg9qjidy"; - rev = "3309afdef25e3e77f991a079eed78ff2f750e463"; + sha256 = "03ww7qhrggwsbm0kcnvcr3ifb8rm860ajimzr81isiw46ykwrl38"; + rev = "a4d39c21cae2f2c6d43fa204853c8e17c72904d2"; fetchSubmodules = true; }; isLibrary = true; @@ -23,12 +24,12 @@ mkDerivation { libraryHaskellDepends = [ aeson aeson-pretty ansi-terminal async-pool base bower-json bytestring Cabal containers dhall directory either exceptions - file-embed filepath foldl fsnotify github Glob http-client - http-conduit http-types lens-family-core megaparsec mtl network-uri - open-browser optparse-applicative prettyprinter process retry rio - rio-orphans safe semver-range stm tar template-haskell temporary - text time transformers turtle unliftio unordered-containers vector - versions with-utf8 zlib + file-embed filepath foldl fsnotify generic-lens github Glob + http-client http-conduit http-types lens-family-core megaparsec mtl + network-uri open-browser optparse-applicative prettyprinter process + retry rio rio-orphans safe semver-range stm stringsearch tar + template-haskell temporary text time transformers turtle unliftio + unordered-containers utf8-string vector versions with-utf8 zlib ]; libraryToolDepends = [ hpack ]; executableHaskellDepends = [ base text turtle with-utf8 ];