Update Haskell-Nix bindings, hercules-ci-agent, cachix nix library version (#357224)

This commit is contained in:
tomberek 2024-11-25 09:31:48 -05:00 committed by GitHub
commit 2de990d168
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 425 additions and 1 deletions

View File

@ -1181,7 +1181,7 @@ self: super: builtins.intersectAttrs super {
hercules-ci-cnix-store = overrideCabal
(old: {
passthru = old.passthru or { } // {
nixPackage = pkgs.nixVersions.nix_2_19;
nixPackage = pkgs.nixVersions.nix_2_24;
};
})
(super.hercules-ci-cnix-store.override {

View File

@ -1,5 +1,19 @@
{ pkgs, haskellLib }:
let
inherit (pkgs) lib;
inherit (lib.strings) hasSuffix removeSuffix;
pathsByName =
lib.concatMapAttrs
(name: type:
lib.optionalAttrs (type == "regular" && hasSuffix ".nix" name) {
${removeSuffix ".nix" name} = ./replacements-by-name + "/${name}";
}
)
(builtins.readDir ./replacements-by-name);
in
# EXTRA HASKELL PACKAGES NOT ON HACKAGE
#
# This file should only contain packages that are not in ./hackage-packages.nix.
@ -44,3 +58,4 @@ self: super: {
hercules-ci-optparse-applicative = self.callPackage ../misc/haskell/hercules-ci-optparse-applicative.nix {};
}
// lib.mapAttrs (_name: path: self.callPackage path {}) pathsByName

View File

@ -0,0 +1,7 @@
# haskell-modules/replacements-by-name
This directory is scanned, and all `.nix` files are called in order to replace their respective packages in the `haskellPackages` set.
They're loaded after `hackage-packages.nix` but before any overrides are applied.
See [non-hackage-packages.nix](../non-hackage-packages.nix) for the implementation.
This is used for selective backports of updates, as the hackage package set won't be updated in its entirety.

View File

@ -0,0 +1,255 @@
{
mkDerivation,
aeson,
async,
attoparsec,
base,
base64-bytestring,
bifunctors,
binary,
binary-conduit,
boost,
bytestring,
Cabal,
cabal-pkg-config-version-hook,
cachix,
cachix-api,
conduit,
conduit-extra,
containers,
directory,
dlist,
exceptions,
file-embed,
filepath,
hercules-ci-api,
hercules-ci-api-agent,
hercules-ci-api-core,
hercules-ci-cnix-expr,
hercules-ci-cnix-store,
hostname,
hspec,
hspec-discover,
http-client,
http-client-tls,
http-conduit,
HUnit,
inline-c,
inline-c-cpp,
katip,
lens,
lens-aeson,
lib,
lifted-async,
lifted-base,
monad-control,
mtl,
network,
network-uri,
nix,
optparse-applicative,
process,
process-extras,
profunctors,
protolude,
QuickCheck,
safe-exceptions,
scientific,
servant,
servant-auth-client,
servant-client,
servant-client-core,
stm,
tagged,
temporary,
text,
time,
tls,
tomland,
transformers,
transformers-base,
unbounded-delays,
unix,
unliftio,
unliftio-core,
unordered-containers,
uuid,
vector,
websockets,
wuss,
}:
mkDerivation {
pname = "hercules-ci-agent";
version = "0.10.5";
sha256 = "ab1c2370dbfdca7d7b67cb1985648edabf40d99f01b88a98d6961a2706c0e591";
isLibrary = true;
isExecutable = true;
setupHaskellDepends = [
base
Cabal
cabal-pkg-config-version-hook
];
libraryHaskellDepends = [
aeson
async
base
binary
binary-conduit
bytestring
conduit
containers
directory
dlist
exceptions
file-embed
filepath
hercules-ci-api-agent
hercules-ci-api-core
hercules-ci-cnix-expr
hercules-ci-cnix-store
katip
lens
lens-aeson
lifted-async
lifted-base
monad-control
mtl
network
network-uri
process
process-extras
protolude
safe-exceptions
stm
tagged
temporary
text
time
tls
transformers
transformers-base
unbounded-delays
unix
unliftio
unliftio-core
uuid
vector
websockets
wuss
];
executableHaskellDepends = [
aeson
async
attoparsec
base
base64-bytestring
bifunctors
binary
binary-conduit
bytestring
cachix
cachix-api
conduit
conduit-extra
containers
directory
dlist
exceptions
filepath
hercules-ci-api
hercules-ci-api-agent
hercules-ci-api-core
hercules-ci-cnix-expr
hercules-ci-cnix-store
hostname
http-client
http-client-tls
http-conduit
inline-c
inline-c-cpp
katip
lens
lens-aeson
lifted-async
lifted-base
monad-control
mtl
network
network-uri
optparse-applicative
process
process-extras
profunctors
protolude
safe-exceptions
scientific
servant
servant-auth-client
servant-client
servant-client-core
stm
temporary
text
time
tomland
transformers
transformers-base
unix
unliftio
unliftio-core
unordered-containers
uuid
vector
websockets
wuss
];
executableSystemDepends = [ boost ];
executablePkgconfigDepends = [ nix ];
testHaskellDepends = [
aeson
async
attoparsec
base
bifunctors
binary
binary-conduit
bytestring
conduit
containers
exceptions
filepath
hercules-ci-api-agent
hercules-ci-api-core
hercules-ci-cnix-store
hspec
HUnit
katip
lens
lens-aeson
lifted-async
lifted-base
monad-control
mtl
process
profunctors
protolude
QuickCheck
safe-exceptions
scientific
stm
tagged
temporary
text
tomland
transformers
transformers-base
unliftio-core
unordered-containers
uuid
vector
];
testToolDepends = [ hspec-discover ];
homepage = "https://docs.hercules-ci.com";
description = "Runs Continuous Integration tasks on your machines";
license = lib.licenses.asl20;
}

View File

@ -0,0 +1,82 @@
{
mkDerivation,
aeson,
base,
boost,
bytestring,
Cabal,
cabal-pkg-config-version-hook,
conduit,
containers,
directory,
exceptions,
filepath,
hercules-ci-cnix-store,
hspec,
hspec-discover,
inline-c,
inline-c-cpp,
lib,
nix,
process,
protolude,
QuickCheck,
scientific,
temporary,
text,
unliftio,
unordered-containers,
vector,
}:
mkDerivation {
pname = "hercules-ci-cnix-expr";
version = "0.3.6.5";
sha256 = "0adbd451815bb6ea7388c0477fe6e114e0ba019819027709855e7834aedcb6df";
setupHaskellDepends = [
base
Cabal
cabal-pkg-config-version-hook
];
libraryHaskellDepends = [
aeson
base
bytestring
conduit
containers
directory
exceptions
filepath
hercules-ci-cnix-store
inline-c
inline-c-cpp
protolude
scientific
text
unliftio
unordered-containers
vector
];
librarySystemDepends = [ boost ];
libraryPkgconfigDepends = [ nix ];
testHaskellDepends = [
aeson
base
bytestring
containers
filepath
hercules-ci-cnix-store
hspec
process
protolude
QuickCheck
scientific
temporary
text
unordered-containers
vector
];
testToolDepends = [ hspec-discover ];
homepage = "https://docs.hercules-ci.com";
description = "Bindings for the Nix evaluator";
license = lib.licenses.asl20;
}

View File

@ -0,0 +1,65 @@
{
mkDerivation,
base,
boost,
bytestring,
Cabal,
cabal-pkg-config-version-hook,
conduit,
containers,
exceptions,
hspec,
hspec-discover,
inline-c,
inline-c-cpp,
lib,
nix,
protolude,
template-haskell,
temporary,
text,
unix,
unliftio-core,
vector,
}:
mkDerivation {
pname = "hercules-ci-cnix-store";
version = "0.3.6.1";
sha256 = "35e3d21f9bbc1c83187af22a2532d227fc42a5cf3cf683a86be7bb7180f10d5e";
setupHaskellDepends = [
base
Cabal
cabal-pkg-config-version-hook
];
libraryHaskellDepends = [
base
bytestring
conduit
containers
inline-c
inline-c-cpp
protolude
template-haskell
unix
unliftio-core
vector
];
librarySystemDepends = [ boost ];
libraryPkgconfigDepends = [ nix ];
testHaskellDepends = [
base
bytestring
containers
exceptions
hspec
inline-c
inline-c-cpp
protolude
temporary
text
];
testToolDepends = [ hspec-discover ];
homepage = "https://docs.hercules-ci.com";
description = "Haskell bindings for Nix's libstore";
license = lib.licenses.asl20;
}