Commit Graph

66 Commits

Author SHA1 Message Date
Peter Simons
1357268b90 Merge pull request #28478 from obsidiansystems/haskell-custom-stdenv
haskell infra: Make sure packages get custom stdenv
2017-09-05 11:14:57 +02:00
Nicholas Clarke
330d874ee3 Disable separate etc output for hscolour.
This is not needed, since `hscolour` has no output to `/etc`, and it
breaks certain old builds (see https://hydra.nixos.org/build/57925511)
because the older cabal used does not understand this flag.
2017-09-04 12:35:57 +01:00
Will Fancher
4d860389d8 Merge branch 'master' into improved-make-overridable 2017-08-26 11:39:13 -04:00
John Ericson
19de1f537e haskell infra: Make sure packages get custom stdenv
One of the goals of 74f5fe5 was to allow passing in a custom stdenv,
which would be used for genericBuilder's `mkDerivation` call. That does
work, but if packages takes `stdenv` as an parameter for any reason,
they'll get the default one instead. This change remedies it.
2017-08-22 16:00:21 -04:00
Profpatsch
3f27a36912 pkgs/haskell-modules: two small vanity fixes 2017-08-06 21:46:49 +02:00
John Ericson
74f5fe5068 haskell infra: Misc cleanups
- The haskell lib is very close to not relying on Nixpkgs. I think
   this is good---simpler to think about and matches Nixpkgs's lib.

 - The haskell lib is only imported once

 - stdenv is exposed more shallowly so it can be overriden more easily.
   I'll eventually use this on Darwin to avoid the Sierra shared
   library problems (unless changes are to be made system-wide).

Closes https://github.com/NixOS/nixpkgs/pull/27840.
2017-08-03 13:12:01 +02:00
Will Fancher
8b764960e9 Added overrideScope for callPackageWith
Consequently removing several ad-hoc definitions of the same concept.
2017-07-13 14:56:13 -04:00
Gleb Peregud
0123200dee stdenv: add stawman docs for makeOverridable
Also fix a typo in docs in haskell-modules.
2017-06-24 12:47:57 +02:00
Shea Levy
b349d4b899 haskellPackages.developPackage: Add overrides argument 2017-06-12 19:29:46 -04:00
Shea Levy
01e047d088 Add haskellPackages.developPackage for local development default.nixes 2017-06-10 20:13:21 -04:00
Shea Levy
219bb1c80c Add packageSourceOverrides function to haskell package sets 2017-06-10 20:13:17 -04:00
Shea Levy
ac1599971f hackage2nix: Pull haskellSrc2nix from the final package set 2017-05-10 08:03:57 -04:00
Shea Levy
9f2bbf65af haskellSrc2nix: preferLocalBuild and use unwrapped cabal2nix.
No need to download bazaar etc...
2017-05-01 18:21:42 -04:00
Benno Fünfstück
6b36d26a24 haskell: add more callPackageWithScope docs 2017-04-25 16:08:44 +02:00
Benno Fünfstück
731e0fa742 haskell: preserve overrideScope on override
We want code such as `(pkg.override {}).overrideScope (self: super: {})` to
work. This didn't work before, since `override` will call the original package
again, and the attribute `overideScope`, which `callPackageWithScope` added,
wasn't added again. The fix for this is to modify the package function itself
to include the `callPackageWithScope` attribute, so it'll be re-added whenever
the function is overriden for with arguments.

There is a small problem here though: since callPackage uses some magic
(`builtins.functionArgs`) to determine the auto-arguments of a function, we
can't just write `callPackageWith scope drvScope`, since
`builtins.functionArgs drvScope` will be `{}`. To fix this, we implement our own
`callPackageWith`.

Fixes https://github.com/NixOS/nixpkgs/issues/7953.
Closes https://github.com/NixOS/nixpkgs/pull/9336.
2017-04-25 16:08:43 +02:00
Benno Fünfstück
5f33eb493f haskell-packages: factor package set construction in new file
Closes https://github.com/NixOS/nixpkgs/pull/24850.
2017-04-21 16:25:53 +02:00