Commit Graph

203 Commits

Author SHA1 Message Date
Anton-Latukha
a93cba03c9
treewide: hlint refactor 2021-08-06 19:29:02 +03:00
Anton-Latukha
75c810423a
treewide: hlint refactor 2021-08-06 19:29:02 +03:00
Anton-Latukha
3fe7fce9e8
treewide: use lift 2021-08-06 19:29:02 +03:00
Anton-Latukha
f27d5c15be
treewide: use ask{,s} 2021-08-06 19:29:02 +03:00
Anton-Latukha
54a7c92791
treewide: use WriteMode 2021-08-06 19:29:02 +03:00
Anton-Latukha
d2970b9f01
treewide: use ReadMode 2021-08-06 19:29:02 +03:00
Anton-Latukha
8f932bd6ee
treewide: use decodeUtf8 2021-08-06 19:29:01 +03:00
Anton-Latukha
0789f253c8
treewide: use toString 2021-08-06 19:29:01 +03:00
Anton-Latukha
99da38fa83
treewide: use withFile 2021-08-06 19:29:01 +03:00
Anton-Latukha
5d22b9450a
treewide: use pass 2021-08-06 19:29:01 +03:00
Anton-Latukha
c00dedcd3a
treewide: use toText 2021-08-06 19:29:01 +03:00
Anton-Latukha
80f27bb836
Core: Derivation: refactor 2021-08-06 19:29:01 +03:00
Anton-Latukha
e350ee4f60
Core: tests: NarFormat: (data -> newtype) Nar 2021-08-06 19:29:01 +03:00
Anton-Latukha
c4183d22d2
treewide: (LANGUAGE -> language) 2021-08-06 19:29:01 +03:00
Anton-Latukha
8e3955f6a1
Core: cabal: declare default-extensions 2021-08-06 19:29:01 +03:00
Anton-Latukha
ef6343be35
Core: use relude as Prelude 2021-08-06 17:55:32 +03:00
Anton-Latukha
39b55ad645
Core: tests: treewide refactor 2021-08-06 17:43:23 +03:00
Anton-Latukha
b816f41170
treewide: clean-up language extensions 2021-08-06 17:43:23 +03:00
Anton-Latukha
3f5d9092df
{Code, Remote}: require base >=4.12 (GHC 8.6) 2021-08-06 17:43:22 +03:00
Anton-Latukha
98da3481db Core: proclaim 0.5 2021-06-10 17:23:23 +03:00
Anton-Latukha
8c67482a67 Core: prepare ChangeLog for 0.5.0.0 release 2021-06-10 17:23:23 +03:00
Anton-Latukha
e4948a9fe1
Core: upd ChangeLog after migration to cryptonite 2021-06-10 15:24:29 +03:00
Anton-Latukha
97146b41cc
treewide: migrate crypto(hash-* -> nite)
Reference:

Main cause:

https://github.com/haskell-hvr/cryptohash-sha512/issues/7

The whole `cryptohash-*` package family is abandoned, there is no
signs of maintainer activity there, so it stopped following Haskell ecosystem &
`base` releases. Knowing the human history & situation around it - it would not
be reviwed, which gives experience to not hardcode on the (specifically when
emotional) dependency.

Experience I drawn from this story is to keep things simplier when possible &
have more flexible systems as a result code.
It was "a bit too much" for what hashing is, for the code to have 2 hashing type
systems (external & internal) & reinventment of `HashAlgorithm` type duplicate.
The whole code was really rigid with a lot of type applicating the data kinds,
those are dependent type features & should be used cautiously, since interface
became rigid to changes, so afterwards it is easier & effective to dismantle
and recreate the subsystem then to evolve it.

Previous hashing history:
https://github.com/haskell-nix/hnix-store/issues/156
https://github.com/haskell-nix/hnix-store/issues/142
https://github.com/haskell-nix/hnix-store/pull/93
https://github.com/haskell-nix/hnix-store/issues/92
https://github.com/haskell-nix/hnix-store/issues/90
https://github.com/haskell-nix/hnix-store/issues/83
https://github.com/haskell-nix/hnix-store/pull/64
https://github.com/haskell-nix/hnix-store/pull/38
https://github.com/haskell-nix/hnix-store/pull/32
https://github.com/haskell-nix/hnix-store/pull/31
https://github.com/haskell-nix/hnix-store/pull/28
https://github.com/haskell-nix/hnix-store/pull/27
https://github.com/haskell-nix/hnix-store/pull/25
https://github.com/haskell-nix/hnix-store/issues/18
https://github.com/haskell-nix/hnix-store/pull/14
2021-06-10 15:17:40 +03:00
Anton-Latukha
3ecbb2f5a5
Core: tests: NarFormat: m clean-up 2021-06-10 13:18:41 +03:00
Anton-Latukha
f395a0aba0
Core: Internal.Nar.Streamer: explicit export list 2021-06-10 13:18:41 +03:00
Anton-Latukha
8c7dc152d9
Core: Internal.Nar.Parser: explicit export list 2021-06-10 13:18:41 +03:00
Anton-Latukha
1200a4839f
Core: Internal.Truncation: explicit export list 2021-06-10 13:18:41 +03:00
Anton-Latukha
d196ba5448
Core: Internal.StorePath: explicit export list 2021-06-10 13:18:41 +03:00
Anton-Latukha
099d02dba3
Core: Internal.Signature: explicit export list 2021-06-10 13:18:41 +03:00
Anton-Latukha
a2798b034a
Core: Internal.Hash: explicit export list 2021-06-10 13:18:41 +03:00
Anton-Latukha
ef8a2c044c
Core: Internal.Base32: explicit export list 2021-06-10 13:18:41 +03:00
Anton-Latukha
d0b58e9e3d
Core: Internal.Base: explicit export list 2021-06-10 13:18:41 +03:00
Anton-Latukha
2af74986de
Core: Internal.Hash: take-out Truncated from HashAlgorythm & treewide change
M  hnix-store-core/src/System/Nix/Hash.hs
M  hnix-store-core/src/System/Nix/Internal/Hash.hs
M  hnix-store-core/src/System/Nix/Internal/StorePath.hs
M  hnix-store-core/src/System/Nix/ReadonlyStore.hs
M  hnix-store-core/src/System/Nix/StorePath.hs
M  hnix-store-core/tests/Arbitrary.hs
M  hnix-store-core/tests/Hash.hs
2021-06-10 13:18:41 +03:00
Anton-Latukha
978aeb09ba
Core: Internal.Base: m import clean-up 2021-06-10 13:18:41 +03:00
Anton-Latukha
8ddca09609
Core: Internal: add module Truncation 2021-06-10 13:18:41 +03:00
Anton-Latukha
449ba89a90
Core: Internal: Hash: truncateDigest(->InNixWay)
Please, see the notes in the code.
2021-06-10 13:18:40 +03:00
Anton-Latukha
d8b1498957
Core: Internal: Hash: truncateDigest: refactor 2021-06-10 13:18:40 +03:00
Anton-Latukha
49699e9ce3
Core: Internal: mv Base dec -> Base, Hash.decode(Base->DigestWith) 2021-06-10 13:18:40 +03:00
Anton-Latukha
f5ba0fcfa4
Core: Internal: mv Base enc -> Base, Hash.encode(InBase->DigestWith) 2021-06-10 13:18:40 +03:00
Anton-Latukha
d0295a1613
Core: treewide: m clean-up 2021-06-10 13:18:40 +03:00
Anton-Latukha
bdeeede9ae
Core: Internal: Base: (-> Nix)Base32
To name it honestly. It is not a standard Base32 encoding.

NixBase32 needs specific treatment over the stack (now & in the future), so it
is better to distinquish it from default encoding.
2021-06-10 13:18:40 +03:00
Anton-Latukha
2ae2b49a0b
Core: Internal: Base32: decode: Left: name honestly 2021-06-10 13:18:40 +03:00
Anton-Latukha
0343740efb
Core: Internal: Base32: m refactor 2021-06-10 13:18:40 +03:00
Anton-Latukha
79b461962f
Core: Internal: form Base
It is tiny, but it is a start of separation of the Base encodings from hashing subsystem.
2021-06-10 13:18:40 +03:00
Anton-Latukha
145e7de63f
Core: Internal.Hash: qualify GHC.TypeList as Kind
A preparation for further work.
2021-06-10 13:18:40 +03:00
Anton Latukha
0eb0e023c9
{Core, Remote}: proclaim 0.4.3.1 (#155) 2021-05-30 21:06:23 +03:00
Anton Latukha
b4377c753a
Release 0.4.3 (#153)
* Core: ChangeLog: add 0.4.3.0 section

* Remote: ChangeLog: add 0.4.3.0 section

* {Core, Remote}: cabal: proclaim 0.4.3.0
2021-05-30 18:55:50 +03:00
Anton-Latukha
bd00d387e7
Core: System.Nix.Internal.Signature: support saltine 0.2.0 2021-05-30 18:27:50 +03:00
Anton-Latukha
722b431657
Core: tests: add dep hspec, {StorePath,Derivation}: fx import
>    No changes, but 1.1.7 should have been a major version bump due to dropping the Test.Hspec re-export.
https://hackage.haskell.org/package/tasty-hspec-1.2/changelog

M  hnix-store-core/tests/Hash.hs
M  hnix-store-core/tests/NarFormat.hs
2021-05-30 18:27:45 +03:00
Anton-Latukha
285bf4256f
Core: tests: {StorePath,Derivation}: fx Text function type 2021-05-30 18:24:52 +03:00