You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Based on a discussion in the Cabal and Hackage room on Matrix, initiated by @juhp:
In short, the ability to extend a project description to specify one or more *.patch files in respect of a package, for one or more packages, the patch files being applied in the order listed to modify the source code files before they are built; and the extension either happening at the command line or by agumenting Stack's project-level configuration file.
A project-level configuration file can specify an extra dep by reference to (1) a Git or Mercurial repository as at a specific commit; or (2) a local file path:
Fundamental to Stack is the classification of a package (identified by a name and version and, if applicable, Cabal file revision number) as either immutable or mutable. Packages deemed immutable are assumed by Stack to be unchanging; once built, Stack caches the products of building. In what sense, if any, can you 'patch' (change) an immutable package? Packages that are mutable are:
project packages;
extra-deps identified by a local file path; and
packages that depend, directly or indirectly, on a mutable package.
Activity
mpilgrem commentedon May 9, 2025
Observation:
A project-level configuration file can specify an extra dep by reference to (1) a Git or Mercurial repository as at a specific commit; or (2) a local file path:
An extra-dep shadows a snapshot.
mpilgrem commentedon May 9, 2025
Complication:
Fundamental to Stack is the classification of a package (identified by a name and version and, if applicable, Cabal file revision number) as either immutable or mutable. Packages deemed immutable are assumed by Stack to be unchanging; once built, Stack caches the products of building. In what sense, if any, can you 'patch' (change) an immutable package? Packages that are mutable are:
juhp commentedon Jun 2, 2025
Right I think patched packages would have to be considered implicit local extra-deps somehow.