sorki
77fe9f9acd
remote: add gcResult serializer
2023-12-07 16:35:16 +01:00
sorki
5aa62fd8da
remote: NarSource not in GADT pans out
2023-12-07 16:35:16 +01:00
sorki
a5dac6da5f
remote: shuffle reply serializers, extend ReplySError
2023-12-07 16:35:16 +01:00
sorki
7bdbab9c53
remote: move enum tests to EnumSpec
2023-12-07 16:35:16 +01:00
sorki
428a61a538
remote: split runStoreSocket, doReq into Remote.Client.Core
2023-12-07 16:35:16 +01:00
sorki
7dc5c596aa
tests: add/move Test.Hspec.Nix.forceRight from json
2023-12-07 16:35:16 +01:00
sorki
aa94d3c3da
remote: separate (Client|Server)Handshake(Input|Output) types
2023-12-07 16:35:16 +01:00
sorki
bdce1a3035
tests: enable TypeFamilies for Realisation
2023-12-07 16:35:16 +01:00
sorki
c8d97899e7
overlay.nix: dependent-sum-template 0.2.0.1
2023-12-07 16:35:16 +01:00
sorki
0323bf06a5
drop dependent-sum-template source-repository-package, add >= 0.2.0.1 lower bound
2023-12-07 16:35:16 +01:00
sorki
69060eca76
docs/contributors: add andreabedini
2023-12-07 16:35:16 +01:00
sorki
496fb3284e
make DerivationOutput explicitely generic
...
It is already parametrized, but `name` field is too specific
to accommodate i.e. `DerivationOutput StorePath` which is
used by `Derivation` type. So we call it `output` instead
and turn the type variable to just `a`.
So
* for `Realisation`s this is `DerivationOutput OutputName`
* for `Derivation`s this is `DerivatonOutput StorePath`
* for content addressed derivations this might be `DerivationOutput Void` as the path isn't known ahead of time.
So only its shape is important.
Related to https://github.com/Gabriella439/Haskell-Nix-Derivation-Library/pull/24
2023-12-07 16:35:16 +01:00
sorki
e6d21c15bc
remote: deal with Realisation.id (required for the server side and qc prop)
2023-12-07 16:35:16 +01:00
sorki
f79effe092
remote: fix handling of BuildResult.builtOutputs
2023-12-07 16:35:16 +01:00
sorki
9c407cbf8a
init hnix-store-json
2023-12-07 16:35:16 +01:00
sorki
1bda8fd1fe
add derivationOutput(Parser|Builder), prop
2023-12-07 16:35:16 +01:00
sorki
e6ed8f8069
single BuildResult to rule them all
2023-12-07 16:35:16 +01:00
sorki
ee4ad7b07b
add builtOutputs to BuildResult, more legwork
2023-12-07 16:35:16 +01:00
sorki
225b4d3f5a
tests: limit the size of list for OutputName, StorePath name generators
2023-12-07 16:35:16 +01:00
sorki
72de93d260
core: improve haddocks for Build, use trailing haddocks for records
2023-12-07 16:35:16 +01:00
sorki
25778c1dcd
core: add System.Nix.Realisation
2023-12-07 16:35:16 +01:00
sorki
2f73cd9aef
core: add System.Nix.OutputName
2023-12-07 16:35:16 +01:00
sorki
b8294ffb74
core: split parseNameText from mkStorePathName
...
so it can be used for `OutputName` as well
2023-12-07 16:35:16 +01:00
sorki
70443c884b
core: improve mkStorePathName and its errors, add test
2023-12-07 16:35:16 +01:00
sorki
9cf2e1aa34
core: split name part errors from InvalidPathError to InvalidNameError
2023-12-07 16:35:16 +01:00
sorki
06935815c6
core: makeStorePathName -> mkStorePathName
2023-12-07 16:35:16 +01:00
sorki
569e68fad5
remote: drop no longer needed OverloadedStrings from Client
2023-12-07 16:35:16 +01:00
sorki
f93b21c58e
remote: maybe _ id -> fromMaybe _
2023-12-07 16:35:16 +01:00
sorki
8936300fbe
core,remote: add OldBuildResult as it is the one we claim to support now
2023-12-07 16:35:16 +01:00
sorki
2cd4c32b84
tests: custom Arbitrary Metadata instance with forced SHA256 metadataNarHash, w/o (Just0) metadataNarBytes
2023-12-07 16:35:16 +01:00
sorki
a8077c5031
prefix Metadata fields
2023-12-07 16:35:16 +01:00
sorki
fb1bcfdb61
prefix BuildResult fields
2023-12-07 16:35:16 +01:00
sorki
d3c9bc3bf1
remote: fix buildResult whitespace
2023-12-07 16:35:16 +01:00
sorki
497d0f6d05
remote: move StoreReply to Types.StoreReply
2023-12-07 16:35:16 +01:00
sorki
de15745a64
remote: add ReplySError, RemoteStoreError_SerializerReply
2023-12-07 16:35:16 +01:00
sorki
218689d610
remote: add RequestSError, shave off undefineds
2023-12-07 16:35:16 +01:00
sorki
2443d3859f
remote: pretty doReq, add haddock
2023-12-07 16:35:16 +01:00
sorki
b506f1a2d7
remote: use DList Logger
...
instead of slow-to-append-to list. Thanks for the suggestion!
Closes #63 .
Co-Authored-By: Travis Whitaker <pi.boy.travis@gmail.com>
2023-12-07 16:35:16 +01:00
sorki
675581903e
remote: implement Logger_Write
...
Adds `setDataSink` which can be used to set
a function to be called when daemon
sned us data using `Logger_Write`.
`clearDataSink` should be used after
the operation using the data sink is finished.
2023-12-07 16:35:16 +01:00
sorki
57cc9e3609
remote: implement Logger_Read
...
Adds `setDataSource` which can be used to set
a function to be polled when daemon asks
for data using `Logger_Read`.
Function should return `Nothing` when all
data was read.
`clearDataSource` should be used after
the operation using the data source is finished.
Related to #265
2023-12-07 16:35:16 +01:00
sorki
82262a1b1d
remote: Client, no more need for nested runRemoteStoreT
2023-12-07 16:35:16 +01:00
sorki
f1f30af6d5
remote: also include what was parsed (via Show) in incremental parser errors
2023-12-07 16:35:15 +01:00
sorki
6ebc2fcc5b
remote: handle errors in genericIncremental
2023-12-07 16:35:15 +01:00
sorki
c4315f1842
remote: handle IOExceptions in sockGet8
2023-12-07 16:35:15 +01:00
sorki
5d927d3402
remote: handle logger errors properly
2023-12-07 16:35:15 +01:00
sorki
001f4cad7a
remote: deal with logger, tagless
2023-12-07 16:35:15 +01:00
sorki
a934eb1e19
remote: MonadRemoteStoreR
2023-12-07 16:35:15 +01:00
sorki
c25a5a8535
remote: init Remote.Client.doReq
2023-12-07 16:35:15 +01:00
sorki
0c54337dbf
remote: add NarSource to RemoteStoreState, add setNarSource, takeNarSource to MonadRemoteStore
2023-12-07 16:35:15 +01:00
sorki
638ac9ea80
remote: fix dumm(p)y path typo
2023-12-07 16:35:15 +01:00