From 774b4d678375cd0c2a7a2e95ff16ed5cd3f0cb86 Mon Sep 17 00:00:00 2001 From: "(cdep)illabout" Date: Fri, 7 May 2021 10:27:27 +0900 Subject: [PATCH] spago: 0.20.1 -> 0.20.2 --- .../haskell-modules/configuration-nix.nix | 20 ++-------- .../tools/purescript/spago/spago.nix | 38 +++++++++---------- .../tools/purescript/spago/update.sh | 7 +++- 3 files changed, 27 insertions(+), 38 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 501d1572737..718c4bc88eb 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -657,10 +657,6 @@ self: super: builtins.intersectAttrs super { spago = let - # spago requires an older version of megaparsec, but it appears to work - # fine with newer versions. - spagoWithOverrides = doJailbreak super.spago; - docsSearchApp_0_0_10 = pkgs.fetchurl { url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js"; sha256 = "0m5ah29x290r0zk19hx2wix2djy7bs4plh9kvjz6bs9r45x25pa5"; @@ -681,17 +677,8 @@ self: super: builtins.intersectAttrs super { sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6"; }; - spagoFixHpack = overrideCabal spagoWithOverrides (drv: { + spagoDocs = overrideCabal super.spago (drv: { postUnpack = (drv.postUnpack or "") + '' - # The source for spago is pulled directly from GitHub. It uses a - # package.yaml file with hpack, not a .cabal file. In the package.yaml file, - # it uses defaults from the master branch of the hspec repo. It will try to - # fetch these at build-time (but it will fail if running in the sandbox). - # - # The following line modifies the package.yaml to not pull in - # defaults from the hspec repo. - substituteInPlace "$sourceRoot/package.yaml" --replace 'defaults: hspec/hspec@master' "" - # Spago includes the following two files directly into the binary # with Template Haskell. They are fetched at build-time from the # `purescript-docs-search` repo above. If they cannot be fetched at @@ -717,9 +704,8 @@ self: super: builtins.intersectAttrs super { ''; }); - # Because of the problem above with pulling in hspec defaults to the - # package.yaml file, the tests are disabled. - spagoWithoutChecks = dontCheck spagoFixHpack; + # Tests require network access. + spagoWithoutChecks = dontCheck spagoDocs; in spagoWithoutChecks; diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix index ed8da83e30a..0bd33f19f8e 100644 --- a/pkgs/development/tools/purescript/spago/spago.nix +++ b/pkgs/development/tools/purescript/spago/spago.nix @@ -1,37 +1,38 @@ +# This has been automatically generated by the script +# ./update.sh. This should not be changed by hand. { mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool -, base, bower-json, bytestring, Cabal, containers, cryptonite -, dhall, directory, either, extra, fetchgit, file-embed, filepath -, foldl, fsnotify, generic-lens, Glob, hpack, hspec, hspec-discover +, base, bower-json, bytestring, containers, cryptonite, dhall +, directory, either, extra, fetchgit, file-embed, filepath, foldl +, fsnotify, generic-lens, Glob, hspec, hspec-discover , hspec-megaparsec, http-client, http-conduit, http-types , lens-family-core, lib, megaparsec, mtl, network-uri, open-browser , optparse-applicative, prettyprinter, process, QuickCheck, retry -, rio, rio-orphans, safe, semver-range, stm, stringsearch -, tar, template-haskell, temporary, text, time, transformers -, turtle, unliftio, unordered-containers, utf8-string, versions -, with-utf8, zlib +, rio, rio-orphans, safe, semver-range, stm, stringsearch, tar +, template-haskell, temporary, text, time, transformers, turtle +, unliftio, unordered-containers, utf8-string, versions, with-utf8 +, zlib }: mkDerivation { pname = "spago"; - version = "0.20.1"; + version = "0.20.2"; src = fetchgit { url = "https://github.com/purescript/spago.git"; - sha256 = "1j2yi6zz9m0k0298wllin39h244v8b2rx87yxxgdbjg77kn96vxg"; - rev = "41ad739614f4f2c2356ac921308f9475a5a918f4"; + sha256 = "11jh3bszvl8zfi4xcabpx43jply28dxdywd6fadxspaa05jdxxn2"; + rev = "0f38c9153e46f30e9d87963e181f5c1a595f4b64"; fetchSubmodules = true; }; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson aeson-pretty ansi-terminal async-pool base bower-json - bytestring Cabal containers cryptonite dhall directory either - file-embed filepath foldl fsnotify generic-lens 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 versions with-utf8 zlib + bytestring containers cryptonite dhall directory either file-embed + filepath foldl fsnotify generic-lens 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 versions with-utf8 zlib ]; - libraryToolDepends = [ hpack ]; executableHaskellDepends = [ ansi-terminal base text turtle with-utf8 ]; @@ -40,7 +41,6 @@ mkDerivation { process QuickCheck temporary text turtle versions ]; testToolDepends = [ hspec-discover ]; - prePatch = "hpack"; homepage = "https://github.com/purescript/spago#readme"; license = lib.licenses.bsd3; } diff --git a/pkgs/development/tools/purescript/spago/update.sh b/pkgs/development/tools/purescript/spago/update.sh index 74bc0105066..12595885df3 100755 --- a/pkgs/development/tools/purescript/spago/update.sh +++ b/pkgs/development/tools/purescript/spago/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p cabal2nix curl jq +#!nix-shell -i bash -p cabal2nix curl jq haskellPackages.cabal2nix-unstable -I nixpkgs=. # # This script will update the spago derivation to the latest version using # cabal2nix. @@ -25,7 +25,10 @@ new_version=$(curl --silent "https://api.github.com/repos/purescript/spago/relea echo "Updating spago from old version $old_version to new version $new_version." echo "Running cabal2nix and outputting to ${spago_derivation_file}..." -cabal2nix --revision "$new_version" "https://github.com/purescript/spago.git" > "$spago_derivation_file" +echo "# This has been automatically generated by the script" > "$spago_derivation_file" +echo "# ./update.sh. This should not be changed by hand." >> "$spago_derivation_file" + +cabal2nix --revision "$new_version" "https://github.com/purescript/spago.git" >> "$spago_derivation_file" # TODO: This should ideally also automatically update the docsSearchVersion # from pkgs/development/haskell/configuration-nix.nix.