Merge pull request #285 from haskell-nix/srk/release/core08etAl

Release `core 0.8`, remote `0.7` and new packages
This commit is contained in:
Sorki 2024-07-31 15:29:14 +00:00 committed by GitHub
commit 247be7140c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 118 additions and 45 deletions

View File

@ -1,5 +1,7 @@
# hnix-store
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/haskell-nix/hnix-store/ci.yaml?branch=master)](https://github.com/haskell-nix/hnix-store/actions/workflows/ci.yaml)
A Haskell interface to the [Nix] store.
[Nix]: https://nixos.org/nix
@ -44,12 +46,11 @@ several Haskell packages.
### [hnix-store-core]
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/haskell-nix/hnix-store/ci.yaml?branch=master)](https://github.com/haskell-nix/hnix-store/actions/workflows/ci.yaml)
[![Hackage version](https://img.shields.io/hackage/v/hnix-store-core.svg?color=success)](https://hackage.haskell.org/package/hnix-store-core)
[![Dependencies](https://img.shields.io/hackage-deps/v/hnix-store-core?label=Dependencies)](https://packdeps.haskellers.com/feed?needle=hnix-store-core)
Contains the core effect types and
fundamental operations combining them, agnostic to any particular
Contains the core types and
fundamental operations, agnostic to any particular
effectful implementation (e.g. in-memory, talking to the Nix daemon in
IO, etc.), with the actual implementations in a different package.
@ -58,14 +59,53 @@ interact with the `Nix` store can simply depend on `hnix-store-core`,
and only at the very edges of the system would it be necessary to
bring in a specific implementation.
### [hnix-store-db]
[![Hackage version](https://img.shields.io/hackage/v/hnix-store-db.svg?color=success)](https://hackage.haskell.org/package/hnix-store-db)
[![Dependencies](https://img.shields.io/hackage-deps/v/hnix-store-db?label=Dependencies)](https://packdeps.haskellers.com/feed?needle=hnix-store-db)
Implementation of the `Nix` store SQLite database.
### [hnix-store-json]
[![Hackage version](https://img.shields.io/hackage/v/hnix-store-json.svg?color=success)](https://hackage.haskell.org/package/hnix-store-json)
[![Dependencies](https://img.shields.io/hackage-deps/v/hnix-store-json?label=Dependencies)](https://packdeps.haskellers.com/feed?needle=hnix-store-json)
`Aeson` instances for core types, required for remote store protocol.
### [hnix-store-nar]
[![Hackage version](https://img.shields.io/hackage/v/hnix-store-nar.svg?color=success)](https://hackage.haskell.org/package/hnix-store-nar)
[![Dependencies](https://img.shields.io/hackage-deps/v/hnix-store-nar?label=Dependencies)](https://packdeps.haskellers.com/feed?needle=hnix-store-nar)
Packing and unpacking for NAR file format used by Nix.
### [hnix-store-readonly]
[![Hackage version](https://img.shields.io/hackage/v/hnix-store-readonly.svg?color=success)](https://hackage.haskell.org/package/hnix-store-readonly)
[![Dependencies](https://img.shields.io/hackage-deps/v/hnix-store-readonly?label=Dependencies)](https://packdeps.haskellers.com/feed?needle=hnix-store-readonly)
Path computation without interaction with the actual `Nix` store
### [hnix-store-remote]
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/haskell-nix/hnix-store/ci.yaml?branch=master)](https://github.com/haskell-nix/hnix-store/actions/workflows/ci.yaml)
[![Hackage version](https://img.shields.io/hackage/v/hnix-store-remote.svg?color=success)](https://hackage.haskell.org/package/hnix-store-remote)
[![Dependencies](https://img.shields.io/hackage-deps/v/hnix-store-remote?label=Dependencies)](https://packdeps.haskellers.com/feed?needle=hnix-store-remote)
[Nix] worker protocol implementation for interacting with remote Nix store
via `nix-daemon`.
### [hnix-store-tests]
[![Hackage version](https://img.shields.io/hackage/v/hnix-store-tests.svg?color=success)](https://hackage.haskell.org/package/hnix-store-tests)
[![Dependencies](https://img.shields.io/hackage-deps/v/hnix-store-tests?label=Dependencies)](https://packdeps.haskellers.com/feed?needle=hnix-store-tests)
Aribtrary instances and utilities for testing.
[hnix-store-core]: ./hnix-store-core
[hnix-store-db]: ./hnix-store-db
[hnix-store-json]: ./hnix-store-json
[hnix-store-nar]: ./hnix-store-nar
[hnix-store-readonly]: ./hnix-store-readonly
[hnix-store-remote]: ./hnix-store-remote
[hnix-store-tests]: ./hnix-store-tests

View File

@ -1,4 +1,4 @@
# Next
# [0.8.0.0](https://github.com/haskell-nix/hnix-store/compare/core-0.7.0.0...core-0.8.0.0) 2024-07-31
* Changes:
* `System.Nix.StorePath.makeStorePathName` renamed to `System.Nix.StorePath.mkStorePathName`
@ -6,7 +6,7 @@
and renamed to `System.Nix.Store.ReadOnly` [#247](https://github.com/haskell-nix/hnix-store/pull/247)
* `System.Nix.Nar*` moved to `hnix-store-nar` package [#247](https://github.com/haskell-nix/hnix-store/pull/247)
* `Arbitrary` instances moved to `hnix-store-tests` package [#241](https://github.com/haskell-nix/hnix-store/pull/241)
* `System.Nix.Internal` namespaces was removed [#236](https://github.com/haskell-nix/hnix-store/pull/236)
* `System.Nix.Internal` namespace was removed [#236](https://github.com/haskell-nix/hnix-store/pull/236)
* `StorePathMetadata` converted to `Metadata a` [#231](https://github.com/haskell-nix/hnix-store/pull/231)
* Moved to `System.Nix.StorePath.Metadata` [#236](https://github.com/haskell-nix/hnix-store/pull/236)
* Constructors of `StorePathName` and `StorePathHashPart` are no longer
@ -159,3 +159,9 @@ exist and we can tell what common effects they should share.
# 0.1.0.0 -- 2019-03-18
* First version.
---
`hnix-store-core` uses [PVP Versioning][1].
[1]: https://pvp.haskell.org

View File

@ -13,9 +13,10 @@ maintainer: srk@48.io
copyright: 2018 Shea Levy
category: Nix
build-type: Simple
extra-source-files:
extra-doc-files:
CHANGELOG.md
, README.md
extra-source-files:
README.md
, tests/samples/example0.drv
, tests/samples/example1.drv

View File

@ -1,3 +1,9 @@
# Unreleased 202y-mm-dd
# 0.1.0.0 2024-07-31
* First version.
* Initial release
---
`hnix-store-db` uses [PVP Versioning][1].
[1]: https://pvp.haskell.org

View File

@ -2,18 +2,19 @@ cabal-version: 2.2
name: hnix-store-db
version: 0.1.0.0
synopsis: Nix store database support
description: Implementation of the nix store database
description: Implementation of the Nix store database
homepage: https://github.com/haskell-nix/hnix-store
license: Apache-2.0
license-file: LICENSE
author: Richard Marko
author: Sorki
maintainer: srk@48.io
copyright: 2023 Richard Marko
copyright: 2023 Sorki
category: Nix
build-type: Simple
extra-source-files:
extra-doc-files:
CHANGELOG.md
, README.md
extra-source-files:
README.md
, README.lhs
flag build-bench

View File

@ -1,4 +1,4 @@
# Version [0.1.0.0](https://github.com/haskell-nix/hnix-store/compare/json-0.1.0.0...json-0.1.1.0) (2023-11-27)
# 0.1.0.0 2024-07-31
* Initial release
@ -7,4 +7,3 @@
`hnix-store-json` uses [PVP Versioning][1].
[1]: https://pvp.haskell.org

View File

@ -3,18 +3,19 @@ name: hnix-store-json
version: 0.1.0.0
synopsis: JSON serialization for core types
description:
Aeson instances for core types
Aeson instances for core types, required for remote store protocol
homepage: https://github.com/haskell-nix/hnix-store
license: Apache-2.0
license-file: LICENSE
author: Richard Marko
author: Sorki
maintainer: srk@48.io
copyright: 2023 Richard Marko
copyright: 2023 Sorki
category: Nix
build-type: Simple
extra-source-files:
extra-doc-files:
CHANGELOG.md
, README.md
extra-source-files:
README.md
common commons
ghc-options: -Wall

View File

@ -1,10 +1,9 @@
# Version [0.1.0.0](https://github.com/haskell-nix/hnix-store/compare/nar-0.1.0.0...nar-0.1.1.0) (2023-11-27)
# 0.1.0.0 2024-07-31
* Initial release
* Initial release after a split from `hnix-store-core`
---
`hnix-store-nar` uses [PVP Versioning][1].
[1]: https://pvp.haskell.org

View File

@ -12,14 +12,16 @@ maintainer: srk@48.io
copyright: 2018 Shea Levy
category: Nix
build-type: Simple
extra-source-files:
extra-doc-files:
CHANGELOG.md
, README.md
extra-source-files:
README.md
, tests/fixtures/case-conflict.nar
flag bounded_memory
description: Run tests of constant memory use (requires +RTS -T)
default: False
manual: True
common commons
ghc-options: -Wall

View File

@ -1,4 +1,4 @@
# Version [0.1.0.0](https://github.com/haskell-nix/hnix-store/compare/readonly-0.1.0.0...readonly-0.1.1.0) (2023-11-27)
# 0.1.0.0 2024-07-31
* Initial release
@ -7,4 +7,3 @@
`hnix-store-readonly` uses [PVP Versioning][1].
[1]: https://pvp.haskell.org

View File

@ -12,9 +12,10 @@ maintainer: srk@48.io
copyright: 2018 Shea Levy
category: Nix
build-type: Simple
extra-source-files:
extra-doc-files:
CHANGELOG.md
, README.md
extra-source-files:
README.md
common commons
ghc-options: -Wall

View File

@ -1,10 +1,21 @@
# Unreleased 202y-mm-dd
# [0.7.0.0](https://github.com/haskell-nix/hnix-store/compare/remote-0.6.0.0...remote-0.7.0.0) 2024-07-31
* Changes:
* `StorePath` no longer carries `storePathRoot` field and we
have a stand-alone `StoreDir` type instead to be used instead of `FilePath`
when store root directory is needed as a context.
Fore `-remote`, this affects `runStoreOpts` and its variants [#216](https://github.com/haskell-nix/hnix-store/pull/216)
* The old `MonadStore` is now deprecated and aliased to `RemoteStoreT IO`
* All store operations now use `MonadRemoteStore` typeclass, which `RemoteStoreT` is an instance of
* Couple of `Bool` parameters switched to enums
* Additions
* `addToStoreNAR` store operation [#277](https://github.com/haskell-nix/hnix-store/pull/277)
* `narFromPath` store operation [#279](https://github.com/haskell-nix/hnix-store/pull/279)
* Initial server-side support with proxy daemon acting as MITM proxy,
which allows for testing of both sides of the remote store protocol
The library stability is not quite there yet and should be considered experimental.
# [0.6.0.0](https://github.com/haskell-nix/hnix-store/compare/remote-0.5.0.0...remote-0.6.0.0) 2021-06-06
@ -52,3 +63,9 @@ Nothing (it is tandem `hnix-store-core` fix release)
# 0.1.0.0 -- 2019-03-18
* First version.
---
`hnix-store-remote` uses [PVP Versioning][1].
[1]: https://pvp.haskell.org

View File

@ -1,19 +1,20 @@
cabal-version: 2.2
name: hnix-store-remote
version: 0.6.0.0
version: 0.7.0.0
synopsis: Remote hnix store
description: Implementation of the nix store using the daemon protocol.
homepage: https://github.com/haskell-nix/hnix-store
license: Apache-2.0
license-file: LICENSE
author: Richard Marko
author: Sorki
maintainer: srk@48.io
copyright: 2018 Richard Marko
copyright: 2018 Sorki
category: Nix
build-type: Simple
extra-source-files:
extra-doc-files:
CHANGELOG.md
, README.md
extra-source-files:
README.md
, README.lhs
common commons

View File

@ -3,7 +3,7 @@
{-|
Description : Serializer data type
Copyright : (c) John Ericson, 2023
Richard Marko, 2023
Sorki, 2023
Stability : experimental
@Serializer@ ties @Get@ and @PutM@ monads

View File

@ -2,7 +2,7 @@
{-|
Description : NixSerializer
Copyright : (c) John Ericson, 2023
Richard Marko, 2023
Sorki, 2023
|-}
module System.Nix.Store.Remote.Serializer

View File

@ -1,4 +1,4 @@
# Version [0.1.0.0](https://github.com/haskell-nix/hnix-store/compare/tests-0.1.0.0...tests-0.1.1.0) (2023-11-27)
# 0.1.0.0 2024-07-31
* Initial release
@ -7,4 +7,3 @@
`hnix-store-tests` uses [PVP Versioning][1].
[1]: https://pvp.haskell.org

View File

@ -10,14 +10,15 @@ description:
homepage: https://github.com/haskell-nix/hnix-store
license: Apache-2.0
license-file: LICENSE
author: Richard Marko
author: Sorki
maintainer: srk@48.io
copyright: 2023 Richard Marko
copyright: 2023 Sorki
category: Nix
build-type: Simple
extra-source-files:
extra-doc-files:
CHANGELOG.md
, README.md
extra-source-files:
README.md
common commons
ghc-options: -Wall