Date: Sunday, September 30, 2018 @ 19:17:34 Author: felixonmars Revision: 388678
archrelease: copy trunk to community-staging-x86_64 Added: git-annex/repos/community-staging-x86_64/ git-annex/repos/community-staging-x86_64/PKGBUILD (from rev 388677, git-annex/trunk/PKGBUILD) git-annex/repos/community-staging-x86_64/ghc-8.4.patch (from rev 388677, git-annex/trunk/ghc-8.4.patch) ---------------+ PKGBUILD | 53 ++++++++++++++++++++++++ ghc-8.4.patch | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 174 insertions(+) Copied: git-annex/repos/community-staging-x86_64/PKGBUILD (from rev 388677, git-annex/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2018-09-30 19:17:34 UTC (rev 388678) @@ -0,0 +1,53 @@ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Arch Haskell Team <arch-hask...@haskell.org> + +pkgname=git-annex +pkgver=6.20180926 +pkgrel=3 +pkgdesc="Manage files with git, without checking their contents into git" +url="http://git-annex.branchable.com/" +license=("AGPL3") +arch=('x86_64') +depends=('git' 'lsof' 'rsync' 'ghc-libs' 'haskell-aeson' 'haskell-async' 'haskell-aws' + 'haskell-blaze-builder' 'haskell-bloomfilter' 'haskell-byteable' 'haskell-case-insensitive' + 'haskell-clientsession' 'haskell-concurrent-output' 'haskell-connection' 'haskell-conduit' + 'haskell-crypto-api' 'haskell-cryptonite' 'haskell-data-default' 'haskell-dav' + 'haskell-dbus' 'haskell-disk-free-space' 'haskell-dlist' + 'haskell-edit-distance' 'haskell-esqueleto' 'haskell-exceptions' 'haskell-fdo-notify' + 'haskell-feed' 'haskell-hinotify' 'haskell-hslogger' 'haskell-http-client' + 'haskell-http-client-tls' 'haskell-http-conduit' 'haskell-http-types' 'haskell-ifelse' + 'haskell-magic' 'haskell-memory' '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-chans' 'haskell-tagsoup' + 'haskell-tasty' 'haskell-tasty-hunit' 'haskell-tasty-quickcheck' 'haskell-tasty-rerun' + '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') + +build() { + cd git-annex + + runhaskell Setup configure -O --prefix=/usr --enable-executable-dynamic --disable-library-vanilla \ + --docdir="/usr/share/doc/$pkgname" \ + -fconcurrentoutput -ftorrentparser \ + -f-androidsplice -f-android -fproduction -fpairing -fwebapp \ + -fassistant -fwebdav -fs3 -f-benchmark -fdbus -fmagicmime + runhaskell Setup build +} + +package() { + cd git-annex + runhaskell Setup copy --destdir="$pkgdir" + make GHC="ghc -dynamic" BUILDER=true DESTDIR="$pkgdir" -j1 install-misc + + rm "$pkgdir"/usr/share/doc/git-annex/COPYRIGHT + rmdir "$pkgdir"/usr/share/doc/git-annex "$pkgdir"/usr/share/doc +} Copied: git-annex/repos/community-staging-x86_64/ghc-8.4.patch (from rev 388677, git-annex/trunk/ghc-8.4.patch) =================================================================== --- community-staging-x86_64/ghc-8.4.patch (rev 0) +++ community-staging-x86_64/ghc-8.4.patch 2018-09-30 19:17:34 UTC (rev 388678) @@ -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 ()