HROOT 0.5.0.2 → 0.5.0.3
raw patch · 3 files changed
+21/−6 lines, 3 filessetup-changed
Files
- Config.hs +19/−4
- HROOT.cabal +1/−1
- Setup.lhs +1/−1
Config.hs view
@@ -2,8 +2,6 @@ module Config where -import Control.Monad.Identity- import Distribution.Simple import Distribution.Simple.Setup import Distribution.PackageDescription@@ -12,7 +10,8 @@ import System.Exit import System.Process -import Text.Parsec+-- import Text.Parsec+-- import Control.Monad.Identity config :: LocalBuildInfo -> IO (Maybe HookedBuildInfo) config bInfo = do @@ -22,6 +21,7 @@ -- putStrLn $ show $ words out -- putStrLn $ show $ libraryOptions (words out) -- putStrLn $ show $ mkLibraryOptionSet . words $ out+-- putStrLn $ show $ mkLibraryOptionSet . words $ out return . Just . mkLibraryOptionSet . words $ out _ -> do putStrLn $ "root-config failure but I am installing HROOT without ROOT. It will not work. This is only for documentation." @@ -74,14 +74,29 @@ libraryOptions :: [String] -> [LibraryOption] -- LibraryOptionSet libraryOptions = map f - where f x = let r = parse libraryOptionClassifier "" x+ where f x = let r = parseLibraryOptionClassifier x in case r of Left msg -> error (show msg) Right result -> result +parseLibraryOptionClassifier :: String -> Either String LibraryOption +parseLibraryOptionClassifier [] = Left "empty option"+parseLibraryOptionClassifier str@(x:xs) = + case x of+ '-' -> if null xs + then Left "parse error"+ else let (y:ys) = xs+ in case y of+ 'L' -> Right (Dir ys)+ 'l' -> Right (Lib ys)+ _ -> Right (Opt str)+ _ -> Right (Opt str) ++{- libraryOptionClassifier :: ParsecT String () Identity LibraryOption libraryOptionClassifier = try (string "-L" >> many1 anyChar >>= return . Dir) <|> try (string "-l" >> many1 anyChar >>= return . Lib) <|> (many1 anyChar >>= return . Opt)+-}
HROOT.cabal view
@@ -1,5 +1,5 @@ Name: HROOT-Version: 0.5.0.2+Version: 0.5.0.3 Synopsis: Wrapper for ROOT Description: Haskell FFI binding for ROOT Homepage: http://ianwookim.org/HROOT
Setup.lhs view
@@ -1,5 +1,5 @@ #! /usr/bin/env runhaskell- + > import Distribution.Simple > import Distribution.Simple.Setup > import Distribution.PackageDescription