Commit Graph

813 Commits

Author SHA1 Message Date
Richard Marko
414bae5f54 nar: drop commented out instance Binary Nar 2023-11-25 05:49:14 +01:00
Richard Marko
1c401b6abf
Merge pull request #257 from squalus/sig-text
core: add signatureToText function and tests
2023-11-25 05:39:53 +01:00
Vaibhav Sagar
5d62b66aa1 Use cereal instead of binary in test suite 2023-11-25 13:19:16 +11:00
squalus
7850a38b3a core: add signatureToText function and tests
- make NarSignature's Show instance more legible
- add Arbitrary instance for NarSignature
- add roundtrip quickcheck tests for NarSignature encoding
2023-11-24 12:55:54 -08:00
Richard Marko
ee10c59e4c
Merge pull request #256 from squalus/crypton
switch to crypton
2023-11-24 07:07:24 +01:00
squalus
c6a579273f switch to crypton
cryptonite is unmaintained. Replace it with crypton.

Closes #239.
2023-11-23 10:22:19 -08:00
Richard Marko
2e0c9b2209
Merge pull request #254 from squalus/sigs
add signature decoding
2023-11-23 07:36:57 +01:00
Richard Marko
e9a7bbc107 core: add comment for test credits
Related to #240
2023-11-23 06:14:35 +01:00
Richard Marko
1fd1d1118b ci: nuke install libsodium-dev step 2023-11-23 06:14:31 +01:00
squalus
3710c6a445 add signature decoding
- add NarSignature decoding
- use cryptonite instead of saltine for signature
- remove saltine dependency
- add signature decode and verify tests taken from tvix
- start decoding signatures in queryPathInfoUncached

Closes #240 and #246
2023-11-22 15:19:03 -08:00
Richard Marko
4d9d595ab8
Merge pull request #247 from haskell-nix/srk/split2
Split part 2
2023-11-22 13:22:01 +01:00
Richard Marko
cce2c98426 move getStoreDir to remote, drop mtl from core 2023-11-22 11:30:10 +01:00
Richard Marko
4b481cff41 core: sort deps in cabal file 2023-11-22 11:16:17 +01:00
Richard Marko
a0a6b0de6a core: CHANGELOG 2023-11-22 11:16:17 +01:00
Richard Marko
9a333cc1f0 core: rename format-tests testsuite to core 2023-11-22 11:16:17 +01:00
Richard Marko
317603038e core: set me as a maintainer 2023-11-22 11:16:17 +01:00
Richard Marko
69a02d3066 init hnix-store-nar
Closes #233
2023-11-22 11:16:17 +01:00
Richard Marko
72524cfc09 init hnix-store-readonly
Closes #235
2023-11-22 10:44:46 +01:00
Richard Marko
c7e66bb01f hide StorePath constructor, add unsafeMakeStorePath 2023-11-22 09:50:40 +01:00
Richard Marko
a61070144e redo conctructor hiding 2023-11-22 09:43:08 +01:00
Richard Marko
862cceffdc Add PathFilter newtype to System.Nix.Store.Types 2023-11-22 09:11:58 +01:00
Richard Marko
152ce6f8ef add RepairMode to System.Nix.Store.Types 2023-11-22 09:07:14 +01:00
Richard Marko
8ac46de0bd Recursive -> FileIngestionMethod, remove Bools
Actually the same thing, now with prefixed constructors
for extra clarity.

Closes #238
2023-11-22 09:07:14 +01:00
Richard Marko
f6b06e0005 Add tests for ReadOnlyStore 2023-11-22 09:07:14 +01:00
Richard Marko
111daefe1e hie.yaml: add db and tests 2023-11-22 09:07:14 +01:00
Richard Marko
b1c8603adc core: add custom Show instance for StorePath
before
```
StorePath {storePathHash = StorePathHashPart {unStorePathHashPart = "#F\139i\215:t\134x\151+\206\&8O*\165\STX\DC2\169\234"}, storePathName = StorePathName {unStorePathName = "testFixed"}}
```

after
```
StorePath /iali40m5597kikibjxw8cx1ssxlqnii3-testFixed
```
2023-11-22 09:07:14 +01:00
Richard Marko
6e2c03a398
Merge pull request #244 from squalus/qpi-ca
remote: fix queryPathInfoUncached missing content address decoding
2023-11-22 09:06:57 +01:00
Richard Marko
436f46ac67
Merge pull request #243 from squalus/qpi-base16
remote: fix queryPathInfoUncached narHash decoding
2023-11-22 07:59:38 +01:00
Richard Marko
5e35aaddeb
Merge pull request #242 from squalus/fix-hie
update test targets in hie.yaml
2023-11-22 07:18:08 +01:00
squalus
d3c2c9adf3 remote: fix queryPathInfoUncached missing content address decoding
queryPathInfoUncached fails with a "not enough input" message when
decoding Metadata that is missing a content address.

nix-daemon encodes a missing content address as an empty string:
https://github.com/NixOS/nix/blob/a6b315ae8/src/libstore/content-address.cc#L139

Change the decoding to return Nothing if the caString is empty.
2023-11-21 14:43:11 -08:00
squalus
555e2b7167 remote: fix queryPathInfoUncached narHash decoding
nix-daemon encodes the narHash as Base16, not NixBase32:
https://github.com/NixOS/nix/blob/a6b315ae/src/libstore/worker-protocol.cc#L180

Change the narHash decoding step to use Base16.

Add a test that fails on the previous code with the following error:

    uncaught exception: ErrorCall
    Invalid NixBase32 string
    CallStack (from HasCallStack):

Tested with nix 2.13.6.
2023-11-21 13:51:38 -08:00
squalus
b413b2d7d7 update test targets in hie.yaml
Update hie.yaml for the test target renames in b98fb44d7
2023-11-21 13:09:01 -08:00
Richard Marko
f1741e8eec
Merge pull request #241 from haskell-nix/srk/split
Split core into multiple packages
2023-11-21 08:29:29 +01:00
Richard Marko
13064a91d6 remove .envrc .ghci from subdirs 2023-11-20 09:22:05 +01:00
Richard Marko
96f889cb68 gitignore .ghci(_history), .envrc 2023-11-20 09:22:05 +01:00
Richard Marko
3c98e4ca5d core: add lower bound to base64-bytestring
Related to #175
2023-11-20 09:22:05 +01:00
Richard Marko
3470625581 core: add lower bound to base16-bytestring, remove CPP
Related to #175
2023-11-20 09:22:05 +01:00
Richard Marko
ee40d47a67 tests: add Test.Hspec.Nix.roundtrip 2023-11-20 09:22:05 +01:00
Richard Marko
49dc678060 bump core version to 0.8, add lower bound to db & test
bump for remote
2023-11-20 09:22:05 +01:00
Richard Marko
631b26e436 core: clean saltine CPP overloads
One year late hah. Thanks Anton!
2023-11-20 09:22:05 +01:00
Richard Marko
541abd1e20 core: Base, wrap comment, trim whitespace 2023-11-20 09:22:05 +01:00
Richard Marko
6690f79f46 core: forgot to export ParseOutputsError 2023-11-20 09:22:05 +01:00
Richard Marko
17d20b5417 core: derivation test, use Text.Lazy.IO 2023-11-20 09:22:05 +01:00
Richard Marko
42f56f504f hnix-store-tests: init
Split from `-core` so it doesn't depend on quickcheck,
generic-arbitrary and quickcheck-instances that could propagate downstrem.
Also allows users to defined their own.

With all roundtrip property tests.

Later this should also absorb test nix-store/daemon harness from
`-remote` so it can be reused by others.
2023-11-20 09:22:05 +01:00
Richard Marko
6a6bbaadf9 shell.nix: rename meta-package to -shell 2023-11-19 20:03:11 +01:00
Richard Marko
c15a127e00 core: re-export Derivation, DerivationOutput 2023-11-19 20:03:11 +01:00
Richard Marko
30e7f18008 core: remove duplicate StandaloneDeriving 2023-11-19 15:12:08 +01:00
Richard Marko
434485d4a4 delete shell.nix from subdirs 2023-11-19 14:49:22 +01:00
Richard Marko
9118c300f7
Merge pull request #70 from sorki/wip/db+pr64
Database
2023-11-19 13:51:50 +01:00
Richard Marko
4ce09d7650 hnix-store-db: init 2023-11-19 12:20:41 +01:00