From ece50d57cede41efcc30f92ede95f7fc19ab7f88 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 30 Sep 2015 16:15:36 +0200 Subject: rl-1509.xml: update Haskell-related release notes - Update the link to the manual to refer to the proper place. - Mention LTS Haskell and Stackage Nightly. - Minor cosmetic to improve readability. --- nixos/doc/manual/release-notes/rl-1509.xml | 73 ++++++++++++++++++------------ 1 file changed, 44 insertions(+), 29 deletions(-) (limited to 'nixos') diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml index a2f38d99b25f..5bed5c20c177 100644 --- a/nixos/doc/manual/release-notes/rl-1509.xml +++ b/nixos/doc/manual/release-notes/rl-1509.xml @@ -12,16 +12,25 @@ has the following highlights: - The Haskell packages infrastructure has been re-designed - from the ground up. NixOS now distributes the latest version of - every single package registered on Hackage, i.e. well - over 8000 Haskell packages. Further information and usage - instructions for the improved infrastructure are available at - https://nixos.org/wiki/Haskell. - Users migrating from an earlier release will also find helpful - information below, in the list of backwards-incompatible changes. + The Haskell + packages infrastructure has been re-designed from the ground up + ("Haskell NG"). NixOS now distributes the latest version + of every single package registered on Hackage -- well in + excess of 8,000 Haskell packages. Detailed instructions on how to + use that infrastructure can be found in the User's + Guide to the Haskell Infrastructure. Users migrating from an + earlier release may find helpful information below, in the list of + backwards-incompatible changes. Furthermore, we distribute 51(!) + additional Haskell package sets that provide every single LTS Haskell release + since version 0.0 as well as the most recent Stackage Nightly + snapshot. The announcement "Full + Stackage Support in Nixpkgs" gives additional + details. @@ -135,38 +144,44 @@ fileSystems."/shiny" = { - Haskell packages can no longer be found by name, except for - ghc, cabal-install, and - stack, even though we do package the whole Hackage. - The reason for this inconvenience is the sheer size of the Haskell - package set: name-based lookups such as these would become much - slower than they are today if we'd add the entire Hackage database - into the top level attribute set. Instead, the list of Haskell - packages can be displayed by + "nix-env -qa" no longer discovers + Haskell packages by name. The only packages visible in the global + scope are ghc, cabal-install, + and stack, but all other packages are hidden. The + reason for this inconvenience is the sheer size of the Haskell + package set. Name-based lookups are expensive, and most + nix-env -qa operations would become much slower + if we'd add the entire Hackage database into the top level attribute + set. Instead, the list of Haskell packages can be displayed by + running: nix-env -f "<nixpkgs>" -qaP -A haskellPackages - and packages can be installed with: + Executable programs written in Haskell can be installed with: -nix-env -f "<nixpkgs>" -iA haskellPackages.cabal-install +nix-env -f "<nixpkgs>" -iA haskellPackages.pandoc + + Installing Haskell libraries this way, however, is no + longer supported. See the next item for more details. + Previous versions of NixOS came with a feature called - ghc-wrapper, a small wrapper script that allows - GHC to transparently pick up on libraries installed in the user's - profile. This feature has been deprecated; - ghc-wrapper was removed from the distribution. - The proper way to register Haskell libraries with the compiler now - is the haskellPackages.ghcWithPackages - function. - https://nixos.org/wiki/Haskell - provides much information about this subject. + ghc-wrapper, a small script that allowed GHC to + transparently pick up on libraries installed in the user's profile. This + feature has been deprecated; ghc-wrapper was removed + from the distribution. The proper way to register Haskell libraries with + the compiler now is the haskellPackages.ghcWithPackages + function. The User's + Guide to the Haskell Infrastructure provides more information about + this subject. -- cgit 1.4.1