Date: Tuesday, May 22, 2018 @ 11:42:45 Author: felixonmars Revision: 326910
upgpkg: git-annex 6.20180509-17 Added: git-annex/trunk/ghc-8.4.patch Modified: git-annex/trunk/PKGBUILD ---------------+ PKGBUILD | 19 ++++++-- ghc-8.4.patch | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 6 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-05-22 11:40:35 UTC (rev 326909) +++ PKGBUILD 2018-05-22 11:42:45 UTC (rev 326910) @@ -4,7 +4,7 @@ pkgname=git-annex pkgver=6.20180509 -pkgrel=16 +pkgrel=17 pkgdesc="Manage files with git, without checking their contents into git" url="http://git-annex.branchable.com/" license=("AGPL3") @@ -17,22 +17,29 @@ 'haskell-esqueleto' 'haskell-exceptions' 'haskell-fdo-notify' 'haskell-feed' 'haskell-hinotify' 'haskell-hslogger' 'haskell-http-client' 'haskell-http-conduit' 'haskell-http-types' 'haskell-ifelse' 'haskell-magic' 'haskell-memory' - 'haskell-monad-control' 'haskell-monad-logger' 'haskell-mountpoints' 'haskell-mtl' + 'haskell-monad-control' 'haskell-monad-logger' 'haskell-mountpoints' 'haskell-network' 'haskell-network-info' 'haskell-network-multicast' 'haskell-network-uri' 'haskell-old-locale' 'haskell-optparse-applicative' 'haskell-path-pieces' 'haskell-persistent' 'haskell-persistent-sqlite' 'haskell-persistent-template' 'haskell-quickcheck' 'haskell-random' 'haskell-regex-tdfa' 'haskell-resourcet' 'haskell-safesemaphore' 'haskell-sandi' 'haskell-securemem' 'haskell-shakespeare' - 'haskell-socks' 'haskell-split' 'haskell-stm' 'haskell-stm-chans' 'haskell-tagsoup' + 'haskell-socks' 'haskell-split' 'haskell-stm-chans' 'haskell-tagsoup' 'haskell-tasty' 'haskell-tasty-hunit' 'haskell-tasty-quickcheck' 'haskell-tasty-rerun' - 'haskell-text' 'haskell-torrent' 'haskell-unix-compat' 'haskell-unordered-containers' + 'haskell-torrent' 'haskell-unix-compat' 'haskell-unordered-containers' 'haskell-utf8-string' 'haskell-uuid' 'haskell-vector' 'haskell-wai' 'haskell-wai-extra' 'haskell-warp' 'haskell-warp-tls' 'haskell-yesod' 'haskell-yesod-core' 'haskell-yesod-form' 'haskell-yesod-static') makedepends=('chrpath' 'ghc') -source=("git+https://git.joeyh.name/git/git-annex.git#tag=$pkgver") -sha512sums=('SKIP') +source=("git+https://git.joeyh.name/git/git-annex.git#tag=$pkgver" + ghc-8.4.patch) +sha512sums=('SKIP' + 'b73ccbe31b1f792522f3e1a98c43cdd1d6bc92cb42a6ef4d71e1966465e55973b04dd4e23c5aecf6b09565a28c2ff43bcca32b50a4e8a2d1b71fc5f4633783cf') +prepare() { + cd git-annex + patch -p1 -i ../ghc-8.4.patch +} + build() { cd git-annex Added: ghc-8.4.patch =================================================================== --- ghc-8.4.patch (rev 0) +++ ghc-8.4.patch 2018-05-22 11:42:45 UTC (rev 326910) @@ -0,0 +1,121 @@ +diff --git a/Command/Info.hs b/Command/Info.hs +index c9a314056a..3ae82f5532 100644 +--- a/Command/Info.hs ++++ b/Command/Info.hs +@@ -56,15 +56,17 @@ data KeyData = KeyData + , backendsKeys :: M.Map KeyVariety Integer + } + +-instance Monoid KeyData where +- mempty = KeyData 0 0 0 M.empty +- mappend a b = KeyData ++instance Semigroup KeyData where ++ a <> b = KeyData + { countKeys = countKeys a + countKeys b + , sizeKeys = sizeKeys a + sizeKeys b + , unknownSizeKeys = unknownSizeKeys a + unknownSizeKeys b + , backendsKeys = backendsKeys a <> backendsKeys b + } + ++instance Monoid KeyData where ++ mempty = KeyData 0 0 0 M.empty ++ + data NumCopiesStats = NumCopiesStats + { numCopiesVarianceMap :: M.Map Variance Integer + } +diff --git a/Git/Fsck.hs b/Git/Fsck.hs +index a716b56e3a..e7061cb812 100644 +--- a/Git/Fsck.hs ++++ b/Git/Fsck.hs +@@ -44,15 +44,17 @@ type MissingObjects = S.Set Sha + + type Truncated = Bool + ++instance Semigroup FsckOutput where ++ (<>) (FsckOutput s1 t1) (FsckOutput s2 t2) = FsckOutput (S.union s1 s2) (t1 || t2) ++ (<>) (FsckOutput s t) _ = FsckOutput s t ++ (<>) _ (FsckOutput s t) = FsckOutput s t ++ (<>) NoFsckOutput NoFsckOutput = NoFsckOutput ++ (<>) AllDuplicateEntriesWarning AllDuplicateEntriesWarning = AllDuplicateEntriesWarning ++ (<>) AllDuplicateEntriesWarning NoFsckOutput = AllDuplicateEntriesWarning ++ (<>) NoFsckOutput AllDuplicateEntriesWarning = AllDuplicateEntriesWarning ++ + instance Monoid FsckOutput where + mempty = NoFsckOutput +- mappend (FsckOutput s1 t1) (FsckOutput s2 t2) = FsckOutput (S.union s1 s2) (t1 || t2) +- mappend (FsckOutput s t) _ = FsckOutput s t +- mappend _ (FsckOutput s t) = FsckOutput s t +- mappend NoFsckOutput NoFsckOutput = NoFsckOutput +- mappend AllDuplicateEntriesWarning AllDuplicateEntriesWarning = AllDuplicateEntriesWarning +- mappend AllDuplicateEntriesWarning NoFsckOutput = AllDuplicateEntriesWarning +- mappend NoFsckOutput AllDuplicateEntriesWarning = AllDuplicateEntriesWarning + + {- Runs fsck to find some of the broken objects in the repository. + - May not find all broken objects, if fsck fails on bad data in some of +diff --git a/Types/DesktopNotify.hs b/Types/DesktopNotify.hs +index e6df05ab1c..83aeef7c54 100644 +--- a/Types/DesktopNotify.hs ++++ b/Types/DesktopNotify.hs +@@ -16,10 +16,12 @@ data DesktopNotify = DesktopNotify + } + deriving (Show) + ++instance Semigroup DesktopNotify where ++ (<>) (DesktopNotify s1 f1) (DesktopNotify s2 f2) = ++ DesktopNotify (s1 || s2) (f1 || f2) ++ + instance Monoid DesktopNotify where + mempty = DesktopNotify False False +- mappend (DesktopNotify s1 f1) (DesktopNotify s2 f2) = +- DesktopNotify (s1 || s2) (f1 || f2) + + mkNotifyStart :: DesktopNotify + mkNotifyStart = DesktopNotify True False +diff --git a/Types/Difference.hs b/Types/Difference.hs +index 4abc75c447..56b3bcab63 100644 +--- a/Types/Difference.hs ++++ b/Types/Difference.hs +@@ -67,14 +67,16 @@ instance Eq Differences where + , oneLevelBranchHash + ] + +-instance Monoid Differences where +- mempty = Differences False False False +- mappend a@(Differences {}) b@(Differences {}) = a ++instance Semigroup Differences where ++ (<>) a@(Differences {}) b@(Differences {}) = a + { objectHashLower = objectHashLower a || objectHashLower b + , oneLevelObjectHash = oneLevelObjectHash a || oneLevelObjectHash b + , oneLevelBranchHash = oneLevelBranchHash a || oneLevelBranchHash b + } +- mappend _ _ = UnknownDifferences ++ (<>) _ _ = UnknownDifferences ++ ++instance Monoid Differences where ++ mempty = Differences False False False + + readDifferences :: String -> Differences + readDifferences = maybe UnknownDifferences mkDifferences . readish +diff --git a/Types/Test.hs b/Types/Test.hs +index 50c460f501..5eeb7e52b4 100644 +--- a/Types/Test.hs ++++ b/Types/Test.hs +@@ -19,13 +19,15 @@ data TestOptions = TestOptions + , internalData :: CmdParams + } + +-instance Monoid TestOptions where +- mempty = TestOptions mempty False False mempty +- mappend a b = TestOptions ++instance Semigroup TestOptions where ++ (<>) a b = TestOptions + (tastyOptionSet a <> tastyOptionSet b) + (keepFailuresOption a || keepFailuresOption b) + (fakeSsh a || fakeSsh b) + (internalData a <> internalData b) + ++instance Monoid TestOptions where ++ mempty = TestOptions mempty False False mempty ++ + + type TestRunner = TestOptions -> IO ()
