Hey Ryan,I ran into a related issue, heres a a way you can do this safe IN the cabal file (or at least you can modify my hack for your purposes)heres a link to the workaround I did for making LLVM-hs work across >= 1.17 and < 1.17 cabal, but you could abuse it to make sure setup.hs barfs on old cabal https://github.com/bos/llvm/blob/master/base/Setup.hs#L89-L116heres a quick one off gist that takes my trick and does something helpful for you variant + makes sure the tool can't build otherwiseI just wrote a snippet that you can just add to your setup.hs and it should guarantee the setup.hs will barf with a helpful error message on cabal < 1.17.0On Wed, May 22, 2013 at 10:50 PM, Ryan Newton <rrnewton@gmail.com> wrote:_______________________________________________A cabal-install bug was fixed recently that pertains to building C libraries with profiling.As a result, I want a certain package to test if cabal-install < 0.17.0 is used, and throw a preemptive error. Otherwise this package fails in weird ways at runtime (it's a nasty one).I noticed with some surprise the following sequence:$ cabal --versioncabal-install version 1.16.0.2using version 1.16.0.3 of the Cabal library$ cabal clean$ cabal install$ cat dist/build/autogen/cabal_macros.h | grep VERSION_Cabal#define VERSION_Cabal "1.17.0"Alright, so that, in retrospect, makes sense. The version is which *my* library is linked with is the relevant one, not the one cabal-install was linked with [1].So the natural next thought is to move the MIN_VERSION_Cabal test into Setup.hs, and force cabal to use it by setting the build type to Custom. But... I just learned from this ticket that the cabal macros are not available in Setup.hs:Uh oh, what's left?
-Ryan[1] P.S. Personally I'm now using a bash function like below, to force the two versions to be the same:function safe_cabal_install () {VER=`cabal --version | tail -n1 | awk '{ print $3 }'`cabal install --constraint="Cabal==$VER" $*}
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe