Created
February 16, 2014 16:01
-
-
Save jsl/9036437 to your computer and use it in GitHub Desktop.
Fix HaXml build on OS X
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 patch for repository http://code.haskell.org/HaXml: | |
Sun Feb 16 10:47:50 ECT 2014 Justin Leitgeb <[email protected]> | |
* Fix compilation on Mac OS X | |
The build of HaXml is currently broken on Mac OS X. Since a lot of packages | |
depend on HaXml this is quite inconvenient. Below is a description of the | |
problem that was previously posted to Stack Overflow: | |
http://stackoverflow.com/questions/20497348/haxml-installation-issues-on-os-x-10-9-mavericks | |
We could probably fix this issue by changing the C preprocessor macro that is | |
used, but it seems more idiomatic and potentially less brittle to use the cabal | |
mechanism that is already in place for picking out the version. That is the | |
approach used by this commit. Below is a link where Don Stewart describes this | |
mechanism for picking out the version using cabal: | |
http://stackoverflow.com/questions/2892586/how-can-my-haskell-program-or-library-find-its-version-number | |
New patches: | |
[Fix compilation on Mac OS X | |
Justin Leitgeb <[email protected]>**20140216154750 | |
Ignore-this: 447d664fca98902e22a06482950885d2 | |
The build of HaXml is currently broken on Mac OS X. Since a lot of packages | |
depend on HaXml this is quite inconvenient. Below is a description of the | |
problem that was previously posted to Stack Overflow: | |
http://stackoverflow.com/questions/20497348/haxml-installation-issues-on-os-x-10-9-mavericks | |
We could probably fix this issue by changing the C preprocessor macro that is | |
used, but it seems more idiomatic and potentially less brittle to use the cabal | |
mechanism that is already in place for picking out the version. That is the | |
approach used by this commit. Below is a link where Don Stewart describes this | |
mechanism for picking out the version using cabal: | |
http://stackoverflow.com/questions/2892586/how-can-my-haskell-program-or-library-find-its-version-number | |
] { | |
hunk ./HaXml.cabal 79 | |
else | |
build-depends: base < 2 || >= 3, bytestring | |
extensions: CPP, ExistentialQuantification | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
nhc98-options: -K10M | |
Executable Canonicalise | |
hunk ./HaXml.cabal 85 | |
GHC-Options: -Wall | |
Extensions: CPP | |
Hs-Source-Dirs: src/tools, src | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
Main-Is: Canonicalise.hs | |
Executable CanonicaliseLazy | |
hunk ./HaXml.cabal 91 | |
GHC-Options: -Wall | |
Extensions: CPP | |
Hs-Source-Dirs: src/tools, src | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
Main-Is: CanonicaliseLazy.hs | |
Executable Xtract | |
hunk ./HaXml.cabal 97 | |
GHC-Options: -Wall | |
Extensions: CPP | |
Hs-Source-Dirs: src/tools, src | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
Main-Is: Xtract.hs | |
Executable Validate | |
hunk ./HaXml.cabal 103 | |
GHC-Options: -Wall | |
Extensions: CPP | |
Hs-Source-Dirs: src/tools, src | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
Main-Is: Validate.hs | |
Executable MkOneOf | |
hunk ./HaXml.cabal 109 | |
GHC-Options: -Wall | |
Extensions: CPP | |
Hs-Source-Dirs: src/tools, src | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
Main-Is: MkOneOf.hs | |
Executable DtdToHaskell | |
hunk ./HaXml.cabal 115 | |
GHC-Options: -Wall | |
Extensions: CPP | |
Hs-Source-Dirs: src/tools, src | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
Main-Is: DtdToHaskell.hs | |
Executable XsdToHaskell | |
hunk ./HaXml.cabal 121 | |
GHC-Options: -Wall | |
Extensions: CPP | |
Hs-Source-Dirs: src/tools, src | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
Main-Is: XsdToHaskell.hs | |
Executable FpMLToHaskell | |
hunk ./HaXml.cabal 127 | |
GHC-Options: -Wall | |
Extensions: CPP | |
Hs-Source-Dirs: src/tools, src | |
- cpp-options: -DMAJOR=1 -DMINOR=24 | |
Main-Is: FpMLToHaskell.hs | |
build-depends: directory | |
hunk ./src/Text/XML/HaXml.hs 18 | |
, module Text.XML.HaXml.Verbatim | |
, module Text.XML.HaXml.Escape | |
, render | |
- , version | |
) where | |
import Text.XML.HaXml.Types | |
hunk ./src/Text/XML/HaXml.hs 32 | |
import Text.XML.HaXml.Escape | |
import Text.PrettyPrint.HughesPJ (render) | |
- | |
--- | The version of the library. | |
-version :: String | |
-version = show MAJOR.MINOR | |
- -- expect cpp to fill in value | |
hunk ./src/Text/XML/HaXml/Wrappers.hs 25 | |
import Text.XML.HaXml.Pretty as PP(document) | |
import Text.PrettyPrint.HughesPJ (render) | |
+import Paths_HaXml (version) | |
+import Data.Version (showVersion) | |
-- | This useful auxiliary checks the commandline arguments for two | |
-- filenames, the input and output file respectively. If either | |
hunk ./src/Text/XML/HaXml/Wrappers.hs 36 | |
fix2Args = do | |
args <- getArgs | |
when ("--version" `elem` args) $ do | |
- putStrLn $ "part of HaXml-"++show MAJOR ++ "." ++ show MINOR | |
+ putStrLn $ "part of HaXml-" ++ showVersion version | |
exitWith ExitSuccess | |
when ("--help" `elem` args) $ do | |
putStrLn $ "See http://haskell.org/HaXml" | |
hunk ./src/tools/DtdToHaskell.hs 16 | |
import Control.Monad | |
--import Text.XML.HaXml.Wrappers (fix2Args) | |
-import Text.XML.HaXml (version) | |
import Text.XML.HaXml.Types (DocTypeDecl(..)) | |
import Text.XML.HaXml.Namespaces (localName) | |
import Text.XML.HaXml.Parse (dtdParse) | |
hunk ./src/tools/DtdToHaskell.hs 24 | |
import Text.XML.HaXml.DtdToHaskell.Instance (mkInstance) | |
import Text.PrettyPrint.HughesPJ (render,vcat) | |
+import Paths_HaXml (version) | |
+import Data.Version (showVersion) | |
+ | |
-- sucked in from Text.XML.HaXml.Wrappers to avod dependency on T.X.H.Html | |
fix2Args :: IO (String,String) | |
fix2Args = do | |
hunk ./src/tools/DtdToHaskell.hs 32 | |
args <- getArgs | |
when ("--version" `elem` args) $ do | |
- putStrLn $ "part of HaXml-"++version | |
+ putStrLn $ "part of HaXml-" ++ showVersion version | |
exitWith ExitSuccess | |
when ("--help" `elem` args) $ do | |
putStrLn $ "See http://haskell.org/HaXml" | |
hunk ./src/tools/FpMLToHaskell.hs 22 | |
import Data.Monoid (mconcat) | |
--import Either | |
-import Text.XML.HaXml (version) | |
import Text.XML.HaXml.Types | |
import Text.XML.HaXml.Namespaces (resolveAllNames,qualify | |
,nullNamespace) | |
hunk ./src/tools/FpMLToHaskell.hs 40 | |
import Text.ParserCombinators.Poly | |
import Text.PrettyPrint.HughesPJ (render,vcat) | |
+import Paths_HaXml (version) | |
+import Data.Version (showVersion) | |
+ | |
fst3 :: (a,b,c) -> a | |
fst3 (a,_,_) = a | |
hunk ./src/tools/FpMLToHaskell.hs 51 | |
argDirsToFiles = do | |
args <- getArgs | |
when ("--version" `elem` args) $ do | |
- putStrLn $ "part of HaXml-"++version | |
+ putStrLn $ "part of HaXml-" ++ showVersion version | |
exitWith ExitSuccess | |
when ("--help" `elem` args) $ do | |
putStrLn $ "Usage: FpMLToHaskell xsdDir haskellDir" | |
hunk ./src/tools/MkOneOf.hs 9 | |
import Data.Char (isDigit) | |
import System.IO (hFlush,stdout) | |
import Control.Monad (when) | |
-import Text.XML.HaXml (version) | |
+ | |
+import Paths_HaXml (version) | |
+import Data.Version (showVersion) | |
main :: IO () | |
main = do | |
hunk ./src/tools/MkOneOf.hs 17 | |
args <- getArgs | |
when ("--version" `elem` args) $ do | |
- putStrLn $ "part of HaXml-"++version | |
+ putStrLn $ "part of HaXml-" ++ showVersion version | |
exitWith ExitSuccess | |
when ("--help" `elem` args) $ do | |
putStrLn $ "See http://haskell.org/HaXml" | |
hunk ./src/tools/XsdToHaskell.hs 17 | |
--import Data.Either | |
--import Text.XML.HaXml.Wrappers (fix2Args) | |
-import Text.XML.HaXml (version) | |
import Text.XML.HaXml.Types | |
import Text.XML.HaXml.Namespaces (resolveAllNames,qualify | |
,nullNamespace) | |
hunk ./src/tools/XsdToHaskell.hs 33 | |
import Text.ParserCombinators.Poly | |
import Text.PrettyPrint.HughesPJ (render,vcat) | |
+import Paths_HaXml (version) | |
+import Data.Version (showVersion) | |
+ | |
-- sucked in from Text.XML.HaXml.Wrappers to avoid dependency on T.X.H.Html | |
fix2Args :: IO (String,String) | |
fix2Args = do | |
hunk ./src/tools/XsdToHaskell.hs 41 | |
args <- getArgs | |
when ("--version" `elem` args) $ do | |
- putStrLn $ "part of HaXml-"++version | |
+ putStrLn $ "part of HaXml-" ++ showVersion version | |
exitWith ExitSuccess | |
when ("--help" `elem` args) $ do | |
putStrLn $ "See http://haskell.org/HaXml" | |
hunk ./src/tools/XsdToHaskell.hs 83 | |
hPutStrLn stdout $ "\n-----------------\n" | |
hFlush o | |
- | |
+ | |
--do hPutStrLn o $ "Document contains XSD for target namespace "++ | |
-- targetNamespace e | |
{- | |
hunk ./src/tools/Xtract.hs 3 | |
------------------------------------------------------------ | |
-- The Xtract tool - an XML-grep. | |
------------------------------------------------------------- | |
+------------------------------------------------------------ | |
module Main where | |
import System.Environment (getArgs) | |
import System.Exit (exitWith, ExitCode(..)) | |
hunk ./src/tools/Xtract.hs 13 | |
import Control.Monad (when) | |
import System.Console.GetOpt | |
-import Text.XML.HaXml (version) | |
import Text.XML.HaXml.Types | |
import Text.XML.HaXml.Posn (posInNewCxt) | |
import qualified Text.XML.HaXml.Parse (xmlParse) | |
hunk ./src/tools/Xtract.hs 26 | |
import Text.XML.HaXml.Escape (xmlEscapeContent,stdXmlEscaper) | |
import Text.XML.HaXml.Util (docContent) | |
+import Paths_HaXml (version) | |
+import Data.Version (showVersion) | |
+ | |
escape :: [Content i] -> [Content i] | |
escape = xmlEscapeContent stdXmlEscaper | |
hunk ./src/tools/Xtract.hs 56 | |
let (preOpts, args, errs) = getOpt Permute options preArgs | |
let opts = foldl (flip ($)) defaultOptions preOpts | |
when (printVersion opts) $ do | |
- putStrLn $ "part of HaXml-"++version | |
+ putStrLn $ "part of HaXml-" ++ showVersion version | |
exitWith ExitSuccess | |
when (printHelp opts) $ do | |
putStrLn $ "See http://haskell.org/HaXml" | |
hunk ./src/tools/Xtract.hs 64 | |
when (length args < 1) $ do | |
putStrLn $ usageInfo "Usage: Xtract [options] <pattern> [xmlfile ...]" options | |
exitWith (ExitFailure 1) | |
- let (xmlParse, htmlParse) = if beLazy opts then | |
- (Text.XML.HaXml.ParseLazy.xmlParse, Text.XML.HaXml.Html.ParseLazy.htmlParse) | |
- else | |
+ let (xmlParse, htmlParse) = if beLazy opts then | |
+ (Text.XML.HaXml.ParseLazy.xmlParse, Text.XML.HaXml.Html.ParseLazy.htmlParse) | |
+ else | |
(Text.XML.HaXml.Parse.xmlParse, Text.XML.HaXml.Html.Parse.htmlParse) | |
let (pattern,files,esc) = | |
(head args,tail args,if doEscaping opts then escape .(:[]) else (:[])) | |
} | |
Context: | |
[Abstract the recursion pattern used in the xpath labelling example. | |
[email protected]**20140130165411 | |
Ignore-this: fcfd5fdbf90fe732238bc0035068a71a | |
] | |
[Document LabelFilter with a realistic example. | |
[email protected]**20140128112206 | |
Ignore-this: b2d5a51fdf426acb9204915620452c17 | |
] | |
[New primitive combinator: addAttribute | |
[email protected]**20140128112139 | |
Ignore-this: 8fb7c7b0247ab67b09a98afc5123d4bc | |
] | |
[Bump dep polyparse>=1.9, and HaXml version to 1.24 | |
[email protected]**20130515110853 | |
Ignore-this: c7f1b631432d5f5ff97b52ad4ab61dd0 | |
] | |
[Use a heuristic to lex broken unescaped ampersands. | |
[email protected]**20130515110755 | |
Ignore-this: dba192a75120bd311f6735e1a26febd0 | |
] | |
[Move commitment to the use of bracket, rather than its defn. | |
[email protected]**20130515104400 | |
Ignore-this: 669430faee48e6dd5bbfdfde1a23badd | |
] | |
[Remove a link to a tutorial, at the request of the author. | |
[email protected]**20131216135955 | |
Ignore-this: 161aa806bfc3408b3efe704b08eeaa11 | |
] | |
[avoid problems with Clang C preprocessor. | |
[email protected]**20131213122238 | |
Ignore-this: fae50caf4b6b7dd2dc6aba8a70e32e49 | |
] | |
[Add derived Show instances for all types, for debugging purposes. | |
[email protected]**20120908153516 | |
Ignore-this: e795a7d90814b135b89d12bf13e5e21b | |
] | |
[Remove debug Show instances, replacing with equivalent debug functions. | |
[email protected]**20120908153301 | |
Ignore-this: 57f8812b4e33f5c4b211601bc3981da7 | |
] | |
[doc updates | |
[email protected]**20120619111207 | |
Ignore-this: e3b4a774979b59a697840a28d590e3ec | |
] | |
[TAG version 1.23.3 | |
[email protected]**20120619084757 | |
Ignore-this: 87c1578b6bf7287e5043b322715d6eb4 | |
] | |
Patch bundle hash: | |
db86689e8406a25d76d92d3be96c90a46aeb7033 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment