spago-legacy: 0.21.0 -> 0.21.1, rename from spago
See https://github.com/purescript/spago-legacy/pull/3. Co-authored-by: Peter Becich <peterbecich@gmail.com>
This commit is contained in:
@@ -50,4 +50,4 @@ echo
|
||||
echo "Finished. Make sure you run the following commands to confirm PureScript builds correctly:"
|
||||
echo ' - `nix build -L -f ./. purescript`'
|
||||
echo ' - `nix build -L -f ./. purescript.passthru.tests.minimal-module`'
|
||||
echo ' - `sudo nix build -L -f ./. spago.passthru.tests --option sandbox relaxed`'
|
||||
echo ' - `sudo nix build -L -f ./. spago-legacy.passthru.tests --option sandbox relaxed`'
|
||||
|
||||
@@ -2769,7 +2769,6 @@ with haskellLib;
|
||||
let
|
||||
# We need to build purescript with these dependencies and thus also its reverse
|
||||
# dependencies to avoid version mismatches in their dependency closure.
|
||||
# TODO: maybe unify with the spago overlay in configuration-nix.nix?
|
||||
purescriptOverlay = self: super: {
|
||||
# As of 2021-11-08, the latest release of `language-javascript` is 0.7.1.0,
|
||||
# but it has a problem with parsing the `async` keyword. It doesn't allow
|
||||
|
||||
@@ -61,7 +61,6 @@ extra-packages:
|
||||
- extensions == 0.1.0.1 # 2025-09-21: needed for Cabal 3.10 (fourmolo/ormolu with ghc 9.8)
|
||||
- fourmolu == 0.14.0.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
|
||||
- fourmolu == 0.15.0.0 # 2025-09-21: for ghc-lib-parser 9.8 compat
|
||||
- fsnotify < 0.4 # 2024-04-22: required by spago-0.21
|
||||
- fuzzyset == 0.2.4 # 2023-12-20: Needed for building postgrest > 10
|
||||
- ghc-exactprint == 0.6.* # 2022-12-12: needed for GHC < 9.2
|
||||
- ghc-exactprint == 1.5.* # 2023-03-30: needed for GHC == 9.2
|
||||
@@ -116,7 +115,6 @@ extra-packages:
|
||||
- text-builder < 1 # 2025-08-27: Needed for building postgrest
|
||||
- text-builder-dev < 0.4 # 2025-08-27: Needed for building postgrest
|
||||
- text-metrics < 0.3.3 # 2025-02-08: >= 0.3.3 uses GHC2021
|
||||
- versions < 6 # 2024-04-22: required by spago-0.21
|
||||
- weeder == 2.3.* # 2022-05-31: preserve for GHC 9.0.2
|
||||
- weeder == 2.4.* # 2023-02-02: preserve for GHC 9.2.*
|
||||
# keep-sorted end
|
||||
|
||||
@@ -1081,7 +1081,7 @@ builtins.intersectAttrs super {
|
||||
addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.pango
|
||||
);
|
||||
|
||||
spago =
|
||||
spago-legacy =
|
||||
let
|
||||
docsSearchApp_0_0_10 = pkgs.fetchurl {
|
||||
url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js";
|
||||
@@ -1103,49 +1103,43 @@ builtins.intersectAttrs super {
|
||||
sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
|
||||
};
|
||||
in
|
||||
lib.pipe
|
||||
(super.spago.override {
|
||||
# base <4.19, text <2.1
|
||||
versions = doJailbreak self.versions_5_0_5;
|
||||
fsnotify = self.fsnotify_0_3_0_1;
|
||||
})
|
||||
[
|
||||
(overrideCabal (drv: {
|
||||
postUnpack = (drv.postUnpack or "") + ''
|
||||
# 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
|
||||
# build-time, they are pulled in from the `templates/` directory in
|
||||
# the spago source.
|
||||
#
|
||||
# However, they are not actually available in the spago source, so they
|
||||
# need to fetched with nix and put in the correct place.
|
||||
# https://github.com/spacchetti/spago/issues/510
|
||||
cp ${docsSearchApp_0_0_10} "$sourceRoot/templates/docs-search-app-0.0.10.js"
|
||||
cp ${docsSearchApp_0_0_11} "$sourceRoot/templates/docs-search-app-0.0.11.js"
|
||||
cp ${purescriptDocsSearch_0_0_10} "$sourceRoot/templates/purescript-docs-search-0.0.10"
|
||||
cp ${purescriptDocsSearch_0_0_11} "$sourceRoot/templates/purescript-docs-search-0.0.11"
|
||||
lib.pipe super.spago-legacy [
|
||||
(overrideCabal (drv: {
|
||||
postUnpack = (drv.postUnpack or "") + ''
|
||||
# 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
|
||||
# build-time, they are pulled in from the `templates/` directory in
|
||||
# the spago source.
|
||||
#
|
||||
# However, they are not actually available in the spago source, so they
|
||||
# need to fetched with nix and put in the correct place.
|
||||
# https://github.com/spacchetti/spago/issues/510
|
||||
cp ${docsSearchApp_0_0_10} "$sourceRoot/templates/docs-search-app-0.0.10.js"
|
||||
cp ${docsSearchApp_0_0_11} "$sourceRoot/templates/docs-search-app-0.0.11.js"
|
||||
cp ${purescriptDocsSearch_0_0_10} "$sourceRoot/templates/purescript-docs-search-0.0.10"
|
||||
cp ${purescriptDocsSearch_0_0_11} "$sourceRoot/templates/purescript-docs-search-0.0.11"
|
||||
|
||||
# For some weird reason, on Darwin, the open(2) call to embed these files
|
||||
# requires write permissions. The easiest resolution is just to permit that
|
||||
# (doesn't cause any harm on other systems).
|
||||
chmod u+w \
|
||||
"$sourceRoot/templates/docs-search-app-0.0.10.js" \
|
||||
"$sourceRoot/templates/purescript-docs-search-0.0.10" \
|
||||
"$sourceRoot/templates/docs-search-app-0.0.11.js" \
|
||||
"$sourceRoot/templates/purescript-docs-search-0.0.11"
|
||||
'';
|
||||
}))
|
||||
# For some weird reason, on Darwin, the open(2) call to embed these files
|
||||
# requires write permissions. The easiest resolution is just to permit that
|
||||
# (doesn't cause any harm on other systems).
|
||||
chmod u+w \
|
||||
"$sourceRoot/templates/docs-search-app-0.0.10.js" \
|
||||
"$sourceRoot/templates/purescript-docs-search-0.0.10" \
|
||||
"$sourceRoot/templates/docs-search-app-0.0.11.js" \
|
||||
"$sourceRoot/templates/purescript-docs-search-0.0.11"
|
||||
'';
|
||||
}))
|
||||
|
||||
# Tests require network access.
|
||||
dontCheck
|
||||
# Tests require network access.
|
||||
dontCheck
|
||||
|
||||
# Overly strict upper bound on text
|
||||
doJailbreak
|
||||
# Overly strict upper bound on text (<1.3)
|
||||
doJailbreak
|
||||
|
||||
# Generate shell completion for spago
|
||||
(self.generateOptparseApplicativeCompletions [ "spago" ])
|
||||
];
|
||||
# Generate shell completion for spago
|
||||
(self.generateOptparseApplicativeCompletions [ "spago" ])
|
||||
];
|
||||
|
||||
# checks SQL statements at compile time, and so requires a running PostgreSQL
|
||||
# database to run it's test suite
|
||||
|
||||
-100
@@ -245191,63 +245191,6 @@ self: {
|
||||
}
|
||||
) { };
|
||||
|
||||
fsnotify_0_3_0_1 = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
async,
|
||||
base,
|
||||
bytestring,
|
||||
containers,
|
||||
directory,
|
||||
filepath,
|
||||
hinotify,
|
||||
random,
|
||||
shelly,
|
||||
tasty,
|
||||
tasty-hunit,
|
||||
temporary,
|
||||
text,
|
||||
time,
|
||||
unix,
|
||||
unix-compat,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "fsnotify";
|
||||
version = "0.3.0.1";
|
||||
sha256 = "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny";
|
||||
revision = "3";
|
||||
editedCabalFile = "0n5p6ljx8i5mmalkw05izjgzbqg08y7rxxn2gk8ghxlqldgqgix9";
|
||||
libraryHaskellDepends = [
|
||||
async
|
||||
base
|
||||
bytestring
|
||||
containers
|
||||
directory
|
||||
filepath
|
||||
hinotify
|
||||
shelly
|
||||
text
|
||||
time
|
||||
unix
|
||||
unix-compat
|
||||
];
|
||||
testHaskellDepends = [
|
||||
async
|
||||
base
|
||||
directory
|
||||
filepath
|
||||
random
|
||||
tasty
|
||||
tasty-hunit
|
||||
temporary
|
||||
unix-compat
|
||||
];
|
||||
description = "Cross platform library for file change notification";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}
|
||||
) { };
|
||||
|
||||
fsnotify = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
@@ -706659,49 +706602,6 @@ self: {
|
||||
}
|
||||
) { };
|
||||
|
||||
versions_5_0_5 = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
base,
|
||||
deepseq,
|
||||
hashable,
|
||||
megaparsec,
|
||||
microlens,
|
||||
parser-combinators,
|
||||
QuickCheck,
|
||||
tasty,
|
||||
tasty-hunit,
|
||||
tasty-quickcheck,
|
||||
text,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "versions";
|
||||
version = "5.0.5";
|
||||
sha256 = "01kn3ilizzm5n05nz0qry1vjb6bj8dzinyqn3mbshds298acn70c";
|
||||
libraryHaskellDepends = [
|
||||
base
|
||||
deepseq
|
||||
hashable
|
||||
megaparsec
|
||||
parser-combinators
|
||||
text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base
|
||||
megaparsec
|
||||
microlens
|
||||
QuickCheck
|
||||
tasty
|
||||
tasty-hunit
|
||||
tasty-quickcheck
|
||||
text
|
||||
];
|
||||
description = "Types and parsers for software version numbers";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}
|
||||
) { };
|
||||
|
||||
versions = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
|
||||
@@ -44,9 +44,9 @@ self: super:
|
||||
# https://github.com/channable/vaultenv/issues/1
|
||||
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
||||
|
||||
# spago is not released to Hackage.
|
||||
# spago-legacy is not released to Hackage.
|
||||
# https://github.com/spacchetti/spago/issues/512
|
||||
spago = self.callPackage ../tools/purescript/spago/spago.nix { };
|
||||
spago-legacy = self.callPackage ../tools/purescript/spago-legacy/spago-legacy.nix { };
|
||||
|
||||
# Unofficial fork until PRs are merged https://github.com/pcapriotti/optparse-applicative/pulls/roberth
|
||||
# cabal2nix --maintainer roberth https://github.com/hercules-ci/optparse-applicative.git > pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix
|
||||
|
||||
+6
-6
@@ -4,7 +4,7 @@
|
||||
lib,
|
||||
|
||||
# The following are only needed for the passthru.tests:
|
||||
spago,
|
||||
spago-legacy,
|
||||
cacert,
|
||||
git,
|
||||
nodejs,
|
||||
@@ -12,11 +12,11 @@
|
||||
runCommand,
|
||||
}:
|
||||
|
||||
lib.pipe haskellPackages.spago [
|
||||
lib.pipe haskellPackages.spago-legacy [
|
||||
haskell.lib.compose.justStaticExecutables
|
||||
|
||||
(haskell.lib.compose.overrideCabal (oldAttrs: {
|
||||
changelog = "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}";
|
||||
changelog = "https://github.com/purescript/spago-legacy/releases/tag/${oldAttrs.version}";
|
||||
|
||||
passthru = (oldAttrs.passthru or { }) // {
|
||||
updateScript = ./update.sh;
|
||||
@@ -25,10 +25,10 @@ lib.pipe haskellPackages.spago [
|
||||
# network, so they cannot be run in the nix sandbox. sudo is needed in
|
||||
# order to change the sandbox option.
|
||||
#
|
||||
# $ sudo nix-build -A spago.passthru.tests --option sandbox relaxed
|
||||
# $ sudo nix-build -A spago-legacy.passthru.tests --option sandbox relaxed
|
||||
#
|
||||
tests =
|
||||
runCommand "spago-tests"
|
||||
runCommand "spago-legacy-tests"
|
||||
{
|
||||
__noChroot = true;
|
||||
nativeBuildInputs = [
|
||||
@@ -36,7 +36,7 @@ lib.pipe haskellPackages.spago [
|
||||
git
|
||||
nodejs
|
||||
purescript
|
||||
spago
|
||||
spago-legacy
|
||||
];
|
||||
}
|
||||
''
|
||||
+6
-6
@@ -62,12 +62,12 @@
|
||||
zlib,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "spago";
|
||||
version = "0.21.0";
|
||||
pname = "spago-legacy";
|
||||
version = "0.21.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/purescript/spago.git";
|
||||
sha256 = "1v5y15nhw6smnir0y7y854pa70iv8asxsqph2y8rz1c9lkz5d41g";
|
||||
rev = "c354f4a461f65fcb83aaa843830ea1589f6c7179";
|
||||
url = "https://github.com/purescript/spago-legacy.git";
|
||||
sha256 = "18p9cic1y9b2v12np4b5sd82rz5njxh8f1vgqs4gwm6xjccmszmr";
|
||||
rev = "2790261c28f59940f192c56f3b8245b3ae8b798d";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = true;
|
||||
@@ -148,7 +148,7 @@ mkDerivation {
|
||||
versions
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
homepage = "https://github.com/purescript/spago#readme";
|
||||
homepage = "https://github.com/purescript/spago-legacy#readme";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "spago";
|
||||
}
|
||||
+12
-10
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq haskellPackages.cabal2nix-unstable.bin nix-prefetch-scripts -I nixpkgs=.
|
||||
#
|
||||
# This script will update the spago derivation to the latest version using
|
||||
# This script will update the spago-legacy derivation to the latest version using
|
||||
# cabal2nix.
|
||||
#
|
||||
# Note that you should always try building spago after updating it here, since
|
||||
# Note that you should always try building spago-legacy after updating it here, since
|
||||
# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
|
||||
# need to be updated/changed.
|
||||
|
||||
@@ -14,26 +14,28 @@ set -eo pipefail
|
||||
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
|
||||
# Spago derivation created with cabal2nix.
|
||||
spago_derivation_file="${script_dir}/spago.nix"
|
||||
spago_derivation_file="${script_dir}/spago-legacy.nix"
|
||||
|
||||
# This is the current revision of spago in Nixpkgs.
|
||||
# This is the current revision of spago-legacy in Nixpkgs.
|
||||
old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$spago_derivation_file")"
|
||||
|
||||
# This is the latest release version of spago on GitHub.
|
||||
new_version=$(curl --silent "https://api.github.com/repos/purescript/spago/releases" | jq '.[0].tag_name' --raw-output)
|
||||
# This is the latest release version of spago-legacy on GitHub.
|
||||
new_version=$(curl --silent "https://api.github.com/repos/purescript/spago-legacy/releases" | jq '.[0].tag_name' --raw-output)
|
||||
|
||||
echo "Updating spago from old version $old_version to new version $new_version."
|
||||
echo "Updating spago-legacy from old version $old_version to new version $new_version."
|
||||
echo "Running cabal2nix and outputting to ${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"
|
||||
cabal2nix --revision "$new_version" "https://github.com/purescript/spago-legacy.git" >> "$spago_derivation_file"
|
||||
|
||||
nixfmt "$spago_derivation_file"
|
||||
|
||||
# TODO: This should ideally also automatically update the docsSearchVersion
|
||||
# from pkgs/development/haskell/configuration-nix.nix.
|
||||
|
||||
echo
|
||||
echo "Finished. Make sure you run the following commands to confirm Spago builds correctly:"
|
||||
echo ' - `nix build -L -f ./. spago`'
|
||||
echo ' - `sudo nix build -L -f ./. spago.passthru.tests --option sandbox relaxed`'
|
||||
echo ' - `nix build -L -f ./. spago-legacy`'
|
||||
echo ' - `sudo nix build -L -f ./. spago-legacy.passthru.tests --option sandbox relaxed`'
|
||||
@@ -2343,6 +2343,7 @@ mapAliases {
|
||||
soundOfSorting = sound-of-sorting; # Added 2023-07-07
|
||||
SP800-90B_EntropyAssessment = sp800-90b-entropyassessment; # Added on 2024-06-12
|
||||
SPAdes = spades; # Added 2024-06-12
|
||||
spago = spago-legacy; # Added 2025-09-23
|
||||
spark2014 = gnatprove; # Added 2024-02-25
|
||||
space-orbit = throw "'space-orbit' has been removed because it is unmaintained; Debian upstream stopped tracking it in 2011."; # Added 2025-06-08
|
||||
spatialite_gui = throw "spatialite_gui has been renamed to spatialite-gui"; # Added 2025-01-12
|
||||
|
||||
@@ -5101,7 +5101,7 @@ with pkgs;
|
||||
|
||||
purenix = haskell.lib.compose.justStaticExecutables haskellPackages.purenix;
|
||||
|
||||
spago = callPackage ../development/tools/purescript/spago { };
|
||||
spago-legacy = callPackage ../development/tools/purescript/spago-legacy { };
|
||||
|
||||
pulp = nodePackages.pulp;
|
||||
|
||||
|
||||
@@ -334,7 +334,7 @@ let
|
||||
shellcheck-minimal
|
||||
sourceAndTags
|
||||
spacecookie
|
||||
spago
|
||||
spago-legacy
|
||||
specup
|
||||
splot
|
||||
stack
|
||||
|
||||
Reference in New Issue
Block a user