Skip to content

RFC: Provide latest versions of some Haskell executables at the top level #190542

@sternenseemann

Description

@sternenseemann

Since we are quite often stuck on Stackage LTS (for better or worse), we tend to get stuck with certain major versions of packages that serve as both executables and libraries. We need to follow Stackage LTS to avoid breaking builds in haskellPackages, but normal users may want the latest and greatest versions of certain executables – here the API stability criteria of Stackage don't really apply. Anecdotically, users ask about latest versions of

  • pandoc
  • xmonad
  • hledger
  • more?

The question is now: Should we provide the latest version of these packages at their top level attributes? This should be possible via the versioned attributes hackage2nix generates, but may require extra overrides in many cases to account for breaking changes and discrepancies with the main package set.

My personal opinion is that this is a good idea, but we need to figure out, how this would work in terms of organization. I don't want to burden us (@NixOS/haskell) with even more, maybe nontrivial work, since the current amount of work is already more than enough (especially if other responsibilities get in the way). Ideally we'd have maintainers step up for the respective packages, but they would need to be

  • knowledgeable about Haskell in order to deal with build failures
  • knowledgeable about the (still underdocumented) Haskell infrastructure in nixpkgs to fix said failures
  • somewhat available, as build failures may crop up as we update the Haskell packages set which is on a schedule of every 1-2 weeks roughly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.kind: questionRequests for a specific question to be answered2.status: stalehttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md6.topic: haskellGeneral-purpose, statically typed, purely functional programming language9.needs: maintainerPackage or module needs active maintainers
    No fields configured for issues without a type.

    Projects

    Status

    Waiting

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions