packages feed

hsql-mysql 1.7 → 1.7.1

raw patch · 3 files changed

+21/−111 lines, 3 filesdep +Cabaldep +old-timedep ~basesetup-changednew-uploader

Dependencies added: Cabal, old-time

Dependency ranges changed: base

Files

+ LICENSE view
Setup.lhs view
@@ -1,104 +1,6 @@ #!/usr/bin/runghc -\begin{code}-import Data.Maybe(fromMaybe)-import Distribution.PackageDescription-import Distribution.Setup+\begin{code}  import Distribution.Simple-import Distribution.Simple.LocalBuildInfo-import Distribution.Simple.Utils(rawSystemVerbose)-import System.Info-import System.Exit-import System.Directory-import System.Process(runInteractiveProcess, waitForProcess)-import System.IO(hClose, hGetContents, hPutStr, stderr)-import Control.Monad(when)-import Control.Exception(try)--main = defaultMainWithHooks defaultUserHooks{preConf=preConf, postConf=postConf}-  where-    preConf ::  [String] -> ConfigFlags -> IO HookedBuildInfo-    preConf args flags = do-      try (removeFile "MySQL.buildinfo")-      return emptyHookedBuildInfo-    postConf :: [String] -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO ExitCode-    postConf args flags _ localbuildinfo = do-      mb_bi <- mysqlConfigBuildInfo (configVerbose flags)-      let default_binfo | os == "mingw32" = emptyBuildInfo{extraLibs=["libmySQL"], ccOptions=["-Dmingw32_HOST_OS"]}-                        | otherwise       = emptyBuildInfo{extraLibs=["mysqlclient"]}-      writeHookedBuildInfo "MySQL.buildinfo" (Just (fromMaybe default_binfo mb_bi),[])-      return ExitSuccess-\end{code}--The following code is derived from Distribution.Simple.Configure-\begin{code}-findProgram-    :: String              -- ^ program name-    -> Maybe FilePath      -- ^ optional explicit path-    -> IO (Maybe FilePath)-findProgram name Nothing = do-  mb_path <- findExecutable name-  case mb_path of-    Nothing   -> message ("No " ++ name ++ " found")-    Just path -> message ("Using " ++ name ++ ": " ++ path)-  return mb_path-findProgram name (Just path) = do-  message ("Using " ++ name ++ ": " ++ path)-  return (Just path)--rawSystemGrabOutput :: Int -> FilePath -> [String] -> IO String-rawSystemGrabOutput verbose path args = do-  when (verbose > 0) $-        putStrLn (path ++ concatMap (' ':) args)-  (inp,out,err,pid) <- runInteractiveProcess path args Nothing Nothing-  exitCode <- waitForProcess pid-  if exitCode /= ExitSuccess-    then do errMsg <- hGetContents err-            hPutStr stderr errMsg-            exitWith exitCode-    else return ()-  hClose inp-  hClose err-  hGetContents out--message :: String -> IO ()-message s = putStrLn $ "configure: " ++ s-\end{code}--Populate BuildInfo using pkg-config tool.-\begin{code}-mysqlConfigBuildInfo :: Int -> IO (Maybe BuildInfo)-mysqlConfigBuildInfo verbose = do-  mb_mysql_config_path <- findProgram "mysql_config" Nothing-  case mb_mysql_config_path of-    Just mysql_config_path -> do-       message ("configuring mysqlclient library") -       res <- rawSystemGrabOutput verbose mysql_config_path ["--libs"]-       let (lib_dirs,libs,ld_opts) = splitLibsFlags (words res)-       res <- rawSystemGrabOutput verbose mysql_config_path ["--include"]-       let (inc_dirs,cc_opts) = splitCFlags (words res)-       let bi = emptyBuildInfo{extraLibDirs=lib_dirs, extraLibs=libs, ldOptions=ld_opts, includeDirs=inc_dirs, ccOptions=cc_opts}-       return (Just bi)-    Nothing -> do-       message ("The package will be built using default settings for mysqlclient library")-       return Nothing-  where-    splitLibsFlags []         = ([],[],[])-    splitLibsFlags (arg:args) =-      case arg of-        ('-':'L':lib_dir) -> let (lib_dirs,libs,ld_opts) = splitLibsFlags args-                             in (lib_dir:lib_dirs,libs,ld_opts)-        ('-':'l':lib) ->     let (lib_dirs,libs,ld_opts) = splitLibsFlags args-                             in (lib_dirs,lib:libs,ld_opts)-        ld_opt ->            let (lib_dirs,libs,ld_opts) = splitLibsFlags args-                             in (lib_dirs,libs,ld_opt:ld_opts)--    splitCFlags []         = ([],[])-    splitCFlags (arg:args) =-      case arg of-        ('-':'I':inc_dir) -> let (inc_dirs,c_opts) = splitCFlags args-                             in (inc_dir:inc_dirs,c_opts)-        c_opt ->             let (inc_dirs,c_opts) = splitCFlags args-                             in (inc_dirs,c_opt:c_opts)-+main = defaultMain  \end{code}
hsql-mysql.cabal view
@@ -1,11 +1,19 @@-name:		 hsql-mysql-version:	 1.7-license:	 BSD3-author:		 Krasimir Angelov <kr.angelov@gmail.com>-category:	 Database-description: 	 MySQL driver for HSQL.-exposed-modules: Database.HSQL.MySQL-build-depends: 	 base, hsql-extensions:      ForeignFunctionInterface, CPP-cc-options: -IDatabase/HSQL-extra-source-files: Database/HSQL/HsMySQL.h+name: hsql-mysql +version: 1.7.1 +license: BSD3 +author: Krasimir Angelov <kr.a...@gmail.com> +category: Database +description: MySQL driver for HSQL. +synopsis: MySQL driver for HSQL.+ghc-options: -O2 +build-depends: base==3.*, hsql, Cabal, old-time +extensions: ForeignFunctionInterface, CPP +include-dirs: Database/HSQL, /usr/include/mysql +build-type: Simple +extra-source-files: Database/HSQL/HsMySQL.h +extra-libraries: mysqlclient +extra-lib-dirs: /usr/lib/mysql +exposed-modules: Database.HSQL.MySQL +maintainer: Chris Done <chrisdone@gmail.com>+license-file: LICENSE+cabal-version: >= 1.6