I know I can add a local package to a cabal project by listing it in the packages: section of the cabal.project file. The simplest example, which makes a project out of a single local package, is packages: ..
In cabal.project I can also add these two things:
source-repository-packagesections:source-repository-package type: git location: git@github.com:haskell-streaming/streaming.git tag: eb3073e6ada51b2bae82c15a9ef3a21ffa5f5529definitions of local no-index repositories
repository my-local-repository url: file+noindex:///home/zzz/no-index-repo-dir
It seems that both of them let me add packages to a project. What's the difference between the two?
(Note: this question is unrelated to the similarly-named source-repository: field, which simply says which is the repository associated to the source code of a package.)