Please describe the problem.

git-annex's dependencies fail to install unless fingertree is constrained to < 0.1.2.0

Note this has already been fixed upstream in reducers https://github.com/ekmett/reducers/commit/f18a111d66c343bd472f914baaa948191f8ecf55

However, there hasn't been a new release yet of reducers so it still affects git-annex currently.

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?

6.20171003 on macOS

Please provide any additional information below.

The error is

Failed to install reducers-3.12.1
Build log ( /private/tmp/git-annex-20171003-61223-1v5jyd4/git-annex-6.20171003/.cabal-sandbox/logs/ghc-8.2.1/reducers-3.12.1-5Of5cjMdWsgHjbctJQaaa4.log ):
cabal: Entering directory '/tmp/cabal-tmp-62861/reducers-3.12.1'
Configuring reducers-3.12.1...
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/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'
Preprocessing library for reducers-3.12.1..
Building library for reducers-3.12.1..
[ 1 of 14] Compiling Data.Semigroup.Instances ( src/Data/Semigroup/Instances.hs, dist/dist-sandbox-c97b5ef4/build/Data/Semigroup/Instances.o )

src/Data/Semigroup/Instances.hs:11:10: error:
    Duplicate instance declarations:
      instance Measured v a => Semigroup (FingerTree v a)
        -- Defined at src/Data/Semigroup/Instances.hs:11:10
      instance [safe] Measured v a => Semigroup (FingerTree v a)
        -- Defined in ‘Data.FingerTree’
   |
11 | instance Measured v a => Semigroup (FingerTree v a) where
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cabal: Leaving directory '/tmp/cabal-tmp-62861/reducers-3.12.1'

Full log is here: https://gist.github.com/ilovezfs/544d546785addbe2c5ef41656fa7eda0

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 :)

I see this was fixed in the meantime in fingertree-0.1.2.

Also, I'd prefer not to complicate git-annex's dependencies with versioning for indirect dependencies like this one, unless there's some long drawn-out breakage to contend with.

done --Joey