Skip to content

Commit

Permalink
Update Haskell-Nix bindings, hercules-ci-agent, cachix nix library ve…
Browse files Browse the repository at this point in the history
…rsion (#357224)
  • Loading branch information
tomberek authored Nov 25, 2024
2 parents 9ec2da8 + 9314da7 commit 2de990d
Show file tree
Hide file tree
Showing 6 changed files with 425 additions and 1 deletion.
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

0 comments on commit 2de990d

Please sign in to comment.