summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-08-29 09:47:58 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2020-08-29 09:50:57 +0100
commit0a012c7f06bd5ed4cb33d7fcfd43acd34de9abf8 (patch)
treeb9ee82ef39ffbe5c10b92990b3f7dc8395997e06
parentprofiles/targets/desktop: Enable gui flag. (diff)
downloadgentoo-0a012c7f.tar.gz
gentoo-0a012c7f.tar.bz2
gentoo-0a012c7f.zip
dev-haskell/git: new package, a depend of hit-0.7.0
Package-Manager: Portage-3.0.4, Repoman-3.0.1 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rw-r--r--dev-haskell/git/Manifest1
-rw-r--r--dev-haskell/git/files/git-0.3.0-monadfail.patch103
-rw-r--r--dev-haskell/git/git-0.3.0.ebuild41
-rw-r--r--dev-haskell/git/metadata.xml19
4 files changed, 164 insertions, 0 deletions
diff --git a/dev-haskell/git/Manifest b/dev-haskell/git/Manifest
new file mode 100644
index 000000000000..2a824293977c
--- /dev/null
+++ b/dev-haskell/git/Manifest
@@ -0,0 +1 @@
+DIST git-0.3.0.tar.gz 45846 BLAKE2B 93eb07d136085a0512f51b67e2e3b906fc7bee2c63e1bb621570a6123da0e08e87c829c88f7f17ddaf2a9f3cb3b8d5ddc485f83a14c814da86f2863fe17087f5 SHA512 f50061a6b3bccb063f7af74cbdcad33561b45c353ce35b8071ad03b0dd0b6e0d215381d6145dfeeff8bb66fbcef0379a9d749a8a1c1f8e45857b0c6bc4574f29
diff --git a/dev-haskell/git/files/git-0.3.0-monadfail.patch b/dev-haskell/git/files/git-0.3.0-monadfail.patch
new file mode 100644
index 000000000000..ffca3a1534e1
--- /dev/null
+++ b/dev-haskell/git/files/git-0.3.0-monadfail.patch
@@ -0,0 +1,103 @@
+From ad1e877d8e32bc3f573d92cadf697f0bb67a7da2 Mon Sep 17 00:00:00 2001
+From: Jack Todaro <solpeth@posteo.org>
+Date: Fri, 10 Jul 2020 07:01:08 +1000
+Subject: [PATCH] Data.Git.Monad.hs: port to MonadFail proposal
+
+Signed-off-by: Jack Todaro <solpeth@posteo.org>
+---
+ Data/Git/Monad.hs | 30 ++++++++++++++++++++++--------
+ 1 file changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/Data/Git/Monad.hs b/Data/Git/Monad.hs
+index 480af9f..44a7018 100644
+--- a/Data/Git/Monad.hs
++++ b/Data/Git/Monad.hs
+@@ -17,7 +17,7 @@
+ --
+ -- You can also easily create a new commit: see 'CommitM' and 'withNewCommit'
+ --
+-
++{-# LANGUAGE CPP #-}
+ {-# LANGUAGE FlexibleInstances #-}
+ {-# LANGUAGE OverloadedStrings #-}
+ {-# LANGUAGE Rank2Types #-}
+@@ -74,7 +74,9 @@ module Data.Git.Monad
+ , Git.Person(..)
+ ) where
+
+-
++#if !MIN_VERSION_base(4,11,0)
++import qualified Control.Monad.Fail as Fail
++#endif
+ import Data.ByteString (ByteString)
+ import qualified Data.ByteString as B
+ import qualified Data.ByteString.Lazy as BL
+@@ -240,7 +242,11 @@ instance Applicative GitM where
+ instance Monad GitM where
+ return = returnGitM
+ (>>=) = bindGitM
+- fail = failGitM
++#if !MIN_VERSION_base(4,11,0)
++ fail = Fail.fail
++#endif
++instance MonadFail GitM where
++ fail = failGitM
+
+ instance GitMonad GitM where
+ getGit = getGitM
+@@ -313,7 +319,11 @@ instance Applicative CommitAccessM where
+ instance Monad CommitAccessM where
+ return = returnCommitAccessM
+ (>>=) = bindCommitAccessM
+- fail = failCommitAccessM
++#if !MIN_VERSION_base(4,11,0)
++ fail = Fail.fail
++#endif
++instance MonadFail CommitAccessM where
++ fail = failCommitAccessM
+
+ instance GitMonad CommitAccessM where
+ getGit = getCommitAccessM
+@@ -423,7 +433,7 @@ getDir fp = do
+ -- > l <- getDir []
+ -- > liftGit $ print l
+ --
+-withCommit :: (Resolvable ref, GitMonad git)
++withCommit :: (Resolvable ref, GitMonad git, MonadFail git)
+ => ref
+ -- ^ the commit revision or reference to open
+ -> CommitAccessM a
+@@ -474,7 +484,11 @@ instance Applicative CommitM where
+ instance Monad CommitM where
+ return = returnCommitM
+ (>>=) = bindCommitM
+- fail = failCommitM
++#if !MIN_VERSION_base(4,11,0)
++ fail = Fail.fail
++#endif
++instance MonadFail CommitM where
++ fail = failCommitM
+
+ instance GitMonad CommitM where
+ getGit = getCommitM
+@@ -599,7 +613,7 @@ deleteFile path = do
+ -- > setFile ["README.md"] $ readmeContent <> "just add some more description\n"
+ -- > branchWrite "master" r
+ --
+-withNewCommit :: (GitMonad git, Resolvable rev)
++withNewCommit :: (GitMonad git, MonadFail git, Resolvable rev)
+ => Git.Person
+ -- ^ by default a commit must have an Author and a Committer.
+ --
+@@ -670,7 +684,7 @@ withNewCommit p mPrec m = do
+ -- )
+ -- @
+ --
+-withBranch :: GitMonad git
++withBranch :: (GitMonad git, MonadFail git)
+ => Git.Person
+ -- ^ the default Author and Committer (see 'withNewCommit')
+ -> Git.RefName
+--
+2.27.0
+
diff --git a/dev-haskell/git/git-0.3.0.ebuild b/dev-haskell/git/git-0.3.0.ebuild
new file mode 100644
index 000000000000..521fbe6b0456
--- /dev/null
+++ b/dev-haskell/git/git-0.3.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# ebuild generated by hackport 0.6.2
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="Git operations in haskell"
+HOMEPAGE="https://github.com/vincenthz/hs-git"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-haskell/basement:=[profile?]
+ >=dev-haskell/cryptonite-0.22:=[profile?]
+ >=dev-haskell/hourglass-0.2:=[profile?]
+ >=dev-haskell/memory-0.13:=[profile?]
+ dev-haskell/random:=[profile?]
+ dev-haskell/system-fileio:=[profile?]
+ dev-haskell/system-filepath:=[profile?]
+ dev-haskell/unix-compat:=[profile?]
+ dev-haskell/utf8-string:=[profile?]
+ dev-haskell/vector:=[profile?]
+ dev-haskell/zlib:=[profile?]
+ >=dev-haskell/zlib-bindings-0.1:=[profile?] <dev-haskell/zlib-bindings-0.2:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8
+ test? ( >=dev-haskell/bytedump-1.0
+ dev-haskell/tasty
+ dev-haskell/tasty-quickcheck )
+"
+
+PATCHES=( "${FILESDIR}/${P}-monadfail.patch" )
diff --git a/dev-haskell/git/metadata.xml b/dev-haskell/git/metadata.xml
new file mode 100644
index 000000000000..4cbbb473028d
--- /dev/null
+++ b/dev-haskell/git/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>haskell@gentoo.org</email>
+ <name>Gentoo Haskell</name>
+ </maintainer>
+ <longdescription>
+
+ A Haskell implementation of git storage operations, allowing users
+ to manipulate git repositories (read and write).
+
+ This implementation is fully interoperable with the main C implementation.
+
+ This is strictly only manipulating the git store (what&#39;s inside the .git directory),
+ and doesn&#39;t do anything with the index or your working directory files.
+
+ </longdescription>
+</pkgmetadata>