about summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/hoogle.nix
AgeCommit message (Collapse)AuthorFilesLines
2022-10-07lib.closePropagation: Remove the quadratic behavior in lib.closePropagationGuillaume Bouchard1-1/+0
The code of `lib.closePropagation` was internally using a recursion on the dependencies and returns all the derivation directly or indirectly referenced by buildInputs. `lib.closeProgation` is implemented in pure nix and uses an unique function for list which is quadratic and does "true" equality, which needs deep set comparison. Instead, we use the `builtins.genericClosure` which is implemented as a builtin and uses a more efficient sorting feature. Note that `genericClosure` needs a `key` to discriminate the values, we used the `outPath` which is unique and orderable. On benchmarks, it performs up to 15x time faster on a benchmark related to haskellPackages.ghcWithPackages.
2022-06-05haskellPackages.hoogleLocal: allow substitutes againMalte Brandy1-3/+6
This is a follow up to the discussion in https://github.com/NixOS/nixpkgs/pull/165337
2022-03-22haskellPackages.hoogleLocal: build database locallyProfpatsch1-0/+7
2022-01-06haskellPackages.{ghcWithPackages, ghcWithHoogle}: make overrideablesternenseemann1-25/+13
This is achieved by passing the entire package set to the respective wrappers and passing the select function as a second attribute. Together with the new support for callPackage-ing functions this allows for things like `ghcWithPackages.override { useLLVM = true; } (p: [ … ])`. To make this possible for `ghcWithHoogle` as well, we need to make the wrapper a bit more bespoke and inline the hoogle feature as well. The hoogle wrapper, however, can remain separate and is exposed as `hoogleWithPackages` additionally, as it can also serve standalone use. `hoogleLocal` is kept for backwards compatibility (including the old, suboptimal API), but will inform users about the better alternative via a warning.
2021-06-16haskellPackages.shellFor: Work around hoogle generation failureJoe Hermaszewski1-2/+5
Workaround for https://github.com/NixOS/nixpkgs/issues/82245 Although this doesn't tackle the root cause of a null package sneaking in (via executableHaskellDepends), it does effectively treat the symptom by just ignoring any null packages. Seeing as that issue has been open for more than a year I think this band-aid is necessary.
2021-01-24treewide: fix double quoted strings in meta.descriptionvolth1-2/+2
Signed-off-by: Ben Siraphob <bensiraphob@gmail.com>
2021-01-24pkgs/development: stdenv.lib -> libBen Siraphob1-2/+2
2019-12-24ghcWithHoogle: Fix for crossJohn Ericson1-2/+3
Use `buildPackages.stdenv.mkDerivation` because we are making a shell script to start hoogle on the build platform.
2019-09-03Pass hoogle-local's buildCommand as a file.Travis Whitaker1-3/+3
This is necessary when a very large number of packages are included in the package database. Without this change, setting up the build environment will fail, since the environment will be too large. This simply applies the technique mentioned in https://github.com/NixOS/nixpkgs/issues/25057 to solve this problem.
2018-07-20[bot] treewide: remove unused 'inherit' in let blocksvolth1-1/+0
2018-07-20[bot]: remove unreferenced codevolth1-4/+0
2018-06-22Revert "Fix null deps in ghcWithHoogle"Peter Simons1-9/+7
2018-06-21Fix null deps in ghcWithHoogleWill Fancher1-7/+9
2017-08-19ghcWithHoogle: deal gracefully with packages that have no haddockDir attributePeter Simons1-1/+1
2017-08-19ghcWithHoogle: cosmetic for the sake of Emacs syntax highlightingPeter Simons1-3/+2
2017-08-06pkgs/haskell-modules/hoogle.nix: find haddocks by `haddockDir`Profpatsch1-12/+15
Previously a few clumsy shell globs were used to find haddock output, which broke every time something in `generic-builder.nix` changed. Use the new `haddockDir` identifier exported by haskell packages.
2017-02-14ghcWithHoogle: fix for ghcjsBas van Dijk1-5/+5
`haskell.packages.ghcjs.ghcWithHoogle` failed because the following line: for docdir in ${ghc.doc}/${docLibGlob}/*; do failed because `doc` is not an attribute of `ghc` when `ghc` is substituted for ghcjs.
2016-11-24haskell/hoogle.nix: make an empty packages list possibleProfpatsch1-8/+6
Building hoogle environments with an empty list of packages threw a built-time error. This was particularly confusing when giving e.g. `(hps: [hps.Cabal])` which, since `Cabal` is set to `null` (because it’s a distribution package), would have lead to the same error as an empty list. It was not useful to throw an error at all, because sometimes one only wants to build an environment for the distribution packages; also the default value for packages wasn’t even a valid value, so it is removed.
2016-09-20Make hoogle-local compatible wih hoogle >= 5.0.4Michael Alan Dorman1-22/+4
2016-06-20haskell-hoogle: adapt to GHC docs splitAlexey Shmalko1-1/+1
The docs were split at #16167 and broke google support. @peti fixed build, however hoogle still didn't see packages shipped with GHC. This patch fixes location of the libraries shipped with GHC.
2016-06-20haskell-hoogle: remedy some fallout from ↵Peter Simons1-1/+1
https://github.com/NixOS/nixpkgs/pull/16167 ghcWithHoogle builds with this patch applied, but it's probably still broken in the sense that links might point nowhere or that the generated databases and/or documentation might be incomplete.
2016-02-01ghcWithHoogle: fix haddocks for GHCJS builtin libsCharles Strahan1-1/+4
2016-01-31ghcWithHoogle: add support for ghcjsCharles Strahan1-5/+25
2015-09-02hoogle: use $NIX_BUILD_CORES to determine the proper level of parallelism ↵Peter Simons1-1/+1
for database creation
2015-08-18haskell-packages: make hoogle wrapper much more helpfulJan Malakhovski1-24/+38
* Build most of the stuff on /tmp, not in /nix/store. * Generate hoogle database for all the dependencies. * Generate haddock index and contents files. * Cleanup.
2015-08-18haskell-packages: bring hoogle to the masses by imlementing ghcWithHoogleJan Malakhovski1-0/+4
Replace `ghcWithPackages` to `ghcWithHoogle` in your config and enjoy.
2015-06-11haskell-ng: hoogleLocal supportCharles Strahan1-0/+107