Skip to content

Commit ecc801a

Browse files
hackage2nix: do not recurse into haskellPackages
recurseIntoAttrs was added recently in NixOS/nixpkgs@99c0500 For hackage2nix, this is pointless. Dependencies between haskell packages are resolved directly. System dependencies should not resolve to haskellPackages under normal (any?) circumstances.
1 parent 3cc36a5 commit ecc801a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

cabal2nix/hackage2nix/Main.hs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,13 @@ main = do
7878
)
7979
CLI {..} <- execParser pinfo
8080

81+
let nixpkgsArgs = mconcat [ "{"
82+
, "overlays = [ (self: super: { haskellPackages = self.lib.dontRecurseIntoAttrs super.haskellPackages; }) ];"
83+
, "config.allowAliases = false;"
84+
, "}"
85+
]
8186
config <- sconcat <$> mapM (\file -> readConfiguration (nixpkgsRepository </> file)) configFiles
82-
nixpkgs <- readNixpkgPackageMap nixpkgsRepository (Just "{ config = { allowAliases = false; }; }")
87+
nixpkgs <- readNixpkgPackageMap nixpkgsRepository (Just nixpkgsArgs)
8388
preferredVersions <- readPreferredVersions (fromMaybe (hackageRepository </> "preferred-versions") preferredVersionsFile)
8489
let fixup = Map.delete "acme-everything" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
8590
. Map.delete "type" -- TODO: https://github.com/NixOS/cabal2nix/issues/163

0 commit comments

Comments
 (0)