qtah-cpp-qt5 0.1.2 → 0.2.0
raw patch · 3 files changed
+25/−12 lines, 3 filesdep +processdep ~qtah-generatorsetup-changed
Dependencies added: process
Dependency ranges changed: qtah-generator
Files
- Setup.hs +21/−9
- cpp/qtah.pro +1/−1
- qtah-cpp-qt5.cabal +3/−2
Setup.hs view
@@ -35,6 +35,7 @@ ) import Distribution.Simple.Program ( Program,+ ProgramConfiguration, getProgramOutput, lookupProgram, runDbProgram,@@ -87,6 +88,7 @@ import System.Environment (lookupEnv, setEnv) import System.FilePath ((</>), takeDirectory) import System.Posix (createSymbolicLink, getSymbolicLinkStatus)+import System.Process (callProcess) packageName :: String -- Careful, this line is modified by set-qt-version.sh.@@ -97,7 +99,7 @@ qtahHooks :: UserHooks qtahHooks = simpleUserHooks- { hookedPrograms = [generatorProgram, listenerGenProgram, makeProgram, qmakeProgram]+ { hookedPrograms = [generatorProgram, listenerGenProgram, makeProgram] , postConf = \_ cf _ lbi -> do generateSources cf lbi , buildHook = \pd lbi uh bf -> do doBuild lbi bf buildHook simpleUserHooks pd lbi uh bf@@ -123,8 +125,17 @@ makeProgram :: Program makeProgram = simpleProgram "make" -qmakeProgram :: Program-qmakeProgram = simpleProgram "qmake"+findQmake :: ProgramConfiguration -> Verbosity -> IO (FilePath, [String])+findQmake programDb verbosity = do+ generatorConfiguredProgram <-+ maybe (die $ packageName ++ ": Couldn't find qtah-generator. Is it installed?") return $+ lookupProgram generatorProgram programDb+ output <- fmap lines $+ getProgramOutput verbosity generatorConfiguredProgram ["--qmake-executable"]+ case output of+ executable:args -> return (executable, args)+ [] -> fail $ packageName +++ ": Couldn't ask qtah-generator for the location of qmake. Received no output." generateSources :: ConfigFlags -> LocalBuildInfo -> IO () generateSources configFlags localBuildInfo = do@@ -143,7 +154,8 @@ -- Run qmake to generate the makefile. setCurrentDirectory cppSourceDir- runDbProgram verbosity qmakeProgram programDb ["qtah.pro"]+ (qmakeExecutable, qmakeArguments) <- findQmake programDb verbosity+ callProcess qmakeExecutable $ qmakeArguments ++ ["qtah.pro"] setCurrentDirectory startDir @@ -186,7 +198,7 @@ -- Install the built library into the package's libdir. createDirectoryIfMissing True libDir- forM_ ["libqtah.so", "libqtah.so.0", "libqtah.so.0.1", "libqtah.so.0.1.2"] $ \p -> do+ forM_ ["libqtah.so", "libqtah.so.0", "libqtah.so.0.2", "libqtah.so.0.2.0"] $ \p -> do let path = libDir </> p shouldDelete <- catchIOError (do _ <- getSymbolicLinkStatus path@@ -194,10 +206,10 @@ (\e -> if isDoesNotExistError e then return False else ioError e) when shouldDelete $ removeFile path installExecutableFile verbosity- (cppSourceDir </> "libqtah.so.0.1.2")- (libDir </> "libqtah.so.0.1.2")- createSymbolicLink "libqtah.so.0.1.2" (libDir </> "libqtah.so.0.1")- createSymbolicLink "libqtah.so.0.1" (libDir </> "libqtah.so.0")+ (cppSourceDir </> "libqtah.so.0.2.0")+ (libDir </> "libqtah.so.0.2.0")+ createSymbolicLink "libqtah.so.0.2.0" (libDir </> "libqtah.so.0.2")+ createSymbolicLink "libqtah.so.0.2" (libDir </> "libqtah.so.0") createSymbolicLink "libqtah.so.0" (libDir </> "libqtah.so") -- Also record what version of Qt we are using, so that qtah can check that
cpp/qtah.pro view
@@ -21,7 +21,7 @@ TARGET = qtah TEMPLATE = lib-VERSION = 0.1.2+VERSION = 0.2.0 # Doesn't seem to work here: CONFIG += c++11 QMAKE_CXXFLAGS += -std=c++11
qtah-cpp-qt5.cabal view
@@ -1,5 +1,5 @@ name: qtah-cpp-qt5-version: 0.1.2+version: 0.2.0 synopsis: Qt bindings for Haskell - C++ library homepage: http://khumba.net/projects/qtah license: LGPL-3@@ -36,5 +36,6 @@ exposed-modules: Graphics.UI.Qtah.NothingToSeeHere build-depends: base >=4 && <5- , qtah-generator >=0.1 && <0.2+ , process >=1.2 && <1.5+ , qtah-generator >=0.2 && <0.3 ghc-options: -W -fwarn-incomplete-patterns -fwarn-unused-do-bind