From ec9fd479f1211ef682261d8b16cb46b1c47d20ed Mon Sep 17 00:00:00 2001 From: James Walker Date: Fri, 24 Jun 2022 17:03:33 -0400 Subject: [PATCH 01/26] =?UTF-8?q?=F0=9F=9A=A7=20haskell.nix=20integration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flake.lock | 409 +++++++++++++++++++++++++++++++++++++++++++++++++++-- flake.nix | 128 ++++++++++------- 2 files changed, 480 insertions(+), 57 deletions(-) diff --git a/flake.lock b/flake.lock index d584fe764..e4d04ace3 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,88 @@ { "nodes": { + "HTTP": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "cabal-32": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, + "cabal-34": { + "flake": false, + "locked": { + "lastModified": 1640353650, + "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "owner": "haskell", + "repo": "cabal", + "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36": { + "flake": false, + "locked": { + "lastModified": 1641652457, + "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "owner": "haskell", + "repo": "cabal", + "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cardano-shell": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -18,11 +101,26 @@ }, "flake-utils": { "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -31,27 +129,322 @@ "type": "github" } }, + "ghc-8.6.5-iohk": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "hackage": { + "flake": false, + "locked": { + "lastModified": 1661735830, + "narHash": "sha256-xJpfFmpzJVci+fM9mjTKyIbkUpJf5XkZMygY+YRKzwU=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "9b22f61f50b19bf401ab104ff0e239f8ada87547", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "haskellNix": { + "inputs": { + "HTTP": "HTTP", + "cabal-32": "cabal-32", + "cabal-34": "cabal-34", + "cabal-36": "cabal-36", + "cardano-shell": "cardano-shell", + "flake-utils": "flake-utils_2", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "hackage": "hackage", + "hpc-coveralls": "hpc-coveralls", + "hydra": "hydra", + "nix-tools": "nix-tools", + "nixpkgs": [ + "haskellNix", + "nixpkgs-unstable" + ], + "nixpkgs-2003": "nixpkgs-2003", + "nixpkgs-2105": "nixpkgs-2105", + "nixpkgs-2111": "nixpkgs-2111", + "nixpkgs-2205": "nixpkgs-2205", + "nixpkgs-unstable": "nixpkgs-unstable", + "old-ghc-nix": "old-ghc-nix", + "stackage": "stackage" + }, + "locked": { + "lastModified": 1661772865, + "narHash": "sha256-mY3T9wpUOG6FC2fz/jF+rYs3TU3irHKk+wrDjIE9HCI=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "de7a027dbe2fa900531d412fba186b196a3fdf4b", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "hpc-coveralls": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hydra": { + "inputs": { + "nix": "nix", + "nixpkgs": [ + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "lowdown-src": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix-tools": { + "flake": false, + "locked": { + "lastModified": 1659569011, + "narHash": "sha256-wHS0H5+TERmDnPCfzH4A+rSR5TvjYMWus9BNeNAMyUM=", + "owner": "input-output-hk", + "repo": "nix-tools", + "rev": "555d57e1ea81b79945f2608aa261df20f6b602a5", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "nix-tools", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1657804768, - "narHash": "sha256-/Au/pLxAHpiExLOLnmqjVIWAywMn+py8w3HrHDwus3Y=", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" + } + }, + "nixpkgs-2003": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105": { + "locked": { + "lastModified": 1655034179, + "narHash": "sha256-rf1/7AbzuYDw6+8Xvvf3PtEOygymLBrFsFxvext5ZjI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "046ee4af7a9f016a364f8f78eeaa356ba524ac31", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111": { + "locked": { + "lastModified": 1656782578, + "narHash": "sha256-1eMCBEqJplPotTo/SZ/t5HU6Sf2I8qKlZi9MX7jv9fw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "af54b6145c6e872c53e1144b7c03107e9a3a6c68", + "rev": "573603b7fdb9feb0eb8efc16ee18a015c667ab1b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-22.05", + "ref": "nixpkgs-21.11-darwin", "repo": "nixpkgs", "type": "github" } }, + "nixpkgs-2205": { + "locked": { + "lastModified": 1657876628, + "narHash": "sha256-URmf0O2cQ/3heg2DJOeLyU/JmfVMqG4X5t9crQXMaeY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "549d82bdd40f760a438c3c3497c1c61160f3de55", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1657888067, + "narHash": "sha256-GnwJoFBTPfW3+mz7QEeJEEQ9OMHZOiIJ/qDhZxrlKh8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "65fae659e31098ca4ac825a6fef26d890aaf3f4e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "old-ghc-nix": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, "root": { "inputs": { "flake-compat": "flake-compat", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "haskellNix": "haskellNix", + "nixpkgs": [ + "haskellNix", + "nixpkgs-unstable" + ] + } + }, + "stackage": { + "flake": false, + "locked": { + "lastModified": 1661562967, + "narHash": "sha256-8qq3NHGChVpuTGZsvSmsKBC3SulsG7A9s6ykDLZtxng=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "8b118d8a60b5d1ad276135468d158d507e7be1ba", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 32941d4da..bcf05e95f 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,8 @@ description = "Fission tools"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/release-22.05"; + haskellNix.url = "github:input-output-hk/haskell.nix"; + nixpkgs.follows = "haskellNix/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { @@ -11,56 +12,85 @@ }; }; - outputs = { self, nixpkgs, flake-utils, ... }: - flake-utils.lib.eachDefaultSystem - (system: - let + outputs = { self, nixpkgs, flake-utils, haskellNix, flake-compat }: + flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: + let + overlays = [ + haskellNix.overlay + (final: prev: { + # This overlay adds our project to pkgs + fission = + final.haskell-nix.project' { + src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; + compiler-nix-name = "ghc8107"; + stack-sha256 = "029kzhvljx3x13ngmb1mvf4ljf75l3ngnj95n3gxmbj7a211xs3c"; + materialized = ./nix/materialized; - pkgs = nixpkgs.legacyPackages.${system}; + # NOTE: Currently handling devShells separately from haskell.nix + # + # shell.tools = { + # cabal = { }; + # hlint = { }; + # haskell-language-server = { }; + # }; + # Non-Haskell shell tools go here + # shell.buildInputs = with pkgs; [ + # ]; + }; + }) + ]; + pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; + flake = pkgs.fission.flake { }; - # Inspired by https://www.tweag.io/blog/2022-06-02-haskell-stack-nix-shell/ - stack-wrapped = pkgs.symlinkJoin { - name = "stack"; - paths = [ pkgs.stack ]; - buildInputs = [ pkgs.makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/stack \ - --add-flags "\ - --nix \ - --nix-shell-file=nix/stack-integration.nix \ - " - ''; - }; + # Inspired by https://www.tweag.io/blog/2022-06-02-haskell-stack-nix-shell/ + stack-wrapped = pkgs.symlinkJoin { + name = "stack"; + paths = [ pkgs.stack ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/stack \ + --add-flags "\ + --nix \ + --no-nix-pure \ + --nix-shell-file=nix/stack-integration.nix \ + " + ''; + }; - # Wrapper commands for convenience - commands = import ./nix/commands.nix; - server-path = "~/.local/bin/fission-server"; - tasks = commands { - inherit pkgs; - inherit server-path; - inherit stack-wrapped; - }; + # Wrapper commands for convenience + commands = import ./nix/commands.nix; + server-path = "~/.local/bin/fission-server"; + tasks = commands { + inherit pkgs; + inherit server-path; + inherit stack-wrapped; + }; - # The default version of HLS (with binary cache) is built with GHC 9.0.1 - # We can get this version working with our current set up, but it builds - # from source (and takes a long time). - # - # The prebuilt package is marked as broken on aarch64-darwin - haskellPackages = pkgs.haskell.packages.ghc8107; - in - { - devShells.default = pkgs.mkShell { - name = "fission"; - buildInputs = [ - stack-wrapped - haskellPackages.haskell-language-server - pkgs.cachix - pkgs.nixpkgs-fmt - pkgs.stylish-haskell - tasks - ]; - NIX_PATH = "nixpkgs=" + pkgs.path; - }; - } - ); + # The default version of HLS (with binary cache) is built with GHC 9.0.1 + # We can get this version working with our current set up, but it builds + # from source (and takes a long time). + # + # The prebuilt package is marked as broken on aarch64-darwin + haskellPackages = pkgs.haskell.packages.ghc8107; + in + flake // { + # Dev Shell + devShells.default = pkgs.mkShell { + name = "fission"; + buildInputs = [ + stack-wrapped + haskellPackages.haskell-language-server + pkgs.cachix + pkgs.nixpkgs-fmt + pkgs.stylish-haskell + tasks + ]; + NIX_PATH = "nixpkgs=" + pkgs.path; + }; + + # Built by `nix build .` + packages.default = flake.packages."fission-cli:exe:fission"; + packages.fission-cli = flake.packages."fission-cli:exe:fission"; + packages.fission-server = flake.packages."fission-web-server:exe:fission-server"; + }); } From d99151da9d2a664c80e40b377740a499922aff33 Mon Sep 17 00:00:00 2001 From: James Walker Date: Sat, 16 Jul 2022 15:57:12 +0000 Subject: [PATCH 02/26] rebase and add materialization --- nix/materialized/default.nix | 37 +++ nix/materialized/fission-cli.nix | 281 ++++++++++++++++++ nix/materialized/fission-core.nix | 233 +++++++++++++++ nix/materialized/fission-web-api.nix | 65 +++++ nix/materialized/fission-web-client.nix | 67 +++++ nix/materialized/fission-web-server.nix | 373 ++++++++++++++++++++++++ nix/materialized/hs-ucan.nix | 165 +++++++++++ nix/materialized/ipfs.nix | 104 +++++++ 8 files changed, 1325 insertions(+) create mode 100644 nix/materialized/default.nix create mode 100644 nix/materialized/fission-cli.nix create mode 100644 nix/materialized/fission-core.nix create mode 100644 nix/materialized/fission-web-api.nix create mode 100644 nix/materialized/fission-web-client.nix create mode 100644 nix/materialized/fission-web-server.nix create mode 100644 nix/materialized/hs-ucan.nix create mode 100644 nix/materialized/ipfs.nix diff --git a/nix/materialized/default.nix b/nix/materialized/default.nix new file mode 100644 index 000000000..2f78ee8ce --- /dev/null +++ b/nix/materialized/default.nix @@ -0,0 +1,37 @@ +{ + extras = hackage: + { + packages = { + "amazonka" = (((hackage.amazonka)."1.6.1").revisions).default; + "constraints-deriving" = (((hackage.constraints-deriving)."1.1.1.2").revisions).default; + "cryptostore" = (((hackage.cryptostore)."0.2.1.0").revisions).default; + "dimensions" = (((hackage.dimensions)."2.1.1.0").revisions).default; + "hfsevents" = (((hackage.hfsevents)."0.1.6").revisions).default; + "lzma-clib" = (((hackage.lzma-clib)."5.2.2").revisions).default; + "raven-haskell" = (((hackage.raven-haskell)."0.1.4.0").revisions).default; + "rescue" = (((hackage.rescue)."0.4.2.1").revisions).default; + "servant-ekg" = (((hackage.servant-ekg)."0.3.1").revisions).default; + "servant-multipart-client" = (((hackage.servant-multipart-client)."0.12.1").revisions).default; + "servant-swagger-ui-redoc" = (((hackage.servant-swagger-ui-redoc)."0.3.4.1.22.3").revisions).default; + "servant-websockets" = (((hackage.servant-websockets)."2.0.0").revisions).default; + "unliftio-core" = (((hackage.unliftio-core)."0.1.2.0").revisions).default; + "powerdns" = (((hackage.powerdns)."0.2.2").revisions).default; + "github" = (((hackage.github)."0.27").revisions).default; + fission-cli = ./fission-cli.nix; + fission-core = ./fission-core.nix; + fission-web-api = ./fission-web-api.nix; + fission-web-client = ./fission-web-client.nix; + fission-web-server = ./fission-web-server.nix; + hs-ucan = ./hs-ucan.nix; + ipfs = ./ipfs.nix; + }; + }; + resolver = "lts-18.28"; + modules = [ + ({ lib, ... }: + { packages = {}; }) + { packages = { "$everything" = { ghcOptions = [ "-haddock" ]; }; }; } + ({ lib, ... }: + { planned = lib.mkOverride 900 true; }) + ]; + } \ No newline at end of file diff --git a/nix/materialized/fission-cli.nix b/nix/materialized/fission-cli.nix new file mode 100644 index 000000000..5ea580c4b --- /dev/null +++ b/nix/materialized/fission-cli.nix @@ -0,0 +1,281 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-cli"; version = "2.18.0.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal")) + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."dimensions" or (errorHandler.buildDepError "dimensions")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-client" or (errorHandler.buildDepError "fission-web-client")) + (hsPkgs."fsnotify" or (errorHandler.buildDepError "fsnotify")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."github" or (errorHandler.buildDepError "github")) + (hsPkgs."haskeline" or (errorHandler.buildDepError "haskeline")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."open-browser" or (errorHandler.buildDepError "open-browser")) + (hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative")) + (hsPkgs."parallel" or (errorHandler.buildDepError "parallel")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."tar" or (errorHandler.buildDepError "tar")) + (hsPkgs."transformers-base" or (errorHandler.buildDepError "transformers-base")) + (hsPkgs."turtle" or (errorHandler.buildDepError "turtle")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + (hsPkgs."versions" or (errorHandler.buildDepError "versions")) + (hsPkgs."wss-client" or (errorHandler.buildDepError "wss-client")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) + ]; + buildable = true; + modules = [ "Paths_fission_cli" ]; + hsSourceDirs = [ "library" ]; + }; + exes = { + "fission" = { + depends = [ + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal")) + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."dimensions" or (errorHandler.buildDepError "dimensions")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-cli" or (errorHandler.buildDepError "fission-cli")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-client" or (errorHandler.buildDepError "fission-web-client")) + (hsPkgs."fsnotify" or (errorHandler.buildDepError "fsnotify")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."github" or (errorHandler.buildDepError "github")) + (hsPkgs."haskeline" or (errorHandler.buildDepError "haskeline")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."open-browser" or (errorHandler.buildDepError "open-browser")) + (hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative")) + (hsPkgs."parallel" or (errorHandler.buildDepError "parallel")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."tar" or (errorHandler.buildDepError "tar")) + (hsPkgs."transformers-base" or (errorHandler.buildDepError "transformers-base")) + (hsPkgs."turtle" or (errorHandler.buildDepError "turtle")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + (hsPkgs."versions" or (errorHandler.buildDepError "versions")) + (hsPkgs."wss-client" or (errorHandler.buildDepError "wss-client")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) + ]; + buildable = true; + modules = [ "Paths_fission_cli" ]; + hsSourceDirs = [ "cli" ]; + mainPath = [ "Main.hs" ]; + }; + }; + tests = { + "fission-cli-test" = { + depends = [ + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal")) + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."dimensions" or (errorHandler.buildDepError "dimensions")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-client" or (errorHandler.buildDepError "fission-web-client")) + (hsPkgs."fsnotify" or (errorHandler.buildDepError "fsnotify")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."github" or (errorHandler.buildDepError "github")) + (hsPkgs."haskeline" or (errorHandler.buildDepError "haskeline")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."hspec" or (errorHandler.buildDepError "hspec")) + (hsPkgs."hspec-core" or (errorHandler.buildDepError "hspec-core")) + (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."open-browser" or (errorHandler.buildDepError "open-browser")) + (hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative")) + (hsPkgs."parallel" or (errorHandler.buildDepError "parallel")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."tar" or (errorHandler.buildDepError "tar")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hspec" or (errorHandler.buildDepError "tasty-hspec")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."transformers-base" or (errorHandler.buildDepError "transformers-base")) + (hsPkgs."turtle" or (errorHandler.buildDepError "turtle")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + (hsPkgs."versions" or (errorHandler.buildDepError "versions")) + (hsPkgs."wss-client" or (errorHandler.buildDepError "wss-client")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) + ]; + buildable = true; + modules = [ "Paths_fission_cli" ]; + hsSourceDirs = [ "library" "test" ]; + mainPath = [ "Main.hs" ]; + }; + }; + benchmarks = { + "fission-cli-benchmark" = { + depends = [ + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal")) + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."dimensions" or (errorHandler.buildDepError "dimensions")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-cli" or (errorHandler.buildDepError "fission-cli")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-client" or (errorHandler.buildDepError "fission-web-client")) + (hsPkgs."fsnotify" or (errorHandler.buildDepError "fsnotify")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."github" or (errorHandler.buildDepError "github")) + (hsPkgs."haskeline" or (errorHandler.buildDepError "haskeline")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."open-browser" or (errorHandler.buildDepError "open-browser")) + (hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative")) + (hsPkgs."parallel" or (errorHandler.buildDepError "parallel")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."tar" or (errorHandler.buildDepError "tar")) + (hsPkgs."transformers-base" or (errorHandler.buildDepError "transformers-base")) + (hsPkgs."turtle" or (errorHandler.buildDepError "turtle")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + (hsPkgs."versions" or (errorHandler.buildDepError "versions")) + (hsPkgs."wss-client" or (errorHandler.buildDepError "wss-client")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) + ]; + buildable = true; + modules = [ "Paths_fission_cli" ]; + hsSourceDirs = [ "benchmark" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-cli; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/fission-core.nix b/nix/materialized/fission-core.nix new file mode 100644 index 000000000..2932d5076 --- /dev/null +++ b/nix/materialized/fission-core.nix @@ -0,0 +1,233 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-core"; version = "3.4.1.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_core" ]; + hsSourceDirs = [ "library" ]; + }; + tests = { + "fission-core-test" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."hspec" or (errorHandler.buildDepError "hspec")) + (hsPkgs."hspec-core" or (errorHandler.buildDepError "hspec-core")) + (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) + (hsPkgs."hspec-wai" or (errorHandler.buildDepError "hspec-wai")) + (hsPkgs."hspec-wai-json" or (errorHandler.buildDepError "hspec-wai-json")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hspec" or (errorHandler.buildDepError "tasty-hspec")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-rerun" or (errorHandler.buildDepError "tasty-rerun")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_core" ]; + hsSourceDirs = [ "library" "test" ]; + mainPath = [ "Main.hs" ]; + }; + }; + benchmarks = { + "fission-core-benchmark" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_core" ]; + hsSourceDirs = [ "benchmark" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-core; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/fission-web-api.nix b/nix/materialized/fission-web-api.nix new file mode 100644 index 000000000..a4b192ae3 --- /dev/null +++ b/nix/materialized/fission-web-api.nix @@ -0,0 +1,65 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-web-api"; version = "2.0.1.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth" or (errorHandler.buildDepError "servant-auth")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-core" or (errorHandler.buildDepError "servant-swagger-ui-core")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + ]; + buildable = true; + modules = [ "Paths_fission_web_api" ]; + hsSourceDirs = [ "library" ]; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-web-api; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/fission-web-client.nix b/nix/materialized/fission-web-client.nix new file mode 100644 index 000000000..555fdb5a2 --- /dev/null +++ b/nix/materialized/fission-web-client.nix @@ -0,0 +1,67 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-web-client"; version = "2.0.0.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."blaze-html" or (errorHandler.buildDepError "blaze-html")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."free" or (errorHandler.buildDepError "free")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-blaze" or (errorHandler.buildDepError "servant-blaze")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger-ui-core" or (errorHandler.buildDepError "servant-swagger-ui-core")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + ]; + buildable = true; + modules = [ "Paths_fission_web_client" ]; + hsSourceDirs = [ "library" ]; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-web-client; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/fission-web-server.nix b/nix/materialized/fission-web-server.nix new file mode 100644 index 000000000..ff2cc4570 --- /dev/null +++ b/nix/materialized/fission-web-server.nix @@ -0,0 +1,373 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-web-server"; version = "2.20.0.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."amazonka" or (errorHandler.buildDepError "amazonka")) + (hsPkgs."amazonka-core" or (errorHandler.buildDepError "amazonka-core")) + (hsPkgs."amazonka-route53" or (errorHandler.buildDepError "amazonka-route53")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."bcrypt" or (errorHandler.buildDepError "bcrypt")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."case-insensitive" or (errorHandler.buildDepError "case-insensitive")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."ekg-core" or (errorHandler.buildDepError "ekg-core")) + (hsPkgs."ekg-statsd" or (errorHandler.buildDepError "ekg-statsd")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hostname" or (errorHandler.buildDepError "hostname")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."persistent-postgresql" or (errorHandler.buildDepError "persistent-postgresql")) + (hsPkgs."persistent-template" or (errorHandler.buildDepError "persistent-template")) + (hsPkgs."powerdns" or (errorHandler.buildDepError "powerdns")) + (hsPkgs."pretty-simple" or (errorHandler.buildDepError "pretty-simple")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."raven-haskell" or (errorHandler.buildDepError "raven-haskell")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."resource-pool" or (errorHandler.buildDepError "resource-pool")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth-server" or (errorHandler.buildDepError "servant-auth-server")) + (hsPkgs."servant-auth-swagger" or (errorHandler.buildDepError "servant-auth-swagger")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-server" or (errorHandler.buildDepError "servant-server")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-redoc" or (errorHandler.buildDepError "servant-swagger-ui-redoc")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."wai" or (errorHandler.buildDepError "wai")) + (hsPkgs."wai-cors" or (errorHandler.buildDepError "wai-cors")) + (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) + (hsPkgs."wai-logger" or (errorHandler.buildDepError "wai-logger")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + (hsPkgs."warp-tls" or (errorHandler.buildDepError "warp-tls")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_web_server" ]; + hsSourceDirs = [ "library" ]; + }; + exes = { + "fission-server" = { + depends = [ + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."amazonka" or (errorHandler.buildDepError "amazonka")) + (hsPkgs."amazonka-core" or (errorHandler.buildDepError "amazonka-core")) + (hsPkgs."amazonka-route53" or (errorHandler.buildDepError "amazonka-route53")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."bcrypt" or (errorHandler.buildDepError "bcrypt")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."case-insensitive" or (errorHandler.buildDepError "case-insensitive")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."ekg-core" or (errorHandler.buildDepError "ekg-core")) + (hsPkgs."ekg-statsd" or (errorHandler.buildDepError "ekg-statsd")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-server" or (errorHandler.buildDepError "fission-web-server")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hostname" or (errorHandler.buildDepError "hostname")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."persistent-postgresql" or (errorHandler.buildDepError "persistent-postgresql")) + (hsPkgs."persistent-template" or (errorHandler.buildDepError "persistent-template")) + (hsPkgs."powerdns" or (errorHandler.buildDepError "powerdns")) + (hsPkgs."pretty-simple" or (errorHandler.buildDepError "pretty-simple")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."raven-haskell" or (errorHandler.buildDepError "raven-haskell")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."resource-pool" or (errorHandler.buildDepError "resource-pool")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth-server" or (errorHandler.buildDepError "servant-auth-server")) + (hsPkgs."servant-auth-swagger" or (errorHandler.buildDepError "servant-auth-swagger")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-server" or (errorHandler.buildDepError "servant-server")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-redoc" or (errorHandler.buildDepError "servant-swagger-ui-redoc")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."wai" or (errorHandler.buildDepError "wai")) + (hsPkgs."wai-cors" or (errorHandler.buildDepError "wai-cors")) + (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) + (hsPkgs."wai-logger" or (errorHandler.buildDepError "wai-logger")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + (hsPkgs."warp-tls" or (errorHandler.buildDepError "warp-tls")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_web_server" ]; + hsSourceDirs = [ "server" ]; + mainPath = [ "Main.hs" ]; + }; + }; + tests = { + "fission-web-server-test" = { + depends = [ + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."amazonka" or (errorHandler.buildDepError "amazonka")) + (hsPkgs."amazonka-core" or (errorHandler.buildDepError "amazonka-core")) + (hsPkgs."amazonka-route53" or (errorHandler.buildDepError "amazonka-route53")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."bcrypt" or (errorHandler.buildDepError "bcrypt")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."case-insensitive" or (errorHandler.buildDepError "case-insensitive")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."ekg-core" or (errorHandler.buildDepError "ekg-core")) + (hsPkgs."ekg-statsd" or (errorHandler.buildDepError "ekg-statsd")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-server" or (errorHandler.buildDepError "fission-web-server")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hostname" or (errorHandler.buildDepError "hostname")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."hspec" or (errorHandler.buildDepError "hspec")) + (hsPkgs."hspec-core" or (errorHandler.buildDepError "hspec-core")) + (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) + (hsPkgs."hspec-wai" or (errorHandler.buildDepError "hspec-wai")) + (hsPkgs."hspec-wai-json" or (errorHandler.buildDepError "hspec-wai-json")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."persistent-postgresql" or (errorHandler.buildDepError "persistent-postgresql")) + (hsPkgs."persistent-template" or (errorHandler.buildDepError "persistent-template")) + (hsPkgs."powerdns" or (errorHandler.buildDepError "powerdns")) + (hsPkgs."pretty-simple" or (errorHandler.buildDepError "pretty-simple")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."raven-haskell" or (errorHandler.buildDepError "raven-haskell")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."resource-pool" or (errorHandler.buildDepError "resource-pool")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth-server" or (errorHandler.buildDepError "servant-auth-server")) + (hsPkgs."servant-auth-swagger" or (errorHandler.buildDepError "servant-auth-swagger")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-server" or (errorHandler.buildDepError "servant-server")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-redoc" or (errorHandler.buildDepError "servant-swagger-ui-redoc")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hspec" or (errorHandler.buildDepError "tasty-hspec")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-rerun" or (errorHandler.buildDepError "tasty-rerun")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."wai" or (errorHandler.buildDepError "wai")) + (hsPkgs."wai-cors" or (errorHandler.buildDepError "wai-cors")) + (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) + (hsPkgs."wai-logger" or (errorHandler.buildDepError "wai-logger")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + (hsPkgs."warp-tls" or (errorHandler.buildDepError "warp-tls")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_web_server" ]; + hsSourceDirs = [ "library" "test" ]; + mainPath = [ "Main.hs" ]; + }; + }; + benchmarks = { + "fission-web-server-benchmark" = { + depends = [ + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."amazonka" or (errorHandler.buildDepError "amazonka")) + (hsPkgs."amazonka-core" or (errorHandler.buildDepError "amazonka-core")) + (hsPkgs."amazonka-route53" or (errorHandler.buildDepError "amazonka-route53")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."bcrypt" or (errorHandler.buildDepError "bcrypt")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."case-insensitive" or (errorHandler.buildDepError "case-insensitive")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."ekg-core" or (errorHandler.buildDepError "ekg-core")) + (hsPkgs."ekg-statsd" or (errorHandler.buildDepError "ekg-statsd")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-server" or (errorHandler.buildDepError "fission-web-server")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hostname" or (errorHandler.buildDepError "hostname")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."persistent-postgresql" or (errorHandler.buildDepError "persistent-postgresql")) + (hsPkgs."persistent-template" or (errorHandler.buildDepError "persistent-template")) + (hsPkgs."powerdns" or (errorHandler.buildDepError "powerdns")) + (hsPkgs."pretty-simple" or (errorHandler.buildDepError "pretty-simple")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."raven-haskell" or (errorHandler.buildDepError "raven-haskell")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."resource-pool" or (errorHandler.buildDepError "resource-pool")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth-server" or (errorHandler.buildDepError "servant-auth-server")) + (hsPkgs."servant-auth-swagger" or (errorHandler.buildDepError "servant-auth-swagger")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-server" or (errorHandler.buildDepError "servant-server")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-redoc" or (errorHandler.buildDepError "servant-swagger-ui-redoc")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."wai" or (errorHandler.buildDepError "wai")) + (hsPkgs."wai-cors" or (errorHandler.buildDepError "wai-cors")) + (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) + (hsPkgs."wai-logger" or (errorHandler.buildDepError "wai-logger")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + (hsPkgs."warp-tls" or (errorHandler.buildDepError "warp-tls")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_web_server" ]; + hsSourceDirs = [ "benchmark" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-web-server; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/hs-ucan.nix b/nix/materialized/hs-ucan.nix new file mode 100644 index 000000000..fec3016bd --- /dev/null +++ b/nix/materialized/hs-ucan.nix @@ -0,0 +1,165 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hs-ucan"; version = "0.0.2.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_hs_ucan" ]; + hsSourceDirs = [ "library" ]; + }; + tests = { + "hs-ucan-test" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."hspec" or (errorHandler.buildDepError "hspec")) + (hsPkgs."hspec-core" or (errorHandler.buildDepError "hspec-core")) + (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hspec" or (errorHandler.buildDepError "tasty-hspec")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-rerun" or (errorHandler.buildDepError "tasty-rerun")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_hs_ucan" ]; + hsSourceDirs = [ "library" "test" ]; + mainPath = [ "Main.hs" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./hs-ucan; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/ipfs.nix b/nix/materialized/ipfs.nix new file mode 100644 index 000000000..fc283b87c --- /dev/null +++ b/nix/materialized/ipfs.nix @@ -0,0 +1,104 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "ipfs"; version = "1.4.2"; }; + license = "Apache-2.0"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker"; + homepage = "https://github.com/fission-suite/ipfs-haskell#readme"; + url = ""; + synopsis = "Access IPFS locally and remotely"; + description = "Interact with the IPFS network by shelling out to a local IPFS node or communicating via the HTTP interface of a remote IPFS node."; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."network-ip" or (errorHandler.buildDepError "network-ip")) + (hsPkgs."regex-compat" or (errorHandler.buildDepError "regex-compat")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-multipart" or (errorHandler.buildDepError "servant-multipart")) + (hsPkgs."servant-multipart-api" or (errorHandler.buildDepError "servant-multipart-api")) + (hsPkgs."servant-multipart-client" or (errorHandler.buildDepError "servant-multipart-client")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + modules = [ "Paths_ipfs" ]; + hsSourceDirs = [ "library" ]; + }; + tests = { + "ipfs-doctest" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."directory-tree" or (errorHandler.buildDepError "directory-tree")) + (hsPkgs."doctest" or (errorHandler.buildDepError "doctest")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."network-ip" or (errorHandler.buildDepError "network-ip")) + (hsPkgs."regex-compat" or (errorHandler.buildDepError "regex-compat")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-multipart" or (errorHandler.buildDepError "servant-multipart")) + (hsPkgs."servant-multipart-api" or (errorHandler.buildDepError "servant-multipart-api")) + (hsPkgs."servant-multipart-client" or (errorHandler.buildDepError "servant-multipart-client")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_ipfs" ]; + hsSourceDirs = [ "test/doctest" ]; + mainPath = [ "Main.hs" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./ipfs; + }) // { cabal-generator = "hpack"; } \ No newline at end of file From 94eac5b3254aaf497096a889f38efe6d86d0fc4a Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 29 Aug 2022 21:34:18 -0400 Subject: [PATCH 03/26] rebase and pin nixpkgs to 22.05 --- flake.lock | 2 +- flake.nix | 4 ++-- nix/materialized/default.nix | 1 + nix/materialized/hs-ucan.nix | 6 ++++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e4d04ace3..061ba3db2 100644 --- a/flake.lock +++ b/flake.lock @@ -427,7 +427,7 @@ "haskellNix": "haskellNix", "nixpkgs": [ "haskellNix", - "nixpkgs-unstable" + "nixpkgs-2205" ] } }, diff --git a/flake.nix b/flake.nix index bcf05e95f..e9c46ea93 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { haskellNix.url = "github:input-output-hk/haskell.nix"; - nixpkgs.follows = "haskellNix/nixpkgs-unstable"; + nixpkgs.follows = "haskellNix/nixpkgs-2205"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { @@ -23,7 +23,7 @@ final.haskell-nix.project' { src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; compiler-nix-name = "ghc8107"; - stack-sha256 = "029kzhvljx3x13ngmb1mvf4ljf75l3ngnj95n3gxmbj7a211xs3c"; + stack-sha256 = "0y24hd42sn2qzdcfvy892rkv1as36divjskzz2h3cx5v9mgl1i1p"; materialized = ./nix/materialized; # NOTE: Currently handling devShells separately from haskell.nix diff --git a/nix/materialized/default.nix b/nix/materialized/default.nix index 2f78ee8ce..b6acbbba6 100644 --- a/nix/materialized/default.nix +++ b/nix/materialized/default.nix @@ -8,6 +8,7 @@ "dimensions" = (((hackage.dimensions)."2.1.1.0").revisions).default; "hfsevents" = (((hackage.hfsevents)."0.1.6").revisions).default; "lzma-clib" = (((hackage.lzma-clib)."5.2.2").revisions).default; + "libsecp256k1" = (((hackage.libsecp256k1)."0.1.0").revisions).default; "raven-haskell" = (((hackage.raven-haskell)."0.1.4.0").revisions).default; "rescue" = (((hackage.rescue)."0.4.2.1").revisions).default; "servant-ekg" = (((hackage.servant-ekg)."0.3.1").revisions).default; diff --git a/nix/materialized/hs-ucan.nix b/nix/materialized/hs-ucan.nix index fec3016bd..e3304e7c1 100644 --- a/nix/materialized/hs-ucan.nix +++ b/nix/materialized/hs-ucan.nix @@ -59,6 +59,7 @@ (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."libsecp256k1" or (errorHandler.buildDepError "libsecp256k1")) (hsPkgs."memory" or (errorHandler.buildDepError "memory")) (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) @@ -85,6 +86,7 @@ (hsPkgs."x509" or (errorHandler.buildDepError "x509")) (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) ]; + libs = [ (pkgs."secp256k1" or (errorHandler.sysDepError "secp256k1")) ]; buildable = true; modules = [ "Paths_hs_ucan" ]; hsSourceDirs = [ "library" ]; @@ -122,6 +124,7 @@ (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."libsecp256k1" or (errorHandler.buildDepError "libsecp256k1")) (hsPkgs."memory" or (errorHandler.buildDepError "memory")) (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) @@ -153,6 +156,9 @@ (hsPkgs."x509" or (errorHandler.buildDepError "x509")) (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) ]; + libs = [ + (pkgs."secp256k1" or (errorHandler.sysDepError "secp256k1")) + ]; buildable = true; modules = [ "Paths_hs_ucan" ]; hsSourceDirs = [ "library" "test" ]; From 85cc8b35a1f324dd94d998cb0b0e606c3ddf880b Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 19 Dec 2022 18:20:13 -0500 Subject: [PATCH 04/26] bump to 22.11 and update materialized --- flake.lock | 536 ++++++++++++++++++++++-- flake.nix | 5 +- nix/materialized/fission-cli.nix | 4 +- nix/materialized/fission-web-server.nix | 2 +- 4 files changed, 506 insertions(+), 41 deletions(-) diff --git a/flake.lock b/flake.lock index 061ba3db2..1d6a6d374 100644 --- a/flake.lock +++ b/flake.lock @@ -16,6 +16,21 @@ "type": "github" } }, + "blank": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "blank", + "type": "github" + } + }, "cabal-32": { "flake": false, "locked": { @@ -83,7 +98,97 @@ "type": "github" } }, + "devshell": { + "inputs": { + "flake-utils": [ + "haskellNix", + "tullia", + "std", + "flake-utils" + ], + "nixpkgs": [ + "haskellNix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1663445644, + "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", + "owner": "numtide", + "repo": "devshell", + "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "dmerge": { + "inputs": { + "nixlib": [ + "haskellNix", + "tullia", + "std", + "nixpkgs" + ], + "yants": [ + "haskellNix", + "tullia", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1659548052, + "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", + "owner": "divnix", + "repo": "data-merge", + "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "data-merge", + "type": "github" + } + }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1668681692, + "narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "009399224d5e398d03b22badca40a37ac85412a1", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1635892615, + "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "eca47d3377946315596da653862d341ee5341318", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1650374568, @@ -101,11 +206,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -129,6 +234,51 @@ "type": "github" } }, + "flake-utils_3": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "ghc-8.6.5-iohk": { "flake": false, "locked": { @@ -146,14 +296,33 @@ "type": "github" } }, + "gomod2nix": { + "inputs": { + "nixpkgs": "nixpkgs_2", + "utils": "utils" + }, + "locked": { + "lastModified": 1655245309, + "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", + "owner": "tweag", + "repo": "gomod2nix", + "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "gomod2nix", + "type": "github" + } + }, "hackage": { "flake": false, "locked": { - "lastModified": 1661735830, - "narHash": "sha256-xJpfFmpzJVci+fM9mjTKyIbkUpJf5XkZMygY+YRKzwU=", + "lastModified": 1671409472, + "narHash": "sha256-XPTmsbgw4eaNzGsk5iCg+KMC5bgZViIuF0rDovyrZ28=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9b22f61f50b19bf401ab104ff0e239f8ada87547", + "rev": "ffecef84eaacdce9c02820ae46f57f203b41ab07", "type": "github" }, "original": { @@ -169,12 +338,13 @@ "cabal-34": "cabal-34", "cabal-36": "cabal-36", "cardano-shell": "cardano-shell", + "flake-compat": "flake-compat_2", "flake-utils": "flake-utils_2", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", "hpc-coveralls": "hpc-coveralls", "hydra": "hydra", - "nix-tools": "nix-tools", + "iserv-proxy": "iserv-proxy", "nixpkgs": [ "haskellNix", "nixpkgs-unstable" @@ -183,16 +353,18 @@ "nixpkgs-2105": "nixpkgs-2105", "nixpkgs-2111": "nixpkgs-2111", "nixpkgs-2205": "nixpkgs-2205", + "nixpkgs-2211": "nixpkgs-2211", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", - "stackage": "stackage" + "stackage": "stackage", + "tullia": "tullia" }, "locked": { - "lastModified": 1661772865, - "narHash": "sha256-mY3T9wpUOG6FC2fz/jF+rYs3TU3irHKk+wrDjIE9HCI=", + "lastModified": 1671411088, + "narHash": "sha256-k1hfa96yZinHI9fCztseFvUL+N7ezRMIRNXKvgqv75c=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "de7a027dbe2fa900531d412fba186b196a3fdf4b", + "rev": "d44f7325d753d2d7b3dd4f95e2040f6776e38772", "type": "github" }, "original": { @@ -240,6 +412,22 @@ "type": "indirect" } }, + "iserv-proxy": { + "flake": false, + "locked": { + "lastModified": 1639165170, + "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", + "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "revCount": 7, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" + }, + "original": { + "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "type": "git", + "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" + } + }, "lowdown-src": { "flake": false, "locked": { @@ -256,6 +444,46 @@ "type": "github" } }, + "mdbook-kroki-preprocessor": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "n2c": { + "inputs": { + "flake-utils": "flake-utils_5", + "nixpkgs": [ + "haskellNix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, "nix": { "inputs": { "lowdown-src": "lowdown-src", @@ -277,19 +505,92 @@ "type": "github" } }, - "nix-tools": { - "flake": false, + "nix-nomad": { + "inputs": { + "flake-compat": "flake-compat_3", + "flake-utils": [ + "haskellNix", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix", + "nixpkgs": [ + "haskellNix", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "haskellNix", + "tullia", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1659569011, - "narHash": "sha256-wHS0H5+TERmDnPCfzH4A+rSR5TvjYMWus9BNeNAMyUM=", - "owner": "input-output-hk", - "repo": "nix-tools", - "rev": "555d57e1ea81b79945f2608aa261df20f6b602a5", + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-tools", + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix2container": { + "inputs": { + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nixago": { + "inputs": { + "flake-utils": [ + "haskellNix", + "tullia", + "std", + "flake-utils" + ], + "nixago-exts": [ + "haskellNix", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "haskellNix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, @@ -326,11 +627,11 @@ }, "nixpkgs-2105": { "locked": { - "lastModified": 1655034179, - "narHash": "sha256-rf1/7AbzuYDw6+8Xvvf3PtEOygymLBrFsFxvext5ZjI=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "046ee4af7a9f016a364f8f78eeaa356ba524ac31", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { @@ -342,11 +643,11 @@ }, "nixpkgs-2111": { "locked": { - "lastModified": 1656782578, - "narHash": "sha256-1eMCBEqJplPotTo/SZ/t5HU6Sf2I8qKlZi9MX7jv9fw=", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "573603b7fdb9feb0eb8efc16ee18a015c667ab1b", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { @@ -358,11 +659,11 @@ }, "nixpkgs-2205": { "locked": { - "lastModified": 1657876628, - "narHash": "sha256-URmf0O2cQ/3heg2DJOeLyU/JmfVMqG4X5t9crQXMaeY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "549d82bdd40f760a438c3c3497c1c61160f3de55", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { @@ -372,6 +673,22 @@ "type": "github" } }, + "nixpkgs-2211": { + "locked": { + "lastModified": 1669997163, + "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -389,15 +706,62 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1657888067, - "narHash": "sha256-GnwJoFBTPfW3+mz7QEeJEEQ9OMHZOiIJ/qDhZxrlKh8=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "65fae659e31098ca4ac825a6fef26d890aaf3f4e", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", + "type": "github" + }, + "original": { + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -427,18 +791,18 @@ "haskellNix": "haskellNix", "nixpkgs": [ "haskellNix", - "nixpkgs-2205" + "nixpkgs-2211" ] } }, "stackage": { "flake": false, "locked": { - "lastModified": 1661562967, - "narHash": "sha256-8qq3NHGChVpuTGZsvSmsKBC3SulsG7A9s6ykDLZtxng=", + "lastModified": 1671322242, + "narHash": "sha256-fP6gs6GNzPYFU1csKVFy5e0OzgL36SUgJYr9VUByYZc=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "8b118d8a60b5d1ad276135468d158d507e7be1ba", + "rev": "5b58f654a14856fc74dfa66749f9819ae24f5596", "type": "github" }, "original": { @@ -446,6 +810,106 @@ "repo": "stackage.nix", "type": "github" } + }, + "std": { + "inputs": { + "blank": "blank", + "devshell": "devshell", + "dmerge": "dmerge", + "flake-utils": "flake-utils_4", + "makes": [ + "haskellNix", + "tullia", + "std", + "blank" + ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor", + "microvm": [ + "haskellNix", + "tullia", + "std", + "blank" + ], + "n2c": "n2c", + "nixago": "nixago", + "nixpkgs": "nixpkgs_4", + "yants": "yants" + }, + "locked": { + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "owner": "divnix", + "repo": "std", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, + "tullia": { + "inputs": { + "nix-nomad": "nix-nomad", + "nix2container": "nix2container", + "nixpkgs": [ + "haskellNix", + "nixpkgs" + ], + "std": "std" + }, + "locked": { + "lastModified": 1668711738, + "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", + "owner": "input-output-hk", + "repo": "tullia", + "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "tullia", + "type": "github" + } + }, + "utils": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "yants": { + "inputs": { + "nixpkgs": [ + "haskellNix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660507851, + "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", + "owner": "divnix", + "repo": "yants", + "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index e9c46ea93..87eae5742 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { haskellNix.url = "github:input-output-hk/haskell.nix"; - nixpkgs.follows = "haskellNix/nixpkgs-2205"; + nixpkgs.follows = "haskellNix/nixpkgs-2211"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { @@ -23,8 +23,9 @@ final.haskell-nix.project' { src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; compiler-nix-name = "ghc8107"; - stack-sha256 = "0y24hd42sn2qzdcfvy892rkv1as36divjskzz2h3cx5v9mgl1i1p"; + stack-sha256 = "0z7k4jdpwc67vpcydf3gy3rd6v1i4qp0b0im2h3da2j2zbz59gz8"; materialized = ./nix/materialized; + # checkMaterialization = true; # NOTE: Currently handling devShells separately from haskell.nix # diff --git a/nix/materialized/fission-cli.nix b/nix/materialized/fission-cli.nix index 5ea580c4b..721a58a14 100644 --- a/nix/materialized/fission-cli.nix +++ b/nix/materialized/fission-cli.nix @@ -11,9 +11,9 @@ flags = {}; package = { specVersion = "2.2"; - identifier = { name = "fission-cli"; version = "2.18.0.0"; }; + identifier = { name = "fission-cli"; version = "2.20.0.0"; }; license = "AGPL-3.0-or-later"; - copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + copyright = "© 2022 Fission Internet Software Services for Open Networks Inc."; maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; homepage = "https://github.com/fission-suite/fission#readme"; diff --git a/nix/materialized/fission-web-server.nix b/nix/materialized/fission-web-server.nix index ff2cc4570..ee1ee5491 100644 --- a/nix/materialized/fission-web-server.nix +++ b/nix/materialized/fission-web-server.nix @@ -11,7 +11,7 @@ flags = {}; package = { specVersion = "2.2"; - identifier = { name = "fission-web-server"; version = "2.20.0.0"; }; + identifier = { name = "fission-web-server"; version = "2.21.0.0"; }; license = "AGPL-3.0-or-later"; copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; From 2c8f9005868087981b97bf2e313f1aaaef3db600 Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 15 Feb 2023 12:21:18 -0500 Subject: [PATCH 05/26] update version --- .gitignore | 2 + flake.lock | 223 +++++++++++++++------------ flake.nix | 9 ++ nix/materialized/.stack-to-nix.cache | 0 4 files changed, 134 insertions(+), 100 deletions(-) create mode 100644 nix/materialized/.stack-to-nix.cache diff --git a/.gitignore b/.gitignore index 71e7e0470..bf9ef25b9 100644 --- a/.gitignore +++ b/.gitignore @@ -591,3 +591,5 @@ MigrationBackup/ fission-web-server/data/ fission-web-server/.env .direnv/ + +!.stack-to-nix.cache diff --git a/flake.lock b/flake.lock index 1d6a6d374..372a34323 100644 --- a/flake.lock +++ b/flake.lock @@ -51,11 +51,11 @@ "cabal-34": { "flake": false, "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", "owner": "haskell", "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", "type": "github" }, "original": { @@ -68,11 +68,11 @@ "cabal-36": { "flake": false, "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", "owner": "haskell", "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { @@ -159,11 +159,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1668681692, - "narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "009399224d5e398d03b22badca40a37ac85412a1", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -175,15 +175,16 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1635892615, - "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", "owner": "input-output-hk", "repo": "flake-compat", - "rev": "eca47d3377946315596da653862d341ee5341318", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", "type": "github" }, "original": { "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } @@ -206,11 +207,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1676283394, + "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", "type": "github" }, "original": { @@ -221,11 +222,11 @@ }, "flake-utils_2": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -264,21 +265,6 @@ "type": "github" } }, - "flake-utils_5": { - "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "ghc-8.6.5-iohk": { "flake": false, "locked": { @@ -318,11 +304,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1671409472, - "narHash": "sha256-XPTmsbgw4eaNzGsk5iCg+KMC5bgZViIuF0rDovyrZ28=", + "lastModified": 1676247978, + "narHash": "sha256-XOjeKO5TaXa+n0MgTR1Nq7OtsaZ8vxtv99WsXX2fByU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ffecef84eaacdce9c02820ae46f57f203b41ab07", + "rev": "8a4a4aa08d2c5dec2823670caad2f92d8eaf9110", "type": "github" }, "original": { @@ -360,11 +346,11 @@ "tullia": "tullia" }, "locked": { - "lastModified": 1671411088, - "narHash": "sha256-k1hfa96yZinHI9fCztseFvUL+N7ezRMIRNXKvgqv75c=", + "lastModified": 1676249474, + "narHash": "sha256-3s7gN4brgZDvoTBV1QZ2EOG+it5fjX8RHD1GtUz5DIs=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "d44f7325d753d2d7b3dd4f95e2040f6776e38772", + "rev": "e69816366cb8246c6ef7435b0a8783632bff3cf6", "type": "github" }, "original": { @@ -400,11 +386,11 @@ ] }, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", "owner": "NixOS", "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { @@ -412,20 +398,44 @@ "type": "indirect" } }, + "incl": { + "inputs": { + "nixlib": [ + "haskellNix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "incl", + "type": "github" + } + }, "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1639165170, - "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "revCount": 7, + "lastModified": 1670983692, + "narHash": "sha256-avLo34JnI9HNyOuauK5R69usJm+GfW3MlyGlYxZhTgY=", + "ref": "hkm/remote-iserv", + "rev": "50d0abb3317ac439a4e7495b185a64af9b7b9300", + "revCount": 10, "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" }, "original": { - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "ref": "hkm/remote-iserv", "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, "lowdown-src": { @@ -444,25 +454,14 @@ "type": "github" } }, - "mdbook-kroki-preprocessor": { - "flake": false, - "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", - "type": "github" - }, - "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "type": "github" - } - }, "n2c": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": [ + "haskellNix", + "tullia", + "std", + "flake-utils" + ], "nixpkgs": [ "haskellNix", "tullia", @@ -491,16 +490,16 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", "owner": "NixOS", "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", + "ref": "2.11.0", "repo": "nix", "type": "github" } @@ -596,17 +595,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-22.05-small", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-2003": { @@ -659,11 +659,11 @@ }, "nixpkgs-2205": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "lastModified": 1672580127, + "narHash": "sha256-3lW3xZslREhJogoOkjeZtlBtvFMyxHku7I/9IVehhT8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "0874168639713f547c05947c76124f78441ea46c", "type": "github" }, "original": { @@ -675,11 +675,11 @@ }, "nixpkgs-2211": { "locked": { - "lastModified": 1669997163, - "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", + "lastModified": 1675730325, + "narHash": "sha256-uNvD7fzO5hNlltNQUAFBPlcEjNG5Gkbhl/ROiX+GZU4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", + "rev": "b7ce17b1ebf600a72178f6302c77b6382d09323f", "type": "github" }, "original": { @@ -699,18 +699,19 @@ "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "NixOS", + "repo": "nixpkgs", "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "lastModified": 1675758091, + "narHash": "sha256-7gFSQbSVAFUHtGCNHPF7mPc5CcqDk9M2+inlVPZSneg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "747927516efcb5e31ba03b7ff32f61f6d47e7d87", "type": "github" }, "original": { @@ -767,6 +768,21 @@ "type": "github" } }, + "nosys": { + "locked": { + "lastModified": 1667881534, + "narHash": "sha256-FhwJ15uPLRsvaxtt/bNuqE/ykMpNAPF0upozFKhTtXM=", + "owner": "divnix", + "repo": "nosys", + "rev": "2d0d5207f6a230e9d0f660903f8db9807b54814f", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "nosys", + "type": "github" + } + }, "old-ghc-nix": { "flake": false, "locked": { @@ -798,11 +814,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1671322242, - "narHash": "sha256-fP6gs6GNzPYFU1csKVFy5e0OzgL36SUgJYr9VUByYZc=", + "lastModified": 1676247058, + "narHash": "sha256-G26j8Aiy5N+3Bqcq1eFzPuCiXGuKgNThXPniJUurlYE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "5b58f654a14856fc74dfa66749f9819ae24f5596", + "rev": "5cc102bee2c792b84df1d34a1146cf59001ef274", "type": "github" }, "original": { @@ -813,17 +829,23 @@ }, "std": { "inputs": { + "arion": [ + "haskellNix", + "tullia", + "std", + "blank" + ], "blank": "blank", "devshell": "devshell", "dmerge": "dmerge", "flake-utils": "flake-utils_4", + "incl": "incl", "makes": [ "haskellNix", "tullia", "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor", "microvm": [ "haskellNix", "tullia", @@ -833,14 +855,15 @@ "n2c": "n2c", "nixago": "nixago", "nixpkgs": "nixpkgs_4", + "nosys": "nosys", "yants": "yants" }, "locked": { - "lastModified": 1665513321, - "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "lastModified": 1674526466, + "narHash": "sha256-tMTaS0bqLx6VJ+K+ZT6xqsXNpzvSXJTmogkraBGzymg=", "owner": "divnix", "repo": "std", - "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "rev": "516387e3d8d059b50e742a2ff1909ed3c8f82826", "type": "github" }, "original": { @@ -860,11 +883,11 @@ "std": "std" }, "locked": { - "lastModified": 1668711738, - "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", + "lastModified": 1675695930, + "narHash": "sha256-B7rEZ/DBUMlK1AcJ9ajnAPPxqXY6zW2SBX+51bZV0Ac=", "owner": "input-output-hk", "repo": "tullia", - "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", + "rev": "621365f2c725608f381b3ad5b57afef389fd4c31", "type": "github" }, "original": { @@ -898,11 +921,11 @@ ] }, "locked": { - "lastModified": 1660507851, - "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", + "lastModified": 1667096281, + "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", "owner": "divnix", "repo": "yants", - "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", + "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 87eae5742..df618d2a9 100644 --- a/flake.nix +++ b/flake.nix @@ -94,4 +94,13 @@ packages.fission-cli = flake.packages."fission-cli:exe:fission"; packages.fission-server = flake.packages."fission-web-server:exe:fission-server"; }); + + nixConfig = { + # This sets the flake to use the IOG nix cache. + # Nix should ask for permission before using it, + # but remove it here if you do not want it to. + extra-substituters = [ "https://cache.iog.io" ]; + extra-trusted-public-keys = [ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" ]; + allow-import-from-derivation = "true"; + }; } diff --git a/nix/materialized/.stack-to-nix.cache b/nix/materialized/.stack-to-nix.cache new file mode 100644 index 000000000..e69de29bb From 8a514d345f69dc2e6792192ee3ed3d1e1c4e2e3e Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 16 Feb 2023 15:34:13 -0500 Subject: [PATCH 06/26] update github workflows --- .github/workflows/artifacts-nix.yaml | 8 +++--- .github/workflows/cachix.yaml | 40 +++++++++++++--------------- .github/workflows/ci-nix.yaml | 14 +++++++--- 3 files changed, 33 insertions(+), 29 deletions(-) diff --git a/.github/workflows/artifacts-nix.yaml b/.github/workflows/artifacts-nix.yaml index 524b89701..37a236381 100644 --- a/.github/workflows/artifacts-nix.yaml +++ b/.github/workflows/artifacts-nix.yaml @@ -17,20 +17,20 @@ jobs: - ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 name: 📤 Checkout if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v16 + - uses: cachix/install-nix-action@v17 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-unstable + nix_path: nixpkgs=channel:nixos-22.11 - uses: actions/cache@v2 name: 🗄️ Cache ~/.stack with: path: ~/.stack - key: ${{ matrix.os }}-stack-nix-${{ hashFiles('stack.yaml.lock') }} + key: ${{ matrix.os }}-stack-nix-${{ hashFiles('stack.yaml.lock', 'flake.lock') }} - name: 🏗️ Build run: | diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml index c68e23ee0..2daea3843 100644 --- a/.github/workflows/cachix.yaml +++ b/.github/workflows/cachix.yaml @@ -5,34 +5,32 @@ on: branches: [main] jobs: cachix: - if: false name: 🖥️ ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: - - macos-10.15 - - ubuntu-20.04 + - macos-latest + - ubuntu-latest steps: - - uses: actions/checkout@v2.3.4 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' + - uses: actions/checkout@v3 + name: 📤 Checkout + if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v16 - name: ❄️ Set up Nix - with: - nix_path: nixpkgs=channel:nixos-unstable - extra_nix_config: | - substituters = https://cache.nixos.org https://hydra.iohk.io - trusted-substituters = https://hydra.iohk.io - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= + - uses: cachix/install-nix-action@v19 + name: ❄️ Set up Nix + with: + nix_path: nixpkgs=channel:nixos-22.11 + extra_nix_config: | + substituters = https://cache.iog.io + trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= - - uses: cachix/cachix-action@v9 - name: 🧰 Cachix - with: - name: fission-2 - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + - uses: cachix/cachix-action@v12 + name: 🧰 Cachix + with: + name: fission-codes + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - name: 🏗️ Build - run: nix-build -A fission-cli.components.exes.fission | cachix push fission-2 + - name: 🏗️ Build + run: nix build -L '.#fission-cli' '.#fission-server' diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index e776d99c5..6740f3cd7 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -17,20 +17,26 @@ jobs: - ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 name: 📤 Checkout if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v16 + - uses: cachix/install-nix-action@v17 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-unstable + nix_path: nixpkgs=channel:nixos-22.11 + + - uses: cachix/cachix-action@v12 + name: 🧰 Cachix + with: + name: fission-codes + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - uses: actions/cache@v2 name: 🗄️ Cache ~/.stack with: path: ~/.stack - key: ${{ matrix.os }}-stack-nix-${{ hashFiles('stack.yaml.lock') }} + key: ${{ matrix.os }}-stack-nix-${{ hashFiles('stack.yaml.lock', 'flake.lock') }} - name: 🧪 Test run: | From aaa49a94be61068d7f55a6b72d4039957c6b10b9 Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 16 Feb 2023 15:37:03 -0500 Subject: [PATCH 07/26] fix nix substituters --- .github/workflows/cachix.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml index 2daea3843..26d996b07 100644 --- a/.github/workflows/cachix.yaml +++ b/.github/workflows/cachix.yaml @@ -23,8 +23,8 @@ jobs: with: nix_path: nixpkgs=channel:nixos-22.11 extra_nix_config: | - substituters = https://cache.iog.io - trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= + substituters = https://cache.nixos.org https://cache.iog.io + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= - uses: cachix/cachix-action@v12 name: 🧰 Cachix From 670ff68c52758badc0bb1904afc157021ed1856b Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 16 Feb 2023 16:55:52 -0500 Subject: [PATCH 08/26] better binary cache hit rate (?) --- .github/workflows/artifacts-nix.yaml | 13 +++++++++++-- .github/workflows/cachix.yaml | 4 ++-- .github/workflows/ci-nix.yaml | 7 +++++-- flake.lock | 20 ++++++++++---------- flake.nix | 2 +- 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/.github/workflows/artifacts-nix.yaml b/.github/workflows/artifacts-nix.yaml index 37a236381..8e64cbf35 100644 --- a/.github/workflows/artifacts-nix.yaml +++ b/.github/workflows/artifacts-nix.yaml @@ -21,10 +21,19 @@ jobs: name: 📤 Checkout if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v17 + - uses: cachix/install-nix-action@v19 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-22.11 + nix_path: nixpkgs=channel:nixos-unstable + extra_nix_config: | + substituters = https://cache.nixos.org https://cache.iog.io + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= + + - uses: cachix/cachix-action@v12 + name: 🧰 Cachix + with: + name: fission-codes + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - uses: actions/cache@v2 name: 🗄️ Cache ~/.stack diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml index 26d996b07..8d72d9e9e 100644 --- a/.github/workflows/cachix.yaml +++ b/.github/workflows/cachix.yaml @@ -21,7 +21,7 @@ jobs: - uses: cachix/install-nix-action@v19 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-22.11 + nix_path: nixpkgs=channel:nixos-unstable extra_nix_config: | substituters = https://cache.nixos.org https://cache.iog.io trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= @@ -33,4 +33,4 @@ jobs: authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - name: 🏗️ Build - run: nix build -L '.#fission-cli' '.#fission-server' + run: nix build --accept-flake-config -L '.#fission-cli' '.#fission-server' diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 6740f3cd7..218acb7e8 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -21,10 +21,13 @@ jobs: name: 📤 Checkout if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v17 + - uses: cachix/install-nix-action@v19 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-22.11 + nix_path: nixpkgs=channel:nixos-unstable + extra_nix_config: | + substituters = https://cache.nixos.org https://cache.iog.io + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= - uses: cachix/cachix-action@v12 name: 🧰 Cachix diff --git a/flake.lock b/flake.lock index 372a34323..452f1485d 100644 --- a/flake.lock +++ b/flake.lock @@ -304,11 +304,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1676247978, - "narHash": "sha256-XOjeKO5TaXa+n0MgTR1Nq7OtsaZ8vxtv99WsXX2fByU=", + "lastModified": 1676507482, + "narHash": "sha256-cR17G3RVgD73a+fPlIlbP8fvOfW+osLJFIAvGz+8250=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8a4a4aa08d2c5dec2823670caad2f92d8eaf9110", + "rev": "72c59b47139072e1e768b2896a8a874ae1e08efe", "type": "github" }, "original": { @@ -346,11 +346,11 @@ "tullia": "tullia" }, "locked": { - "lastModified": 1676249474, - "narHash": "sha256-3s7gN4brgZDvoTBV1QZ2EOG+it5fjX8RHD1GtUz5DIs=", + "lastModified": 1676556223, + "narHash": "sha256-rcB+Z7JS9gFOu+s9S8J2Ss/N1N5NhVM1qRf6oQjEZ1A=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "e69816366cb8246c6ef7435b0a8783632bff3cf6", + "rev": "cedc461a69179a18f75158fbb3045d21ebbfabc6", "type": "github" }, "original": { @@ -807,18 +807,18 @@ "haskellNix": "haskellNix", "nixpkgs": [ "haskellNix", - "nixpkgs-2211" + "nixpkgs-unstable" ] } }, "stackage": { "flake": false, "locked": { - "lastModified": 1676247058, - "narHash": "sha256-G26j8Aiy5N+3Bqcq1eFzPuCiXGuKgNThXPniJUurlYE=", + "lastModified": 1676419864, + "narHash": "sha256-gRQ6ZPFkueFiM/s0Gwc+6MC32skzaR78/U0erS8pjd0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "5cc102bee2c792b84df1d34a1146cf59001ef274", + "rev": "fcc80ab92acab030d0c7e7da0dacf0edd78af48e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index df618d2a9..da7531e7e 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { haskellNix.url = "github:input-output-hk/haskell.nix"; - nixpkgs.follows = "haskellNix/nixpkgs-2211"; + nixpkgs.follows = "haskellNix/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { From c8dbf4e160aafbd447ccf4a08590bc45e936bbd0 Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 16 Feb 2023 17:58:47 -0500 Subject: [PATCH 09/26] better cache? --- .github/workflows/artifacts-nix.yaml | 4 ++-- .github/workflows/cachix.yaml | 4 ++-- .github/workflows/ci-nix.yaml | 4 ++-- flake.nix | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/artifacts-nix.yaml b/.github/workflows/artifacts-nix.yaml index 8e64cbf35..e95eead17 100644 --- a/.github/workflows/artifacts-nix.yaml +++ b/.github/workflows/artifacts-nix.yaml @@ -26,8 +26,8 @@ jobs: with: nix_path: nixpkgs=channel:nixos-unstable extra_nix_config: | - substituters = https://cache.nixos.org https://cache.iog.io - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= + substituters = https://cache.nixos.org https://cache.iog.io https://cache.zw3rk.com + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk= - uses: cachix/cachix-action@v12 name: 🧰 Cachix diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml index 8d72d9e9e..c33a90fa2 100644 --- a/.github/workflows/cachix.yaml +++ b/.github/workflows/cachix.yaml @@ -23,8 +23,8 @@ jobs: with: nix_path: nixpkgs=channel:nixos-unstable extra_nix_config: | - substituters = https://cache.nixos.org https://cache.iog.io - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= + substituters = https://cache.nixos.org https://cache.iog.io https://cache.zw3rk.com + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk= - uses: cachix/cachix-action@v12 name: 🧰 Cachix diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 218acb7e8..2a473f07c 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -26,8 +26,8 @@ jobs: with: nix_path: nixpkgs=channel:nixos-unstable extra_nix_config: | - substituters = https://cache.nixos.org https://cache.iog.io - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= + substituters = https://cache.nixos.org https://cache.iog.io https://cache.zw3rk.com + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk= - uses: cachix/cachix-action@v12 name: 🧰 Cachix diff --git a/flake.nix b/flake.nix index da7531e7e..1197ab395 100644 --- a/flake.nix +++ b/flake.nix @@ -99,8 +99,8 @@ # This sets the flake to use the IOG nix cache. # Nix should ask for permission before using it, # but remove it here if you do not want it to. - extra-substituters = [ "https://cache.iog.io" ]; - extra-trusted-public-keys = [ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" ]; + extra-substituters = [ "https://cache.iog.io" "https://cache.zw3rk.com" ]; + extra-trusted-public-keys = [ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" "loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk=" ]; allow-import-from-derivation = "true"; }; } From 0274371bf9ccc7e971d26730acfb384cb33a521c Mon Sep 17 00:00:00 2001 From: James Walker Date: Fri, 17 Feb 2023 11:57:50 -0500 Subject: [PATCH 10/26] full haskell.nix --- flake.lock | 12 +++---- flake.nix | 85 ++++++++++++++++++++++++++---------------------- nix/commands.nix | 6 ++-- 3 files changed, 55 insertions(+), 48 deletions(-) diff --git a/flake.lock b/flake.lock index 452f1485d..8f9fe256d 100644 --- a/flake.lock +++ b/flake.lock @@ -304,11 +304,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1676507482, - "narHash": "sha256-cR17G3RVgD73a+fPlIlbP8fvOfW+osLJFIAvGz+8250=", + "lastModified": 1676593600, + "narHash": "sha256-xYJ8sESw1ftSmr5NIx1PGgIuXsFojDtkFncDGqULc6Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "72c59b47139072e1e768b2896a8a874ae1e08efe", + "rev": "d37d79f2f65e0d627f8681ef3ad426a48300224f", "type": "github" }, "original": { @@ -346,11 +346,11 @@ "tullia": "tullia" }, "locked": { - "lastModified": 1676556223, - "narHash": "sha256-rcB+Z7JS9gFOu+s9S8J2Ss/N1N5NhVM1qRf6oQjEZ1A=", + "lastModified": 1676614236, + "narHash": "sha256-VdneDIzroe3A9nOMguYcD0GyyOwvlX9QCnFmlni83Vw=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "cedc461a69179a18f75158fbb3045d21ebbfabc6", + "rev": "9c1c2218ef641a28e32b8c1d0a1c30f0a737308c", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1197ab395..b50fe1666 100644 --- a/flake.nix +++ b/flake.nix @@ -15,29 +15,45 @@ outputs = { self, nixpkgs, flake-utils, haskellNix, flake-compat }: flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: let + # Wrapper commands for convenience + commands = import ./nix/commands.nix; + server-path = "~/.local/bin/fission-server"; + tasks = commands { + inherit pkgs; + inherit server-path; + # inherit stack-wrapped; + }; + overlays = [ haskellNix.overlay (final: prev: { # This overlay adds our project to pkgs fission = - final.haskell-nix.project' { - src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; - compiler-nix-name = "ghc8107"; - stack-sha256 = "0z7k4jdpwc67vpcydf3gy3rd6v1i4qp0b0im2h3da2j2zbz59gz8"; - materialized = ./nix/materialized; - # checkMaterialization = true; + final.haskell-nix.project' + { + src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; + compiler-nix-name = "ghc8107"; + stack-sha256 = "0z7k4jdpwc67vpcydf3gy3rd6v1i4qp0b0im2h3da2j2zbz59gz8"; + materialized = ./nix/materialized; + # checkMaterialization = true; + + # NOTE: Currently handling devShells separately from haskell.nix + # + shell.tools = { + # cabal = "3.8.1.0"; + # hlint = "3.4.1"; + stack = "2.9.1"; + # Currently running into https://github.com/input-output-hk/haskell.nix/issues/1830 + # haskell-language-server = "1.9.0.0"; + }; + # Non-Haskell shell tools go here + shell.buildInputs = with pkgs; [ + cachix + nixpkgs-fmt + tasks + ]; - # NOTE: Currently handling devShells separately from haskell.nix - # - # shell.tools = { - # cabal = { }; - # hlint = { }; - # haskell-language-server = { }; - # }; - # Non-Haskell shell tools go here - # shell.buildInputs = with pkgs; [ - # ]; - }; + }; }) ]; pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; @@ -58,36 +74,27 @@ ''; }; - # Wrapper commands for convenience - commands = import ./nix/commands.nix; - server-path = "~/.local/bin/fission-server"; - tasks = commands { - inherit pkgs; - inherit server-path; - inherit stack-wrapped; - }; - # The default version of HLS (with binary cache) is built with GHC 9.0.1 # We can get this version working with our current set up, but it builds # from source (and takes a long time). # # The prebuilt package is marked as broken on aarch64-darwin - haskellPackages = pkgs.haskell.packages.ghc8107; + # haskellPackages = pkgs.haskell.packages.ghc8107; in flake // { # Dev Shell - devShells.default = pkgs.mkShell { - name = "fission"; - buildInputs = [ - stack-wrapped - haskellPackages.haskell-language-server - pkgs.cachix - pkgs.nixpkgs-fmt - pkgs.stylish-haskell - tasks - ]; - NIX_PATH = "nixpkgs=" + pkgs.path; - }; + # devShells.default = pkgs.mkShell { + # name = "fission"; + # buildInputs = [ + # stack-wrapped + # haskellPackages.haskell-language-server + # pkgs.cachix + # pkgs.nixpkgs-fmt + # pkgs.stylish-haskell + # tasks + # ]; + # NIX_PATH = "nixpkgs=" + pkgs.path; + # }; # Built by `nix build .` packages.default = flake.packages."fission-cli:exe:fission"; diff --git a/nix/commands.nix b/nix/commands.nix index 377f45e2e..5adfa15e5 100644 --- a/nix/commands.nix +++ b/nix/commands.nix @@ -1,11 +1,11 @@ -{ pkgs, stack-wrapped, server-path, ... }: +{ pkgs, server-path, ... }: let bash = "${pkgs.bash}/bin/bash"; cachix = "${pkgs.cachix}/bin/cachix"; git = "${pkgs.git}/bin/git"; killall = "${pkgs.killall}/bin/killall"; ssh = "${pkgs.openssh}/bin/ssh"; - stack = "${stack-wrapped}/bin/stack"; + stack = "${pkgs.stack}/bin/stack --nix"; figlet = "${pkgs.figlet}/bin/figlet"; lolcat = "${pkgs.lolcat}/bin/lolcat"; @@ -121,7 +121,7 @@ commands { ''; quality = cmd "Run the complete test suite" "${stack} test --test-arguments='--color=always'"; - repl = cmd "Enter the project REPL" "${stack} repl --no-nix-pure"; + repl = cmd "Enter the project REPL" "${stack} repl"; watch = cmd "Autobuild with file watcher" "${stack} build --file-watch"; ssh-staging = cmd "SSH into the staging environment" From 122e27c136c793464fc0c3e7b00d11d4e9253b34 Mon Sep 17 00:00:00 2001 From: James Walker Date: Fri, 17 Feb 2023 13:36:38 -0500 Subject: [PATCH 11/26] stack and cabal using nix (?) --- flake.nix | 21 +++++---------------- nix/commands.nix | 2 +- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/flake.nix b/flake.nix index b50fe1666..334b89fc8 100644 --- a/flake.nix +++ b/flake.nix @@ -40,12 +40,16 @@ # NOTE: Currently handling devShells separately from haskell.nix # shell.tools = { - # cabal = "3.8.1.0"; + cabal = "3.8.1.0"; # hlint = "3.4.1"; stack = "2.9.1"; # Currently running into https://github.com/input-output-hk/haskell.nix/issues/1830 # haskell-language-server = "1.9.0.0"; }; + + # From: https://github.com/input-output-hk/haskell.nix/issues/1759#issuecomment-1286299368 + shell.additional = ps: with ps; [ Cabal ]; + # Non-Haskell shell tools go here shell.buildInputs = with pkgs; [ cachix @@ -59,21 +63,6 @@ pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; flake = pkgs.fission.flake { }; - # Inspired by https://www.tweag.io/blog/2022-06-02-haskell-stack-nix-shell/ - stack-wrapped = pkgs.symlinkJoin { - name = "stack"; - paths = [ pkgs.stack ]; - buildInputs = [ pkgs.makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/stack \ - --add-flags "\ - --nix \ - --no-nix-pure \ - --nix-shell-file=nix/stack-integration.nix \ - " - ''; - }; - # The default version of HLS (with binary cache) is built with GHC 9.0.1 # We can get this version working with our current set up, but it builds # from source (and takes a long time). diff --git a/nix/commands.nix b/nix/commands.nix index 5adfa15e5..d2b24c80d 100644 --- a/nix/commands.nix +++ b/nix/commands.nix @@ -5,7 +5,7 @@ let git = "${pkgs.git}/bin/git"; killall = "${pkgs.killall}/bin/killall"; ssh = "${pkgs.openssh}/bin/ssh"; - stack = "${pkgs.stack}/bin/stack --nix"; + stack = "${pkgs.stack}/bin/stack --no-nix --system-ghc"; figlet = "${pkgs.figlet}/bin/figlet"; lolcat = "${pkgs.lolcat}/bin/lolcat"; From 71be18ac03da9e2b75ffcd0d6b426958a5048fb4 Mon Sep 17 00:00:00 2001 From: James Walker Date: Tue, 21 Feb 2023 17:11:25 -0500 Subject: [PATCH 12/26] clean up, use our own cache, etc --- flake.lock | 12 ++++++------ flake.nix | 25 ++----------------------- 2 files changed, 8 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 8f9fe256d..9b013b5a8 100644 --- a/flake.lock +++ b/flake.lock @@ -304,11 +304,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1676593600, - "narHash": "sha256-xYJ8sESw1ftSmr5NIx1PGgIuXsFojDtkFncDGqULc6Y=", + "lastModified": 1676939329, + "narHash": "sha256-sH7er/Yo+/VQfHT8QGtf6yKCB4wXH583iRUeOx7mlK4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d37d79f2f65e0d627f8681ef3ad426a48300224f", + "rev": "7971bb5abcb89e4bdb5988714a946f4d6f6fc57e", "type": "github" }, "original": { @@ -346,11 +346,11 @@ "tullia": "tullia" }, "locked": { - "lastModified": 1676614236, - "narHash": "sha256-VdneDIzroe3A9nOMguYcD0GyyOwvlX9QCnFmlni83Vw=", + "lastModified": 1676940699, + "narHash": "sha256-jlvZT0FD+ER8Uy0FVQYnuI9Xd5SAI/lr7s0lbDo3AMI=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "9c1c2218ef641a28e32b8c1d0a1c30f0a737308c", + "rev": "ddfd2714040015fd9862fb0b92f35e4522bf75df", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 334b89fc8..f63c4435f 100644 --- a/flake.nix +++ b/flake.nix @@ -62,29 +62,8 @@ ]; pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; flake = pkgs.fission.flake { }; - - # The default version of HLS (with binary cache) is built with GHC 9.0.1 - # We can get this version working with our current set up, but it builds - # from source (and takes a long time). - # - # The prebuilt package is marked as broken on aarch64-darwin - # haskellPackages = pkgs.haskell.packages.ghc8107; in flake // { - # Dev Shell - # devShells.default = pkgs.mkShell { - # name = "fission"; - # buildInputs = [ - # stack-wrapped - # haskellPackages.haskell-language-server - # pkgs.cachix - # pkgs.nixpkgs-fmt - # pkgs.stylish-haskell - # tasks - # ]; - # NIX_PATH = "nixpkgs=" + pkgs.path; - # }; - # Built by `nix build .` packages.default = flake.packages."fission-cli:exe:fission"; packages.fission-cli = flake.packages."fission-cli:exe:fission"; @@ -95,8 +74,8 @@ # This sets the flake to use the IOG nix cache. # Nix should ask for permission before using it, # but remove it here if you do not want it to. - extra-substituters = [ "https://cache.iog.io" "https://cache.zw3rk.com" ]; - extra-trusted-public-keys = [ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" "loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk=" ]; + extra-substituters = [ "https://cache.iog.io" "https://fission-codes.cachix.org" ]; + extra-trusted-public-keys = [ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" "fission-codes.cachix.org-1:z9T3OvxxngfRrx/TelcOzdnceJaCaqKQ0fby3GV1VFw=" ]; allow-import-from-derivation = "true"; }; } From ba0e8355a4c2a1a189f4e2d9cc15e1ccb969cfb7 Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 22 Feb 2023 07:24:37 -0500 Subject: [PATCH 13/26] unstable... is --- flake.lock | 2 +- flake.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.lock b/flake.lock index 9b013b5a8..1334b84d4 100644 --- a/flake.lock +++ b/flake.lock @@ -807,7 +807,7 @@ "haskellNix": "haskellNix", "nixpkgs": [ "haskellNix", - "nixpkgs-unstable" + "nixpkgs-2211" ] } }, diff --git a/flake.nix b/flake.nix index f63c4435f..64545d512 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { haskellNix.url = "github:input-output-hk/haskell.nix"; - nixpkgs.follows = "haskellNix/nixpkgs-unstable"; + nixpkgs.follows = "haskellNix/nixpkgs-2211"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { From 64eb03cc95faa1f6cb8ab5144b6739008b8beb67 Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 23 Feb 2023 16:40:35 -0500 Subject: [PATCH 14/26] rolling back to haskell.nix just for packages --- .github/workflows/artifacts-nix.yaml | 1 + .github/workflows/cachix.yaml | 6 +- .github/workflows/ci-nix.yaml | 6 +- flake.lock | 12 +-- flake.nix | 108 +++++++++++++++------------ 5 files changed, 75 insertions(+), 58 deletions(-) diff --git a/.github/workflows/artifacts-nix.yaml b/.github/workflows/artifacts-nix.yaml index e95eead17..dc951a4bb 100644 --- a/.github/workflows/artifacts-nix.yaml +++ b/.github/workflows/artifacts-nix.yaml @@ -8,6 +8,7 @@ on: jobs: stack: + if: false # I don't think we need this. name: 🖥️ ${{ matrix.os }} ❄️ Nix runs-on: ${{ matrix.os }} strategy: diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml index c33a90fa2..25e0d3520 100644 --- a/.github/workflows/cachix.yaml +++ b/.github/workflows/cachix.yaml @@ -21,10 +21,10 @@ jobs: - uses: cachix/install-nix-action@v19 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-unstable + nix_path: nixpkgs=channel:nixos-22.11 extra_nix_config: | - substituters = https://cache.nixos.org https://cache.iog.io https://cache.zw3rk.com - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk= + substituters = https://cache.nixos.org https://cache.iog.io + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= - uses: cachix/cachix-action@v12 name: 🧰 Cachix diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 2a473f07c..271ff9960 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -24,10 +24,10 @@ jobs: - uses: cachix/install-nix-action@v19 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-unstable + nix_path: nixpkgs=channel:nixos-22.11 extra_nix_config: | - substituters = https://cache.nixos.org https://cache.iog.io https://cache.zw3rk.com - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk= + substituters = https://cache.nixos.org https://cache.iog.io + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= - uses: cachix/cachix-action@v12 name: 🧰 Cachix diff --git a/flake.lock b/flake.lock index 1334b84d4..031321a34 100644 --- a/flake.lock +++ b/flake.lock @@ -304,11 +304,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1676939329, - "narHash": "sha256-sH7er/Yo+/VQfHT8QGtf6yKCB4wXH583iRUeOx7mlK4=", + "lastModified": 1677111946, + "narHash": "sha256-ZlDOjlQghoUedXrLDfNUlAWGK15E2pSy1WPJGsHQC2s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7971bb5abcb89e4bdb5988714a946f4d6f6fc57e", + "rev": "897c1249791993dec81a293f54c59fb2c9b68f17", "type": "github" }, "original": { @@ -346,11 +346,11 @@ "tullia": "tullia" }, "locked": { - "lastModified": 1676940699, - "narHash": "sha256-jlvZT0FD+ER8Uy0FVQYnuI9Xd5SAI/lr7s0lbDo3AMI=", + "lastModified": 1677137079, + "narHash": "sha256-aOGiKYnwOuR2FAoX4SfyW9RcHRUhtVhQCCzuwzj4pFY=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "ddfd2714040015fd9862fb0b92f35e4522bf75df", + "rev": "9bc8625f18ed1aa633f5f3a52ee03d1718eaeebe", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 64545d512..87eae5742 100644 --- a/flake.nix +++ b/flake.nix @@ -15,67 +15,83 @@ outputs = { self, nixpkgs, flake-utils, haskellNix, flake-compat }: flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: let - # Wrapper commands for convenience - commands = import ./nix/commands.nix; - server-path = "~/.local/bin/fission-server"; - tasks = commands { - inherit pkgs; - inherit server-path; - # inherit stack-wrapped; - }; - overlays = [ haskellNix.overlay (final: prev: { # This overlay adds our project to pkgs fission = - final.haskell-nix.project' - { - src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; - compiler-nix-name = "ghc8107"; - stack-sha256 = "0z7k4jdpwc67vpcydf3gy3rd6v1i4qp0b0im2h3da2j2zbz59gz8"; - materialized = ./nix/materialized; - # checkMaterialization = true; - - # NOTE: Currently handling devShells separately from haskell.nix - # - shell.tools = { - cabal = "3.8.1.0"; - # hlint = "3.4.1"; - stack = "2.9.1"; - # Currently running into https://github.com/input-output-hk/haskell.nix/issues/1830 - # haskell-language-server = "1.9.0.0"; - }; - - # From: https://github.com/input-output-hk/haskell.nix/issues/1759#issuecomment-1286299368 - shell.additional = ps: with ps; [ Cabal ]; + final.haskell-nix.project' { + src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; + compiler-nix-name = "ghc8107"; + stack-sha256 = "0z7k4jdpwc67vpcydf3gy3rd6v1i4qp0b0im2h3da2j2zbz59gz8"; + materialized = ./nix/materialized; + # checkMaterialization = true; - # Non-Haskell shell tools go here - shell.buildInputs = with pkgs; [ - cachix - nixpkgs-fmt - tasks - ]; - - }; + # NOTE: Currently handling devShells separately from haskell.nix + # + # shell.tools = { + # cabal = { }; + # hlint = { }; + # haskell-language-server = { }; + # }; + # Non-Haskell shell tools go here + # shell.buildInputs = with pkgs; [ + # ]; + }; }) ]; pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; flake = pkgs.fission.flake { }; + + # Inspired by https://www.tweag.io/blog/2022-06-02-haskell-stack-nix-shell/ + stack-wrapped = pkgs.symlinkJoin { + name = "stack"; + paths = [ pkgs.stack ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/stack \ + --add-flags "\ + --nix \ + --no-nix-pure \ + --nix-shell-file=nix/stack-integration.nix \ + " + ''; + }; + + # Wrapper commands for convenience + commands = import ./nix/commands.nix; + server-path = "~/.local/bin/fission-server"; + tasks = commands { + inherit pkgs; + inherit server-path; + inherit stack-wrapped; + }; + + # The default version of HLS (with binary cache) is built with GHC 9.0.1 + # We can get this version working with our current set up, but it builds + # from source (and takes a long time). + # + # The prebuilt package is marked as broken on aarch64-darwin + haskellPackages = pkgs.haskell.packages.ghc8107; in flake // { + # Dev Shell + devShells.default = pkgs.mkShell { + name = "fission"; + buildInputs = [ + stack-wrapped + haskellPackages.haskell-language-server + pkgs.cachix + pkgs.nixpkgs-fmt + pkgs.stylish-haskell + tasks + ]; + NIX_PATH = "nixpkgs=" + pkgs.path; + }; + # Built by `nix build .` packages.default = flake.packages."fission-cli:exe:fission"; packages.fission-cli = flake.packages."fission-cli:exe:fission"; packages.fission-server = flake.packages."fission-web-server:exe:fission-server"; }); - - nixConfig = { - # This sets the flake to use the IOG nix cache. - # Nix should ask for permission before using it, - # but remove it here if you do not want it to. - extra-substituters = [ "https://cache.iog.io" "https://fission-codes.cachix.org" ]; - extra-trusted-public-keys = [ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" "fission-codes.cachix.org-1:z9T3OvxxngfRrx/TelcOzdnceJaCaqKQ0fby3GV1VFw=" ]; - allow-import-from-derivation = "true"; - }; } From 524e8545dad464cb4e956af61613a3a15b8ad83b Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 23 Feb 2023 16:42:44 -0500 Subject: [PATCH 15/26] update native workflows --- .github/workflows/artifacts-native.yaml | 85 +++++++++++++------------ .github/workflows/ci-native.yaml | 45 ++++++------- 2 files changed, 66 insertions(+), 64 deletions(-) diff --git a/.github/workflows/artifacts-native.yaml b/.github/workflows/artifacts-native.yaml index e739164bb..737522a26 100644 --- a/.github/workflows/artifacts-native.yaml +++ b/.github/workflows/artifacts-native.yaml @@ -13,50 +13,51 @@ jobs: strategy: matrix: stack: - - "2.5.1" + - "2.9.1" ghc: - - "8.10.4" + - "8.10.7" os: - - macos-10.15 - - ubuntu-18.04 + - macos-11 + - macos-12 - ubuntu-20.04 + - ubuntu-22.04 steps: - - uses: actions/checkout@v2 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - - uses: haskell/actions/setup@v1 - name: 🧱 Set up Haskell Stack - with: - ghc-version: ${{ matrix.ghc }} - stack-version: ${{ matrix.stack }} - - - uses: actions/cache@v2 - name: 🗄️ Cache ~/.stack - with: - path: ~/.stack - key: ${{ matrix.os }}-${{ matrix.ghc }}-stack-native-4 - - - uses: ./.github/actions/secp256k1 - name: 📦 Build and install libsecp256k1 - - - name: 📦 Install dependencies - run: | - stack build --no-nix --only-dependencies - - - name: 🏗️ Build - run: | - stack build --no-nix - - - name: 🏺 Upload CLI Artifact - uses: actions/upload-artifact@v2 - with: - name: fission-cli-${{ matrix.os }} - path: ./.stack-work/**/bin/fission - - - name: 🏺 Upload Server Artifact - uses: actions/upload-artifact@v2 - with: - name: fission-server-${{ matrix.os }} - path: ./.stack-work/**/bin/fission-server + - uses: actions/checkout@v3 + name: 📤 Checkout + if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' + + - uses: haskell/actions/setup@v2 + name: 🧱 Set up Haskell Stack + with: + ghc-version: ${{ matrix.ghc }} + stack-version: ${{ matrix.stack }} + + - uses: actions/cache@v3 + name: 🗄️ Cache ~/.stack + with: + path: ~/.stack + key: ${{ matrix.os }}-${{ matrix.ghc }}-stack-native-4 + + - uses: ./.github/actions/secp256k1 + name: 📦 Build and install libsecp256k1 + + - name: 📦 Install dependencies + run: | + stack build --no-nix --only-dependencies + + - name: 🏗️ Build + run: | + stack build --no-nix + + - name: 🏺 Upload CLI Artifact + uses: actions/upload-artifact@v2 + with: + name: fission-cli-${{ matrix.os }} + path: ./.stack-work/**/bin/fission + + - name: 🏺 Upload Server Artifact + uses: actions/upload-artifact@v2 + with: + name: fission-server-${{ matrix.os }} + path: ./.stack-work/**/bin/fission-server diff --git a/.github/workflows/ci-native.yaml b/.github/workflows/ci-native.yaml index 4b5ca70f6..1fcfc1941 100644 --- a/.github/workflows/ci-native.yaml +++ b/.github/workflows/ci-native.yaml @@ -13,34 +13,35 @@ jobs: strategy: matrix: stack: - - "2.5.1" + - "2.9.1" ghc: - - "8.10.4" + - "8.10.7" os: - - macos-10.15 - - ubuntu-18.04 + - macos-11 + - macos-12 - ubuntu-20.04 + - ubuntu-22.04 steps: - - uses: actions/checkout@v2 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' + - uses: actions/checkout@v3 + name: 📤 Checkout + if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: ./.github/actions/secp256k1 - name: 📦 Build and install libsecp256k1 + - uses: ./.github/actions/secp256k1 + name: 📦 Build and install libsecp256k1 - - uses: haskell/actions/setup@v1 - name: 🧱 Set up Haskell Stack - with: - ghc-version: ${{ matrix.ghc }} - stack-version: ${{ matrix.stack }} + - uses: haskell/actions/setup@v2 + name: 🧱 Set up Haskell Stack + with: + ghc-version: ${{ matrix.ghc }} + stack-version: ${{ matrix.stack }} - - uses: actions/cache@v2 - name: 🗄️ Cache ~/.stack - with: - path: ~/.stack - key: ${{ matrix.os }}-${{ matrix.ghc }}-stack-ci-2 + - uses: actions/cache@v3 + name: 🗄️ Cache ~/.stack + with: + path: ~/.stack + key: ${{ matrix.os }}-${{ matrix.ghc }}-stack-ci-2 - - name: 🧪 Test - run: | - stack test --no-nix + - name: 🧪 Test + run: | + stack test --no-nix From c78a2a22f21adbb9568f96c26056eea742039b9d Mon Sep 17 00:00:00 2001 From: James Walker Date: Fri, 24 Feb 2023 15:23:17 -0500 Subject: [PATCH 16/26] fix CI (?) --- flake.lock | 20 ++++++++++---------- flake.nix | 2 +- nix/commands.nix | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 031321a34..c3a2eb6b0 100644 --- a/flake.lock +++ b/flake.lock @@ -304,11 +304,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1677111946, - "narHash": "sha256-ZlDOjlQghoUedXrLDfNUlAWGK15E2pSy1WPJGsHQC2s=", + "lastModified": 1677198346, + "narHash": "sha256-7Wxa8hIksIHRDzIJ0+koQzgpxa7QFMMW0LRfPQUlwUM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "897c1249791993dec81a293f54c59fb2c9b68f17", + "rev": "57af537387104296014b44104c7459473c4043e1", "type": "github" }, "original": { @@ -346,11 +346,11 @@ "tullia": "tullia" }, "locked": { - "lastModified": 1677137079, - "narHash": "sha256-aOGiKYnwOuR2FAoX4SfyW9RcHRUhtVhQCCzuwzj4pFY=", + "lastModified": 1677199863, + "narHash": "sha256-WDOBjeisGrAahi2u9+AjZkHIS70EouSHHaLZq3sGkro=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "9bc8625f18ed1aa633f5f3a52ee03d1718eaeebe", + "rev": "a970f7b508091935c6ee9b931ebcb086edd99203", "type": "github" }, "original": { @@ -807,18 +807,18 @@ "haskellNix": "haskellNix", "nixpkgs": [ "haskellNix", - "nixpkgs-2211" + "nixpkgs-unstable" ] } }, "stackage": { "flake": false, "locked": { - "lastModified": 1676419864, - "narHash": "sha256-gRQ6ZPFkueFiM/s0Gwc+6MC32skzaR78/U0erS8pjd0=", + "lastModified": 1677197430, + "narHash": "sha256-6B7i8OHDXhNAugIgyCR86xpvik8rY5yVEbZ1/lUq7tI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "fcc80ab92acab030d0c7e7da0dacf0edd78af48e", + "rev": "edbf9a66650560899643547ac7465aac0073395a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 87eae5742..369364812 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { haskellNix.url = "github:input-output-hk/haskell.nix"; - nixpkgs.follows = "haskellNix/nixpkgs-2211"; + nixpkgs.follows = "haskellNix/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { diff --git a/nix/commands.nix b/nix/commands.nix index d2b24c80d..530d5a4e3 100644 --- a/nix/commands.nix +++ b/nix/commands.nix @@ -1,11 +1,11 @@ -{ pkgs, server-path, ... }: +{ pkgs, stack-wrapped, server-path, ... }: let bash = "${pkgs.bash}/bin/bash"; cachix = "${pkgs.cachix}/bin/cachix"; git = "${pkgs.git}/bin/git"; killall = "${pkgs.killall}/bin/killall"; ssh = "${pkgs.openssh}/bin/ssh"; - stack = "${pkgs.stack}/bin/stack --no-nix --system-ghc"; + stack = "${stack-wrapped}/bin/stack"; figlet = "${pkgs.figlet}/bin/figlet"; lolcat = "${pkgs.lolcat}/bin/lolcat"; From 0b0438eea63309860cc1738be2d6f26183ea19d9 Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 6 Mar 2023 16:59:26 -0500 Subject: [PATCH 17/26] bump gha versions --- .github/workflows/cachix.yaml | 2 +- .github/workflows/ci-nix.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml index 25e0d3520..01ed0ce93 100644 --- a/.github/workflows/cachix.yaml +++ b/.github/workflows/cachix.yaml @@ -18,7 +18,7 @@ jobs: name: 📤 Checkout if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v19 + - uses: cachix/install-nix-action@v20 name: ❄️ Set up Nix with: nix_path: nixpkgs=channel:nixos-22.11 diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 271ff9960..ad3710018 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -21,7 +21,7 @@ jobs: name: 📤 Checkout if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v19 + - uses: cachix/install-nix-action@v20 name: ❄️ Set up Nix with: nix_path: nixpkgs=channel:nixos-22.11 @@ -35,7 +35,7 @@ jobs: name: fission-codes authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - uses: actions/cache@v2 + - uses: actions/cache@v3 name: 🗄️ Cache ~/.stack with: path: ~/.stack From 67315ca6a21fabc45c0d1309bfeb6dc2627b4a39 Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 27 Jul 2023 16:52:48 -0400 Subject: [PATCH 18/26] add an overlay --- flake.lock | 559 +++++++++-------------------------------------------- flake.nix | 157 +++++++-------- 2 files changed, 172 insertions(+), 544 deletions(-) diff --git a/flake.lock b/flake.lock index c3a2eb6b0..3fb621574 100644 --- a/flake.lock +++ b/flake.lock @@ -16,21 +16,6 @@ "type": "github" } }, - "blank": { - "locked": { - "lastModified": 1625557891, - "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", - "owner": "divnix", - "repo": "blank", - "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "blank", - "type": "github" - } - }, "cabal-32": { "flake": false, "locked": { @@ -98,64 +83,6 @@ "type": "github" } }, - "devshell": { - "inputs": { - "flake-utils": [ - "haskellNix", - "tullia", - "std", - "flake-utils" - ], - "nixpkgs": [ - "haskellNix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1663445644, - "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", - "owner": "numtide", - "repo": "devshell", - "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "dmerge": { - "inputs": { - "nixlib": [ - "haskellNix", - "tullia", - "std", - "nixpkgs" - ], - "yants": [ - "haskellNix", - "tullia", - "std", - "yants" - ] - }, - "locked": { - "lastModified": 1659548052, - "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", - "owner": "divnix", - "repo": "data-merge", - "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "data-merge", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -189,59 +116,16 @@ "type": "github" } }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-utils": { - "locked": { - "lastModified": 1676283394, - "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" + "inputs": { + "systems": "systems" }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "type": "github" }, "original": { @@ -250,17 +134,18 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_2": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", + "lastModified": 1679360468, + "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", + "owner": "hamishmack", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", "type": "github" }, "original": { - "owner": "numtide", + "owner": "hamishmack", + "ref": "hkm/nested-hydraJobs", "repo": "flake-utils", "type": "github" } @@ -282,33 +167,14 @@ "type": "github" } }, - "gomod2nix": { - "inputs": { - "nixpkgs": "nixpkgs_2", - "utils": "utils" - }, - "locked": { - "lastModified": 1655245309, - "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", - "owner": "tweag", - "repo": "gomod2nix", - "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", - "type": "github" - }, - "original": { - "owner": "tweag", - "repo": "gomod2nix", - "type": "github" - } - }, "hackage": { "flake": false, "locked": { - "lastModified": 1677198346, - "narHash": "sha256-7Wxa8hIksIHRDzIJ0+koQzgpxa7QFMMW0LRfPQUlwUM=", + "lastModified": 1690331094, + "narHash": "sha256-xGJlmbRruW61N0rEcFn2pRlpLnE1TCKvvyz2nytYzE4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "57af537387104296014b44104c7459473c4043e1", + "rev": "efc8a53a648a6a3b0973aaefc93ace7d0ddf198d", "type": "github" }, "original": { @@ -328,6 +194,8 @@ "flake-utils": "flake-utils_2", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", + "hls-1.10": "hls-1.10", + "hls-2.0": "hls-2.0", "hpc-coveralls": "hpc-coveralls", "hydra": "hydra", "iserv-proxy": "iserv-proxy", @@ -340,17 +208,17 @@ "nixpkgs-2111": "nixpkgs-2111", "nixpkgs-2205": "nixpkgs-2205", "nixpkgs-2211": "nixpkgs-2211", + "nixpkgs-2305": "nixpkgs-2305", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", - "stackage": "stackage", - "tullia": "tullia" + "stackage": "stackage" }, "locked": { - "lastModified": 1677199863, - "narHash": "sha256-WDOBjeisGrAahi2u9+AjZkHIS70EouSHHaLZq3sGkro=", + "lastModified": 1690332668, + "narHash": "sha256-GtrWrvYe5GlUH6adZjcs4Z0yEY+JrGBS2uentXjVNyI=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "a970f7b508091935c6ee9b931ebcb086edd99203", + "rev": "d9c1f82b37b4226eb22718b657bb80fe961f1cdf", "type": "github" }, "original": { @@ -359,6 +227,40 @@ "type": "github" } }, + "hls-1.10": { + "flake": false, + "locked": { + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "1.10.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.0": { + "flake": false, + "locked": { + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "783905f211ac63edf982dd1889c671653327e441", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.0.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, "hpc-coveralls": { "flake": false, "locked": { @@ -398,37 +300,14 @@ "type": "indirect" } }, - "incl": { - "inputs": { - "nixlib": [ - "haskellNix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1669263024, - "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", - "owner": "divnix", - "repo": "incl", - "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "incl", - "type": "github" - } - }, "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1670983692, - "narHash": "sha256-avLo34JnI9HNyOuauK5R69usJm+GfW3MlyGlYxZhTgY=", + "lastModified": 1688517130, + "narHash": "sha256-hUqfxSlo+ffqVdkSZ1EDoB7/ILCL25eYkcCXW9/P3Wc=", "ref": "hkm/remote-iserv", - "rev": "50d0abb3317ac439a4e7495b185a64af9b7b9300", - "revCount": 10, + "rev": "9151db2a9a61d7f5fe52ff8836f18bbd0fd8933c", + "revCount": 13, "type": "git", "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" }, @@ -454,35 +333,6 @@ "type": "github" } }, - "n2c": { - "inputs": { - "flake-utils": [ - "haskellNix", - "tullia", - "std", - "flake-utils" - ], - "nixpkgs": [ - "haskellNix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, "nix": { "inputs": { "lowdown-src": "lowdown-src", @@ -504,95 +354,6 @@ "type": "github" } }, - "nix-nomad": { - "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": [ - "haskellNix", - "tullia", - "nix2container", - "flake-utils" - ], - "gomod2nix": "gomod2nix", - "nixpkgs": [ - "haskellNix", - "tullia", - "nixpkgs" - ], - "nixpkgs-lib": [ - "haskellNix", - "tullia", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", - "type": "github" - }, - "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", - "type": "github" - } - }, - "nix2container": { - "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, - "nixago": { - "inputs": { - "flake-utils": [ - "haskellNix", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "haskellNix", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "haskellNix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixago", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1657693803, @@ -659,11 +420,11 @@ }, "nixpkgs-2205": { "locked": { - "lastModified": 1672580127, - "narHash": "sha256-3lW3xZslREhJogoOkjeZtlBtvFMyxHku7I/9IVehhT8=", + "lastModified": 1682600000, + "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0874168639713f547c05947c76124f78441ea46c", + "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", "type": "github" }, "original": { @@ -675,11 +436,11 @@ }, "nixpkgs-2211": { "locked": { - "lastModified": 1675730325, - "narHash": "sha256-uNvD7fzO5hNlltNQUAFBPlcEjNG5Gkbhl/ROiX+GZU4=", + "lastModified": 1685314633, + "narHash": "sha256-8LXBPqTQXl5ofkjpJ18JcbmLJ/lWDoMxtUwiDYv0wro=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b7ce17b1ebf600a72178f6302c77b6382d09323f", + "rev": "c8a17ce7abc03c50cd072e9e6c9b389c5f61836b", "type": "github" }, "original": { @@ -689,100 +450,54 @@ "type": "github" } }, - "nixpkgs-regression": { + "nixpkgs-2305": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1685338297, + "narHash": "sha256-+Aq4O0Jn1W1q927ZHc3Zn6RO7bwQGmb6O8xYoGy0KrM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "6287b47dbfabbb8bfbb9b1b53d198ad58a774de4", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1675758091, - "narHash": "sha256-7gFSQbSVAFUHtGCNHPF7mPc5CcqDk9M2+inlVPZSneg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "747927516efcb5e31ba03b7ff32f61f6d47e7d87", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { + "nixpkgs-regression": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs_3": { + "nixpkgs-unstable": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1685347552, + "narHash": "sha256-9woSppRyUFo26yUffORTzttJ+apOt8MmCv6RxpPNTU4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "f2f1ec390714d303cf84ba086e34e45b450dd8c4", "type": "github" }, "original": { "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", - "type": "github" - }, - "original": { - "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nosys": { - "locked": { - "lastModified": 1667881534, - "narHash": "sha256-FhwJ15uPLRsvaxtt/bNuqE/ykMpNAPF0upozFKhTtXM=", - "owner": "divnix", - "repo": "nosys", - "rev": "2d0d5207f6a230e9d0f660903f8db9807b54814f", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "nosys", - "type": "github" - } - }, "old-ghc-nix": { "flake": false, "locked": { @@ -814,11 +529,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1677197430, - "narHash": "sha256-6B7i8OHDXhNAugIgyCR86xpvik8rY5yVEbZ1/lUq7tI=", + "lastModified": 1690330226, + "narHash": "sha256-ApHKqIP/Ubi92lZ0fp8EwiVdM7cejhYA4Hd5Zf8b7d8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "edbf9a66650560899643547ac7465aac0073395a", + "rev": "22fbccd7b46469e9405a7c035b8f83682d9c68f1", "type": "github" }, "original": { @@ -827,110 +542,18 @@ "type": "github" } }, - "std": { - "inputs": { - "arion": [ - "haskellNix", - "tullia", - "std", - "blank" - ], - "blank": "blank", - "devshell": "devshell", - "dmerge": "dmerge", - "flake-utils": "flake-utils_4", - "incl": "incl", - "makes": [ - "haskellNix", - "tullia", - "std", - "blank" - ], - "microvm": [ - "haskellNix", - "tullia", - "std", - "blank" - ], - "n2c": "n2c", - "nixago": "nixago", - "nixpkgs": "nixpkgs_4", - "nosys": "nosys", - "yants": "yants" - }, - "locked": { - "lastModified": 1674526466, - "narHash": "sha256-tMTaS0bqLx6VJ+K+ZT6xqsXNpzvSXJTmogkraBGzymg=", - "owner": "divnix", - "repo": "std", - "rev": "516387e3d8d059b50e742a2ff1909ed3c8f82826", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "std", - "type": "github" - } - }, - "tullia": { - "inputs": { - "nix-nomad": "nix-nomad", - "nix2container": "nix2container", - "nixpkgs": [ - "haskellNix", - "nixpkgs" - ], - "std": "std" - }, - "locked": { - "lastModified": 1675695930, - "narHash": "sha256-B7rEZ/DBUMlK1AcJ9ajnAPPxqXY6zW2SBX+51bZV0Ac=", - "owner": "input-output-hk", - "repo": "tullia", - "rev": "621365f2c725608f381b3ad5b57afef389fd4c31", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "tullia", - "type": "github" - } - }, - "utils": { - "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "yants": { - "inputs": { - "nixpkgs": [ - "haskellNix", - "tullia", - "std", - "nixpkgs" - ] - }, + "systems": { "locked": { - "lastModified": 1667096281, - "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", - "owner": "divnix", - "repo": "yants", - "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "divnix", - "repo": "yants", + "owner": "nix-systems", + "repo": "default", "type": "github" } } diff --git a/flake.nix b/flake.nix index 369364812..7cdc611e0 100644 --- a/flake.nix +++ b/flake.nix @@ -13,85 +13,90 @@ }; outputs = { self, nixpkgs, flake-utils, haskellNix, flake-compat }: - flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: - let - overlays = [ - haskellNix.overlay - (final: prev: { - # This overlay adds our project to pkgs - fission = - final.haskell-nix.project' { - src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; - compiler-nix-name = "ghc8107"; - stack-sha256 = "0z7k4jdpwc67vpcydf3gy3rd6v1i4qp0b0im2h3da2j2zbz59gz8"; - materialized = ./nix/materialized; - # checkMaterialization = true; + flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] + (system: + let + overlays = [ + haskellNix.overlay + (final: prev: { + # This overlay adds our project to pkgs + fission = + final.haskell-nix.project' { + src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; + compiler-nix-name = "ghc8107"; + stack-sha256 = "0z7k4jdpwc67vpcydf3gy3rd6v1i4qp0b0im2h3da2j2zbz59gz8"; + materialized = ./nix/materialized; + # checkMaterialization = true; - # NOTE: Currently handling devShells separately from haskell.nix - # - # shell.tools = { - # cabal = { }; - # hlint = { }; - # haskell-language-server = { }; - # }; - # Non-Haskell shell tools go here - # shell.buildInputs = with pkgs; [ - # ]; - }; - }) - ]; - pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; - flake = pkgs.fission.flake { }; + # NOTE: Currently handling devShells separately from haskell.nix + # + # shell.tools = { + # cabal = { }; + # hlint = { }; + # haskell-language-server = { }; + # }; + # Non-Haskell shell tools go here + # shell.buildInputs = with pkgs; [ + # ]; + }; + }) + ]; + pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; + flake = pkgs.fission.flake { }; - # Inspired by https://www.tweag.io/blog/2022-06-02-haskell-stack-nix-shell/ - stack-wrapped = pkgs.symlinkJoin { - name = "stack"; - paths = [ pkgs.stack ]; - buildInputs = [ pkgs.makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/stack \ - --add-flags "\ - --nix \ - --no-nix-pure \ - --nix-shell-file=nix/stack-integration.nix \ - " - ''; - }; + # Inspired by https://www.tweag.io/blog/2022-06-02-haskell-stack-nix-shell/ + stack-wrapped = pkgs.symlinkJoin { + name = "stack"; + paths = [ pkgs.stack ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/stack \ + --add-flags "\ + --nix \ + --no-nix-pure \ + --nix-shell-file=nix/stack-integration.nix \ + " + ''; + }; - # Wrapper commands for convenience - commands = import ./nix/commands.nix; - server-path = "~/.local/bin/fission-server"; - tasks = commands { - inherit pkgs; - inherit server-path; - inherit stack-wrapped; - }; + # Wrapper commands for convenience + commands = import ./nix/commands.nix; + server-path = "~/.local/bin/fission-server"; + tasks = commands { + inherit pkgs; + inherit server-path; + inherit stack-wrapped; + }; - # The default version of HLS (with binary cache) is built with GHC 9.0.1 - # We can get this version working with our current set up, but it builds - # from source (and takes a long time). - # - # The prebuilt package is marked as broken on aarch64-darwin - haskellPackages = pkgs.haskell.packages.ghc8107; - in - flake // { - # Dev Shell - devShells.default = pkgs.mkShell { - name = "fission"; - buildInputs = [ - stack-wrapped - haskellPackages.haskell-language-server - pkgs.cachix - pkgs.nixpkgs-fmt - pkgs.stylish-haskell - tasks - ]; - NIX_PATH = "nixpkgs=" + pkgs.path; - }; + # The default version of HLS (with binary cache) is built with GHC 9.0.1 + # We can get this version working with our current set up, but it builds + # from source (and takes a long time). + # + # The prebuilt package is marked as broken on aarch64-darwin + haskellPackages = pkgs.haskell.packages.ghc8107; + in + flake // { + # Dev Shell + devShells.default = pkgs.mkShell { + name = "fission"; + buildInputs = [ + stack-wrapped + haskellPackages.haskell-language-server + pkgs.cachix + pkgs.nixpkgs-fmt + pkgs.stylish-haskell + tasks + ]; + NIX_PATH = "nixpkgs=" + pkgs.path; + }; - # Built by `nix build .` - packages.default = flake.packages."fission-cli:exe:fission"; - packages.fission-cli = flake.packages."fission-cli:exe:fission"; - packages.fission-server = flake.packages."fission-web-server:exe:fission-server"; - }); + # Built by `nix build .` + packages.default = flake.packages."fission-cli:exe:fission"; + packages.fission-cli = flake.packages."fission-cli:exe:fission"; + packages.fission-server = flake.packages."fission-web-server:exe:fission-server"; + }) // { + overlays.default = final: prev: { + inherit (self.packages.${prev.system}) fission-cli fission-server; + }; + }; } From e4f7f4f71303b9df3b4596eafdaac35ef920310e Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 27 Jul 2023 16:57:19 -0400 Subject: [PATCH 19/26] bump install-nix-action --- .github/workflows/ci-nix.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index ad3710018..243e1dd9e 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -21,10 +21,10 @@ jobs: name: 📤 Checkout if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v20 + - uses: cachix/install-nix-action@v22 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-22.11 + nix_path: nixpkgs=channel:nixos-23.05 extra_nix_config: | substituters = https://cache.nixos.org https://cache.iog.io trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= From 44f375dd307673010f7086510b6b67886a620f1f Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 27 Jul 2023 17:43:57 -0400 Subject: [PATCH 20/26] more updates --- .github/workflows/cachix.yaml | 3 +-- .github/workflows/ci-nix.yaml | 1 - flake.lock | 18 +++++++++--------- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml index 01ed0ce93..8ba11cf75 100644 --- a/.github/workflows/cachix.yaml +++ b/.github/workflows/cachix.yaml @@ -18,10 +18,9 @@ jobs: name: 📤 Checkout if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: cachix/install-nix-action@v20 + - uses: cachix/install-nix-action@v22 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-22.11 extra_nix_config: | substituters = https://cache.nixos.org https://cache.iog.io trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 243e1dd9e..7459d80ea 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -24,7 +24,6 @@ jobs: - uses: cachix/install-nix-action@v22 name: ❄️ Set up Nix with: - nix_path: nixpkgs=channel:nixos-23.05 extra_nix_config: | substituters = https://cache.nixos.org https://cache.iog.io trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= diff --git a/flake.lock b/flake.lock index 3fb621574..248301dc5 100644 --- a/flake.lock +++ b/flake.lock @@ -170,11 +170,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1690331094, - "narHash": "sha256-xGJlmbRruW61N0rEcFn2pRlpLnE1TCKvvyz2nytYzE4=", + "lastModified": 1690417628, + "narHash": "sha256-3sBLEKjNN8SwiugswBSaYW31FtCwhbIY50ThJ+kFSks=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "efc8a53a648a6a3b0973aaefc93ace7d0ddf198d", + "rev": "cc909ca55279b8c10f8a26982548381977cdd014", "type": "github" }, "original": { @@ -214,11 +214,11 @@ "stackage": "stackage" }, "locked": { - "lastModified": 1690332668, - "narHash": "sha256-GtrWrvYe5GlUH6adZjcs4Z0yEY+JrGBS2uentXjVNyI=", + "lastModified": 1690419091, + "narHash": "sha256-f5x8PNvWKeQXOOh5FWa57RyBf+IZVm5H25aGasrBDQI=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "d9c1f82b37b4226eb22718b657bb80fe961f1cdf", + "rev": "228fede8816459e021acfbd735136f423b1af42a", "type": "github" }, "original": { @@ -529,11 +529,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1690330226, - "narHash": "sha256-ApHKqIP/Ubi92lZ0fp8EwiVdM7cejhYA4Hd5Zf8b7d8=", + "lastModified": 1690416562, + "narHash": "sha256-8EWYStl70boiGC812A0bKyf1V3oY6gYi97oE/05IA4o=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "22fbccd7b46469e9405a7c035b8f83682d9c68f1", + "rev": "736a930f1d8cc3d2b8a19ee54f046ca5a9923d66", "type": "github" }, "original": { From d93b2912bc434c63ebaf2bd6cd871b0d9ed5d6d9 Mon Sep 17 00:00:00 2001 From: James Walker Date: Tue, 3 Oct 2023 11:39:30 -0400 Subject: [PATCH 21/26] use 23.05 clean up gha --- .github/workflows/ci-nix.yaml | 28 ++---- flake.lock | 156 +++++++++++++++++++++++----------- flake.nix | 12 ++- 3 files changed, 125 insertions(+), 71 deletions(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 7459d80ea..fe9e4b5ab 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -13,33 +13,21 @@ jobs: strategy: matrix: os: - - macos-latest - ubuntu-latest - + - macos-latest-xlarge steps: - uses: actions/checkout@v3 name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - - uses: cachix/install-nix-action@v22 - name: ❄️ Set up Nix - with: - extra_nix_config: | - substituters = https://cache.nixos.org https://cache.iog.io - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= - + - uses: DeterminateSystems/nix-installer-action@main + name: ❄️ Set up Nix + - uses: DeterminateSystems/magic-nix-cache-action@main - uses: cachix/cachix-action@v12 name: 🧰 Cachix with: name: fission-codes authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - - uses: actions/cache@v3 - name: 🗄️ Cache ~/.stack - with: - path: ~/.stack - key: ${{ matrix.os }}-stack-nix-${{ hashFiles('stack.yaml.lock', 'flake.lock') }} - - - name: 🧪 Test + - name: 👷 Build run: | - nix-shell --command quality + nix develop + nix build .#fission-cli + nix build .#fission-server diff --git a/flake.lock b/flake.lock index 248301dc5..72abba9e2 100644 --- a/flake.lock +++ b/flake.lock @@ -86,11 +86,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696267196, + "narHash": "sha256-AAQ/2sD+0D18bb8hKuEEVpHUYD1GmO2Uh/taFamn6XQ=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "4f910c9827911b1ec2bf26b5a062cd09f8d89f85", "type": "github" }, "original": { @@ -121,11 +121,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -134,22 +134,6 @@ "type": "github" } }, - "flake-utils_2": { - "locked": { - "lastModified": 1679360468, - "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", - "owner": "hamishmack", - "repo": "flake-utils", - "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", - "type": "github" - }, - "original": { - "owner": "hamishmack", - "ref": "hkm/nested-hydraJobs", - "repo": "flake-utils", - "type": "github" - } - }, "ghc-8.6.5-iohk": { "flake": false, "locked": { @@ -167,14 +151,51 @@ "type": "github" } }, + "ghc980": { + "flake": false, + "locked": { + "lastModified": 1692910316, + "narHash": "sha256-Qv8I3GzzIIN32RTEKI38BW5nO1f7j6Xm+dDeDUyYZWo=", + "ref": "ghc-9.8", + "rev": "249aa8193e4c5c1ee46ce29b39d2fffa57de7904", + "revCount": 61566, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "ref": "ghc-9.8", + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc99": { + "flake": false, + "locked": { + "lastModified": 1695427505, + "narHash": "sha256-j0hXl6uEI+Uwf37z3WLuQZN4S0XqGtiepELv2Gl2aHU=", + "ref": "refs/heads/master", + "rev": "b8e4fe2318798185228fb5f8214ba2384ac95b4f", + "revCount": 61951, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, "hackage": { "flake": false, "locked": { - "lastModified": 1690417628, - "narHash": "sha256-3sBLEKjNN8SwiugswBSaYW31FtCwhbIY50ThJ+kFSks=", + "lastModified": 1696206172, + "narHash": "sha256-LqdVPNF4F7aAkNEM7otBI7/pKSIDT6M1MJ+7ZUhyAyU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cc909ca55279b8c10f8a26982548381977cdd014", + "rev": "fc83d6b2053eab42033efe2aa72f4ab76aff7fad", "type": "github" }, "original": { @@ -191,11 +212,14 @@ "cabal-36": "cabal-36", "cardano-shell": "cardano-shell", "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "ghc980": "ghc980", + "ghc99": "ghc99", "hackage": "hackage", "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", + "hls-2.2": "hls-2.2", + "hls-2.3": "hls-2.3", "hpc-coveralls": "hpc-coveralls", "hydra": "hydra", "iserv-proxy": "iserv-proxy", @@ -214,11 +238,11 @@ "stackage": "stackage" }, "locked": { - "lastModified": 1690419091, - "narHash": "sha256-f5x8PNvWKeQXOOh5FWa57RyBf+IZVm5H25aGasrBDQI=", + "lastModified": 1696239148, + "narHash": "sha256-mM5CdPfJLzjb4IGUPjh3U6SwGOk3Zunhvu8KbMuW1uk=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "228fede8816459e021acfbd735136f423b1af42a", + "rev": "54adb7f62dde7f12aee4ee371aea435928f5af00", "type": "github" }, "original": { @@ -261,6 +285,40 @@ "type": "github" } }, + "hls-2.2": { + "flake": false, + "locked": { + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.2.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.3": { + "flake": false, + "locked": { + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hpc-coveralls": { "flake": false, "locked": { @@ -303,11 +361,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1688517130, - "narHash": "sha256-hUqfxSlo+ffqVdkSZ1EDoB7/ILCL25eYkcCXW9/P3Wc=", + "lastModified": 1691634696, + "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", "ref": "hkm/remote-iserv", - "rev": "9151db2a9a61d7f5fe52ff8836f18bbd0fd8933c", - "revCount": 13, + "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", + "revCount": 14, "type": "git", "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" }, @@ -420,11 +478,11 @@ }, "nixpkgs-2205": { "locked": { - "lastModified": 1682600000, - "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { @@ -436,11 +494,11 @@ }, "nixpkgs-2211": { "locked": { - "lastModified": 1685314633, - "narHash": "sha256-8LXBPqTQXl5ofkjpJ18JcbmLJ/lWDoMxtUwiDYv0wro=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c8a17ce7abc03c50cd072e9e6c9b389c5f61836b", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { @@ -452,11 +510,11 @@ }, "nixpkgs-2305": { "locked": { - "lastModified": 1685338297, - "narHash": "sha256-+Aq4O0Jn1W1q927ZHc3Zn6RO7bwQGmb6O8xYoGy0KrM=", + "lastModified": 1695416179, + "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6287b47dbfabbb8bfbb9b1b53d198ad58a774de4", + "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", "type": "github" }, "original": { @@ -484,11 +542,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1685347552, - "narHash": "sha256-9woSppRyUFo26yUffORTzttJ+apOt8MmCv6RxpPNTU4=", + "lastModified": 1695318763, + "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f2f1ec390714d303cf84ba086e34e45b450dd8c4", + "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", "type": "github" }, "original": { @@ -522,18 +580,18 @@ "haskellNix": "haskellNix", "nixpkgs": [ "haskellNix", - "nixpkgs-unstable" + "nixpkgs-2305" ] } }, "stackage": { "flake": false, "locked": { - "lastModified": 1690416562, - "narHash": "sha256-8EWYStl70boiGC812A0bKyf1V3oY6gYi97oE/05IA4o=", + "lastModified": 1696205369, + "narHash": "sha256-3+WGDoBOE21+cTFU6f+zdV9a0ptvVya96oY7QRxUiW0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "736a930f1d8cc3d2b8a19ee54f046ca5a9923d66", + "rev": "bb023369b3977a66e748310b6604894794a37e38", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 7cdc611e0..15cc5e19a 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { haskellNix.url = "github:input-output-hk/haskell.nix"; - nixpkgs.follows = "haskellNix/nixpkgs-unstable"; + nixpkgs.follows = "haskellNix/nixpkgs-2305"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { @@ -12,7 +12,7 @@ }; }; - outputs = { self, nixpkgs, flake-utils, haskellNix, flake-compat }: + outputs = { self, nixpkgs, flake-utils, haskellNix, ... }: flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: let @@ -99,4 +99,12 @@ inherit (self.packages.${prev.system}) fission-cli fission-server; }; }; + + nixConfig = { + extra-substituters = [ "https://fission-codes.cachix.org" "https://cache.iog.io" ]; + extra-trusted-public-keys = [ + "fission-codes.cachix.org-1:z9T3OvxxngfRrx/TelcOzdnceJaCaqKQ0fby3GV1VFw=" + "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" + ]; + }; } From 6e261d214f4d8b7e75ede04922d4afc76d4bdbfa Mon Sep 17 00:00:00 2001 From: James Walker Date: Tue, 3 Oct 2023 11:41:32 -0400 Subject: [PATCH 22/26] gha cleanup --- .github/workflows/artifacts-nix.yaml | 59 ---------------------------- .github/workflows/cachix.yaml | 35 ----------------- .github/workflows/ci-nix.yaml | 3 +- 3 files changed, 1 insertion(+), 96 deletions(-) delete mode 100644 .github/workflows/artifacts-nix.yaml delete mode 100644 .github/workflows/cachix.yaml diff --git a/.github/workflows/artifacts-nix.yaml b/.github/workflows/artifacts-nix.yaml deleted file mode 100644 index dc951a4bb..000000000 --- a/.github/workflows/artifacts-nix.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: 🏺 Artifacts (Nix) - -# Trigger the workflow on push or pull request, but only for the main branch -on: - pull_request: - push: - branches: [main] - -jobs: - stack: - if: false # I don't think we need this. - name: 🖥️ ${{ matrix.os }} ❄️ Nix - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - macos-latest - - ubuntu-latest - - steps: - - uses: actions/checkout@v3 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - - uses: cachix/install-nix-action@v19 - name: ❄️ Set up Nix - with: - nix_path: nixpkgs=channel:nixos-unstable - extra_nix_config: | - substituters = https://cache.nixos.org https://cache.iog.io https://cache.zw3rk.com - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk= - - - uses: cachix/cachix-action@v12 - name: 🧰 Cachix - with: - name: fission-codes - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - - uses: actions/cache@v2 - name: 🗄️ Cache ~/.stack - with: - path: ~/.stack - key: ${{ matrix.os }}-stack-nix-${{ hashFiles('stack.yaml.lock', 'flake.lock') }} - - - name: 🏗️ Build - run: | - nix-shell --command build - - - name: 🏺 Upload CLI Artifact - uses: actions/upload-artifact@v2 - with: - name: fission-cli-${{ matrix.os }}-nix - path: ./.stack-work/**/*-nix/**/bin/fission - - - name: 🏺 Upload Server Artifact - uses: actions/upload-artifact@v2 - with: - name: fission-server-${{ matrix.os }}-nix - path: ./.stack-work/**/*-nix/**/bin/fission-server diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml deleted file mode 100644 index 8ba11cf75..000000000 --- a/.github/workflows/cachix.yaml +++ /dev/null @@ -1,35 +0,0 @@ -name: 🧰 Cachix -on: - pull_request: - push: - branches: [main] -jobs: - cachix: - name: 🖥️ ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - macos-latest - - ubuntu-latest - - steps: - - uses: actions/checkout@v3 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - - uses: cachix/install-nix-action@v22 - name: ❄️ Set up Nix - with: - extra_nix_config: | - substituters = https://cache.nixos.org https://cache.iog.io - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= - - - uses: cachix/cachix-action@v12 - name: 🧰 Cachix - with: - name: fission-codes - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - - name: 🏗️ Build - run: nix build --accept-flake-config -L '.#fission-cli' '.#fission-server' diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index fe9e4b5ab..cb425bf2e 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -1,4 +1,4 @@ -name: 🧪 Tests (Nix) +name: ❄️ Nix Build # Trigger the workflow on push or pull request, but only for the main branch on: @@ -14,7 +14,6 @@ jobs: matrix: os: - ubuntu-latest - - macos-latest-xlarge steps: - uses: actions/checkout@v3 name: 📤 Checkout From 3c48dd31a0352dc064e2bb44e9f1dfa806211af6 Mon Sep 17 00:00:00 2001 From: James Walker Date: Tue, 3 Oct 2023 13:54:07 -0400 Subject: [PATCH 23/26] accept flake config --- .github/workflows/ci-nix.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index cb425bf2e..414afcac0 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -27,6 +27,6 @@ jobs: authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - name: 👷 Build run: | - nix develop + nix develop --accept-flake-config nix build .#fission-cli nix build .#fission-server From e5bbb76dbedbd0adc64fe43e856abbd686fc603c Mon Sep 17 00:00:00 2001 From: James Walker Date: Tue, 3 Oct 2023 14:36:27 -0400 Subject: [PATCH 24/26] just build packages --- .github/workflows/ci-nix.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 414afcac0..67a50847f 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -27,6 +27,5 @@ jobs: authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - name: 👷 Build run: | - nix develop --accept-flake-config - nix build .#fission-cli - nix build .#fission-server + nix build .#fission-cli --accept-flake-config + nix build .#fission-server --accept-flake-config From db4a7785c50b79e8b8061cf689ab0de14660c12b Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 14 Feb 2024 15:58:21 -0500 Subject: [PATCH 25/26] update flakes --- flake.lock | 153 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 121 insertions(+), 32 deletions(-) diff --git a/flake.lock b/flake.lock index 72abba9e2..f3bfdc5fc 100644 --- a/flake.lock +++ b/flake.lock @@ -86,11 +86,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696267196, - "narHash": "sha256-AAQ/2sD+0D18bb8hKuEEVpHUYD1GmO2Uh/taFamn6XQ=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "4f910c9827911b1ec2bf26b5a062cd09f8d89f85", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -121,11 +121,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -151,14 +151,14 @@ "type": "github" } }, - "ghc980": { + "ghc98X": { "flake": false, "locked": { - "lastModified": 1692910316, - "narHash": "sha256-Qv8I3GzzIIN32RTEKI38BW5nO1f7j6Xm+dDeDUyYZWo=", + "lastModified": 1696643148, + "narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=", "ref": "ghc-9.8", - "rev": "249aa8193e4c5c1ee46ce29b39d2fffa57de7904", - "revCount": 61566, + "rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6", + "revCount": 61642, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" @@ -173,11 +173,11 @@ "ghc99": { "flake": false, "locked": { - "lastModified": 1695427505, - "narHash": "sha256-j0hXl6uEI+Uwf37z3WLuQZN4S0XqGtiepELv2Gl2aHU=", + "lastModified": 1701580282, + "narHash": "sha256-drA01r3JrXnkKyzI+owMZGxX0JameMzjK0W5jJE/+V4=", "ref": "refs/heads/master", - "rev": "b8e4fe2318798185228fb5f8214ba2384ac95b4f", - "revCount": 61951, + "rev": "f5eb0f2982e9cf27515e892c4bdf634bcfb28459", + "revCount": 62197, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" @@ -191,11 +191,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1696206172, - "narHash": "sha256-LqdVPNF4F7aAkNEM7otBI7/pKSIDT6M1MJ+7ZUhyAyU=", + "lastModified": 1707870123, + "narHash": "sha256-pOvz6uuPYw3CiPgi63QhNYumoKeyzDh9JOkLDngGWsE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fc83d6b2053eab42033efe2aa72f4ab76aff7fad", + "rev": "75345eba5d4159e6f54cbdc38785d1e0d0e655e0", "type": "github" }, "original": { @@ -213,16 +213,20 @@ "cardano-shell": "cardano-shell", "flake-compat": "flake-compat_2", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", - "ghc980": "ghc980", + "ghc98X": "ghc98X", "ghc99": "ghc99", "hackage": "hackage", "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", "hls-2.2": "hls-2.2", "hls-2.3": "hls-2.3", + "hls-2.4": "hls-2.4", + "hls-2.5": "hls-2.5", + "hls-2.6": "hls-2.6", "hpc-coveralls": "hpc-coveralls", "hydra": "hydra", "iserv-proxy": "iserv-proxy", + "nix-tools-static": "nix-tools-static", "nixpkgs": [ "haskellNix", "nixpkgs-unstable" @@ -233,16 +237,17 @@ "nixpkgs-2205": "nixpkgs-2205", "nixpkgs-2211": "nixpkgs-2211", "nixpkgs-2305": "nixpkgs-2305", + "nixpkgs-2311": "nixpkgs-2311", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" }, "locked": { - "lastModified": 1696239148, - "narHash": "sha256-mM5CdPfJLzjb4IGUPjh3U6SwGOk3Zunhvu8KbMuW1uk=", + "lastModified": 1707876653, + "narHash": "sha256-hsj9chw/cy9h8XuxQkxnfFR22Ek8xEm33aON2+TcUaI=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "54adb7f62dde7f12aee4ee371aea435928f5af00", + "rev": "d1a608f84c9ed00ceca8571b253e79f67a1ae2d6", "type": "github" }, "original": { @@ -319,6 +324,57 @@ "type": "github" } }, + "hls-2.4": { + "flake": false, + "locked": { + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.5": { + "flake": false, + "locked": { + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.6": { + "flake": false, + "locked": { + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hpc-coveralls": { "flake": false, "locked": { @@ -412,6 +468,23 @@ "type": "github" } }, + "nix-tools-static": { + "flake": false, + "locked": { + "lastModified": 1706266250, + "narHash": "sha256-9t+GRk3eO9muCtKdNAwBtNBZ5dH1xHcnS17WaQyftwA=", + "owner": "input-output-hk", + "repo": "haskell-nix-example", + "rev": "580cb6db546a7777dad3b9c0fa487a366c045c4e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "nix", + "repo": "haskell-nix-example", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1657693803, @@ -510,11 +583,11 @@ }, "nixpkgs-2305": { "locked": { - "lastModified": 1695416179, - "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", "type": "github" }, "original": { @@ -524,6 +597,22 @@ "type": "github" } }, + "nixpkgs-2311": { + "locked": { + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -542,17 +631,17 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1695318763, - "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, @@ -587,11 +676,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1696205369, - "narHash": "sha256-3+WGDoBOE21+cTFU6f+zdV9a0ptvVya96oY7QRxUiW0=", + "lastModified": 1707782972, + "narHash": "sha256-kJMGCvGbkYUM1XYubcYpeOTvsNSW2UAU+5xtR3mSV3A=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "bb023369b3977a66e748310b6604894794a37e38", + "rev": "e9080d9ae6b8f5bd5e1a3981cfa214fc3c36fe16", "type": "github" }, "original": { From 16f4562ee31cf9458efd2a6f9db3849a91e2b079 Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 14 Feb 2024 17:18:21 -0500 Subject: [PATCH 26/26] don't need cachix and magic-nix-cache --- .github/workflows/ci-nix.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 67a50847f..174574b04 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -19,7 +19,6 @@ jobs: name: 📤 Checkout - uses: DeterminateSystems/nix-installer-action@main name: ❄️ Set up Nix - - uses: DeterminateSystems/magic-nix-cache-action@main - uses: cachix/cachix-action@v12 name: 🧰 Cachix with: