packages feed

SNet-0.1.0: Setup.hs

import Distribution.Simple
import Distribution.Simple.Program
import System.Process (system)

main :: IO ()
main = defaultMainWithHooks $ simpleUserHooks {
  hookedPrograms = [c2hsc],
  preBuild = \args buildFlags -> do
      system "cd SNet/Interfaces && c2hsc CHandle.h --prefix SNet.Interfaces"
      preBuild simpleUserHooks args buildFlags
}

c2hsc :: Program
c2hsc = (simpleProgram "c2hsc") {
    programFindVersion = findProgramVersion "--version" $ \str ->
      case words str of
        (_:('v':ver):_) -> takeWhile (/=',') ver
        _             -> ""
  }