[Pkg-haskell-commits] [package-plan] 153/457: Add more patches from our repos

Joachim Breitner nomeata at moszumanska.debian.org
Mon Apr 14 20:05:21 UTC 2014


This is an automated email from the git hooks/post-receive script.

nomeata pushed a commit to branch master
in repository package-plan.

commit d9284a8a7b7ac1349dbb111ecc06d0d637d7b072
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Wed Jul 17 13:52:55 2013 +0000

    Add more patches from our repos
---
 patches/Crypto/4.2.5/class-constraints.diff        |  77 +++++
 patches/Crypto/4.2.5/no-quickcheck.patch           |  62 ++++
 patches/Crypto/4.2.5/series                        |   2 +
 patches/HFuse/0.1.0/new-exceptions.diff            |  22 ++
 patches/HFuse/0.1.0/series                         |   1 +
 patches/HFuse/0.2.4.1/ghc-7.6.patch                |  80 +++++
 patches/HFuse/0.2.4.1/series                       |   1 +
 patches/ftphs/1.0.8/ghc-7.6-compatibility          |  40 +++
 patches/ftphs/1.0.8/series                         |   1 +
 .../gtk2hs-buildtools/0.12.3/BangPatterns.patch    |  23 ++
 patches/gtk2hs-buildtools/0.12.3/manpages.patch    | 380 +++++++++++++++++++++
 patches/gtk2hs-buildtools/0.12.3/series            |   2 +
 patches/simpleirc/0.2.1/new-exceptions.diff        |  12 +
 patches/simpleirc/0.2.1/series                     |   1 +
 patches/strict-concurrency/0.2.4.1/series          |   1 +
 .../strict-concurrency/0.2.4.1/use-new-exception   |  52 +++
 patches/tokyocabinet-haskell/0.0.5/ghc-7.4.1-fix   |  11 +
 patches/tokyocabinet-haskell/0.0.5/series          |   1 +
 patches/weighted-regexp/0.3.1.2/eq-constraints     |  69 ++++
 patches/weighted-regexp/0.3.1.2/series             |   1 +
 20 files changed, 839 insertions(+)

diff --git a/patches/Crypto/4.2.5/class-constraints.diff b/patches/Crypto/4.2.5/class-constraints.diff
new file mode 100644
index 0000000..3b0a781
--- /dev/null
+++ b/patches/Crypto/4.2.5/class-constraints.diff
@@ -0,0 +1,77 @@
+Description: ghc 7.6 class constraints
+Author: Joachim Breitner <nomeata at debian.org>
+
+Index: haskell-crypto-4.2.5/Data/Digest/SHA2.hs
+===================================================================
+--- haskell-crypto-4.2.5.orig/Data/Digest/SHA2.hs	2012-05-14 13:58:24.000000000 +0200
++++ haskell-crypto-4.2.5/Data/Digest/SHA2.hs	2012-10-21 14:21:17.359966255 +0200
+@@ -25,7 +25,7 @@
+ ch x y z = (x .&. y) `xor` (complement x .&. z)
+ maj x y z = (x .&. y) `xor` (x .&. z) `xor` (y .&. z)
+ 
+-class (Bits w) => ShaData w where
++class (Bits w, Num w) => ShaData w where
+   bigSigma0 :: w -> w
+   bigSigma1 :: w -> w
+   smallSigma0 :: w -> w
+Index: haskell-crypto-4.2.5/Data/LargeWord.hs
+===================================================================
+--- haskell-crypto-4.2.5.orig/Data/LargeWord.hs	2012-05-14 13:58:24.000000000 +0200
++++ haskell-crypto-4.2.5/Data/LargeWord.hs	2012-10-21 14:25:31.855955472 +0200
+@@ -62,7 +62,7 @@
+ data LargeKey a b = LargeKey a b
+    deriving (Eq, Ord)
+ 
+-instance (Ord a, Bits a, LargeWord a, Bits b, LargeWord b) =>
++instance (Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) =>
+    LargeWord (LargeKey a b) where
+       largeWordToInteger (LargeKey lo hi) =
+          largeWordToInteger lo + (2^(bitSize lo)) * largeWordToInteger hi
+@@ -96,17 +96,17 @@
+          where conv = integerToLargeWord . largeWordToInteger
+       largeBitSize ~(LargeKey lo hi) = largeBitSize lo + largeBitSize hi
+ 
+-instance (Ord a, Bits a, LargeWord a, Bits b, LargeWord b) => Show (LargeKey a b) where
++instance (Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => Show (LargeKey a b) where
+    showsPrec p = showInt . largeWordToInteger
+ 
+-instance (Ord a, Bits a, LargeWord a, Bits b, LargeWord b) => 
++instance (Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => 
+    Num (LargeKey a b) where
+       (+) = largeWordPlus
+       fromInteger = integerToLargeWord 
+ 
+ -- Larger keys are instances of Bits provided their constituents are keys.
+ 
+-instance (Ord a, Bits a, LargeWord a, Bits b, LargeWord b) => 
++instance (Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => 
+    Bits (LargeKey a b) where
+       (.&.) = largeWordAnd
+       (.|.) = largeWordOr
+@@ -130,11 +130,11 @@
+ boflk :: (LargeKey a b) -> b
+ boflk = undefined
+ 
+-instance (Ord a, Bits a, LargeWord a, Ord b, Bits b, LargeWord b) =>
++instance (Ord a, Bits a, Num a, LargeWord a, Ord b, Bits b, Num b, LargeWord b) =>
+    Integral (LargeKey a b) where
+       toInteger = largeWordToInteger
+ 
+-instance (Ord a, Bits a, LargeWord a, Ord b, Bits b, LargeWord b) =>
++instance (Ord a, Bits a, Num a, LargeWord a, Ord b, Bits b, Num b, LargeWord b) =>
+    Real (LargeKey a b)
+ 
+ instance Enum (LargeKey a b)
+Index: haskell-crypto-4.2.5/Data/Digest/SHA1.hs
+===================================================================
+--- haskell-crypto-4.2.5.orig/Data/Digest/SHA1.hs	2012-05-14 13:58:24.000000000 +0200
++++ haskell-crypto-4.2.5/Data/Digest/SHA1.hs	2012-10-21 14:26:57.551951840 +0200
+@@ -93,7 +93,7 @@
+       g [] = Nothing
+       g xs = Just (splitAt 64 xs)
+ 
+-fromBytes :: (Bits a) => [a] -> a
++fromBytes :: (Bits a, Num a) => [a] -> a
+ fromBytes input =
+     let dofb accum [] = accum
+         dofb accum (x:xs) = dofb ((shiftL accum 8) .|. x) xs
diff --git a/patches/Crypto/4.2.5/no-quickcheck.patch b/patches/Crypto/4.2.5/no-quickcheck.patch
new file mode 100644
index 0000000..d4efca6
--- /dev/null
+++ b/patches/Crypto/4.2.5/no-quickcheck.patch
@@ -0,0 +1,62 @@
+diff -ur old/haskell-crypto-4.2.3/Crypto.cabal haskell-crypto-4.2.3/Crypto.cabal
+--- old/haskell-crypto-4.2.3/Crypto.cabal	2010-12-27 21:14:30.000000000 -0400
++++ haskell-crypto-4.2.3/Crypto.cabal	2011-04-25 17:48:48.737535576 -0400
+@@ -46,7 +46,7 @@
+                  Data.Digest.SHA512,
+                  Data.LargeWord,
+                  Data.HMAC
+-        Build-Depends:  QuickCheck >= 2.4.0.1, HUnit
++        Build-Depends:  HUnit
+         if flag(small_base)
+             Build-Depends: base >= 3, base < 5, array, random, pretty
+         else
+@@ -58,49 +58,3 @@
+                  Codec.Encryption.DESAux,
+                  Codec.Encryption.AESAux,
+                  Data.Digest.MD5Aux
+-
+-Executable      SymmetricTest
+-  Main-Is:         SymmetricTest.hs
+-  Ghc-options:     -fregs-graph
+-  Other-modules:   Codec.Utils
+-                   Codec.Encryption.Blowfish
+-                   Codec.Encryption.Modes
+-                   Codec.Encryption.Padding
+-                   Codec.Encryption.DES
+-                   Codec.Encryption.AES
+-                   Data.LargeWord
+-
+-Executable      SHA1Test
+-  Main-Is:         SHA1Test.hs
+-  Ghc-options:     -fregs-graph
+-  Other-modules:   Codec.Text.Raw
+-                   Data.Digest.SHA1
+-
+-Executable      RSATest
+-  Main-Is:         RSATest.hs
+-  Ghc-options:     -fregs-graph
+-  Other-modules:   Codec.Utils
+-                   Data.Digest.SHA1
+-                   Codec.Encryption.RSA.MGF
+-                   Codec.Encryption.RSA.EMEOAEP
+-                   Codec.Encryption.RSA
+-
+-Executable      QuickTest
+-  Main-Is:         QuickTest.hs
+-  Ghc-options:     -fregs-graph
+-  Extensions: TypeSynonymInstances
+-  Other-modules:   Codec.Utils
+-                   Codec.Encryption.Blowfish
+-                   Codec.Encryption.AES
+-                   Codec.Encryption.Modes
+-                   Codec.Encryption.Padding
+-                   Data.LargeWord
+-
+-Executable      HMACTest
+-  Main-Is:         HMACTest.hs
+-  Other-modules:   Codec.Utils
+-                   Data.HMAC
+-
+-Executable      WordListTest
+-  Main-Is:         WordListTest.hs
+-  Other-modules:   Data.LargeWord
diff --git a/patches/Crypto/4.2.5/series b/patches/Crypto/4.2.5/series
new file mode 100644
index 0000000..f376931
--- /dev/null
+++ b/patches/Crypto/4.2.5/series
@@ -0,0 +1,2 @@
+class-constraints.diff
+no-quickcheck.patch
diff --git a/patches/HFuse/0.1.0/new-exceptions.diff b/patches/HFuse/0.1.0/new-exceptions.diff
new file mode 100644
index 0000000..aa6a515
--- /dev/null
+++ b/patches/HFuse/0.1.0/new-exceptions.diff
@@ -0,0 +1,22 @@
+Index: haskell-tinyurl-0.1.0/Network/TinyURL.hs
+===================================================================
+--- haskell-tinyurl-0.1.0.orig/Network/TinyURL.hs	2009-02-16 19:19:31.000000000 +0000
++++ haskell-tinyurl-0.1.0/Network/TinyURL.hs	2012-11-10 17:09:05.063668586 +0000
+@@ -1,5 +1,8 @@
++{-# LANGUAGE ScopedTypeVariables #-}
++
+ module Network.TinyURL (tinyURL) where
+ 
++import Control.Exception.Base (catch, IOException)
+ import Network.HTTP
+ import Network.URI
+ 
+@@ -7,7 +10,7 @@
+ -- the original URL.
+ tinyURL :: String -> IO String
+ tinyURL url = do
+-  result <- simpleHTTP request `catch` (const . return $ Left undefined)
++  result <- simpleHTTP request `catch` (\(_ :: IOException) -> return $ Left undefined)
+   case result of
+     Left _ -> return url
+     Right response -> return $ rspBody response
diff --git a/patches/HFuse/0.1.0/series b/patches/HFuse/0.1.0/series
new file mode 100644
index 0000000..e60c9c0
--- /dev/null
+++ b/patches/HFuse/0.1.0/series
@@ -0,0 +1 @@
+new-exceptions.diff
diff --git a/patches/HFuse/0.2.4.1/ghc-7.6.patch b/patches/HFuse/0.2.4.1/ghc-7.6.patch
new file mode 100644
index 0000000..bcbb7e4
--- /dev/null
+++ b/patches/HFuse/0.2.4.1/ghc-7.6.patch
@@ -0,0 +1,80 @@
+From 45650d8e743762004ce3949f11475b4eadbe384c Mon Sep 17 00:00:00 2001
+From: Amit Aryeh Levy <amit at amitlevy.com>
+Date: Mon, 19 Nov 2012 13:14:06 -0800
+Subject: [PATCH] Fixed compilation bugs for GHC 7.6
+
+---
+ System/Fuse.hsc | 29 +++++++++++++++--------------
+ 1 file changed, 15 insertions(+), 14 deletions(-)
+
+diff --git a/System/Fuse.hsc b/System/Fuse.hsc
+index f7347fd..1169e05 100644
+--- a/System/Fuse.hsc
++++ b/System/Fuse.hsc
+@@ -20,7 +20,7 @@
+ -- option).
+ --
+ -----------------------------------------------------------------------------
+-{-# LANGUAGE FlexibleContexts #-}
++{-# LANGUAGE FlexibleContexts, RankNTypes #-}
+ module System.Fuse
+     ( -- * Using FUSE
+ 
+@@ -52,7 +52,7 @@ module System.Fuse
+ import Prelude hiding ( Read )
+ 
+ import Control.Monad
+-import Control.Exception as E(Exception, handle, finally, SomeException)
++import Control.Exception as E(catch, Exception, IOException, handle, finally, SomeException)
+ import qualified Data.ByteString.Char8    as B
+ import qualified Data.ByteString.Internal as B
+ import qualified Data.ByteString.Unsafe   as B
+@@ -70,7 +70,7 @@ import System.Posix.IO ( OpenMode(..), OpenFileFlags(..) )
+ import qualified System.Posix.Signals as Signals
+ import GHC.IO.Handle(hDuplicateTo)
+ import System.Exit
+-import qualified System.IO.Error as IO(catch,ioeGetErrorString)
++import qualified System.IO.Error as IO(ioeGetErrorString)
+ 
+ -- TODO: FileMode -> Permissions
+ -- TODO: Arguments !
+@@ -757,16 +757,17 @@ fuseParseCommandLine pArgs =
+ -- Mimic's daemon()s use of _exit() instead of exit(); we depend on this in fuseMainReal,
+ -- because otherwise we'll unmount the filesystem when the foreground process exits.
+ daemon f = forkProcess d >> exitImmediately ExitSuccess
+-  where d = IO.catch (do createSession
+-                         changeWorkingDirectory "/"
+-                         -- need to open /dev/null twice because hDuplicateTo can't dup a ReadWriteMode to a ReadMode handle
+-                         withFile "/dev/null" WriteMode (\devNullOut ->
+-                           do hDuplicateTo devNullOut stdout
+-                              hDuplicateTo devNullOut stderr)
+-                         withFile "/dev/null" ReadMode (\devNullIn -> hDuplicateTo devNullIn stdin)
+-                         f
+-                         exitWith ExitSuccess)
+-                     (const exitFailure)
++  where d = E.catch (do 
++                        createSession
++                        changeWorkingDirectory "/"
++                        -- need to open /dev/null twice because hDuplicateTo can't dup a ReadWriteMode to a ReadMode handle
++                        withFile "/dev/null" WriteMode (\devNullOut ->
++                          do hDuplicateTo devNullOut stdout
++                             hDuplicateTo devNullOut stderr)
++                        withFile "/dev/null" ReadMode (\devNullIn -> hDuplicateTo devNullIn stdin)
++                        f
++                        exitWith ExitSuccess)
++                     (\(_ :: IOException) -> exitFailure)
+ 
+ -- Installs signal handlers for the duration of the main loop.
+ withSignalHandlers exitHandler f =
+@@ -843,7 +844,7 @@ fuseMain ops handler = do
+ 
+ fuseRun :: String -> [String] -> Exception e => FuseOperations fh -> (e -> IO Errno) -> IO ()
+ fuseRun prog args ops handler =
+-    IO.catch
++    E.catch
+        (withFuseArgs prog args (\pArgs ->
+          do cmd <- fuseParseCommandLine pArgs
+             case cmd of
+-- 
+1.8.1.5
+
diff --git a/patches/HFuse/0.2.4.1/series b/patches/HFuse/0.2.4.1/series
new file mode 100644
index 0000000..a7a7cb4
--- /dev/null
+++ b/patches/HFuse/0.2.4.1/series
@@ -0,0 +1 @@
+ghc-7.6.patch
diff --git a/patches/ftphs/1.0.8/ghc-7.6-compatibility b/patches/ftphs/1.0.8/ghc-7.6-compatibility
new file mode 100644
index 0000000..f3c6056
--- /dev/null
+++ b/patches/ftphs/1.0.8/ghc-7.6-compatibility
@@ -0,0 +1,40 @@
+Description: Port to work with catch from Control.Exception as found in GHC 7.6
+Author: Iain Lane <iain.lane at canonical.com>
+Forwarded: yes
+
+--- ftphs-1.0.8.orig/src/Network/FTP/Server.hs
++++ ftphs-1.0.8/src/Network/FTP/Server.hs
+@@ -1,3 +1,4 @@
++{-# LANGUAGE ScopedTypeVariables #-}
+ {- arch-tag: FTP server support
+ Copyright (C) 2004 John Goerzen <jgoerzen at complete.org>
+ 
+@@ -98,7 +99,7 @@ import Text.Printf
+ import Data.Char
+ import Data.IORef
+ import Data.List
+-import Control.Exception(finally)
++import Control.Exception(finally, try, catch, IOException)
+ import System.IO
+ 
+ data DataType = ASCII | Binary
+@@ -168,8 +169,8 @@ trapIOError :: FTPServer -> IO a -> (a -
+ trapIOError h testAction remainingAction =
+     do result <- try testAction
+        case result of
+-         Left err -> do sendReply h 550 (show err)
+-                        return True
++         Left (err :: IOException) -> do sendReply h 550 (show err)
++                                         return True
+          Right result -> remainingAction result
+ 
+ forceLogin :: CommandHandler -> CommandHandler
+@@ -214,7 +215,7 @@ commandLoop h@(FTPServer fh _ _) =
+                                     ("Closing due to error: " ++ (show e))
+                             hClose fh
+                             return False
+-        in do continue <- (flip catch) errorhandler 
++        in do continue <- (flip catch) (\(e :: IOException) -> errorhandler e)
+                (do x <- parseCommand fh
+                    case x of
+                      Left err -> do sendReply h 500 $
diff --git a/patches/ftphs/1.0.8/series b/patches/ftphs/1.0.8/series
new file mode 100644
index 0000000..50236dc
--- /dev/null
+++ b/patches/ftphs/1.0.8/series
@@ -0,0 +1 @@
+ghc-7.6-compatibility
diff --git a/patches/gtk2hs-buildtools/0.12.3/BangPatterns.patch b/patches/gtk2hs-buildtools/0.12.3/BangPatterns.patch
new file mode 100644
index 0000000..d5c57d1
--- /dev/null
+++ b/patches/gtk2hs-buildtools/0.12.3/BangPatterns.patch
@@ -0,0 +1,23 @@
+Description: The generated code has BangPatterns, newer ghc wants this mentioned explicitly
+Author: Joachim Breitner <nomeata at debian.org>
+Bug-Debian: http://bugs.debian.org/628302
+Index: gtk2hs-buildtools-0.12.1/c2hs/c/CLexer.x
+===================================================================
+--- gtk2hs-buildtools-0.12.1.orig/c2hs/c/CLexer.x	2011-09-12 13:44:10.000000000 +0200
++++ gtk2hs-buildtools-0.12.1/c2hs/c/CLexer.x	2012-02-24 22:47:58.000000000 +0100
+@@ -63,6 +63,7 @@
+ --
+ 
+ {
++{-# LANGUAGE BangPatterns #-}
+ 
+ module CLexer (lexC, parseError) where
+ 
+@@ -229,6 +230,7 @@
+ 
+ 
+ {
++{-# LANGUAGE BangPatterns #-}
+ 
+ -- We use the odd looking list of string patterns here rather than normal
+ -- string literals since GHC converts the latter into a sequence of string
diff --git a/patches/gtk2hs-buildtools/0.12.3/manpages.patch b/patches/gtk2hs-buildtools/0.12.3/manpages.patch
new file mode 100644
index 0000000..2cb7013
--- /dev/null
+++ b/patches/gtk2hs-buildtools/0.12.3/manpages.patch
@@ -0,0 +1,380 @@
+Description: Manpages for the binaries
+ This package ships 3 binaries without manpages.  This patch includes the
+ manpages and changes the build system to install them
+Forwarded:
+ http://sourceforge.net/mailarchive/message.php?msg_name=1274804868-sup-9859%40zezinho
+ http://sourceforge.net/mailarchive/message.php?msg_name=1274874328-sup-8367%40zezinho
+Author: Marco Túlio Gontijo e Silva <marcot at debian.org>
+Last-Update: 2010-05-26
+Index: gtk2hs-buildtools-0.9/Setup.hs
+===================================================================
+--- gtk2hs-buildtools-0.9.orig/Setup.hs	2010-05-26 10:11:38.000000000 -0300
++++ gtk2hs-buildtools-0.9/Setup.hs	2010-05-26 10:13:46.000000000 -0300
+@@ -1,6 +1,42 @@
+ module Main (main) where
+ 
+-import Distribution.Simple
++-- Cabal
++import Distribution.PackageDescription (PackageDescription)
++import Distribution.Simple (defaultMainWithHooks, simpleUserHooks)
++import Distribution.Simple.InstallDirs (CopyDest (..), mandir)
++import Distribution.Simple.LocalBuildInfo (LocalBuildInfo, absoluteInstallDirs)
++import
++  Distribution.Simple.Setup
++  (copyDest, copyVerbosity, fromFlag, installVerbosity)
++import Distribution.Verbosity (Verbosity)
++import Distribution.Simple.UserHooks (UserHooks (..))
++import Distribution.Simple.Utils (copyFiles)
++import System.FilePath ((</>))
+ 
+ main :: IO ()
+-main = defaultMain
++main
++  = defaultMainWithHooks
++    $ simpleUserHooks
++      {postCopy
++          = \ _ flags pkg lbi
++            -> installManpages pkg lbi (fromFlag $ copyVerbosity flags)
++              $ fromFlag $ copyDest flags
++        , postInst
++          = \ _ flags pkg lbi ->
++             installManpages
++               pkg
++               lbi
++               (fromFlag $ installVerbosity flags)
++               NoCopyDest}
++
++manpages :: [FilePath]
++manpages = ["gtk2hsC2hs.1", "gtk2hsHookGenerator.1", "gtk2hsTypeGen.1"]
++
++manDir :: FilePath
++manDir = "man"
++
++installManpages
++  :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
++installManpages pkg lbi verbosity copy
++  = copyFiles verbosity (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++    $ zip (repeat manDir) manpages
+Index: gtk2hs-buildtools-0.9/man/gtk2hsC2hs.1
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gtk2hs-buildtools-0.9/man/gtk2hsC2hs.1	2010-05-26 09:04:20.000000000 -0300
+@@ -0,0 +1,158 @@
++.\" Hey Emacs! This file is -*- nroff -*- source.
++.\"
++.\" Version $Revision: 0.1 $ from $Date: 2010/05/25 14:07:21 $
++.\"
++.TH GTK2HSC2HS 1 "November 2004" "Version 0.13.4 (gtk2hs branch)" C\->Haskell
++.SH NAME
++gtk2hsC2hs \- C->Haskell Interface Generator
++
++.SH SYNOPSIS
++.B gtk2hsC2hs
++.RB [ OPTIONS ]...
++[
++.I header-file
++]
++.I binding-file
++
++.SH DESCRIPTION
++This manual page briefly describes the
++.B gtk2hsC2hs
++command.  It's a modified version of the \fBc2hs\fR(1) command, which is a
++helper program necessary to build the Gtk2Hs suite of libraries.
++.PP
++
++.SH OPTIONS
++The programs follow the usual GNU command line syntax, with long options
++starting with two dashes (`-'). A summary of options are included below. For
++a complete description, see the other documentation.
++
++.B gtk2hsC2hs
++accepts the following options:
++.TP
++.B  \-h, \-?, \-\-help
++brief help
++.TP
++.B  \-v, \-\-version
++show version information
++.TP
++.BI \-c \ CPP\fR, \ \-\-cpp= CPP
++use executable \fICPP\fR to invoke C preprocessor
++.TP
++.BR \-C \ CPPOPTS\fR, \ \-\-cppopts= CPPOPTS
++pass CPPOPTS to the C preprocessor
++.TP
++.BI \-o \ FILE\fR, \ \-\-output= FILE
++output result to \fIFILE\fR (should end in \fI.hs\fR)
++.TP
++.BI \-t \ PATH\fR, \ \-\-output\-dir= PATH
++place generated files in PATH
++.TP
++.B  \-p \ PLATFORM, \-\-platform=PLATFORM
++platform to use for cross compilation
++.TP
++.B  \-k, \-\-keep
++keep pre-processed C header
++.TP
++.B  \-l \ NAME, \-\-lock=NAME
++wrap each foreign call with the function NAME
++.TP
++.BR \-d \ TYPE\fR, \ \-\-dump= TYPE
++dump internal information (for debugging), where TYPE is one of:
++.RS
++.IP "\(bu \fBtrace\fR" 10
++trace compiler phases
++.IP "\(bu \fBgenbind\fR"   10
++trace binding generation
++.IP "\(bu \fBctrav\fR"   10
++trace C declaration traversal
++.IP "\(bu \fBchs\fR"   10
++dump the binding file (adds \fI.dump\fR to the name)
++.RE
++.PP
++
++.I header-file
++is the header file belonging to the marshalled library. It must end with
++suffix 
++.IR .h .
++
++.I binding-file
++is the corresponding Haskell binding file, which must end with suffix
++.IR .chs .
++
++.I PLATFORM
++The platform name can be one of:
++.IR x86_64-linux .
++.IR i686-linux .
++.IR m68k-palmos .
++This allows for cross-compilation, assuming the rest of your toolchain supports
++that. The default is the current host platform.
++
++The most useful of these options is probably 
++.B  \-\-cppopts
++(or 
++.BR \-C ).
++If the C header file needs any special options (like \-D or \-I) to go
++through the C pre-processor, here is the place to pass them.
++
++.SH EXAMPLES
++
++When used directly, 
++.B gtk2hsC2hs
++is usually called as:
++
++.B gtk2hsC2hs
++.I lib.h Lib.chs
++
++where 
++.I  lib.h
++is the header file and
++.I  Lib.chs
++the Haskell binding module, which define the C- and Haskell-side interface,
++respectively.  If no errors occur, the result is a pure Haskell module
++.IR Lib.hs ,
++which implements the Haskell API of the library.
++
++A more advanced call may look like this:
++
++.BR "gtk2hsC2hs" \ \-\-cppopts=\-I\fI/some/obscure/dir\fR
++\-\-cppopts=\-DEXTRA
++.I lib.h Lib.chs
++
++Often, 
++.I  lib.h
++will not be in the current directory, but in one of the header file
++directories.  Apart from the current directory, C->Haskell looks in two
++places for the header: first, in the standard include directory of the used
++system, this is usually
++.IR /usr/include " and " /usr/local/include ;
++and second, it will look in every directory that is mentioned in a 
++.RI \-I DIR
++option passed to the pre-processor via 
++.BR \-\-cppopts .
++
++.SH CAVEATS
++If you have more than one option that you want to
++give to the pre-processor, use multiple
++.BR \-\-cppopts= \ flags.
++
++.SH "BUGS"
++
++Please report bugs and feature requests in the Gtk2Hs trac
++
++.I http://hackage.haskell.org/trac/gtk2hs/
++
++or to the Gtk2Hs mailing list
++.I gtk2hs-devel at lists.sourceforge.net
++
++.SH COPYRIGHT
++C->Haskell Compiler, version 0.13.4 (gtk2hs branch) Copyright (c) [1999..2004]
++Manuel M T Chakravarty <chak at cse.unsw.edu.au>
++
++.SH AUTHOR
++This page was addapted from the \fBc2hs\fR(1) manpage, by Marco Túlio Gontijo e
++Silva <marcot at debian.org> for the Debian GNU/Linux system (but may be used by
++others), which was mainly assembled from the original documentation of c2hs.
++
++The \fBc2hs\fR(1) was written by Michael Weber
++<michael.weber at post.rwth-aachen.de> for the Debian GNU/Linux system (but may be
++used by others).
+Index: gtk2hs-buildtools-0.9/man/gtk2hsHookGenerator.1
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gtk2hs-buildtools-0.9/man/gtk2hsHookGenerator.1	2010-05-26 09:04:20.000000000 -0300
+@@ -0,0 +1,62 @@
++.\" Hey Emacs! This file is -*- nroff -*- source.
++.\"
++.\" Version $Revision: 0.1 $ from $Date: 2010/05/25 14:07:21 $
++.\"
++.TH GTK2HSHOOKGENERATOR 1
++.SH NAME
++gtk2hsHookGenerator \- Program to generate callback hook for Gtk signals
++
++.SH SYNOPSIS
++.B gtk2hsHookGenerator
++.RB [\| \-\-template\|\c
++.RI \|= template\-file \|]
++.RB \-\-types\|\c
++.RI \|= types\-file
++.RB [\| \-\-import\|\c
++.RI \|= import \|]
++.RB \-\-modname\|\c
++.RI \|= moduleName
++>
++.RI outFile
++
++.SH DESCRIPTION
++This manual page briefly describes the
++.B gtk2hsHookGenerator
++command.  It's a helper program necessary to build the Gtk2Hs suite of
++libraries.
++.PP
++
++.SH OPTIONS
++The programs follow the usual GNU command line syntax, with long options
++starting with two dashes (`-'). A summary of options are included below. For
++a complete description, see the other documentation.
++
++.B gtk2hsHookGenerator
++accepts the following options:
++.TP
++.BI \-\-template= template-file
++specify a path to the Signal.chs.template file
++.TP
++.BI \-\-types= types-file
++specify a path a gtkmarshal.list file
++.TP
++.BI \-\-import= import
++specify a module to be imported into the template file
++.TP
++.BI \-\-modname= moduleName
++the module name for
++. I outFile
++
++.SH "BUGS"
++
++Please report bugs and feature requests in the Gtk2Hs trac
++
++.I http://hackage.haskell.org/trac/gtk2hs/
++
++or to the Gtk2Hs mailing list
++.I gtk2hs-devel at lists.sourceforge.net
++
++.SH AUTHOR
++This page was addapted from the \fBgtk2hsC2hs\fR(1) manpage, by Marco Túlio
++Gontijo e Silva <marcot at debian.org> for the Debian GNU/Linux system (but may be
++used by others).
+Index: gtk2hs-buildtools-0.9/man/gtk2hsTypeGen.1
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gtk2hs-buildtools-0.9/man/gtk2hsTypeGen.1	2010-05-26 09:04:20.000000000 -0300
+@@ -0,0 +1,88 @@
++.\" Hey Emacs! This file is -*- nroff -*- source.
++.\"
++.\" Version $Revision: 0.1 $ from $Date: 2010/05/25 14:07:21 $
++.\"
++.TH GTK2HSTYPEGEN 1
++.SH NAME
++gtk2hsTypeGen \- Program to generate Gtk's object hierarchy in Haskell
++
++.SH SYNOPSIS
++.B gtk2hsTypeGen
++.RB [\| \-\-tag\|\c
++.RI \|= tag \ ...]
++.RB [\| \-\-lib\|\c
++.RI \|= lib \|]
++.RB [\| \-\-prefix\|\c
++.RI \|= prefix \|]
++.RB [\| \-\-modname\|\c
++.RI \|= modName \|]
++.RB [\| \-\-import\|\c
++.RI \|=[*] importName \ ...]
++.RB [\| \-\-forward\|\c
++.RI \|=[*] fwdName \ ...]
++.RB [\| \-\-destructor\|\c
++.RI \|= destrName \|]
++.RB [\| \-\-hierarchy\|\c
++.RI \|= hierName \|]
++
++.SH DESCRIPTION
++This manual page briefly describes the
++.B gtk2hsTypeGen
++command.  It's a helper program necessary to build the Gtk2Hs suite of
++libraries.
++.PP
++
++.SH OPTIONS
++The programs follow the usual GNU command line syntax, with long options
++starting with two dashes (`-'). A summary of options are included below. For
++a complete description, see the other documentation.
++
++.B gtk2hsTypeGen
++accepts the following options:
++.TP
++.BI \-\-tag= tag
++generate entries that have the tag
++.I tag.
++Specify `default' for types without tags
++.TP
++.BI \-\-lib= lib
++set the lib to use in the c2hs {#context #} declaration (the default is `gtk')
++.TP
++.BI \-\-prefix= prefix
++set the prefix to use in the c2hs {#context #} declaration (the default is
++`gtk')
++.TP
++.BI \-\-modname= modName
++specify module name if it does not match the file name, eg a hierarchical
++module name
++.TP
++.BI \-\-import="[*]" importName
++additionally import this module without re-exporting it.  Use an asterix as
++prefix if the import should be a .chs import statement, as well as exported
++from the generated module.
++.TP
++.BI \-\-forward="[*]" fwdName
++specify a number of modules that are imported.    Use an asterix as
++prefix if the import should be a .chs import statement, as well as exported
++from the generated module.
++.TP
++.BI \-\-destructor= destrName
++specify a non-standard C function pointer that is called to destroy the objects
++.TP
++.BI \-\-hierarchy= hierName
++the name of the file containing the hierarchy list, defaults to the built-in
++list
++
++.SH "BUGS"
++
++Please report bugs and feature requests in the Gtk2Hs trac
++
++.I http://hackage.haskell.org/trac/gtk2hs/
++
++or to the Gtk2Hs mailing list
++.I gtk2hs-devel at lists.sourceforge.net
++
++.SH AUTHOR
++This page was addapted from the \fBgtk2hsHookGenerator\fR(1) manpage, by Marco
++Túlio Gontijo e Silva <marcot at debian.org> for the Debian GNU/Linux system (but
++may be used by others).
diff --git a/patches/gtk2hs-buildtools/0.12.3/series b/patches/gtk2hs-buildtools/0.12.3/series
new file mode 100644
index 0000000..dc98721
--- /dev/null
+++ b/patches/gtk2hs-buildtools/0.12.3/series
@@ -0,0 +1,2 @@
+manpages.patch
+BangPatterns.patch
diff --git a/patches/simpleirc/0.2.1/new-exceptions.diff b/patches/simpleirc/0.2.1/new-exceptions.diff
new file mode 100644
index 0000000..8747f38
--- /dev/null
+++ b/patches/simpleirc/0.2.1/new-exceptions.diff
@@ -0,0 +1,12 @@
+Index: haskell-simpleirc-0.2.1/Network/SimpleIRC/Core.hs
+===================================================================
+--- haskell-simpleirc-0.2.1.orig/Network/SimpleIRC/Core.hs	2011-11-30 17:04:43.000000000 +0000
++++ haskell-simpleirc-0.2.1/Network/SimpleIRC/Core.hs	2012-11-09 05:27:05.666355483 +0000
+@@ -47,6 +47,7 @@
+ import Control.Concurrent
+ import Control.Concurrent.Chan
+ import Control.Concurrent.MVar
++import Control.Exception.Base (try)
+ import Network.SimpleIRC.Messages
+ import Data.Unique
+ import System.IO.Error
diff --git a/patches/simpleirc/0.2.1/series b/patches/simpleirc/0.2.1/series
new file mode 100644
index 0000000..e60c9c0
--- /dev/null
+++ b/patches/simpleirc/0.2.1/series
@@ -0,0 +1 @@
+new-exceptions.diff
diff --git a/patches/strict-concurrency/0.2.4.1/series b/patches/strict-concurrency/0.2.4.1/series
new file mode 100644
index 0000000..ab65d7c
--- /dev/null
+++ b/patches/strict-concurrency/0.2.4.1/series
@@ -0,0 +1 @@
+use-new-exception
diff --git a/patches/strict-concurrency/0.2.4.1/use-new-exception b/patches/strict-concurrency/0.2.4.1/use-new-exception
new file mode 100644
index 0000000..9c950e6
--- /dev/null
+++ b/patches/strict-concurrency/0.2.4.1/use-new-exception
@@ -0,0 +1,52 @@
+Description: Compile with GHC 7.6 (don't use Control.OldException)
+Forwarded: yes (private email)
+Author: Iain Lane <laney at debian.org>
+
+Index: haskell-strict-concurrency-0.2.4.1/Control/Concurrent/MVar/Strict.hs
+===================================================================
+--- haskell-strict-concurrency-0.2.4.1.orig/Control/Concurrent/MVar/Strict.hs	2010-08-12 00:01:17.000000000 +0000
++++ haskell-strict-concurrency-0.2.4.1/Control/Concurrent/MVar/Strict.hs	2013-04-12 11:49:08.322626389 +0000
+@@ -43,9 +43,9 @@
+ import GHC.IOBase
+ 
+ import Prelude
+-import Control.OldException as Exception
+ -- import Control.Parallel.Strategies
+ import Control.DeepSeq
++import Control.Exception
+ 
+ -- |Put a value into an 'MVar'.  If the 'MVar' is currently full,
+ -- 'putMVar' will wait until it becomes empty.
+@@ -121,8 +121,8 @@
+ withMVar :: NFData a => MVar a -> (a -> IO b) -> IO b
+ withMVar m io = block $ do
+     a <- takeMVar m
+-    b <- Exception.catch (unblock (io a))
+-            (\e -> do putMVar m a; throw e)
++    b <- catch (unblock (io a))
++            (\ (e :: IOException) -> do putMVar m a; throw e)
+     putMVar m a
+     return b
+ 
+@@ -135,8 +135,8 @@
+ modifyMVar_ :: NFData a => MVar a -> (a -> IO a) -> IO ()
+ modifyMVar_ m io = block $ do
+     a  <- takeMVar m
+-    a' <- Exception.catch (unblock (io a))
+-            (\e -> do putMVar m a; throw e)
++    a' <- catch (unblock (io a))
++            (\ (e :: IOException) -> do putMVar m a; throw e)
+     putMVar m a'
+ 
+ {-|
+@@ -147,8 +147,8 @@
+ modifyMVar :: NFData a => MVar a -> (a -> IO (a,b)) -> IO b
+ modifyMVar m io = block $ do
+     a      <- takeMVar m
+-    (a',b) <- Exception.catch (unblock (io a))
+-                (\e -> do putMVar m a; throw e)
++    (a',b) <- catch (unblock (io a))
++                (\ (e :: IOException) -> do putMVar m a; throw e)
+     putMVar m a'
+     return b
+ 
diff --git a/patches/tokyocabinet-haskell/0.0.5/ghc-7.4.1-fix b/patches/tokyocabinet-haskell/0.0.5/ghc-7.4.1-fix
new file mode 100644
index 0000000..0957f35
--- /dev/null
+++ b/patches/tokyocabinet-haskell/0.0.5/ghc-7.4.1-fix
@@ -0,0 +1,11 @@
+Description: Add language pragma, fixes building with GHC 7.4.1
+Author: Joachim Breitner <nomeata at debian.org>
+
+--- tokyocabinet-haskell-0.0.5.orig/Database/TokyoCabinet/FDB/Key.hs
++++ tokyocabinet-haskell-0.0.5/Database/TokyoCabinet/FDB/Key.hs
+@@ -1,4 +1,4 @@
+-{-# LANGUAGE TypeSynonymInstances #-}
++{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}
+ module Database.TokyoCabinet.FDB.Key (Key(..), ID(..)) where
+ 
+ import Database.TokyoCabinet.FDB.C (ID(..), unID)
diff --git a/patches/tokyocabinet-haskell/0.0.5/series b/patches/tokyocabinet-haskell/0.0.5/series
new file mode 100644
index 0000000..4f3b6d4
--- /dev/null
+++ b/patches/tokyocabinet-haskell/0.0.5/series
@@ -0,0 +1 @@
+ghc-7.4.1-fix
diff --git a/patches/weighted-regexp/0.3.1.2/eq-constraints b/patches/weighted-regexp/0.3.1.2/eq-constraints
new file mode 100644
index 0000000..0dc22bb
--- /dev/null
+++ b/patches/weighted-regexp/0.3.1.2/eq-constraints
@@ -0,0 +1,69 @@
+Description: Add Eq instance constraint to semiring class
+  Num no longer implies Eq, so we need this now.
+Author: Iain Lane <laney at debian.org>
+Forwarded: https://github.com/sebfisch/haskell-regexp/pull/22
+
+Index: haskell-weighted-regexp/src/Data/Semiring.hs
+===================================================================
+--- haskell-weighted-regexp.orig/src/Data/Semiring.hs	2012-02-14 23:14:42.000000000 +0000
++++ haskell-weighted-regexp/src/Data/Semiring.hs	2012-02-14 23:17:04.389795495 +0000
+@@ -82,5 +82,5 @@
+ instance Show a => Show (Numeric a) where
+   show = show . getNumeric
+ 
+-instance Num a => Semiring (Numeric a) where
++instance (Eq a, Num a) => Semiring (Numeric a) where
+   zero = 0; one = 1; (.+.) = (+); (.*.) = (*)
+Index: haskell-weighted-regexp/src/Text/RegExp/Data.hs
+===================================================================
+--- haskell-weighted-regexp.orig/src/Text/RegExp/Data.hs	2012-02-14 23:14:42.000000000 +0000
++++ haskell-weighted-regexp/src/Text/RegExp/Data.hs	2012-02-14 23:17:04.389795495 +0000
+@@ -35,7 +35,7 @@
+ instance Weight c c Bool where
+   symWeight = defaultSymWeight
+ 
+-instance Num a => Weight c c (Numeric a) where
++instance (Eq a, Num a) => Weight c c (Numeric a) where
+   symWeight = defaultSymWeight
+ 
+ weighted :: Weight a b w => RegW w a -> RegW w b
+Index: haskell-weighted-regexp/src/Text/RegExp/Matching.hs
+===================================================================
+--- haskell-weighted-regexp.orig/src/Text/RegExp/Matching.hs	2011-08-15 05:49:35.000000000 +0100
++++ haskell-weighted-regexp/src/Text/RegExp/Matching.hs	2012-02-14 23:18:54.297493176 +0000
+@@ -30,7 +30,7 @@
+ -- Computes in how many ways a word can be matched against a regular
+ -- expression.
+ -- 
+-matchingCount :: Num a => RegExp c -> [c] -> a
++matchingCount :: (Eq a, Num a) => RegExp c -> [c] -> a
+ matchingCount r = getNumeric . fullMatch r
+ 
+ {-# SPECIALIZE matchingCount :: RegExp c -> [c] -> Int #-}
+@@ -50,7 +50,7 @@
+ 
+ {-# SPECIALIZE fullMatch :: RegExp c -> [c] -> Bool #-}
+ {-# SPECIALIZE fullMatch :: RegExp c -> [c] -> Numeric Int #-}
+-{-# SPECIALIZE fullMatch :: Num a => RegExp c -> [c] -> Numeric a #-}
++{-# SPECIALIZE fullMatch :: (Eq a, Num a) => RegExp c -> [c] -> Numeric a #-}
+ {-# SPECIALIZE fullMatch :: RegExp c -> [(Int,c)] -> Leftmost #-}
+ {-# SPECIALIZE fullMatch :: RegExp c -> [c] -> Longest #-}
+ {-# SPECIALIZE fullMatch :: RegExp c -> [(Int,c)] -> LeftLong #-}
+@@ -67,7 +67,7 @@
+ 
+ {-# SPECIALIZE partialMatch :: RegExp c -> [c] -> Bool #-}
+ {-# SPECIALIZE partialMatch :: RegExp c -> [c] -> Numeric Int #-}
+-{-# SPECIALIZE partialMatch :: Num a => RegExp c -> [c] -> Numeric a #-}
++{-# SPECIALIZE partialMatch :: (Eq a, Num a) => RegExp c -> [c] -> Numeric a #-}
+ {-# SPECIALIZE partialMatch :: RegExp c -> [(Int,c)] -> Leftmost #-}
+ {-# SPECIALIZE partialMatch :: RegExp c -> [c] -> Longest #-}
+ {-# SPECIALIZE partialMatch :: RegExp c -> [(Int,c)] -> LeftLong #-}
+@@ -78,7 +78,7 @@
+ 
+ {-# SPECIALIZE matchW :: RegW Bool c -> [c] -> Bool #-}
+ {-# SPECIALIZE matchW :: RegW (Numeric Int) c -> [c] -> Numeric Int #-}
+-{-# SPECIALIZE matchW :: Num a => RegW (Numeric a) c -> [c] -> Numeric a #-}
++{-# SPECIALIZE matchW :: (Eq a, Num a) => RegW (Numeric a) c -> [c] -> Numeric a #-}
+ {-# SPECIALIZE matchW :: RegW Leftmost (Int,c) -> [(Int,c)] -> Leftmost #-}
+ {-# SPECIALIZE matchW :: RegW Longest c -> [c] -> Longest #-}
+ {-# SPECIALIZE matchW :: RegW LeftLong (Int,c) -> [(Int,c)] -> LeftLong #-}
diff --git a/patches/weighted-regexp/0.3.1.2/series b/patches/weighted-regexp/0.3.1.2/series
new file mode 100644
index 0000000..a80ceec
--- /dev/null
+++ b/patches/weighted-regexp/0.3.1.2/series
@@ -0,0 +1 @@
+eq-constraints

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-haskell/package-plan.git



More information about the Pkg-haskell-commits mailing list