Date: Saturday, December 28, 2019 @ 19:39:25 Author: felixonmars Revision: 543627
archrelease: copy trunk to community-staging-x86_64 Added: git-repair/repos/community-staging-x86_64/ git-repair/repos/community-staging-x86_64/PKGBUILD (from rev 543626, git-repair/trunk/PKGBUILD) git-repair/repos/community-staging-x86_64/ghc-8.4.patch (from rev 543626, git-repair/trunk/ghc-8.4.patch) ---------------+ PKGBUILD | 41 +++++++++++++++++++++++++++++++++++++++++ ghc-8.4.patch | 29 +++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) Copied: git-repair/repos/community-staging-x86_64/PKGBUILD (from rev 543626, git-repair/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2019-12-28 19:39:25 UTC (rev 543627) @@ -0,0 +1,41 @@ +# Maintainer: Felix Yan <felixonm...@archlinux.org> + +pkgname=git-repair +pkgver=1.20170626 +pkgrel=88 +pkgdesc="Repairs a damaged git repository" +url="https://git-repair.branchable.com/" +license=("GPL") +arch=('x86_64') +depends=('git' 'ghc-libs' 'haskell-async' 'haskell-data-default' 'haskell-exceptions' + 'haskell-hslogger' 'haskell-ifelse' 'haskell-network' 'haskell-network-uri' + 'haskell-optparse-applicative' 'haskell-quickcheck' 'haskell-split' + 'haskell-unix-compat' 'haskell-utf8-string') +makedepends=('ghc') +source=("$pkgname::git://git-repair.branchable.com/#tag=$pkgver" + ghc-8.4.patch) +sha512sums=('SKIP' + '7aefb60b5857252bb5b9212865ecc6da0727ec24422fa75fd7442108483e63560bb71d5782c580735ac640d9ec1131cda68882d097ebbd5e2681a9fab4ccebd2') + +prepare() { + cd git-repair + patch -p1 -i ../ghc-8.4.patch +} + +build() { + cd git-repair + + runhaskell Setup configure -O --prefix=/usr --enable-executable-dynamic --disable-library-vanilla \ + --docdir="/usr/share/doc/$pkgname" \ + -fnetwork-uri --ghc-option='-pie' + runhaskell Setup build +} + +package() { + cd git-repair + runhaskell Setup copy --destdir="$pkgdir" + install -Dm644 git-repair.1 "$pkgdir"/usr/share/man/man1/git-repair.1 + + rm "$pkgdir"/usr/share/doc/git-repair/GPL + rmdir "$pkgdir"/usr/share/doc/git-repair "$pkgdir"/usr/share/doc +} Copied: git-repair/repos/community-staging-x86_64/ghc-8.4.patch (from rev 543626, git-repair/trunk/ghc-8.4.patch) =================================================================== --- community-staging-x86_64/ghc-8.4.patch (rev 0) +++ community-staging-x86_64/ghc-8.4.patch 2019-12-28 19:39:25 UTC (rev 543627) @@ -0,0 +1,29 @@ +diff --git a/Git/Fsck.hs b/Git/Fsck.hs +index a716b56..e7061cb 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