Skip to content
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
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 @@ -42,3 +56,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,66 @@
{ 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.4";
sha256 = "8daf98cb6817bc08cc1bcde0275fb9c4dc1727449b3d797a99e64ed009be54af";
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,39 @@
{ mkDerivation, aeson, base, bytestring, containers, cookie
, exceptions, hashable, hercules-ci-api-core, hspec, http-api-data
, http-media, insert-ordered-containers, lens, lens-aeson, lib
, memory, network-uri, openapi3, profunctors, protolude, QuickCheck
, quickcheck-classes, servant, servant-auth, servant-auth-swagger
, servant-openapi3, servant-swagger, servant-swagger-ui-core
, string-conv, swagger2, text, time, uuid, vector
}:
mkDerivation {
pname = "hercules-ci-api";
version = "0.8.4.0";
sha256 = "6e7701d374ba9c3fc0491985f67e1d4a1ac477cc1eff6e37e1dcdc00e29a45dc";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson base bytestring containers cookie exceptions hashable
hercules-ci-api-core http-api-data http-media lens lens-aeson
memory network-uri openapi3 profunctors servant servant-auth
servant-auth-swagger servant-openapi3 servant-swagger
servant-swagger-ui-core string-conv swagger2 text time uuid
];
executableHaskellDepends = [
aeson base bytestring containers cookie exceptions hashable
http-api-data http-media insert-ordered-containers lens memory
network-uri openapi3 profunctors servant servant-auth
servant-auth-swagger servant-openapi3 servant-swagger
servant-swagger-ui-core string-conv swagger2 text time uuid
];
testHaskellDepends = [
aeson base bytestring containers exceptions hashable
hercules-ci-api-core hspec http-api-data http-media protolude
QuickCheck quickcheck-classes servant servant-auth string-conv text
time uuid vector
];
homepage = "https://github.com/hercules-ci/hercules-ci-agent#readme";
description = "Hercules CI API definition with Servant";
license = lib.licenses.asl20;
mainProgram = "hercules-gen-swagger";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{ 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.4";
sha256 = "6cc5cc25bd5a246ac81bd1d7903951c01ba21eff025705b71e0421976325ad50";
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;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{ 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.0";
sha256 = "07aa51577193274d71e1fa8c794d9b70780bf3b2c9d851d517ec95df715b850a";
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;
}