diff --git a/cabal.project b/cabal.project deleted file mode 100644 index b888b7ae5aacfd328bb7ac2b7c0615fb801f9516..0000000000000000000000000000000000000000 --- a/cabal.project +++ /dev/null @@ -1,15 +0,0 @@ -packages: . - -- These aren't released on hackage yet so we have to grab them - -- straight from the vcs host. Probably should do some releases - -- soon. - https://whetstone.private.storage/privatestorage/tahoe-ssk/-/archive/0.2.0.0/tahoe-ssk-0.2.0.0.tar.gz - https://whetstone.private.storage/privatestorage/tahoe-chk/-/archive/0.1.0.1/tahoe-chk-0.1.0.1.tar.gz - -tests: True - -package zlib - -- Turn on discovery of the underlying zlib using pkg-config. This - -- fixes build failures when the underlying zlib is not in the - -- traditional location but is discoverable with pkg-config. It might - -- break non-pkg-config platforms. - flags: +pkg-config diff --git a/flake.lock b/flake.lock index 274d6725a016754e850c18c7a7051a3071288bbc..7b6553f8889506b75c0820f2f318e7379327d637 100644 --- a/flake.lock +++ b/flake.lock @@ -48,6 +48,38 @@ "type": "github" } }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -66,6 +98,21 @@ "type": "github" } }, + "flake-utils_10": { + "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": 1676283394, @@ -112,6 +159,36 @@ } }, "flake-utils_5": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_6": { + "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_7": { "inputs": { "systems": "systems_2" }, @@ -129,7 +206,7 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_8": { "locked": { "lastModified": 1676283394, "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", @@ -144,6 +221,21 @@ "type": "github" } }, + "flake-utils_9": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -169,7 +261,7 @@ "gitignore_2": { "inputs": { "nixpkgs": [ - "tahoe-chk", + "tahoe-capabilities", "hs-flake-utils", "pre-commit-hooks", "nixpkgs" @@ -190,6 +282,29 @@ } }, "gitignore_3": { + "inputs": { + "nixpkgs": [ + "tahoe-chk", + "hs-flake-utils", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_4": { "inputs": { "nixpkgs": [ "tahoe-ssk", @@ -212,6 +327,30 @@ "type": "github" } }, + "gitignore_5": { + "inputs": { + "nixpkgs": [ + "tahoe-ssk", + "tahoe-capabilities", + "hs-flake-utils", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "hs-flake-utils": { "inputs": { "flake-utils": "flake-utils_2", @@ -219,11 +358,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1681762240, - "narHash": "sha256-+PLx9xHBvV70dA7Gy/+YTH1w3PcSOrGV0z0rGxts8jU=", + "lastModified": 1686149618, + "narHash": "sha256-/IHWacNutk3tklouWOgClp7FnOH+Yk6If13kKJMSEi8=", "ref": "main", - "rev": "a51e591b7fdf8881ac0237452691df7b1aceecd3", - "revCount": 10, + "rev": "49696f704eb965f57d729871c6d450ac0aff2b68", + "revCount": 12, "type": "git", "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" }, @@ -240,11 +379,11 @@ "pre-commit-hooks": "pre-commit-hooks_2" }, "locked": { - "lastModified": 1677773826, - "narHash": "sha256-xJmOtHugr4k2zNhP/AF6JdIUnIEyM+TEspLn2n5kloc=", + "lastModified": 1681762240, + "narHash": "sha256-+PLx9xHBvV70dA7Gy/+YTH1w3PcSOrGV0z0rGxts8jU=", "ref": "main", - "rev": "d3a83fdd9563546ca41771186427638e685a2e2b", - "revCount": 9, + "rev": "a51e591b7fdf8881ac0237452691df7b1aceecd3", + "revCount": 10, "type": "git", "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" }, @@ -260,6 +399,48 @@ "nixpkgs": "nixpkgs_3", "pre-commit-hooks": "pre-commit-hooks_3" }, + "locked": { + "lastModified": 1677773826, + "narHash": "sha256-xJmOtHugr4k2zNhP/AF6JdIUnIEyM+TEspLn2n5kloc=", + "ref": "main", + "rev": "d3a83fdd9563546ca41771186427638e685a2e2b", + "revCount": 9, + "type": "git", + "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" + }, + "original": { + "ref": "main", + "type": "git", + "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" + } + }, + "hs-flake-utils_4": { + "inputs": { + "flake-utils": "flake-utils_8", + "nixpkgs": "nixpkgs_4", + "pre-commit-hooks": "pre-commit-hooks_4" + }, + "locked": { + "lastModified": 1681762240, + "narHash": "sha256-+PLx9xHBvV70dA7Gy/+YTH1w3PcSOrGV0z0rGxts8jU=", + "ref": "main", + "rev": "a51e591b7fdf8881ac0237452691df7b1aceecd3", + "revCount": 10, + "type": "git", + "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" + }, + "original": { + "ref": "main", + "type": "git", + "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" + } + }, + "hs-flake-utils_5": { + "inputs": { + "flake-utils": "flake-utils_10", + "nixpkgs": "nixpkgs_5", + "pre-commit-hooks": "pre-commit-hooks_5" + }, "locked": { "lastModified": 1681762240, "narHash": "sha256-+PLx9xHBvV70dA7Gy/+YTH1w3PcSOrGV0z0rGxts8jU=", @@ -339,6 +520,38 @@ "type": "github" } }, + "nixpkgs-stable_4": { + "locked": { + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_5": { + "locked": { + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1677624842, @@ -371,6 +584,38 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1677624842, + "narHash": "sha256-4DF9DbDuK4/+KYx0L6XcPBeDHUFVCtzok2fWtwXtb5w=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1677624842, + "narHash": "sha256-4DF9DbDuK4/+KYx0L6XcPBeDHUFVCtzok2fWtwXtb5w=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -403,13 +648,13 @@ "inputs": { "flake-compat": "flake-compat_2", "flake-utils": [ - "tahoe-chk", + "tahoe-capabilities", "hs-flake-utils", "flake-utils" ], "gitignore": "gitignore_2", "nixpkgs": [ - "tahoe-chk", + "tahoe-capabilities", "hs-flake-utils", "nixpkgs" ], @@ -433,13 +678,13 @@ "inputs": { "flake-compat": "flake-compat_3", "flake-utils": [ - "tahoe-ssk", + "tahoe-chk", "hs-flake-utils", "flake-utils" ], "gitignore": "gitignore_3", "nixpkgs": [ - "tahoe-ssk", + "tahoe-chk", "hs-flake-utils", "nixpkgs" ], @@ -459,6 +704,68 @@ "type": "github" } }, + "pre-commit-hooks_4": { + "inputs": { + "flake-compat": "flake-compat_4", + "flake-utils": [ + "tahoe-ssk", + "hs-flake-utils", + "flake-utils" + ], + "gitignore": "gitignore_4", + "nixpkgs": [ + "tahoe-ssk", + "hs-flake-utils", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_4" + }, + "locked": { + "lastModified": 1677722096, + "narHash": "sha256-7mjVMvCs9InnrRybBfr5ohqcOz+pyEX8m22C1XsDilg=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "61a3511668891c68ebd19d40122150b98dc2fe3b", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "pre-commit-hooks_5": { + "inputs": { + "flake-compat": "flake-compat_5", + "flake-utils": [ + "tahoe-ssk", + "tahoe-capabilities", + "hs-flake-utils", + "flake-utils" + ], + "gitignore": "gitignore_5", + "nixpkgs": [ + "tahoe-ssk", + "tahoe-capabilities", + "hs-flake-utils", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_5" + }, + "locked": { + "lastModified": 1677722096, + "narHash": "sha256-7mjVMvCs9InnrRybBfr5ohqcOz+pyEX8m22C1XsDilg=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "61a3511668891c68ebd19d40122150b98dc2fe3b", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "flake-utils": "flake-utils", @@ -467,6 +774,7 @@ "hs-flake-utils", "nixpkgs" ], + "tahoe-capabilities": "tahoe-capabilities", "tahoe-chk": "tahoe-chk", "tahoe-ssk": "tahoe-ssk" } @@ -501,7 +809,7 @@ "type": "github" } }, - "tahoe-chk": { + "tahoe-capabilities": { "inputs": { "flake-utils": "flake-utils_3", "hs-flake-utils": "hs-flake-utils_2", @@ -510,6 +818,53 @@ "nixpkgs" ] }, + "locked": { + "lastModified": 1686164259, + "narHash": "sha256-T0U5B/DH+XDEXfBG7cHlTcMec4aUTDd+HH8Bsv0C71Y=", + "ref": "refs/heads/main", + "rev": "f0a11218007f6c2fe0f6b5e09e0993fe253f6e23", + "revCount": 9, + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-capabilities" + }, + "original": { + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-capabilities" + } + }, + "tahoe-capabilities_2": { + "inputs": { + "flake-utils": "flake-utils_9", + "hs-flake-utils": "hs-flake-utils_5", + "nixpkgs": [ + "tahoe-ssk", + "hs-flake-utils", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1686164259, + "narHash": "sha256-T0U5B/DH+XDEXfBG7cHlTcMec4aUTDd+HH8Bsv0C71Y=", + "ref": "refs/heads/main", + "rev": "f0a11218007f6c2fe0f6b5e09e0993fe253f6e23", + "revCount": 9, + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-capabilities" + }, + "original": { + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-capabilities" + } + }, + "tahoe-chk": { + "inputs": { + "flake-utils": "flake-utils_5", + "hs-flake-utils": "hs-flake-utils_3", + "nixpkgs": [ + "hs-flake-utils", + "nixpkgs" + ] + }, "locked": { "lastModified": 1683552888, "narHash": "sha256-h9pgP/LYPtUr5CeCAhqt1XJyAqKTnkQxuIygiTulU/U=", @@ -527,29 +882,29 @@ }, "tahoe-ssk": { "inputs": { - "flake-utils": "flake-utils_5", - "hs-flake-utils": "hs-flake-utils_3", + "flake-utils": "flake-utils_7", + "hs-flake-utils": "hs-flake-utils_4", "nixpkgs": [ "hs-flake-utils", "nixpkgs" ], + "tahoe-capabilities": "tahoe-capabilities_2", "tahoe-chk": [ "tahoe-chk" ] }, "locked": { - "lastModified": 1685641443, - "narHash": "sha256-lgHcvFz6s07HXdGCz1C/dOSVLi0HiAtHiv0Na4QkQEg=", - "ref": "refs/tags/0.2.0.0", - "rev": "1afe634278c96d61b8acb994ec82a71a6394d032", - "revCount": 84, + "lastModified": 1686166709, + "narHash": "sha256-z+QzmnfmLuqqNFWvlYAVZoS7jBHEj54OZest/sKgDqk=", + "ref": "refs/heads/main", + "rev": "8f73a87054546c875c3b0284ee4d2f3e0483d963", + "revCount": 93, "type": "git", - "url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk" + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk.git" }, "original": { - "ref": "refs/tags/0.2.0.0", "type": "git", - "url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk" + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk.git" } } }, diff --git a/flake.nix b/flake.nix index 9d8f32f2bb2a376cf306c12f375bd737f8756d4d..fd09a9c61aaa81dc397a6691b7c60d62c26bc050 100644 --- a/flake.nix +++ b/flake.nix @@ -53,6 +53,9 @@ in { checks = hslib.checks {}; devShells = hslib.devShells { + shellHook = '' + nix run .#generate-cabal-project + ''; extraBuildInputs = pkgs: with pkgs; [ zlib @@ -61,6 +64,31 @@ packages = hslib.packages {}; apps.hlint = hslib.apps.hlint {}; + apps.generate-cabal-project = { + type = "app"; + program = "${ + pkgs.writeShellApplication { + name = "generate-cabal-project"; + text = '' + cat >cabal.project.local <<EOF + -- This file is auto-generated by the flake devShell's shellHook. Do + -- not edit this file. Make changes in flake.nix. + tests: true + packages: + -- These aren't released on hackage yet so we have to get them + -- another way. Here, we get them from the Nix store. + -- tahoe-chk + ${tahoe-chk} + -- tahoe-ssk + ${tahoe-ssk} + -- tahoe-capabilities + ${tahoe-capabilities} + EOF + ''; + } + }/bin/generate-cabal-project"; + }; + # Using the working directory of `nix run`, do a build with cabal and # then run the test suite. apps.cabal-test = {