Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 6 commits into from
Nov 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pkgs/development/haskell-modules/configuration-nix.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
15 changes: 15 additions & 0 deletions pkgs/development/haskell-modules/non-hackage-packages.nix
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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
Original file line number Diff line number Diff line change
@@ -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.
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
@@ -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;
}
Loading