изменение способа сборки Setup.hs

Пакет кодирования использует HaXml в своем скрипте сборки (вSetup.hs). Бывает, что используются части интерфейса, которые изменились между HaXml-1.19 и HaXml-1.22. Было бы неплохо, если бы пакет кодирования можно было собрать с любой версией. Я попытался использовать обычный трюк Кабала, а именно, сделать что-то вроде

{-# LANGUAGE CPP #-}
#if MIN_VERSION_HaXml(1,22,0)
-- HaXml-1.22 code
#else
-- HaXml-1.19 code
#endif

... но волшебные определения не могут существовать до тех пор, пока пакет не будет сконфигурирован, и этот файл создается, чтобы сделать возможным шаг настройки. Каковы мои варианты? Есть ли способ изменить команду, которую cabal-install вызывает для компиляции Setup.hs? Есть ли другой механизм условного выбора кода, который обходит клику?

10
задан Daniel Wagner 21 April 2012 в 03:53
поделиться