Commit Graph

124 Commits

Author SHA1 Message Date
Shea Levy
f3f0193892
Hash: Make warning-clean and reduce language extensions. 2019-03-11 03:29:06 -04:00
Shea Levy
a8aaa9b534
Rename HasDigest to ValidAlgo. 2019-03-11 03:14:34 -04:00
Shea Levy
715f415eb7
Flesh out haddocks for the hashing module. 2019-03-11 03:09:50 -04:00
Shea Levy
b7c2216932
Move bytestring-level base32 encoding to its own module. 2019-03-11 02:42:50 -04:00
Shea Levy
71025ed892
Hash digests: Only export primitives for rendering as hex and base32
The old 'digestText16' was really a special case that doesn't belong
in the hashing module proper.
2019-03-11 02:28:26 -04:00
Shea Levy
3ad41dc6f6
Remove value-level hash algorithms.
We can use NamedHashAlgorithm to get a name where relevant, and soon
the pair of (recursive, Proxy) :: (Bool, Proxy algo) will be replaced
with a separate type which will let us drop the proxies.

Also, we drop logic from addToStore in the remote impl that was copied
from C++ compatibility code for very old daemon versions.
2019-03-10 19:07:17 -04:00
Shea Levy
20e7b039d0
Rename HashAlgoText to NamedAlgo. 2019-03-10 18:51:24 -04:00
Shea Levy
7b918a929a
System.Nix.Hash: Remove unused pragmas and cleanup. 2019-03-10 18:39:20 -04:00
John Ericson
8cc6595803
Merge pull request #31 from haskell-nix/je-printHashBytes32-bit-fiddling
Weird bit fiddling to make `printHashBytes32` work
2019-03-10 13:35:29 -04:00
John Ericson
3fde7c1580 Merge remote-tracking branch 'origin/master' into add-to-store 2019-03-10 13:21:18 -04:00
Doug Beardsley
8965dc85bf
Merge pull request #32 from haskell-nix/readonly-store-hash
Implement readonly store path hashing
2019-03-10 13:13:01 -04:00
John Ericson
ecf4d991f9 Add comment to the mysterious order of the + 1 - 1 in printHashBytes32 2019-03-10 13:09:45 -04:00
John Ericson
9bbe54a03b Add test corresponding to builtins.placeholder "foo" in layer above
We were hashing correctly, but base32-ing wrong.
2019-03-10 12:30:26 -04:00
Greg Hale
cf9fbf06c8 Fix addToStore message encoding and do some cleanup 2019-03-10 10:29:17 -04:00
Doug Beardsley
7067c32a9a Implement readonly store path hashing 2019-03-09 22:42:23 -05:00
John Ericson
0fe7ff5e84 Weird bit fiddling to make printHashBytes32 work 2019-03-09 22:03:28 -05:00
Shea Levy
0367156509
Local shell.nixes to make flycheck happy. 2019-03-09 19:04:11 -05:00
Shea Levy
440dfebc28
Build expressions. 2019-03-09 18:32:01 -05:00
Greg Hale
b8568a4549 Merge branch 'add-to-store' of github.com:haskell-nix/hnix-store into add-to-store 2019-03-09 11:39:59 -05:00
Greg Hale
547165d22e Add useful garbage 2019-03-09 11:32:23 -05:00
Greg Hale
759abd9f94 nareffetsio for addToStore in hnix-store-remote 2018-12-28 19:28:11 -05:00
Greg Hale
4c650ca750 WIP addToStore protocol implementation 2018-12-28 19:28:11 -05:00
Greg Hale
a7120f60cc Reflect type level hash algo to value 2018-12-28 19:28:11 -05:00
Greg Hale
7bd991a52e add nix expressions for building hnix-store-* 2018-12-28 11:00:31 -05:00
Greg Hale
34f2ad0287 nareffetsio for addToStore in hnix-store-remote 2018-11-18 14:29:10 -05:00
Greg Hale
7bd82c9ce9 WIP addToStore protocol implementation 2018-11-18 14:27:23 -05:00
Greg Hale
6f1626a0ef Reflect type level hash algo to value 2018-11-18 12:05:44 -05:00
Greg Hale
9f98592e79
Merge pull request #29 from haskell-nix/fewer-deps-3
Fewer deps 3
2018-11-17 14:58:58 -05:00
Greg Hale
6584d76802
Merge pull request #28 from haskell-nix/store-hash-api
Add basic hashing API
2018-11-17 14:37:02 -05:00
Greg Hale
aeb98a90a8 Add an API and implementation for basic nix hashes
- Define MD5, SHA1 and SHA256 algos
 - Design typclass to handle type-specific hashing behavior
   - hash digest generation
   - printing to base32
 - Differentiate between parts meant to be used outside (by hnix-store-*, hnix)
   and parts meant to be used only internaly (in **.Internal.** modules)
 - Observe that hashing "Hello World" @SHA1 and serializing to base32 gives
   the same hash as the one in the thesis example
   "s23c9fs0v32pf6bhmcph5rbqsyl5ak8a"
2018-11-17 14:35:35 -05:00
Greg Hale
a571a32871
Merge pull request #27 from haskell-nix/fewer-deps-3
Remove cryptonite, foundation, basement and memory from all packages
2018-10-23 08:53:07 -04:00
Greg Hale
966aa4a782 Remove cryptonite, foundation, basement and memory from all packages 2018-09-30 19:05:10 -04:00
Greg Hale
63b0c6cee1
Merge pull request #23 from haskell-nix/conditional-memory-tests
Put bounded-memory NAR format tests behind a cabal flag
2018-09-12 08:49:57 -04:00
Greg Hale
d6fa9a1044 Update name of Derivation type to synchronize -core and -remote libraries 2018-09-11 23:33:11 -04:00
Greg Hale
d23195c710 Fix haddock formatting 2018-09-11 23:29:42 -04:00
Greg Hale
6734486e06 Put bounded-memory NAR format tests behind a cabal flag deaulting to False
The test suite fails when run naively, due to the use of haskell code that
uses gc statistics, and requires `+RTS -T` flags be passed to the testsuite.

We opt in to this flag for CI and for any default.nix that packages
hnix-store-core.
2018-09-11 23:09:00 -04:00
Doug Beardsley
ec29e02e2b
Merge pull request #17 from haskell-nix/derivation-restructuring
Expand Derivation data type
2018-08-05 14:52:38 -04:00
Doug Beardsley
007a2107d6 Delete old comment 2018-08-05 14:39:59 -04:00
Doug Beardsley
bc946a40b1 Expand Derivation data type 2018-08-05 12:16:29 -04:00
Shea Levy
7a9fcdb22f
Duplicate information to appease bad tooling 2018-08-05 10:58:17 -04:00
Greg Hale
7ecef6616f
Merge pull request #13 from sorki/remote
WIP: Remote store
2018-08-04 18:36:02 -04:00
Richard Marko
d5eb32e5d9 squash! hnix-store-remote prototype
drop ExceptT todo
2018-07-17 11:21:50 +02:00
Richard Marko
cf51ba3b39 temp: add hnix-store-temporary-live-test 2018-07-17 11:15:21 +02:00
Richard Marko
b8354d8b42 squash! hnix-store-remote prototype
use ExceptT, concat logs, utility log functions
2018-07-17 10:05:17 +02:00
Richard Marko
a01bff9eb8 squash! hnix-store-remote prototype
add missing Util
2018-07-17 10:03:08 +02:00
Richard Marko
be8311f4b9 add cabal.project 2018-07-16 09:12:34 +02:00
Richard Marko
d8828913ec hnix-store-remote prototype 2018-07-16 09:12:23 +02:00
Richard Marko
c37c3017e5 Extend core types 2018-07-16 09:09:23 +02:00
Greg Hale
2075aae5ac
Merge pull request #7 from imalsogreg/master
NAR parser/generator
2018-05-15 11:11:39 -04:00
Greg Hale
7f1928edcb Add NAR parser-generator and tests 2018-05-15 11:09:20 -04:00