55495c5a98
https://github.com/haskell/cabal/issues/4655 This means that when a module is conditionally imported via ifdef depending on the OS or build flags, the cabal file has to mirror the same logic there to only list the module then. Since there are lots of OS's and lots of combinations of build flags here, it's rather difficult to know if the cabal file has been completelty correctly updated to match the source code. So I am very unhappy with needing to update things in two places. I've only tested this on linux with most build flags enables; this will probably need significant time and testing to catch every cabal file tweak that this change to Cabal requires. And it will be a continual source of compile failures going forward when the code is modified and the cabal file not also updated. DRY DRY DRY, I repeat myself, but: DRY! Sigh.. (Also, had to remove all Build.* that are standalone programs from the Other-Modules list, because since cabal passes those modules to ghc when building git-annex, it complains that they use module Main. Those modules are only used when building with the Makefile anyway, so this change shouldn't break anything.) This commit was sponsored by Thomas Hochstein on Patreon.
51 lines
2.6 KiB
Markdown
51 lines
2.6 KiB
Markdown
### Please describe the problem.
|
|
git-annex cannot build with GHC 8.2.1
|
|
|
|
### What steps will reproduce the problem?
|
|
cabal install --jobs=8 --max-backjumps=100000 --only-dependencies --flags=s3\ webapp
|
|
|
|
### What version of git-annex are you using? On what operating system?
|
|
Tested with 6.20170520 and HEAD at a983877279d5157d4e7a8c2397d9e541e3c41fa6
|
|
|
|
### Please provide any additional information below.
|
|
Discovered during https://github.com/Homebrew/homebrew-core/pull/15934
|
|
|
|
[[!format sh """
|
|
==> cabal install --jobs=8 --max-backjumps=100000 --only-dependencies --flags=s3 webapp
|
|
clang: warning: -Wl,-headerpad_max_install_names: 'linker' input unused
|
|
clang: warning: argument unused during compilation: '-L/usr/local/opt/gettext/lib'
|
|
clang: warning: argument unused during compilation: '-L/usr/local/opt/libffi/lib'
|
|
clang: warning: argument unused during compilation: '-L/usr/local/opt/readline/lib'
|
|
clang: warning: argument unused during compilation: '-L/usr/local/opt/sqlite/lib'
|
|
clang: warning: argument unused during compilation: '-L/usr/local/opt/openssl/lib'
|
|
clang: warning: argument unused during compilation: '-L/usr/local/opt/icu4c/lib'
|
|
clang: warning: argument unused during compilation: '-L/usr/local/lib'
|
|
clang: warning: argument unused during compilation: '-L/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries'
|
|
Resolving dependencies...
|
|
cabal: Could not resolve dependencies:
|
|
trying: git-annex-6.20170520 (user goal)
|
|
trying: base-4.10.0.0/installed-4.1... (dependency of git-annex-6.20170520)
|
|
next goal: sandi (dependency of git-annex-6.20170520)
|
|
rejecting: sandi-0.4.0 (conflict: base==4.10.0.0/installed-4.1..., sandi =>
|
|
base>=4.7 && <4.10)
|
|
rejecting: sandi-0.3.6, sandi-0.3.5 (conflict:
|
|
base==4.10.0.0/installed-4.1..., sandi => base>=4.7 && <4.9)
|
|
rejecting: sandi-0.3.4 (conflict: base==4.10.0.0/installed-4.1..., sandi =>
|
|
base==4.8.*)
|
|
rejecting: sandi-0.3.3, sandi-0.3.2, sandi-0.3.1 (conflict:
|
|
base==4.10.0.0/installed-4.1..., sandi => base==4.7.*)
|
|
rejecting: sandi-0.3.0.1 (conflict: base==4.10.0.0/installed-4.1..., sandi =>
|
|
base==4.6.* || ==4.7.*)
|
|
rejecting: sandi-0.3.0 (conflict: base==4.10.0.0/installed-4.1..., sandi =>
|
|
base==4.7.*)
|
|
rejecting: sandi-0.2.3, sandi-0.2.2.1, sandi-0.2.2, sandi-0.2.1 (conflict:
|
|
base==4.10.0.0/installed-4.1..., sandi => base>=4.5 && <4.7)
|
|
rejecting: sandi-0.2, sandi-0.1.1, sandi-0.1 (conflict:
|
|
base==4.10.0.0/installed-4.1..., sandi => base==4.6.*)
|
|
Dependency tree exhaustively searched.
|
|
"""]]
|
|
|
|
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
|
|
Yes :)
|
|
|
|
> [[fixed|done]] --[[Joey]]
|