[arch-commits] Commit in darcs/trunk (PKGBUILD ghc-7-compat.patch)

Rémy Oudompheng remy at archlinux.org
Sat Feb 12 11:32:04 UTC 2011


    Date: Saturday, February 12, 2011 @ 06:32:04
  Author: remy
Revision: 109737

upgpkg: darcs 2.5.1-1
Update to 2.5.1

Modified:
  darcs/trunk/PKGBUILD
Deleted:
  darcs/trunk/ghc-7-compat.patch

--------------------+
 PKGBUILD           |   15 -
 ghc-7-compat.patch |  673 ---------------------------------------------------
 2 files changed, 7 insertions(+), 681 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-02-12 08:39:35 UTC (rev 109736)
+++ PKGBUILD	2011-02-12 11:32:04 UTC (rev 109737)
@@ -3,23 +3,22 @@
 # Contributor: Simo Leone <neotuli at gmail.com>
 
 pkgname=darcs
-pkgver=2.5
-pkgrel=2
+pkgver=2.5.1
+pkgrel=1
 pkgdesc="Decentralized replacement for CVS with roots in quantum mechanics"
 arch=(i686 x86_64)
 url="http://darcs.net/"
 license=('GPL')
 depends=('curl' 'gmp' 'ncurses>=5.6-7')
-makedepends=('ghc=7.0.1' 'haskell-tar' 'haskell-text' 'haskell-hashed-storage=0.5.3' 'haskell-haskeline' 'haskell-html' 'haskell-parsec=2.1.0.1' 'haskell-regex-compat')
+makedepends=('ghc=7.0.1' 'haskell-tar' 'haskell-text' 'haskell-hashed-storage=0.5.4'
+             'haskell-haskeline' 'haskell-html' 'haskell-parsec=3.1.0' 'haskell-regex-compat')
 #install=darcs.install
-source=("http://darcs.net/releases/$pkgname-$pkgver.tar.gz"
-        ghc-7-compat.patch)
-md5sums=('7de8b352d8b0ed50d71ac0c32d3b6d5c'
-         'f48d53dbc0b7ce01d1f257b39cbd7eca')
+source=("http://darcs.net/releases/$pkgname-$pkgver.tar.gz")
+md5sums=('247151771f6dd39db697c586069cb1c9')
 
 build() {
     cd $srcdir/$pkgname-$pkgver
-    patch -p1 -i $srcdir/ghc-7-compat.patch
+    sed -i 's/parsec\(.*\) 3\.1/parsec\1 3.2/g' darcs.cabal
     runhaskell Setup.lhs configure --ghc -O --prefix=/usr \
          --disable-library-for-ghci --libsubdir=\$compiler/site-local/\$pkgid
     runhaskell Setup.lhs build

Deleted: ghc-7-compat.patch
===================================================================
--- ghc-7-compat.patch	2011-02-12 08:39:35 UTC (rev 109736)
+++ ghc-7-compat.patch	2011-02-12 11:32:04 UTC (rev 109737)
@@ -1,673 +0,0 @@
-Tue Nov  2 19:06:02 CET 2010  Ganesh Sittampalam <ganesh at earth.li>
-  * GHC 7.0 build fixes
-Tue Nov  2 19:03:01 CET 2010  Ganesh Sittampalam <ganesh at earth.li>
-  * get rid of n+k patterns
-Tue Nov  2 19:02:17 CET 2010  Ganesh Sittampalam <ganesh at earth.li>
-  * get rid of some impredicative uses of flip
-  These aren't supported by GHC 7.0
-Mon Nov  1 08:18:39 CET 2010  Ganesh Sittampalam <ganesh at earth.li>
-  * dependency bumps for GHC 7.0
-Tue Sep 28 19:18:22 CEST 2010  Ganesh Sittampalam <ganesh at earth.li>
-  * use CPP to handle change to Permissions type in GHC 7.0
-Sun Oct 24 17:18:05 CEST 2010  Reinier Lamers <tux_rocker at reinier.de>
-  tagged 2.5
-diff -rN -u old-darcs-2.5-ghc7-2/darcs.cabal new-darcs-2.5-ghc7-2/darcs.cabal
---- old-darcs-2.5-ghc7-2/darcs.cabal	2010-11-27 11:17:37.400384235 +0100
-+++ new-darcs-2.5-ghc7-2/darcs.cabal	2010-11-27 11:17:37.403717791 +0100
-@@ -166,14 +166,14 @@
-                      mtl          >= 1.0 && < 1.2,
-                      parsec       >= 2.0 && < 3.1,
-                      html         == 1.0.*,
--                     filepath     == 1.1.*,
-+                     filepath     >= 1.1.0.0 && < 1.3.0.0,
-                      haskeline    >= 0.6.2.2 && < 0.7,
-                      hashed-storage >= 0.5.2 && < 0.6,
-                      base >= 3,
-                      bytestring >= 0.9.0 && < 0.10,
-                      text >= 0.3,
-                      old-time   == 1.0.*,
--                     directory  == 1.0.*,
-+                     directory  >= 1.0.0.0 && < 1.2.0.0,
-                      process    == 1.0.*,
--                     containers >= 0.1 && < 0.4,
-+                     containers >= 0.1 && < 0.5,
-                      array      >= 0.1 && < 0.4,
-@@ -368,7 +368,7 @@
-                      mtl          >= 1.0 && < 1.2,
-                      parsec       >= 2.0 && < 3.1,
-                      html         == 1.0.*,
--                     filepath     == 1.1.*,
-+                     filepath     >= 1.1.0.0 && < 1.3.0.0,
-                      haskeline    >= 0.6.2.2 && < 0.7,
-                      hashed-storage >= 0.5.2 && < 0.6,
-                      tar          == 0.3.*
-@@ -380,7 +380,7 @@
-                    bytestring >= 0.9.0 && < 0.10,
-                    text >= 0.3,
-                    old-time   == 1.0.*,
--                   directory  == 1.0.*,
-+                   directory  >= 1.0.0.0 && < 1.2.0.0,
-                    process    == 1.0.*,
--                   containers >= 0.1 && < 0.4,
-+                   containers >= 0.1 && < 0.5,
-                    array      >= 0.1 && < 0.4,
-@@ -509,7 +509,7 @@
-                    mtl          >= 1.0 && < 1.2,
-                    parsec       >= 2.0 && < 3.1,
-                    html         == 1.0.*,
--                   filepath     == 1.1.*,
-+                   filepath     >= 1.1.0.0 && < 1.3.0.0,
-                    haskeline    >= 0.6.2.2 && < 0.7,
-                    hashed-storage >= 0.5.2 && < 0.6,
-                    tar          == 0.3.*
-@@ -521,7 +521,7 @@
-                  bytestring >= 0.9.0 && < 0.10,
-                  text >= 0.3,
-                    old-time   == 1.0.*,
--                   directory  == 1.0.*,
-+                   directory  >= 1.0.0.0 && < 1.2.0.0,
-                    process    == 1.0.*,
--                   containers >= 0.1 && < 0.4,
-+                   containers >= 0.1 && < 0.5,
-                    array      >= 0.1 && < 0.4,
-@@ -597,7 +597,7 @@
-                      mtl          >= 1.0 && < 1.2,
-                      parsec       >= 2.0 && < 3.1,
-                      html         == 1.0.*,
--                     filepath     == 1.1.*,
-+                     filepath     >= 1.1.0.0 && < 1.3.0.0,
-                      QuickCheck   >= 2.1.0.0,
-                      HUnit        >= 1.0,
-                      test-framework             >= 0.2.2,
-@@ -659,7 +659,7 @@
-                    haskeline    >= 0.6.2.2 && < 0.7,
-                    text >= 0.3,
-                    old-time   == 1.0.*,
--                   directory  == 1.0.*,
-+                   directory  >= 1.0.0.0 && < 1.2.0.0,
-                    process    == 1.0.*,
--                   containers >= 0.1 && < 0.4,
-+                   containers >= 0.1 && < 0.5,
-                    array      >= 0.1 && < 0.4,
-diff -rN -u old-darcs-2.5-ghc7-2/Distribution/ShellHarness.hs new-darcs-2.5-ghc7-2/Distribution/ShellHarness.hs
---- old-darcs-2.5-ghc7-2/Distribution/ShellHarness.hs	2010-11-27 11:17:37.400384235 +0100
-+++ new-darcs-2.5-ghc7-2/Distribution/ShellHarness.hs	2010-11-27 11:17:37.403717791 +0100
-@@ -3,7 +3,15 @@
- 
- import Prelude hiding( catch )
- import System.Directory ( getCurrentDirectory, setPermissions,
--                          Permissions(..), getDirectoryContents,
-+-- Handle migration of Permissions to be an ADT
-+#if __GLASGOW_HASKELL__ >= 700
-+                          Permissions, emptyPermissions,
-+                          setOwnerReadable, setOwnerWritable,
-+                          setOwnerExecutable, setOwnerSearchable,
-+#else
-+                          Permissions(..),
-+#endif
-+                          getDirectoryContents,
-                           findExecutable, createDirectoryIfMissing,
-                           renameFile, removeFile )
- import System.Environment ( getEnv, getEnvironment )
-@@ -111,12 +119,21 @@
-                  forM tixfiles $ \f -> removeFile f
-                  return ()
-              mapM_ (\x->
-+#if __GLASGOW_HASKELL__ >= 700
-+                  setPermissions x (setOwnerReadable True
-+                                     . setOwnerWritable True
-+                                     . setOwnerExecutable False
-+                                     . setOwnerSearchable True
-+                                     $ emptyPermissions
-+                                   )
-+#else
-                   setPermissions x (Permissions
-                                    {readable = True
-                                    ,writable = True
-                                    ,executable = False
-                                    ,searchable = True}
-                                    )
-+#endif
-                  ) tempfiles
- 
- backtick :: String -> String -> [(String, String)]-> IO (String,Status)
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Arguments.lhs new-darcs-2.5-ghc7-2/src/Darcs/Arguments.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Arguments.lhs	2010-11-27 11:17:37.393717123 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Arguments.lhs	2010-11-27 11:17:37.410384903 +0100
-@@ -1252,7 +1252,7 @@
- -- @action@ is the name of the action being taken, like @\"push\"@
- -- @opts@ is the list of flags which were sent to darcs
- -- @patches@ is the sequence of patches which would be touched by @action at .
--printDryRunMessageAndExit :: RepoPatch p => String -> [DarcsFlag] -> FL (PatchInfoAnd p) C(x y) -> IO ()
-+printDryRunMessageAndExit :: forall p C(x y) . RepoPatch p => String -> [DarcsFlag] -> FL (PatchInfoAnd p) C(x y) -> IO ()
- printDryRunMessageAndExit action opts patches =
-      do when (DryRun `elem` opts) $ do
-           putInfo $ text $ "Would " ++ action ++ " the following changes:"
-@@ -1269,6 +1269,7 @@
-                             text "</patches>")
-                       else (vsep $ mapFL (showFriendly opts) patches)
-            putInfo = if XMLOutput `elem` opts then \_ -> return () else putDocLn
-+           xml_info, xml_with_summary :: PatchInfoAnd p C(a b) -> Doc
-            xml_info pl
-               | Summary `elem` opts = xml_with_summary pl
-               | otherwise = (toXml . info) pl
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Commands/Changes.lhs new-darcs-2.5-ghc7-2/src/Darcs/Commands/Changes.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Commands/Changes.lhs	2010-11-27 11:17:37.393717123 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Commands/Changes.lhs	2010-11-27 11:17:37.413718459 +0100
-@@ -57,7 +57,7 @@
- import Darcs.Patch.Bundle( contextPatches )
- import Darcs.Patch.TouchesFiles ( lookTouch )
- import Darcs.Patch ( RepoPatch, invert, xmlSummary, description, applyToFilepaths,
--                     listTouchedFiles, effect, identity )
-+                     listTouchedFiles, effect, identity, Prim )
- import Darcs.Witnesses.Ordered ( RL(..), EqCheck(..), filterFLFL, filterRL,
-                                  reverseFL, (:>>)(..), mapRL )
- import Darcs.Match ( firstMatch, secondMatch,
-@@ -136,7 +136,8 @@
-             ps <- readRepo repository -- read repo again to prevent holding onto
-                                        -- values forced by filtered_changes
-             putDocLnWith printers $ changelog opts ps $ filtered_changes patches
--  where maybe_reverse (xs,b,c) = if doReverse opts
-+  where maybe_reverse :: ([a], b, c) -> ([a], b, c)
-+        maybe_reverse (xs,b,c) = if doReverse opts
-                                  then (reverse xs, b, c)
-                                  else (xs, b, c)
- 
-@@ -160,7 +161,7 @@
-  "whereas `darcs changes --last 3 foo.c' will, of the last three\n" ++
-  "patches, print only those that affect foo.c.\n"
- 
--getChangesInfo :: RepoPatch p => [DarcsFlag] -> [FilePath]
-+getChangesInfo :: forall p C(x y) . RepoPatch p => [DarcsFlag] -> [FilePath]
-                -> PatchSet p C(x y)
-                -> ([(Sealed2 (PatchInfoAnd p), [FilePath])], [FilePath], Doc)
- getChangesInfo opts plain_fs ps =
-@@ -175,6 +176,7 @@
-         sp2s = if secondMatch opts
-                then matchSecondPatchset opts ps
-                else Sealed $ ps
-+        pf :: PatchInfoAnd p C(a b) -> Bool
-         pf = if haveNonrangeMatch opts
-              then matchAPatchread opts
-              else \_ -> True
-@@ -240,7 +242,8 @@
-                                           else showFriendly opts p
-               | otherwise = description hp
-                             $$ indent (text "[this patch is unavailable]")
--              where xx x = case listTouchedFiles x of
-+              where xx :: Prim C(x y) -> EqCheck C(x y)
-+                    xx x = case listTouchedFiles x of
-                              ys | null $ ys `intersect` fs -> unsafeCoerce IsEq
-                              -- in that case, the change does not affect the patches we are
-                              -- looking at, so we ignore the difference between the two states.
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Commands/Convert.lhs new-darcs-2.5-ghc7-2/src/Darcs/Commands/Convert.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Commands/Convert.lhs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Commands/Convert.lhs	2010-11-27 11:17:37.413718459 +0100
-@@ -165,8 +165,10 @@
-       -- "universal" functions to do the conversion, but that's also
-       -- unsatisfying.
- 
--      let repository = unsafeCoerce# repositoryfoo :: Repository (FL RealPatch) C(r u t)
--          themrepo = unsafeCoerce# themrepobar :: Repository Patch C(r u t)
-+      let repository :: Repository (FL RealPatch) C(r u t)
-+          repository = unsafeCoerce# repositoryfoo
-+          themrepo :: Repository Patch C(r u t)
-+          themrepo = unsafeCoerce# themrepobar
-       theirstuff <- readRepo themrepo
-       let patches = mapFL_FL convertNamed $ patchSetToPatches theirstuff
-           inOrderTags = iot theirstuff
-@@ -176,7 +178,8 @@
-                     iot_ (Tagged t _ _ :<: ts) = info t : iot_ ts
-                     iot_ NilRL = []
-           outOfOrderTags = catMaybes $ mapRL oot $ newset2RL theirstuff
--              where oot t = if isTag (info t) && not (info t `elem` inOrderTags)
-+              where oot :: PatchInfoAnd Patch C(a b) -> Maybe (PatchInfo, [PatchInfo])
-+                    oot t = if isTag (info t) && not (info t `elem` inOrderTags)
-                             then Just (info t, getdeps $ hopefully t)
-                             else Nothing
-           fixDep p = case lookup p outOfOrderTags of
-@@ -206,6 +209,7 @@
-                                    (map convertInfo $ concatMap fixDep $ getdeps n)
-           convertInfo n | n `elem` inOrderTags = n
-                         | otherwise = maybe n (\t -> piRename n ("old tag: "++t)) $ piTag n
-+          applySome :: FL (PatchInfoAnd (FL RealPatch)) C(x y) -> IO ()
-           applySome xs = do Sealed pw <- tentativelyMergePatches repository "convert" (AllowConflicts:opts) NilFL xs
-                             finalizeRepositoryChanges repository -- this is to clean out pristine.hashed
-                             revertRepositoryChanges repository
-@@ -223,7 +227,8 @@
- 
-       optimizeInventory repository
-       putInfo opts $ text "Finished converting."
--      where revertable x = x `clarifyErrors` unlines
-+      where revertable :: IO a -> IO a
-+            revertable x = x `clarifyErrors` unlines
-                   ["An error may have left your new working directory an inconsistent",
-                    "but recoverable state. You should be able to make the new",
-                    "repository consistent again by running darcs revert -a."]
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Commands/Diff.lhs new-darcs-2.5-ghc7-2/src/Darcs/Commands/Diff.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Commands/Diff.lhs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Commands/Diff.lhs	2010-11-27 11:17:37.413718459 +0100
-@@ -53,7 +53,7 @@
- import Darcs.Patch.Set ( PatchSet, newset2RL )
- import Darcs.Repository.State ( readUnrecorded, restrictSubpaths )
- import Darcs.Patch ( RepoPatch )
--import Darcs.Witnesses.Ordered ( mapRL )
-+import Darcs.Witnesses.Ordered ( RL, mapRL )
- import Darcs.Patch.Info ( PatchInfo, humanFriendly )
- import Darcs.External ( execPipeIgnoreError )
- import Darcs.Lock ( withTempDir )
-@@ -233,9 +233,10 @@
-                     return ()
-                  return output
- 
--getDiffInfo :: RepoPatch p => [DarcsFlag] -> PatchSet p C(start x) -> [PatchInfo]
-+getDiffInfo :: forall p C(start x) . RepoPatch p => [DarcsFlag] -> PatchSet p C(start x) -> [PatchInfo]
- getDiffInfo opts ps =
--    let infos = mapRL info . newset2RL
-+    let infos :: PatchSet p C(start y) -> [PatchInfo]
-+        infos = mapRL info . newset2RL
-         handle (match_cond, do_match)
-           | match_cond opts = unseal infos (do_match opts ps)
-           | otherwise = infos ps
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Commands/Get.lhs new-darcs-2.5-ghc7-2/src/Darcs/Commands/Get.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Commands/Get.lhs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Commands/Get.lhs	2010-11-27 11:17:37.413718459 +0100
-@@ -210,6 +210,7 @@
-                                    putInfo opts $ text "Fetching a hashed repository as an old-fashioned one..."
-                                    copyRepoHashed repository
-                                | otherwise -> copyRepoOldFashioned repository opts repodir
-+            copyRepoHashed :: RepoPatch p => Repository p C(r u t) -> IO ()
-             copyRepoHashed repository =
-               do identifyRepositoryFor repository repodir >>= copyRepository
-                  when (SetScriptsExecutable `elem` opts) setScriptsExecutable
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Commands/Record.lhs new-darcs-2.5-ghc7-2/src/Darcs/Commands/Record.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Commands/Record.lhs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Commands/Record.lhs	2010-11-27 11:17:37.417052015 +0100
-@@ -195,7 +195,8 @@
-                           debugMessage ("Patch name as received from getLog: " ++ show (map ord name))
-                           doActualRecord repository opts name date
-                                  my_author my_log logf deps chs
--    where is_empty_but_not_askdeps l
-+    where is_empty_but_not_askdeps :: FL Prim C(r z) -> Bool
-+          is_empty_but_not_askdeps l
-               | AskDeps `elem` opts = False
-                                       -- a "partial tag" patch; see below.
-               | otherwise = nullFL l
-@@ -333,6 +334,7 @@
-                            (n:ls) -> return (n, takeWhile
-                                              (not.(eod `isPrefixOf`)) ls,
-                                              Just f)
-+          append_info :: FilePathLike p => p -> [Char] -> IO ()
-           append_info f oldname =
-               do fc <- readLocaleFile f
-                  appendToFile f $ \h ->
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Commands/Rollback.lhs new-darcs-2.5-ghc7-2/src/Darcs/Commands/Rollback.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Commands/Rollback.lhs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Commands/Rollback.lhs	2010-11-27 11:17:37.417052015 +0100
-@@ -142,7 +142,8 @@
-               return ()
-             when (isJust logf) $ removeFile (fromJust logf)
-             putStrLn "Finished rolling back."
--          where revertable x = x `clarifyErrors` unlines
-+          where revertable :: IO a -> IO a
-+                revertable x = x `clarifyErrors` unlines
-                   ["Error applying patch to the working directory.","",
-                    "This may have left your working directory an inconsistent",
-                    "but recoverable state. If you had no un-recorded changes",
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Commands/Send.lhs new-darcs-2.5-ghc7-2/src/Darcs/Commands/Send.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Commands/Send.lhs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Commands/Send.lhs	2010-11-27 11:17:37.417052015 +0100
-@@ -160,7 +160,8 @@
-              putStrLn $ "Creating patch to "++formatPath repodir++"..."
-         wtds <- decideOnBehavior input_opts repo
-         sendToThem repository input_opts wtds repodir them
--    where the_context [] = return Nothing
-+    where the_context :: RepoPatch p => [DarcsFlag] -> IO (Maybe (PatchSet p C(Origin b)))
-+          the_context [] = return Nothing
-           the_context (Context foo:_)
-               = (Just . scanContext )`fmap` mmapFilePS (toFilePath foo)
-           the_context (_:fs) = the_context fs
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Commands/ShowTags.lhs new-darcs-2.5-ghc7-2/src/Darcs/Commands/ShowTags.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Commands/ShowTags.lhs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Commands/ShowTags.lhs	2010-11-27 11:17:37.417052015 +0100
-@@ -20,7 +20,7 @@
- module Darcs.Commands.ShowTags ( showTags ) where
- import Darcs.Arguments ( DarcsFlag(..), workingRepoDir )
- import Darcs.Commands ( DarcsCommand(..), nodefaults )
--import Darcs.Hopefully ( info )
-+import Darcs.Hopefully ( info, PatchInfoAnd )
- import Darcs.Repository ( amInRepository, readRepo, withRepository, ($-) )
- import Darcs.Patch.Info ( piTag )
- import Darcs.Patch.Set ( newset2RL )
-@@ -28,6 +28,8 @@
- import System.IO ( stderr, hPutStrLn )
- -- import Printer ( renderPS )
- 
-+#include "gadts.h"
-+
- showTagsDescription :: String
- showTagsDescription = "Show all tags in the repository."
- 
-@@ -58,7 +60,8 @@
- tagsCmd opts _ = withRepository opts $- \repository -> do
-   patches <- readRepo repository
-   sequence_ $ mapRL process $ newset2RL patches
--  where process hp =
-+  where process :: PatchInfoAnd p C(x y) -> IO ()
-+        process hp =
-             case piTag $ info hp of
-               Just t -> do
-                  t' <- normalize t t False
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Diff.hs new-darcs-2.5-ghc7-2/src/Darcs/Diff.hs
---- old-darcs-2.5-ghc7-2/src/Darcs/Diff.hs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Diff.hs	2010-11-27 11:17:37.410384903 +0100
-@@ -96,9 +96,12 @@
-               | BL.null a = freeGap (diff_from_empty p b)
-               | BL.null b = freeGap (diff_to_empty p a)
-               | otherwise = freeGap (line_diff p (linesB a) (linesB b))
-+          line_diff :: FilePath -> [BS.ByteString] -> [BS.ByteString] -> FL Prim C(a b)
-           line_diff p a b = canonize (hunk p 1 a b)
-+          diff_to_empty :: FilePath -> BL.ByteString -> FL Prim C(a b)
-           diff_to_empty p x | BLC.last x == '\n' = line_diff p (init $ linesB x) []
-                             | otherwise = line_diff p (linesB x) [BS.empty]
-+          diff_from_empty :: FilePath -> BL.ByteString -> FL Prim C(a b)
-           diff_from_empty p x = invert (diff_to_empty p x)
-           no_bin = not . isFunky . strict . BL.take 4096
-           linesB = map strict . BLC.split '\n'
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Patch/Apply.lhs new-darcs-2.5-ghc7-2/src/Darcs/Patch/Apply.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Patch/Apply.lhs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Patch/Apply.lhs	2010-11-27 11:17:37.417052015 +0100
-@@ -173,7 +173,8 @@
-                                  -> mSetFileExecutable f True
-                 _ -> return ()
-               applyFL opts ps'
--    where f_hunk (FP f' (Hunk _ _ _)) | f == f' = True
-+    where f_hunk :: Prim C(a b) -> Bool
-+          f_hunk (FP f' (Hunk _ _ _)) | f == f' = True
-           f_hunk _ = False
-           hunkmod :: WriteableDirectory m => FL FilePatchType C(x y)
-                   -> B.ByteString -> m B.ByteString
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Patch/Choices.hs new-darcs-2.5-ghc7-2/src/Darcs/Patch/Choices.hs
---- old-darcs-2.5-ghc7-2/src/Darcs/Patch/Choices.hs	2010-11-27 11:17:37.390383567 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Patch/Choices.hs	2010-11-27 11:17:37.417052015 +0100
-@@ -248,6 +248,7 @@
-         Just (tp' :> bubble') -> psLast firsts (tp' :<: middles) bubble' ls
-         Nothing -> psLast firsts middles (tp :<: bubble) ls
-     psLast _ _ _ NilFL = impossible
-+    settleM,settleB :: RL (TaggedPatch p) C(u v) -> FL (PatchChoice p) C(u v)
-     settleM middles = mapFL_FL (\tp -> PC tp False) $ reverseRL middles
-     settleB bubble = mapFL_FL (\tp -> PC tp True) $ reverseRL bubble
- 
-@@ -291,7 +292,8 @@
- selectAllMiddles :: forall p C(x y). Patchy p => Bool
-                    -> PatchChoices p C(x y) -> PatchChoices p C(x y)
- selectAllMiddles True (PCs f l) = PCs f (mapFL_FL g l)
--    where g (PC tp _) = PC tp True
-+    where g :: PatchChoice p C(a b) -> PatchChoice p C(a b)
-+          g (PC tp _) = PC tp True
- selectAllMiddles False (PCs f l) = samf f NilRL NilRL l
-   where
-     samf :: FORALL(m1 m2 m3)
-@@ -330,7 +332,8 @@
- fmlFirst pred b f1 (a :>: f2) l = fmlFirst pred b (a :<: f1) f2 l
- fmlFirst pred b f1 NilFL l = PCs { firsts = reverseRL f1
-                                  , lasts = mapFL_FL ch l}
--  where ch (PC tp c) = (PC tp (if pred tp then b else c) )
-+  where ch :: PatchChoice p C(x y) -> PatchChoice p C(x y)
-+        ch (PC tp c) = (PC tp (if pred tp then b else c) )
- 
- forceLasts :: Patchy p => [Tag]
-                     -> PatchChoices p C(a b) -> PatchChoices p C(a b)
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Patch/Depends.hs new-darcs-2.5-ghc7-2/src/Darcs/Patch/Depends.hs
---- old-darcs-2.5-ghc7-2/src/Darcs/Patch/Depends.hs	2010-11-27 11:17:37.387050011 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Patch/Depends.hs	2010-11-27 11:17:37.417052015 +0100
-@@ -291,7 +291,8 @@
- areUnrelatedRepos :: RepoPatch p => PatchSet p C(start x) -> PatchSet p C(start y) -> Bool
- areUnrelatedRepos us them =
-     with_partial_intersection us them checkit
--    where checkit (Tagged _ _ _ :<: _) _ _ = False
-+    where checkit :: RL (Tagged p) C(start t) -> RL (PatchInfoAnd p) C(a b) -> RL (PatchInfoAnd p) C(x y) -> Bool
-+          checkit (Tagged _ _ _ :<: _) _ _ = False
-           checkit _ u t | t `isShorterThanRL` 5 = False
-                         | u `isShorterThanRL` 5 = False
-                         | otherwise = null $ intersect (mapRL info u) (mapRL info t)
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Patch/Properties.lhs new-darcs-2.5-ghc7-2/src/Darcs/Patch/Properties.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Patch/Properties.lhs	2010-11-27 11:17:37.387050011 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Patch/Properties.lhs	2010-11-27 11:17:37.420385571 +0100
-@@ -234,10 +234,11 @@
-                         redText "z3" $$ showPatch z3 $$
-                         redText "z3_" $$ showPatch z3_
- 
--partialPermutivity :: Patchy p => (FORALL(x y) (p :> p) C(x y) -> Maybe ((p :> p) C(x y)))
-+partialPermutivity :: forall p C(a b) . Patchy p => (FORALL(x y) (p :> p) C(x y) -> Maybe ((p :> p) C(x y)))
-                     -> (p :> p :> p) C(a b) -> Maybe Doc
- partialPermutivity c (xx:>yy:>zz) = pp (xx:>yy:>zz) `mplus` pp (invert zz:>invert yy:>invert xx)
--    where pp (x:>y:>z) = do z1 :> y1 <- c (y :> z)
-+    where pp :: (p :> p:> p) C(x y) -> Maybe Doc
-+          pp (x:>y:>z) = do z1 :> y1 <- c (y :> z)
-                             _ :> x1 <- c (x :> z1)
-                             case c (x :> y) of
-                               Just _ -> Nothing -- this is covered by full permutivity test above
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Patch/Set.hs new-darcs-2.5-ghc7-2/src/Darcs/Patch/Set.hs
---- old-darcs-2.5-ghc7-2/src/Darcs/Patch/Set.hs	2010-11-27 11:17:37.387050011 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Patch/Set.hs	2010-11-27 11:17:37.420385571 +0100
-@@ -52,7 +52,8 @@
- 
- progressPatchSet :: String -> PatchSet p C(start x7) -> PatchSet p C(start x7)
- progressPatchSet k (PatchSet ps0 ts0) = PatchSet (mapRL_RL prog ps0) $ mapRL_RL pts ts0
--    where prog = progress k
-+    where prog :: a -> a
-+          prog = progress k
-           pts :: Tagged p C(x8 y) -> Tagged p C(x8 y)
-           pts (Tagged t h ps) = Tagged (prog t) h (mapRL_RL prog ps)
- 
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Patch/Split.hs new-darcs-2.5-ghc7-2/src/Darcs/Patch/Split.hs
---- old-darcs-2.5-ghc7-2/src/Darcs/Patch/Split.hs	2010-11-27 11:17:37.387050011 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Patch/Split.hs	2010-11-27 11:17:37.420385571 +0100
-@@ -133,6 +133,7 @@
-                                  , "   - To split removed text, copy back the part you want to retain"
-                                  , ""
-                                  ]
-+          hunk :: [B.ByteString] -> [B.ByteString] -> FL Prim C(a b)
-           hunk b a = canonize (FP fn (Hunk n b a))
-           mkSep s = BC.append sep (BC.pack s)
-           breakSep xs = case break (sep `BC.isPrefixOf`) xs of
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Population.hs new-darcs-2.5-ghc7-2/src/Darcs/Population.hs
---- old-darcs-2.5-ghc7-2/src/Darcs/Population.hs	2010-11-27 11:17:37.387050011 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Population.hs	2010-11-27 11:17:37.413718459 +0100
-@@ -87,7 +87,8 @@
- getRepoPopVersion repobasedir pinfo = withRepositoryDirectory [] repobasedir $- \repository ->
-    do pips <- newset2RL `liftM` readRepo repository
-       return $ (unseal applyPatchSetPop) (mkPatchSet $ dropWhileRL ((/=pinfo).info) pips) initPop
--             where mkPatchSet (Sealed xs) = seal $ PatchSet xs NilRL
-+             where mkPatchSet :: Sealed (RL (PatchInfoAnd p) C(a)) -> Sealed (PatchSet p C(a))
-+                   mkPatchSet (Sealed xs) = seal $ PatchSet xs NilRL
-                    dropWhileRL :: (FORALL(x y) a C(x y) -> Bool) -> RL a C(r v) -> Sealed (RL a C(r))
-                    dropWhileRL _ NilRL = seal NilRL
-                    dropWhileRL p xs@(x:<:xs')
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Repository/DarcsRepo.lhs new-darcs-2.5-ghc7-2/src/Darcs/Repository/DarcsRepo.lhs
---- old-darcs-2.5-ghc7-2/src/Darcs/Repository/DarcsRepo.lhs	2010-11-27 11:17:37.387050011 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Repository/DarcsRepo.lhs	2010-11-27 11:17:37.420385571 +0100
-@@ -272,11 +272,12 @@
-                         (\e -> do hPutStrLn stderr ("Invalid repository:  " ++ realdir)
-                                   ioError e)
- 
--readRepoPrivate :: RepoPatch p => String -> FilePath -> FilePath -> IO (SealedPatchSet p C(Origin))
-+readRepoPrivate :: forall p . RepoPatch p => String -> FilePath -> FilePath -> IO (SealedPatchSet p C(Origin))
- readRepoPrivate k d iname = do
-     i <- gzFetchFilePS (d </> "_darcs" </> iname) Uncachable
-     finishedOneIO k iname
--    let parse inf = parse2 inf $ d </> "_darcs/patches" </> makeFilename inf
-+    let parse :: PatchInfo -> IO (Sealed (PatchInfoAnd p C(x)))
-+        parse inf = parse2 inf $ d </> "_darcs/patches" </> makeFilename inf
-         (mt, is) = case BC.break ((==) '\n') i of
-                    (swt,pistr) | swt == BC.pack "Starting with tag:" ->
-                                      case readPatchIds pistr of
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/SelectChanges.hs new-darcs-2.5-ghc7-2/src/Darcs/SelectChanges.hs
---- old-darcs-2.5-ghc7-2/src/Darcs/SelectChanges.hs	2010-11-27 11:17:37.397050679 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/SelectChanges.hs	2010-11-27 11:17:37.413718459 +0100
-@@ -160,10 +160,11 @@
- 
- -- | 'iswanted' selects patches according to the @--match@ flag in
- -- opts'
--iswanted :: Patchy p => MatchCriterion (PatchInfoAnd p)
-+iswanted :: forall p . Patchy p => MatchCriterion (PatchInfoAnd p)
- iswanted whch opts' =
-     unseal2 (iw whch opts')
-         where
-+          iw :: WhichChanges -> [DarcsFlag] -> PatchInfoAnd p C(x y) -> Bool
-           iw First o = matchAPatch o . hopefully
-           iw Last o = matchAPatch o . hopefully
-           iw LastReversed o = matchAPatch o . hopefully . invert
-@@ -313,7 +314,7 @@
-       o <- asks opts
-       if not $ isInteractive o
-        then return $ promote autoChoices
--       else flip refineChoices autoChoices $ textSelect whch
-+       else refineChoices (textSelect whch) autoChoices
-     where forward = not $ backward whch
-           promote = if forward
-                     then makeEverythingSooner
-@@ -328,7 +329,8 @@
-     do
-       o <- asks opts
-       c <- (asks matchCriterion)
--      let iswanted_ = c whichch o . seal2 . tpPatch
-+      let iswanted_ :: TaggedPatch p C(a b) -> Bool
-+          iswanted_ = c whichch o . seal2 . tpPatch
-           select = if forward
-                    then forceMatchingFirst iswanted_
-                    else forceMatchingLast iswanted_
-@@ -797,7 +799,7 @@
-                     | otherwise    = Just $ length ps_done + length ps_todo
- 
- -- | Skips patches we should not ask the user about
--skipMundane :: Patchy p => WhichChanges ->
-+skipMundane :: forall p C(x y) . Patchy p => WhichChanges ->
-               InteractiveSelectionM p C(x y) ()
- skipMundane whichch = do
-   (FZipper tps_done tps_todo) <- gets tps
-@@ -820,13 +822,14 @@
-           justDone $ lengthFL boring + numSkipped
-           modify $ \isc -> isc {tps = (FZipper (reverseFL boring +<+ reverseFL skipped +<+ tps_done) interesting)}
-     where
-+      show_skipped :: [DarcsFlag] -> String -> Int -> FL (TaggedPatch p) C(a b) -> IO ()
-       show_skipped o jn n ps = do putStrLn $ _nevermind_ jn ++ _these_ n ++ "."
-                                   when (Verbose `elem` o) $
-                                        showskippedpatch ps
-       _nevermind_ jn = "Will not ask whether to " ++ jn ++ " "
-       _these_ n  = show n ++ " already decided " ++ _elem_ n ""
-       _elem_ n = englishNum n (Noun "patch")
--      showskippedpatch :: Patchy p => FL (TaggedPatch p) C(y t) -> IO ()
-+      showskippedpatch :: Patchy p => FL (TaggedPatch p) C(a b) -> IO ()
-       showskippedpatch =
-                     sequence_ . mapFL (printSummary . tpPatch)
- 
-@@ -855,7 +858,8 @@
-                    -> IO (Bool, Sealed (FL (PatchInfoAnd p) C(x)))   -- ^(True iff any patches were removed, possibly filtered patches)
- filterOutConflicts o us repository them
-   | SkipConflicts `elem` o
--     = do let commuter = commuterIdRL selfCommuter
-+     = do let commuter :: Patchy q => (q :> RL q) C(x y) -> Maybe ((RL q :> q) C(x y))
-+              commuter = commuterIdRL selfCommuter
-           unrec <- fmap n2pia . (anonymous . fromPrims) =<< unrecordedChanges [] repository []
-           them' :> rest <- return $ partitionConflictingFL commuter them (unrec :<: us)
-           return (check rest, Sealed them')
-diff -rN -u old-darcs-2.5-ghc7-2/src/Darcs/Test/Patch/QuickCheck.hs new-darcs-2.5-ghc7-2/src/Darcs/Test/Patch/QuickCheck.hs
---- old-darcs-2.5-ghc7-2/src/Darcs/Test/Patch/QuickCheck.hs	2010-11-27 11:17:37.397050679 +0100
-+++ new-darcs-2.5-ghc7-2/src/Darcs/Test/Patch/QuickCheck.hs	2010-11-27 11:17:37.420385571 +0100
-@@ -1,5 +1,5 @@
- {-# OPTIONS_GHC -fno-warn-deprecations -fno-warn-orphans -fglasgow-exts #-}
--{-# LANGUAGE CPP, UndecidableInstances, ScopedTypeVariables #-}
-+{-# LANGUAGE CPP, UndecidableInstances, ScopedTypeVariables, ViewPatterns #-}
- 
- #include "gadts.h"
- module Darcs.Test.Patch.QuickCheck ( WithStartState, RepoModel, Tree,
-@@ -308,18 +308,17 @@
- propFail n xs = sizeTree xs < n
- 
- instance ArbitraryState s p => ArbitraryState s (WithState s p) where
--  arbitraryState rm = do xandrm' <- arbitraryState rm
--                         flip unseal xandrm' $ \(WithEndState x rm') ->
--                           return $ seal $ WithEndState (WithState rm x rm') rm'
-+  arbitraryState rm = do Sealed (WithEndState x rm') <- arbitraryState rm
-+                         return $ seal $ WithEndState (WithState rm x rm') rm'
- 
- instance ArbitraryState s p => ArbitraryState s (FL p) where
-   arbitraryState rm1 = sized $ \n -> do k <- choose (0, n)
-                                         arbitraryList k rm1
-       where arbitraryList :: FORALL(x) Int -> s C(x) -> Gen (Sealed (WithEndState (FL p C(x)) s))
-             arbitraryList 0 rm = return $ seal $ WithEndState NilFL rm
--            arbitraryList (n+1) rm = do Sealed (WithEndState x rm') <- arbitraryState rm
--                                        Sealed (WithEndState xs rm'') <- arbitraryList n rm'
--                                        return $ seal $ WithEndState (x :>: xs) rm''
-+            arbitraryList n rm = do Sealed (WithEndState x rm') <- arbitraryState rm
-+                                    Sealed (WithEndState xs rm'') <- arbitraryList (n-1) rm'
-+                                    return $ seal $ WithEndState (x :>: xs) rm''
-             arbitraryList _ _ = impossible
- 
- data Tree p C(x) where
-@@ -355,9 +354,8 @@
- flattenTree :: (Commute p) => Tree p C(z) -> Sealed (G2 [] (FL p) C(z))
- flattenTree NilTree = seal $ G2 $ return NilFL
- flattenTree (SeqTree p t) = mapSeal (G2 . map (p :>:) . unG2) $ flattenTree t
--flattenTree (ParTree t1 t2) = flip unseal (flattenTree t1) $ \gpss1 ->
--                              flip unseal (flattenTree t2) $ \gpss2 ->
--                              seal $ G2 $
-+flattenTree (ParTree (flattenTree -> Sealed gpss1) (flattenTree -> Sealed gpss2))
-+                            = seal $ G2 $
-                               do ps1 <- unG2 gpss1
-                                  ps2 <- unG2 gpss2
-                                  ps2' :/\: ps1' <- return $ merge (ps1 :\/: ps2)
-@@ -387,6 +385,7 @@
-               -> [Sealed (WithStartState RepoModel (Tree Prim))]
- shrinkWSSTree = unseal doShrinkWSSTree
-  where
-+ doShrinkWSSTree :: WithStartState RepoModel (Tree Prim) C(x) -> [Sealed (WithStartState RepoModel (Tree Prim))]
-  doShrinkWSSTree wss@(WithStartState rm t)
-   = shrinkWSSTree' wss -- shrink the tree
-      `mplus`
-@@ -441,7 +440,7 @@
-     | otherwise = (Hunk n (take pos' old ++ drop (pos'+1) old) new, Nothing)
-         where pos' = pos - n
-   shrinkPos _ _ = bug "foo1 in ShrinkablePos"
--  shrinkPatch (Hunk (n+1) [] []) = [(Hunk n [] [], Nothing)]
-+  shrinkPatch (Hunk n [] []) | n > 0 = [(Hunk (n-1) [] [], Nothing)]
-   shrinkPatch (Hunk n old new)
-    = do i <- [0 .. length new - 1]
-         return (Hunk n old (take i new ++ drop (i+1) new), Just (n + i))
-@@ -508,10 +507,8 @@
- 
- flattenOne :: (FromPrim p, Commute p) => Tree Prim C(x) -> Sealed (FL p C(x))
- flattenOne NilTree = seal NilFL
--flattenOne (SeqTree p t) = flip unseal (flattenOne t) $ \ps -> seal (fromPrim p :>: ps)
--flattenOne (ParTree t1 t2) =
--    flip unseal (flattenOne t1) $ \ps1 ->
--    flip unseal (flattenOne t2) $ \ps2 ->
-+flattenOne (SeqTree p (flattenOne -> Sealed ps)) = seal (fromPrim p :>: ps)
-+flattenOne (ParTree (flattenOne -> Sealed ps1) (flattenOne -> Sealed ps2)) =
-     --traceDoc (greenText "flattening two parallel series: ps1" $$ showPatch ps1 $$
-     --          greenText "ps2" $$ showPatch ps2) $
-     case merge (ps1 :\/: ps2) of
-diff -rN -u old-darcs-2.5-ghc7-2/src/DateMatcher.hs new-darcs-2.5-ghc7-2/src/DateMatcher.hs
---- old-darcs-2.5-ghc7-2/src/DateMatcher.hs	2010-11-27 11:17:37.380382899 +0100
-+++ new-darcs-2.5-ghc7-2/src/DateMatcher.hs	2010-11-27 11:17:37.407051347 +0100
-@@ -33,7 +33,7 @@
-                  MCalendarTime(..), toMCalendarTime, unsafeToCalendarTime,
-                  unsetTime,
-                )
--import Text.ParserCombinators.Parsec ( eof, parse, ParseError )
-+import Text.ParserCombinators.Parsec ( eof, parse, ParseError, CharParser )
- 
- -- | 'withinDay' @x y@ is true if @x <= y < (x + one_day)@
- -- Note that this converts the two dates to @ClockTime@ to avoid
-@@ -153,7 +153,9 @@
-                 (parseDate tzNow d)
-                 samePartialDate ]
-  where
-+   tillEof :: CharParser () d -> CharParser () d
-    tillEof p = do { x <- p; eof; return x }
-+   parseDateWith :: CharParser () d -> Either ParseError d
-    parseDateWith p = parse (tillEof p) "" d
- 
- -- | 'tryMatchers' @ms@ returns the first successful match in @ms@




More information about the arch-commits mailing list