Merge pull request #42923 from Gabriel439/gabriel/readDirectory

Add `pkgs.haskell.lib.packagesFromDirectory` utility
This commit is contained in:
Robert Hensing 2018-07-10 11:30:11 +02:00 committed by GitHub
commit 873465eede
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -382,4 +382,23 @@ rec {
allPkgconfigDepends;
};
# Utility to convert a directory full of `cabal2nix`-generated files into a
# package override set
#
# packagesFromDirectory : { directory : Directory, ... } -> HaskellPackageOverrideSet
packagesFromDirectory =
{ directory, ... }:
self: super:
let
haskellPaths = builtins.attrNames (builtins.readDir directory);
toKeyVal = file: {
name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
value = self.callPackage (directory + "/${file}") { };
};
in
builtins.listToAttrs (map toKeyVal haskellPaths);
}