packages feed

qtah-generator 0.2.0 → 0.2.1

raw patch · 2 files changed

+16/−5 lines, 2 filessetup-changed

Files

Setup.hs view
@@ -17,7 +17,7 @@  {-# OPTIONS_GHC -W -fwarn-incomplete-patterns -fwarn-unused-do-bind #-} -import Control.Monad (when)+import Control.Monad (unless, when) import Distribution.PackageDescription (PackageDescription) import Distribution.Simple (defaultMainWithHooks, simpleUserHooks) import Distribution.Simple.LocalBuildInfo (@@ -53,8 +53,12 @@ import System.Directory (   createDirectoryIfMissing,   doesFileExist,+  executable,   getCurrentDirectory,+  getPermissions,   removeFile,+  setOwnerExecutable,+  setPermissions,   ) import System.FilePath ((</>), joinPath, takeDirectory) @@ -78,14 +82,21 @@ findProjectRootDir :: LocalBuildInfo -> IO FilePath findProjectRootDir localBuildInfo = case pkgDescrFile localBuildInfo of   Just path -> return $ takeDirectory path-  Nothing -> die "Couldn't find qtah-listener-gen."+  Nothing -> die "Couldn't find the project root path."  generateSources :: LocalBuildInfo -> IO () generateSources localBuildInfo = do   -- Generate binding sources for the generated C++ listener classes.   projectRootDir <- findProjectRootDir localBuildInfo-  let program = simpleConfiguredProgram "qtah-listener-gen" $-                FoundOnSystem $ projectRootDir </> "qtah-listener-gen"+  let genPath = projectRootDir </> "qtah-listener-gen"+      program = simpleConfiguredProgram "qtah-listener-gen" $ FoundOnSystem genPath++  -- Cabal 1.24 (GHC 8?) seems to remove the executable bit from+  -- qtah-listener-gen before configuring, so we have to re-add it.+  perms <- getPermissions genPath+  unless (executable perms) $+    setPermissions genPath $ setOwnerExecutable True perms+   runProgram normal program ["--gen-hs-dir", "."]  doInstall :: PackageDescription -> LocalBuildInfo -> CopyDest -> IO ()
qtah-generator.cabal view
@@ -1,5 +1,5 @@ name: qtah-generator-version: 0.2.0+version: 0.2.1 synopsis: Generator for Qtah Qt bindings homepage: http://khumba.net/projects/qtah license: LGPL-3