packages feed

helics-0.1.1: Setup.hs

import Distribution.Simple
import Distribution.Simple.LocalBuildInfo
import Distribution.PackageDescription
import Distribution.Text (display)

addCppOption new lbi = 
   let pd = localPkgDescr lbi
   in case library pd of
       Nothing  -> lbi
       Just lib ->
           let libbi = libBuildInfo lib
               cpp   = new : cppOptions libbi
           in lbi { localPkgDescr = pd { library = Just lib { libBuildInfo = libbi { cppOptions = cpp } } } }

version (CompilerId _ v) = v

updateLBI lbi =
   let v = display . version . compilerId $ compiler lbi
       f = "-DCOMPILER_VERSION=\"" ++ v ++ "\""
   in addCppOption f lbi 

main = defaultMainWithHooks
    simpleUserHooks { confHook = \i f -> updateLBI `fmap` confHook simpleUserHooks i f }