当cabal构建软件包时,“遗留回退”是什么意思?
当使用cabal来构建一个Haskell包,这似乎标志着一些包为legacy fallback:
$ cabal build
Resolving dependencies...
Build profile: -w ghc-9.0.1 -O1
In order, the following will be built (use -v for more details):
- appar-0.1.8 (lib:appar) (requires build)
- auto-update-0.1.6 (lib) (requires build)
- base-compat-0.11.2 (lib) (requires build)
...
Building base-orphans-0.8.4 (lib)
Building appar-0.1.8 (all, legacy fallback)
Downloaded memory-0.16.0
Downloading cryptonite-0.29
Installing base-orphans-0.8.4 (lib)
Downloaded cryptonite-0.29
Downloading some-1.0.3
...
可以看到,对于某些库,它们被专门标记为(lib),而其他库则被标记为(all, legacy fallback)。
这些有什么区别?什么legacy fallback意思?
我使用的是cabal-install3.4.0.0 版:
$ cabal --version
cabal-install version 3.4.0.0
compiled using version 3.4.0.0 of the Cabal library