Skip to content

Commit d2db2d0

Browse files
committed
add some discussion of import config limitations
1 parent 34e7e62 commit d2db2d0

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

doc/cabal-project-description-file.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,11 @@ One use case for imports is to specify a `Stackage <https://www.stackage.org/>`
8989
snapshot, so that your cabal project can use the same set of packages as
9090
that snapshot. To use the ``lts-21.25`` resolver, you can write
9191
``import: https://www.stackage.org/lts-21.25/cabal.config`` in your
92-
``cabal.project``. Note that Stackage does not guarantee that these will work
93-
with regards to revisions.
92+
``cabal.project``.
93+
94+
There are a number of limitations that come with this approach however; please
95+
see :ref:`How can I have a reproducible set of versions for my dependencies?<how reproducible>` for
96+
more information.
9497

9598
Specifying the local packages
9699
-----------------------------

doc/nix-local-build.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ for each package using :cfg-field:`profiling-detail`::
104104
Alternately, you can call ``cabal build --enable-profiling`` to
105105
temporarily build with profiling.
106106

107+
.. _how reproducible:
108+
107109
How can I have a reproducible set of versions for my dependencies?
108110
------------------------------------------------------------------
109111

@@ -134,6 +136,17 @@ development environments.
134136
.. _Stackage: https://stackage.org/
135137
.. _versions of packages in lts-19.2: https://www.stackage.org/lts-19.2
136138

139+
Limitations
140+
^^^^^^^^^^^
141+
142+
Stackage does not guarantee that the config files will work with revisions, and
143+
it's not currently possible to `override used versions of packages <https://github.com/haskell/cabal/issues/9511>`
144+
or to `specify revisions <https://github.com/haskell/cabal/issues/7833>` using
145+
cabal.
146+
147+
To mitigate these shortcomings, you can download the config file that is linked
148+
to and remove the troublesome constraints.
149+
137150
How it works
138151
============
139152

0 commit comments

Comments
 (0)