Commit Graph

19 Commits

Author SHA1 Message Date
Peter Simons
8d86c8274f callHackage: generate expressions for the appropriate target system and compiler 2016-06-13 23:09:56 +02:00
Peter Simons
2862d272a6 haskell: add support for all of Hackage
The function "callHackage <name> <version>" generates build instructions for
the requested library version on-the-fly. All of Hackage is available. Note:
this code is brand-new, experimental, and it might change in the future. Don't
base production code on this feature yet.

Example usage:

  $ nix-shell -p 'haskellPackages.callHackage "cpphs" "1.19.3" {}' --run "cpphs --version"
  cpphs 1.19.3

  $ nix-shell -p 'haskellPackages.ghcWithPackages (self: [(self.callHackage "hsdns" "1.6.1" {})])' --run "ghc-pkg list hsdns"
  /nix/store/p6r81k2vb2pzy4wcvri6z9m492i0hg63-ghc-8.0.1/lib/ghc-8.0.1/package.conf.d
      hsdns-1.6.1
2016-06-12 08:37:06 +02:00
Peter Simons
69add60b5c pkgs/development/haskell-modules: simplify use of standard fix' and extends functions
My original version of 'extend' had its arguments flipped compared to the one
we now have in stdenv.lib.
2015-11-25 11:30:43 +01:00
Peter Simons
405fda497a lib: document fix and add fix', extends functions
These functions used to live in pkgs/development/haskell-modules/default.nix,
but they are generic, really, and should be easily accessible to everyone.
2015-11-24 12:48:03 +01:00
Vladimír Čunát
76ef7a93e3 Merge: xlibs and x11 attribute cleanup
Frequently using multiple *almost* identical attributes is bad.
2015-09-23 10:42:34 +02:00
Peter Simons
2aaa587b71 hackage-packages.nix: switch our default package set to Stackage Nightly
This update was generated by hackage2nix v20150903-82-g351b6f8 using the following inputs:

  - Hackage: af161fdf17
  - LTS Haskell: da73308b63
  - Stackage Nightly: 1994a4f865
2015-09-19 08:20:40 +02:00
Vladimír Čunát
88c9f8b574 xlibs: replace occurrences by xorg
This seems to have been confusing people, using both xlibs and xorg, etc.
- Avoided renaming local (and different) xlibs binding in gcc*.
- Fixed cases where both xorg and xlibs were used.
Hopefully everything still works as before.
2015-09-15 12:54:34 +02:00
Jan Malakhovski
d8487667cf haskell-packages: bring hoogle to the masses by imlementing ghcWithHoogle
Replace `ghcWithPackages` to `ghcWithHoogle` in your config and enjoy.
2015-08-18 19:56:16 +00:00
obadz
23f5a23ec7 haskell-modules/default.nix: this line of code is invalid but wasn't causing harm thanks to non-strictness 2015-08-06 11:09:47 +01:00
Charles Strahan
3859f7bdab haskell-ng: hoogleLocal support 2015-06-11 20:25:31 -04:00
Peter Simons
b9152b89c2 haskell-ng: reduce memory requirements of overrideScope by improved sharing
With this patch applied, "nix-env -qaP -A haskellngPackages" succeeds fine
without running out of memory. Thanks to @bennofs for catching this in
bbb422af92 (commitcomment-11235596).
2015-05-18 18:04:36 +02:00
Peter Simons
807146cf75 haskell-ng: make overrideScope respect the default lookup scope
Build environments created by overrideScope lost the ability to find
packages outside of the Haskell package set without help. This patch
remedies this issue.

Fixes https://github.com/NixOS/nixpkgs/issues/6192.
2015-05-18 18:04:36 +02:00
Peter Simons
7299118724 Remove obsolete Haskell attribute name compatibility layer. 2015-05-04 12:27:03 +02:00
Nikolay Amiantov
49f3c375b5 ghcWithPackages: add withLLVM 2015-03-26 11:29:05 +01:00
Peter Simons
380114738f haskell-ng: rename "noHaddock" attribute to "doHaddock"
This makes the attribute (a) consistent with "doCheck" and friends and (b)
avoids the double negation "noHaddock = false" meaning "doHaddock = true".

Fixes https://github.com/NixOS/cabal2nix/issues/63.
2015-01-18 12:58:31 +01:00
Peter Simons
007628fd49 haskell-generic-builder: use cpphs pre-processor by default on Darwin
Allegedly, the cpp implementation of Clang is weird and causes errors.
2015-01-13 22:33:17 +01:00
Peter Simons
f36973ce83 haskell-ng: Make ghcWithPackages available as ghc.withPackages, too. 2015-01-10 15:55:47 +01:00
Peter Simons
3c8b33eee4 haskell-modules: implement overrideScope method for deep overriding
deepOverride turns out to be completely unfeasible for non-trivial overrides.
Nix evaluates for an eternity, and then comes back saying:

  Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
  nix-instantiate killed by signal 6

The hand-written deep-override, on the other hand, performs the job in a
fraction of a second, no problem.

All bow to Russell O'Connor!
2015-01-08 18:50:19 +01:00
Peter Simons
54baa53df1 Say hello to our brand-new Haskell infrastructure. 2015-01-07 23:45:21 +01:00