diff --git a/cabal.project b/cabal.project index b216db5dffaa26749cae2f6bce4530a0d9e41498..b888b7ae5aacfd328bb7ac2b7c0615fb801f9516 100644 --- a/cabal.project +++ b/cabal.project @@ -1,4 +1,9 @@ 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 diff --git a/flake.lock b/flake.lock index 16274dd6ca881162b90299c04d227defe60d2e14..274d6725a016754e850c18c7a7051a3071288bbc 100644 --- a/flake.lock +++ b/flake.lock @@ -16,6 +16,38 @@ "type": "github" } }, + "flake-compat_2": { + "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_3": { + "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" @@ -49,6 +81,69 @@ "type": "github" } }, + "flake-utils_3": { + "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_4": { + "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_5": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "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" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -71,6 +166,52 @@ "type": "github" } }, + "gitignore_2": { + "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_3": { + "inputs": { + "nixpkgs": [ + "tahoe-ssk", + "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", @@ -92,6 +233,48 @@ "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" } }, + "hs-flake-utils_2": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_2", + "pre-commit-hooks": "pre-commit-hooks_2" + }, + "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_3": { + "inputs": { + "flake-utils": "flake-utils_6", + "nixpkgs": "nixpkgs_3", + "pre-commit-hooks": "pre-commit-hooks_3" + }, + "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" + } + }, "nixpkgs": { "locked": { "lastModified": 1677624842, @@ -124,6 +307,70 @@ "type": "github" } }, + "nixpkgs-stable_2": { + "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_3": { + "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, + "narHash": "sha256-4DF9DbDuK4/+KYx0L6XcPBeDHUFVCtzok2fWtwXtb5w=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "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", @@ -152,6 +399,66 @@ "type": "github" } }, + "pre-commit-hooks_2": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": [ + "tahoe-chk", + "hs-flake-utils", + "flake-utils" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "tahoe-chk", + "hs-flake-utils", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "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_3": { + "inputs": { + "flake-compat": "flake-compat_3", + "flake-utils": [ + "tahoe-ssk", + "hs-flake-utils", + "flake-utils" + ], + "gitignore": "gitignore_3", + "nixpkgs": [ + "tahoe-ssk", + "hs-flake-utils", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_3" + }, + "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", @@ -159,7 +466,9 @@ "nixpkgs": [ "hs-flake-utils", "nixpkgs" - ] + ], + "tahoe-chk": "tahoe-chk", + "tahoe-ssk": "tahoe-ssk" } }, "systems": { @@ -176,6 +485,72 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tahoe-chk": { + "inputs": { + "flake-utils": "flake-utils_3", + "hs-flake-utils": "hs-flake-utils_2", + "nixpkgs": [ + "hs-flake-utils", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1683552888, + "narHash": "sha256-h9pgP/LYPtUr5CeCAhqt1XJyAqKTnkQxuIygiTulU/U=", + "ref": "refs/tags/0.1.0.1", + "rev": "05aeb5a433b85406ca3c0c313c46299a1026ade0", + "revCount": 344, + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-chk" + }, + "original": { + "ref": "refs/tags/0.1.0.1", + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-chk" + } + }, + "tahoe-ssk": { + "inputs": { + "flake-utils": "flake-utils_5", + "hs-flake-utils": "hs-flake-utils_3", + "nixpkgs": [ + "hs-flake-utils", + "nixpkgs" + ], + "tahoe-chk": [ + "tahoe-chk" + ] + }, + "locked": { + "lastModified": 1685641443, + "narHash": "sha256-lgHcvFz6s07HXdGCz1C/dOSVLi0HiAtHiv0Na4QkQEg=", + "ref": "refs/tags/0.2.0.0", + "rev": "1afe634278c96d61b8acb994ec82a71a6394d032", + "revCount": 84, + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk" + }, + "original": { + "ref": "refs/tags/0.2.0.0", + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index a1cdf8f85673f6a2d7ffc687cf827f53fec5c4d0..7b064e5584198986f0f52870166192e3ad212409 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,16 @@ flake-utils.url = github:numtide/flake-utils; hs-flake-utils.url = "git+https://whetstone.private.storage/jcalderone/hs-flake-utils.git?ref=main"; nixpkgs.follows = "hs-flake-utils/nixpkgs"; + tahoe-chk = { + url = "git+https://whetstone.private.storage/PrivateStorage/tahoe-chk?ref=refs/tags/0.1.0.1"; + inputs.nixpkgs.follows = "hs-flake-utils/nixpkgs"; + }; + + tahoe-ssk = { + url = "git+https://whetstone.private.storage/PrivateStorage/tahoe-ssk?ref=refs/tags/0.2.0.0"; + inputs.nixpkgs.follows = "hs-flake-utils/nixpkgs"; + inputs.tahoe-chk.follows = "tahoe-chk"; + }; }; outputs = { @@ -13,6 +23,8 @@ nixpkgs, flake-utils, hs-flake-utils, + tahoe-chk, + tahoe-ssk, }: let ulib = flake-utils.lib; ghcVersion = "ghc8107"; @@ -27,6 +39,11 @@ src = ./.; compilerVersion = ghcVersion; packageName = "tahoe-directory"; + hsPkgsOverrides = import ./nix/haskell-packages.nix { + tahoe-chk = tahoe-chk.outputs.packages.${system}.default; + tahoe-ssk = tahoe-ssk.outputs.packages.${system}.default; + haskellLib = pkgs.haskell.lib; + }; }; in { checks = hslib.checks {}; diff --git a/nix/haskell-packages.nix b/nix/haskell-packages.nix new file mode 100644 index 0000000000000000000000000000000000000000..54848e9a00cd467bde3101d8a0c457d866a25f84 --- /dev/null +++ b/nix/haskell-packages.nix @@ -0,0 +1,8 @@ +{ + haskellLib, + tahoe-chk, + tahoe-ssk, +}: hfinal: hprev: { + inherit tahoe-chk; + inherit tahoe-ssk; +}