summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/make-package-set.nix
Commit message (Collapse)AuthorAge
* haskellPackages.shellFor: Add extraDependenciesRobert Hensing2022-03-15
| | | | | An example use case is when you have Haskell scripts that use libraries that don't occur in your packages' dependencies.
* haskellPackages.haskellSrc2nix: stdenvNoCC.mkDerivation -> runCommandRobert Hensing2022-02-26
| | | | No need to fuss with phases.
* haskellPackages.callCabal2nix: Use stdenvNoCCRobert Hensing2022-02-26
| | | | | Delays C compiler realisation to the actual build, which is more parallelizable; doesn't block the evaluator.
* haskellPackages.{ghcWithPackages, ghcWithHoogle}: make overrideablesternenseemann2022-01-06
| | | | | | | | | | | | | | | 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.
* haskellPackages.callPackage: support returning functionssternenseemann2022-01-06
| | | | | | Overrideable functions are possible by wrapping them as functors in an attribute set first and appending the overrideScope and override attributes later.
* haskellPackages.developPackage: Use haskell.lib.compose correctlyEllie Hermaszewska2021-11-08
|
* haskell: switch from haskell.lib to haskell.lib.composeEllie Hermaszewska2021-11-07
|
* haskellPackages.callCabal2nixWithOptions: don't guess cabal filenamesternenseemann2021-10-27
| | | | | | | | cabal only allows one cabal file per directory and cabal2nix will find the correct file easily. Thus we don't need to know ahead of time which cabal file to select. One downside of this is of course that we may include unnecessary files in subdirectories, which could possibly be fixed by enforcing depth.
* haskellPackages.shellFor: Fix typo in the commentsViacheslav Lotsmanov2021-07-12
| | | | “hpkgs” → “haskellPkgs”
* haskell: default name to "" when root isn't a path in developPackageJoe Hermaszewski2021-05-08
| | | | See https://github.com/NixOS/nixpkgs/issues/103062
* Merge pull request #109059 from jkachmar/haskell-generic-builder-args-modifierDennis Gosnell2021-01-27
|\ | | | | Adds Haskell generic builder argument modifier
| * Adds Haskell generic args builder documentationJoe Kachmar2021-01-14
| |
| * Adds Haskell generic builder argument modifierJoe Kachmar2021-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a new argument to the Haskell builder's 'shellFor' which allows the caller to adjust the 'genericBuilderArgs' after they are built. One immediate application for this is that it allows users to disable tests, enable benchmarks, etc. for _all_ packages in a given Haskell package set. This is often useful when so many of the derivations in the package set have changed that most of the cache has been invalidated, and there is no need for the user to run tests on their dependencies, but they still want these dependencies available in their 'nix-shell' environment for some package-under-development.
* | pkgs/development: stdenv.lib -> libBen Siraphob2021-01-24
| |
* | Consistently use 'lib' instead of 'stdenv.lib' in the Haskell infrastructure.Peter Simons2021-01-22
|/ | | | Part of https://github.com/NixOS/nixpkgs/issues/108938.
* haskell: Add cabal2nixOptions to developPackageJoe Hermaszewski2020-11-13
| | | | Also neaten documentation slightly
* haskell: add withHoogle option to developPackageJoe Hermaszewski2020-11-13
|
* haskell: improve documentation on ghcWithHoogle and developPackageJoe Hermaszewski2020-11-13
|
* haskellPackages.shellFor: add a doBenchmark argument for enabling benchmarks ↵(cdep)illabout2020-11-06
| | | | deps
* haskellPackages.shellFor: fix spelling and grammar mistakesDennis Gosnell2020-11-06
| | | Co-authored-by: maralorn <malte.brandy@maralorn.de>
* haskellPackages.shellFor: improve documentation(cdep)illabout2020-11-06
|
* cabal2nix: split into a lightweight version and a wrapperGeorges Dubus2020-03-13
| | | | | | | | | | | | | | | | | | | | Current, the `cabal2nix` derivation contains both the executable, and a wrapper that adds `nix` and `nix-prefetch-scripts`, which are required for some features. However, when calling `callCabal2nix` to create a derivation from a cabal file at evaluation time, these features are not actually used, but the huge closure of `nix-prefetch-scripts` (which includes multiple vcs, as well as python and perl) still needs to be fetched. This commit splits cabal2nix into a lightweight version that is a standalone static binary (`cabal2nix-unwrapped`), and a wrapper that includes the proper dependencies in the path for full usage of the command line utility (`cabal2nix`). This commit also switches to the default ghc, to reduce the likelyhood of building a different ghc when calling `callCabal2nix`.
* Merge remote-tracking branch 'upstream/master' into work-on-multi-shellForJohn Ericson2020-02-22
|\
| * Merge remote-tracking branch 'obsidiansystems/work-on-multi-shellFor'Matthew Bauer2020-01-17
| |\
| * | callHackageDirect: correct type signatureJack Kelly2019-11-20
| | |
| * | haskellSrc2nixJohn Ericson2019-10-15
| | | | | | | | | | | | | | | | | | | | | Since [1], cabal2nix has been able to parse full platform triples. We need this for when the system doesn't say enough info (e.g. android). [1]: https://github.com/NixOS/cabal2nix/commit/0bb88f0009710e013564f24c195fd037e766310e#diff-d9172aeec4039eef8cfcc8a2ab6c0677R143
| * | haskell: Speed up cross callHackage by using native sourceJohn Ericson2019-10-01
| | | | | | | | | | | | The extract of code from hackage is the same on all platforms.
* | | haskell shellFor: Fix hoogleJohn Ericson2020-02-22
| |/ |/|
* | shellFor: Refactor for consistency and crossJacquin Mininger2020-01-17
|/ | | | | | | | | | | | | | | | | | | | | | | | This makes it work like work-on-multi from Reflex Platform. In particular, rather than making `.env` from `shellFor`, we make `.env` the primitive, and `shellFor` works by combining together the arguments of all the packages to `generic-builder` and taking the `.env` of the resulting mashup-package. There are 2 benefits of this: 1. The dependency logic is deduplicated. generic builder just concatted lists, whereas all the envs until now would sieve apart haskell and system build inputs. Now, they both decide haskell vs system the same way: according to the argument list and without reflection. Consistency is good, especially because it mean that if the build works, the shell is more likely to work. 2. Cross is handled better. For native builds, because the `ghcWithPackages` calls would shadow, we through both the regular component (lib, exe, test, bench) haskell deps and Setup.hs haskell deps in the same `ghcWithPackages` call. But for cross builds we use `buildPackages.ghcWithPackages` to get the setup deps. This ensures everything works correctly.
* treewide: remove unused variables (#63177)volth2019-06-16
| | | | | | * treewide: remove unused variables * making ofborg happy
* Merge pull request #60406 from JohnAZoidberg/remove-isnullRobin Gloster2019-05-18
|\ | | | | treewide: Remove usage of isNull
| * treewide: Remove usage of isNullDaniel Schaefer2019-04-29
| | | | | | | | isNull "is deprecated; just write e == null instead" says the Nix manual
* | Add minimal docs for callHackage and friendsBryan Richter2019-05-14
|/ | | | | Specifically haskellSrc2nix, callHackage, and callHackageDirect. Other functions should probably also be documented, but it's at least a start.
* haskell: add more hackage mirrors, use mirrors in more placesMatthew Bauer2019-04-05
| | | | Fixes #58971
* Revert "shellFor: Don't suck in src to compare to deps. [Fixes #51079]"Silvan Mosberger2019-02-15
|
* shellFor: Don't suck in src to compare to deps. [Fixes #51079]Will Fancher2019-01-29
|
* Overrides can be passed to callHackageDirectDoug Beardsley2019-01-27
|
* Add a callHackage variant that doesn't require all-cabal-hashesDoug Beardsley2018-12-25
|
* haskellSrc2nix: disallow substitutesGuillaume Bouchard2018-11-22
| | | | | | | | | | | | | | | Fix #49818. See the bug for more details. The work done by haskellSrc2nix is usually lightweight, but needs to be done each time a cabal file change. This triggers unexpected network activity for a cache query which results most of the time on a cache miss. By disabling substitutes we: - avoid the, mostly useless, binary cache query - avoid unexpected network failure when users change a cabal file and try to rebuild without connectivity.
* Update developPackage documentationDoug Beardsley2018-10-17
|
* Add name parameter to developPackageDoug Beardsley2018-10-16
|
* haskellPackages.*.env: Use shellForSilvan Mosberger2018-10-03
|
* haskellPackages.shellFor: Clean and fixupSilvan Mosberger2018-10-03
| | | | - Now correctly sets NIX_GHC* env vars
* Merge pull request #46795 from obsidiansystems/late-bind-buildHaskellPackagesJohn Ericson2018-09-17
|\ | | | | haskell infra: "late bind" `buildHaskellPackages`
| * haskell infra: "late bind" `buildHaskellPackages`John Ericson2018-09-17
| | | | | | | | This way it can be overridden.
* | Merge pull request #44424 from dhess/callCaball2nixWithOptionBas van Dijk2018-09-11
|\ \ | |/ |/| haskell-modules: add callCabal2nixWithOptions.
| * haskell-modules: add callCabal2nixWithOptions.Drew Hess2018-08-03
| | | | | | | | Fixes #44377.
* | haskellPackages.shellFor: fix after recent getHaskellBuildInputs fix.Shea Levy2018-08-19
| | | | | | | | Fixes #45318
* | Merge pull request #44356 from ElvishJerricco/callcabal2nix-passthru-deriverBas van Dijk2018-08-11
|\ \ | |/ |/| callCabal2nix: Passthru deriver
| * callCabal2nix: Passthru deriverWill Fancher2018-08-10
| |