mirror of
https://github.com/haskell-nix/hnix-store.git
synced 2024-11-29 17:33:51 +03:00
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:
commit
247be7140c
48
README.md
48
README.md
@ -1,5 +1,7 @@
|
|||||||
# hnix-store
|
# 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.
|
A Haskell interface to the [Nix] store.
|
||||||
|
|
||||||
[Nix]: https://nixos.org/nix
|
[Nix]: https://nixos.org/nix
|
||||||
@ -44,12 +46,11 @@ several Haskell packages.
|
|||||||
|
|
||||||
### [hnix-store-core]
|
### [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)
|
[![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)
|
[![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
|
Contains the core types and
|
||||||
fundamental operations combining them, agnostic to any particular
|
fundamental operations, agnostic to any particular
|
||||||
effectful implementation (e.g. in-memory, talking to the Nix daemon in
|
effectful implementation (e.g. in-memory, talking to the Nix daemon in
|
||||||
IO, etc.), with the actual implementations in a different package.
|
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
|
and only at the very edges of the system would it be necessary to
|
||||||
bring in a specific implementation.
|
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]
|
### [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)
|
[![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)
|
[![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
|
[Nix] worker protocol implementation for interacting with remote Nix store
|
||||||
via `nix-daemon`.
|
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-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-remote]: ./hnix-store-remote
|
||||||
|
[hnix-store-tests]: ./hnix-store-tests
|
||||||
|
@ -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:
|
* Changes:
|
||||||
* `System.Nix.StorePath.makeStorePathName` renamed to `System.Nix.StorePath.mkStorePathName`
|
* `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)
|
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)
|
* `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)
|
* `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)
|
* `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)
|
* Moved to `System.Nix.StorePath.Metadata` [#236](https://github.com/haskell-nix/hnix-store/pull/236)
|
||||||
* Constructors of `StorePathName` and `StorePathHashPart` are no longer
|
* 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
|
# 0.1.0.0 -- 2019-03-18
|
||||||
|
|
||||||
* First version.
|
* First version.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`hnix-store-core` uses [PVP Versioning][1].
|
||||||
|
|
||||||
|
[1]: https://pvp.haskell.org
|
||||||
|
@ -13,9 +13,10 @@ maintainer: srk@48.io
|
|||||||
copyright: 2018 Shea Levy
|
copyright: 2018 Shea Levy
|
||||||
category: Nix
|
category: Nix
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
extra-source-files:
|
extra-doc-files:
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
, README.md
|
extra-source-files:
|
||||||
|
README.md
|
||||||
, tests/samples/example0.drv
|
, tests/samples/example0.drv
|
||||||
, tests/samples/example1.drv
|
, tests/samples/example1.drv
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -2,18 +2,19 @@ cabal-version: 2.2
|
|||||||
name: hnix-store-db
|
name: hnix-store-db
|
||||||
version: 0.1.0.0
|
version: 0.1.0.0
|
||||||
synopsis: Nix store database support
|
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
|
homepage: https://github.com/haskell-nix/hnix-store
|
||||||
license: Apache-2.0
|
license: Apache-2.0
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Richard Marko
|
author: Sorki
|
||||||
maintainer: srk@48.io
|
maintainer: srk@48.io
|
||||||
copyright: 2023 Richard Marko
|
copyright: 2023 Sorki
|
||||||
category: Nix
|
category: Nix
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
extra-source-files:
|
extra-doc-files:
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
, README.md
|
extra-source-files:
|
||||||
|
README.md
|
||||||
, README.lhs
|
, README.lhs
|
||||||
|
|
||||||
flag build-bench
|
flag build-bench
|
||||||
|
@ -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
|
* Initial release
|
||||||
|
|
||||||
@ -7,4 +7,3 @@
|
|||||||
`hnix-store-json` uses [PVP Versioning][1].
|
`hnix-store-json` uses [PVP Versioning][1].
|
||||||
|
|
||||||
[1]: https://pvp.haskell.org
|
[1]: https://pvp.haskell.org
|
||||||
|
|
||||||
|
@ -3,18 +3,19 @@ name: hnix-store-json
|
|||||||
version: 0.1.0.0
|
version: 0.1.0.0
|
||||||
synopsis: JSON serialization for core types
|
synopsis: JSON serialization for core types
|
||||||
description:
|
description:
|
||||||
Aeson instances for core types
|
Aeson instances for core types, required for remote store protocol
|
||||||
homepage: https://github.com/haskell-nix/hnix-store
|
homepage: https://github.com/haskell-nix/hnix-store
|
||||||
license: Apache-2.0
|
license: Apache-2.0
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Richard Marko
|
author: Sorki
|
||||||
maintainer: srk@48.io
|
maintainer: srk@48.io
|
||||||
copyright: 2023 Richard Marko
|
copyright: 2023 Sorki
|
||||||
category: Nix
|
category: Nix
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
extra-source-files:
|
extra-doc-files:
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
, README.md
|
extra-source-files:
|
||||||
|
README.md
|
||||||
|
|
||||||
common commons
|
common commons
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
|
@ -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].
|
`hnix-store-nar` uses [PVP Versioning][1].
|
||||||
|
|
||||||
[1]: https://pvp.haskell.org
|
[1]: https://pvp.haskell.org
|
||||||
|
|
||||||
|
@ -12,14 +12,16 @@ maintainer: srk@48.io
|
|||||||
copyright: 2018 Shea Levy
|
copyright: 2018 Shea Levy
|
||||||
category: Nix
|
category: Nix
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
extra-source-files:
|
extra-doc-files:
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
, README.md
|
extra-source-files:
|
||||||
|
README.md
|
||||||
, tests/fixtures/case-conflict.nar
|
, tests/fixtures/case-conflict.nar
|
||||||
|
|
||||||
flag bounded_memory
|
flag bounded_memory
|
||||||
description: Run tests of constant memory use (requires +RTS -T)
|
description: Run tests of constant memory use (requires +RTS -T)
|
||||||
default: False
|
default: False
|
||||||
|
manual: True
|
||||||
|
|
||||||
common commons
|
common commons
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
|
@ -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
|
* Initial release
|
||||||
|
|
||||||
@ -7,4 +7,3 @@
|
|||||||
`hnix-store-readonly` uses [PVP Versioning][1].
|
`hnix-store-readonly` uses [PVP Versioning][1].
|
||||||
|
|
||||||
[1]: https://pvp.haskell.org
|
[1]: https://pvp.haskell.org
|
||||||
|
|
||||||
|
@ -12,9 +12,10 @@ maintainer: srk@48.io
|
|||||||
copyright: 2018 Shea Levy
|
copyright: 2018 Shea Levy
|
||||||
category: Nix
|
category: Nix
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
extra-source-files:
|
extra-doc-files:
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
, README.md
|
extra-source-files:
|
||||||
|
README.md
|
||||||
|
|
||||||
common commons
|
common commons
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
|
@ -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:
|
* Changes:
|
||||||
* `StorePath` no longer carries `storePathRoot` field and we
|
* `StorePath` no longer carries `storePathRoot` field and we
|
||||||
have a stand-alone `StoreDir` type instead to be used instead of `FilePath`
|
have a stand-alone `StoreDir` type instead to be used instead of `FilePath`
|
||||||
when store root directory is needed as a context.
|
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)
|
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
|
# [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
|
# 0.1.0.0 -- 2019-03-18
|
||||||
|
|
||||||
* First version.
|
* First version.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`hnix-store-remote` uses [PVP Versioning][1].
|
||||||
|
|
||||||
|
[1]: https://pvp.haskell.org
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
cabal-version: 2.2
|
cabal-version: 2.2
|
||||||
name: hnix-store-remote
|
name: hnix-store-remote
|
||||||
version: 0.6.0.0
|
version: 0.7.0.0
|
||||||
synopsis: Remote hnix store
|
synopsis: Remote hnix store
|
||||||
description: Implementation of the nix store using the daemon protocol.
|
description: Implementation of the nix store using the daemon protocol.
|
||||||
homepage: https://github.com/haskell-nix/hnix-store
|
homepage: https://github.com/haskell-nix/hnix-store
|
||||||
license: Apache-2.0
|
license: Apache-2.0
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Richard Marko
|
author: Sorki
|
||||||
maintainer: srk@48.io
|
maintainer: srk@48.io
|
||||||
copyright: 2018 Richard Marko
|
copyright: 2018 Sorki
|
||||||
category: Nix
|
category: Nix
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
extra-source-files:
|
extra-doc-files:
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
, README.md
|
extra-source-files:
|
||||||
|
README.md
|
||||||
, README.lhs
|
, README.lhs
|
||||||
|
|
||||||
common commons
|
common commons
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
{-|
|
{-|
|
||||||
Description : Serializer data type
|
Description : Serializer data type
|
||||||
Copyright : (c) John Ericson, 2023
|
Copyright : (c) John Ericson, 2023
|
||||||
Richard Marko, 2023
|
Sorki, 2023
|
||||||
Stability : experimental
|
Stability : experimental
|
||||||
|
|
||||||
@Serializer@ ties @Get@ and @PutM@ monads
|
@Serializer@ ties @Get@ and @PutM@ monads
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
{-|
|
{-|
|
||||||
Description : NixSerializer
|
Description : NixSerializer
|
||||||
Copyright : (c) John Ericson, 2023
|
Copyright : (c) John Ericson, 2023
|
||||||
Richard Marko, 2023
|
Sorki, 2023
|
||||||
|-}
|
|-}
|
||||||
|
|
||||||
module System.Nix.Store.Remote.Serializer
|
module System.Nix.Store.Remote.Serializer
|
||||||
|
@ -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
|
* Initial release
|
||||||
|
|
||||||
@ -7,4 +7,3 @@
|
|||||||
`hnix-store-tests` uses [PVP Versioning][1].
|
`hnix-store-tests` uses [PVP Versioning][1].
|
||||||
|
|
||||||
[1]: https://pvp.haskell.org
|
[1]: https://pvp.haskell.org
|
||||||
|
|
||||||
|
@ -10,14 +10,15 @@ description:
|
|||||||
homepage: https://github.com/haskell-nix/hnix-store
|
homepage: https://github.com/haskell-nix/hnix-store
|
||||||
license: Apache-2.0
|
license: Apache-2.0
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Richard Marko
|
author: Sorki
|
||||||
maintainer: srk@48.io
|
maintainer: srk@48.io
|
||||||
copyright: 2023 Richard Marko
|
copyright: 2023 Sorki
|
||||||
category: Nix
|
category: Nix
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
extra-source-files:
|
extra-doc-files:
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
, README.md
|
extra-source-files:
|
||||||
|
README.md
|
||||||
|
|
||||||
common commons
|
common commons
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
|
Loading…
Reference in New Issue
Block a user