diff --git a/flake.lock b/flake.lock index 9a56af92a1955255dc2752fc22846e0f07a89773..acda1b9c793520ee6b4bc3d4121d2307a93f1229 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": { "locked": { "lastModified": 1667395993, @@ -46,6 +78,66 @@ "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": { + "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_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": [ @@ -68,6 +160,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-great-black-swamp", + "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", @@ -89,6 +227,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": 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" + } + }, "nixpkgs": { "locked": { "lastModified": 1677624842, @@ -121,6 +301,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", @@ -149,6 +393,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-great-black-swamp", + "hs-flake-utils", + "flake-utils" + ], + "gitignore": "gitignore_3", + "nixpkgs": [ + "tahoe-great-black-swamp", + "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", @@ -156,7 +460,57 @@ "nixpkgs": [ "hs-flake-utils", "nixpkgs" + ], + "tahoe-chk": "tahoe-chk", + "tahoe-great-black-swamp": "tahoe-great-black-swamp" + } + }, + "tahoe-chk": { + "inputs": { + "flake-utils": "flake-utils_3", + "hs-flake-utils": "hs-flake-utils_2", + "nixpkgs": [ + "tahoe-chk", + "hs-flake-utils", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1681998540, + "narHash": "sha256-gtlHidh8+qMUdnTzlxLIGlCMavq4/TFQDmope33Cd2w=", + "ref": "refs/heads/master", + "rev": "799bab0c2b8b5f9cbd98e7dd7d6a77285c87f16b", + "revCount": 340, + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-chk?tag=0.1.0.0" + }, + "original": { + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-chk?tag=0.1.0.0" + } + }, + "tahoe-great-black-swamp": { + "inputs": { + "flake-utils": "flake-utils_5", + "hs-flake-utils": "hs-flake-utils_3", + "nixpkgs": [ + "tahoe-great-black-swamp", + "hs-flake-utils", + "nixpkgs" ] + }, + "locked": { + "lastModified": 1682446800, + "narHash": "sha256-Vxl4dLpoRp2svWTx0w74m7PeVPMlkSu/XOZAHccOUDs=", + "ref": "refs/heads/master", + "rev": "b81cc3fcdb0107d369a636fdc5a17cf174dff2ea", + "revCount": 143, + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-great-black-swamp?tag=0.1.0.1" + }, + "original": { + "type": "git", + "url": "https://whetstone.private.storage/PrivateStorage/tahoe-great-black-swamp?tag=0.1.0.1" } } }, diff --git a/flake.nix b/flake.nix index cb746bd10f76fa07fc2f2c95693dfc886c08e7d8..655ae67527a6e1fe3394f0ec493401f663a9e1e5 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,9 @@ nixpkgs.follows = "hs-flake-utils/nixpkgs"; flake-utils.url = github:numtide/flake-utils; hs-flake-utils.url = "git+https://whetstone.private.storage/jcalderone/hs-flake-utils.git?ref=main"; + + tahoe-chk.url = "git+https://whetstone.private.storage/PrivateStorage/tahoe-chk?tag=0.1.0.0"; + tahoe-great-black-swamp.url = "git+https://whetstone.private.storage/PrivateStorage/tahoe-great-black-swamp?tag=0.1.0.1"; }; outputs = { @@ -13,6 +16,8 @@ nixpkgs, flake-utils, hs-flake-utils, + tahoe-chk, + tahoe-great-black-swamp, }: let ulib = flake-utils.lib; ghcVersion = "ghc8107"; @@ -28,6 +33,8 @@ compilerVersion = ghcVersion; packageName = "gbs-downloader"; hsPkgsOverrides = import ./nix/haskell-packages.nix { + tahoe-chk = tahoe-chk.outputs.packages.${system}.default; + tahoe-great-black-swamp = tahoe-great-black-swamp.outputs.packages.${system}.default; haskellLib = pkgs.haskell.lib; }; }; diff --git a/nix/haskell-packages.nix b/nix/haskell-packages.nix index 0411c50574ae51acb05dd80f11bd70435fdebcfe..175fc2091a3906e508c6b4d7e1146a01122494c1 100644 --- a/nix/haskell-packages.nix +++ b/nix/haskell-packages.nix @@ -1,6 +1,10 @@ -{haskellLib}: hfinal: hprev: { - tahoe-chk = hfinal.callPackage ./tahoe-chk.nix {}; - tahoe-great-black-swamp = hfinal.callPackage ./tahoe-great-black-swamp.nix {}; +{ + haskellLib, + tahoe-chk, + tahoe-great-black-swamp, +}: hfinal: hprev: { + inherit tahoe-chk; + inherit tahoe-great-black-swamp; # A broken dependency of a tahoe-great-black-swamp executable that we don't # use. Flip the broken bit so we can get a build. diff --git a/nix/tahoe-chk.nix b/nix/tahoe-chk.nix deleted file mode 100644 index 4c79be6ff343a138c42cd367fdaf5ddcf5de3868..0000000000000000000000000000000000000000 --- a/nix/tahoe-chk.nix +++ /dev/null @@ -1,123 +0,0 @@ -{ - mkDerivation, - aeson, - async, - base, - base32, - base64, - binary, - bytestring, - cereal, - cipher-aes128, - concurrency, - containers, - crypto-api, - cryptonite, - directory, - extra, - fec, - fetchgit, - filepath, - hedgehog, - lib, - megaparsec, - memory, - monad-loops, - mtl, - network-byte-order, - optparse-applicative, - parser-combinators, - primitive, - scientific, - tagged, - tasty, - tasty-hedgehog, - tasty-hunit, - temporary, - text, - tree-diff, - utility-ht, - vector, - yaml, -}: -mkDerivation { - pname = "tahoe-chk"; - version = "0.1.0.0"; - src = fetchgit { - url = "https://whetstone.private.storage/PrivateStorage/tahoe-chk.git"; - sha256 = "sha256-gtlHidh8+qMUdnTzlxLIGlCMavq4/TFQDmope33Cd2w="; - rev = "799bab0c2b8b5f9cbd98e7dd7d6a77285c87f16b"; - fetchSubmodules = true; - }; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson - async - base - base32 - base64 - binary - bytestring - cereal - cipher-aes128 - concurrency - containers - crypto-api - cryptonite - directory - extra - fec - filepath - megaparsec - memory - monad-loops - mtl - network-byte-order - parser-combinators - primitive - tagged - text - tree-diff - utility-ht - ]; - executableHaskellDepends = [ - base - base32 - bytestring - optparse-applicative - text - ]; - testHaskellDepends = [ - aeson - base - base32 - base64 - binary - bytestring - cereal - cipher-aes128 - containers - crypto-api - cryptonite - directory - fec - filepath - hedgehog - megaparsec - scientific - tagged - tasty - tasty-hedgehog - tasty-hunit - temporary - text - tree-diff - vector - yaml - ]; - homepage = "https://gitlab.com/exarkun/chk.hs"; - description = "The Tahoe-LAFS' Content-Hash-Key (CHK) cryptographic protocol"; - license = lib.licenses.bsd3; - mainProgram = "tahoe-chk-encrypt"; -} diff --git a/nix/tahoe-great-black-swamp.nix b/nix/tahoe-great-black-swamp.nix deleted file mode 100644 index c3c1ac0263719621234df649d15350108651acdc..0000000000000000000000000000000000000000 --- a/nix/tahoe-great-black-swamp.nix +++ /dev/null @@ -1,125 +0,0 @@ -{ - mkDerivation, - aeson, - async, - base, - base32string, - base64-bytestring, - binary, - bytestring, - cborg, - cborg-json, - containers, - deriving-aeson, - directory, - fetchgit, - filepath, - foldl, - hspec, - hspec-expectations, - hspec-wai, - http-api-data, - http-media, - http-types, - lib, - optparse-applicative, - primitive, - QuickCheck, - quickcheck-instances, - safe-exceptions, - scientific, - serialise, - servant-client, - servant-docs, - servant-js, - servant-server, - temporary, - text, - unordered-containers, - utf8-string, - vector, - wai, - wai-extra, - warp, - warp-tls, -}: -mkDerivation { - pname = "tahoe-great-black-swamp"; - version = "0.1.0.0"; - src = fetchgit { - url = "https://whetstone.private.storage/PrivateStorage/tahoe-great-black-swamp.git"; - sha256 = "07y0pggiws4cc827w3afnyscbqb4pifvb416l0pyhpcbpiz7fpk1"; - rev = "55152d2bbb8567c2f3f53ee11d147bedca5c2f8d"; - fetchSubmodules = true; - }; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson - async - base - base64-bytestring - binary - bytestring - cborg - cborg-json - containers - deriving-aeson - directory - filepath - foldl - http-api-data - http-media - http-types - primitive - safe-exceptions - scientific - serialise - servant-client - servant-docs - servant-server - text - unordered-containers - utf8-string - vector - wai - warp - warp-tls - ]; - executableHaskellDepends = [ - base - filepath - optparse-applicative - servant-js - warp - ]; - testHaskellDepends = [ - aeson - async - base - base32string - binary - bytestring - containers - deriving-aeson - directory - filepath - foldl - hspec - hspec-expectations - hspec-wai - http-types - primitive - QuickCheck - quickcheck-instances - safe-exceptions - temporary - text - unordered-containers - vector - wai-extra - ]; - homepage = "https://whetstone.private.storage/PrivateStorage/tahoe-great-black-swamp"; - description = "An implementation of the \"Great Black Swamp\" LAFS protocol"; - license = lib.licenses.bsd3; -}