diff --git a/flake.lock b/flake.lock index 5637403e6e1137eac2e48cd977003873cfac7f02..9a56af92a1955255dc2752fc22846e0f07a89773 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,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": { @@ -33,11 +33,11 @@ }, "flake-utils_2": { "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": { @@ -75,11 +75,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1673454489, - "narHash": "sha256-LsOintvQ4n3QPkI5MA+IhmlLlH5BVzL2xqT/h5U5K7w=", + "lastModified": 1681762240, + "narHash": "sha256-+PLx9xHBvV70dA7Gy/+YTH1w3PcSOrGV0z0rGxts8jU=", "ref": "main", - "rev": "4feccf13501960b92e1d9d73bf6e046b36861af0", - "revCount": 4, + "rev": "a51e591b7fdf8881ac0237452691df7b1aceecd3", + "revCount": 10, "type": "git", "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" }, @@ -91,30 +91,32 @@ }, "nixpkgs": { "locked": { - "lastModified": 1659606041, - "narHash": "sha256-W4/u2ssr3fS4XOtltrsDD9w2kF4jYYZr6JyPGUW2jdI=", - "owner": "NixOS", + "lastModified": 1677624842, + "narHash": "sha256-4DF9DbDuK4/+KYx0L6XcPBeDHUFVCtzok2fWtwXtb5w=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "5f9b871b72b24f066b1a1e189efd0669f2888c49", + "rev": "d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0", "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "nixos", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1671271954, - "narHash": "sha256-cSvu+bnvN08sOlTBWbBrKaBHQZq8mvk8bgpt0ZJ2Snc=", + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d513b448cc2a6da2c8803e3c197c9fc7e67b19e3", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.05", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } @@ -134,11 +136,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1673281605, - "narHash": "sha256-v6U0G3pJe0YaIuD1Ijhz86EhTgbXZ4f/2By8sLqFk4c=", + "lastModified": 1677722096, + "narHash": "sha256-7mjVMvCs9InnrRybBfr5ohqcOz+pyEX8m22C1XsDilg=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "f8992fb404c7e79638192a10905b7ea985818050", + "rev": "61a3511668891c68ebd19d40122150b98dc2fe3b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 716dbb87e92a28ebb0cdf113cdbcf88debcd6779..b4d5bae62183033c43f603f3bc1a6b74f912f394 100644 --- a/flake.nix +++ b/flake.nix @@ -17,8 +17,9 @@ ulib = flake-utils.lib; in ulib.eachSystem ["x86_64-linux" "aarch64-darwin"] (system: let + pkgs = nixpkgs.legacyPackages.${system}; hslib = hs-flake-utils.lib { - pkgs = nixpkgs.legacyPackages.${system}; + inherit pkgs; src = ./.; compilerVersion = "ghc8107"; packageName = "tahoe-capabilities"; @@ -27,5 +28,25 @@ checks = hslib.checks {}; devShells = hslib.devShells {}; packages = hslib.packages {}; + + apps.hlint = hslib.apps.hlint {}; + + # Using the working directory of `nix run`, do a build with cabal and + # then run the test suite. + apps.cabal-test = { + type = "app"; + program = "${ + pkgs.writeShellApplication { + name = "cabal-build-and-test"; + runtimeInputs = with pkgs; [pkg-config haskell.compiler.${ghcVersion} cabal-install]; + + text = '' + cabal update hackage.haskell.org + cabal build all + cabal run tests + ''; + } + }/bin/cabal-build-and-test"; + }; }); }