diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2014-02-21 19:25:35 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2014-02-21 19:25:35 +0000 |
commit | c5f5d66205a4bd0726355b4686f913a2720f2fe2 (patch) | |
tree | 8e43872a8dbd9340e96fee915206fe717ac23349 /dev-vcs | |
parent | HPPA stable (because they have the provider stable, and this is a virtual) (diff) | |
download | historical-c5f5d66205a4bd0726355b4686f913a2720f2fe2.tar.gz historical-c5f5d66205a4bd0726355b4686f913a2720f2fe2.tar.bz2 historical-c5f5d66205a4bd0726355b4686f913a2720f2fe2.zip |
Add basic ghc-7.8 support.
Package-Manager: portage-2.2.8_p51/cvs/Linux x86_64
Manifest-Sign-Key: 0x611FF3AA
Diffstat (limited to 'dev-vcs')
-rw-r--r-- | dev-vcs/darcs/ChangeLog | 8 | ||||
-rw-r--r-- | dev-vcs/darcs/Manifest | 20 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.8.4-r3.ebuild | 128 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch | 128 |
4 files changed, 269 insertions, 15 deletions
diff --git a/dev-vcs/darcs/ChangeLog b/dev-vcs/darcs/ChangeLog index 6147673c0bee..bd5d6687ad88 100644 --- a/dev-vcs/darcs/ChangeLog +++ b/dev-vcs/darcs/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-vcs/darcs # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.52 2014/01/18 19:49:39 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.53 2014/02/21 19:25:26 slyfox Exp $ + +*darcs-2.8.4-r3 (21 Feb 2014) + + 21 Feb 2014; Sergei Trofimovich <slyfox@gentoo.org> +darcs-2.8.4-r3.ebuild, + +files/darcs-2.8.4-ghc-7.8-part-1.patch: + Add basic ghc-7.8 support. 18 Jan 2014; Agostino Sarubbo <ago@gentoo.org> darcs-2.8.4.ebuild: Stable for alpha, wrt bug #485656 diff --git a/dev-vcs/darcs/Manifest b/dev-vcs/darcs/Manifest index 28cfb33360eb..80ada9d8a0a3 100644 --- a/dev-vcs/darcs/Manifest +++ b/dev-vcs/darcs/Manifest @@ -2,26 +2,18 @@ Hash: SHA256 AUX darcs-2.8.0-mtl-2.1.patch 1289 SHA256 50798b5d69b4600c3c9d15acdf4476b8a3764afb4d746e28eb79c9381bc3ae7b SHA512 bf3694cf774083a64c25038dd38be80e23125d4e41e34fda1b56b629e3c54152a5f781e252ab8187cd8c67480892a75624c77fc81e6a0e1927b8efacc3840cb9 WHIRLPOOL c5cc78e8feaa144dda546678e753d5102a92735af59c5455fe79db77207cece791093729f460c319d0d167d7b0506dedfeeb89c04d987cae17e646372e43dbcb +AUX darcs-2.8.4-ghc-7.8-part-1.patch 5679 SHA256 454ca11d487379d3d7b19acae2c599bace01356c3f7c7a5cdace1018e82e6eda SHA512 9c6674e835227cae04074f82777a08e7b1cedc6b42deff7c271c53e2622b14217926a52ccba7651e3b7e0cfd40e0243e10529141ceae9044895d021af8ee1599 WHIRLPOOL f6063033e215dabd93e79a6b7417586ae75be89172c86c7c07ccabadc9b9593de6c83896c754314c281a5c2715ce56be4c2173b9f51582d01ad0273233ece1b0 DIST darcs-2.8.0.tar.gz 1297733 SHA256 1415c2a1a99db8cf76d5f31f6a3490a2a9d3e13f2abfcc67fc108885cf52ce83 SHA512 a944afad043a4ec21a88f090c7678dfc6790c1fd3ee07e8a10a63e0ee23de05460c585a0b542bf47c2fe1a007125da86c1a45db198b425f866b198eb6b4dcf64 WHIRLPOOL 10eba204757ec859b764cab4f4e2260d67d948f97d2b01c7b4bfc2952f218b9dc0575760e27ce02ba0844e1193a987036a69e6696a7e725ac66a44779bc718d7 DIST darcs-2.8.4.tar.gz 1301464 SHA256 3fab4dbb2d5dd9f381d49f4730c12e1534b5c484b0dde9712614a7151f659f98 SHA512 c60531bacea43bdd5a18ae461dd390fe64682cac56fa4e6b5153a5da3c003b59d8fb24827bd42b4b30f0d2c61877d36b58eb98317644f9f8a200ab7c5961c48e WHIRLPOOL 128e8e58e219d427928eb8725d9566c1b6b3bb478b3cda69b30ded8798fa104eb8dec0fda8a32701f5d074babf9f11f1b3036388cd15a82118853a566c832430 EBUILD darcs-2.8.0.ebuild 4054 SHA256 9227dbddf1d0167b768ea4ef82ffdf4a81e3e1da7b81ff6af04429f6e92eb654 SHA512 88a7b2bd3e9aec2c2ccf81778cb002fe0135d3302ca26446d86f67b1215959e20e3786cd052643a8c81624451afd8a8a537458ebc10e9d89a63f1f973c4a0477 WHIRLPOOL 9f909b7b5fa4ca4b7f01c24b1b75f22616748d20499a1915a0213d5d542d0f869d2427bc928e598a943293014a9d1e90aed29e86dda5cde0d6ef39a033ebf9f9 +EBUILD darcs-2.8.4-r3.ebuild 4518 SHA256 02f691062bdd148c0bc42bd9b805de612f05cc53354a73e063542814e2926498 SHA512 6adbf8b0217e1d7e2b0455896b194e256cbc019962037f592491d77bf338167277093ccc66ef359f9e7edc84c2629159406c0a91af93bdbc4f4a58bcfe24bb89 WHIRLPOOL 270679efd2794d8322c85f56dcc8c40021bd2eaba5d6fea89e792bc1be6786733f78c1069025cad6b034c57f4055261674e70b05fc95d348b46dbd6ece72e739 EBUILD darcs-2.8.4.ebuild 4007 SHA256 da954f2190488bf79281f4fb886e4905449b4558f60fb011702eb4c13a2f6166 SHA512 c4a5ffc93b719eb33cf43f869a4b2db67b3bc96a6296188900c15020fe536670f1eee4ff33605fb6a193ac0a0d533a6d47dd6bb79edf266065f50405634c31ba WHIRLPOOL ed40c3cc1e73a2bcc87d59a645e99f107387d104e553ccc515ab7c11aa5dc06473395ac6753ea20c0fc5bd2c667ed777b39a6939a20f6c730f6cb7223dda544b -MISC ChangeLog 26314 SHA256 15a1a2173abef47c34a02ace8de1e267c8956eb6e51f7e4decf4015dc25c7b13 SHA512 8e84d2fb98b5ab243de13ac31077925b617b1f1c237a09c26668f321ed6d72d85207f6abf17fbca6e93006014062ae53952ccc5fc710a477236f6bb4fd362f6c WHIRLPOOL d7c23bfaf6b18c0afcce193efe233b1212e7d9c0454db1e574abc0e9772e9acb68a2d0bf63745072b14481db77035a0a7404f1c3947b87849e3081ca5588e830 +MISC ChangeLog 26499 SHA256 5bd921bc3515076c0f294fdd453e9c6f751a66abe1c713fdbd32f54d133ee65d SHA512 c832e2e861f6668f9ef9cdb8ed57e544c137f252c832afe3c20a43e85ff813799182e2464dbafb3c6b0553fa507f13f2324422b07acbd8507f591f638e211472 WHIRLPOOL f974fab98694741151e506b2709f4ab96d95769562697b43981ac9aebd4fd82a449fa2a3187202790206cecd8be3fe7612c9cb12bf6f78c1589c8b3488998302 MISC metadata.xml 223 SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508 SHA512 24765bbf1cb187cd262aa7fb3824c1cec65e2bf3f2198099de688916d96401a26458265b15408f22b1fbd6d6a2842df814a57ceda80dfa00d130b24423b7544f WHIRLPOOL 8fd6700f6198db6540eb51edf11372faeb6eb8a542a692e515badf236f62444f2c180f7d08e0f98e9fdfa23de14631b31af50543469aaa27084d6b637e2644c7 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iQIcBAEBCAAGBQJS2trUAAoJELp701BxlEWfMAoQAJy9aUsFpYynJRX2Gi63LR6i -VQyo9JtiTBzBi3SvdtcdOeAIGfkXKBnZ9EFDLJIaE82zOBdJj/IRlNyRkihMCrkm -5ZpL1ncb1W09jmH5LPrpS2/P+IVgSlfyk9c/UBH726l+BvDgrsQGhswW/g+OEw/n -IS5SB9VptOAA7VzR5jceBiwqb8gHDk2xVCBJ7sLZcNJSwsKAYGLWJa292X5XUvFp -v+vJ/X7CpWTopeUTBzVYJ1lai7RDLp6MmFuM5UbkldRm5FHCBwifXLsrZ8AC7OHt -i5IihbfKUFr/xZ53VA+2gMQYvxb5Yz9SAwX8d2x4X2J9byDKjB225m0MqptNiMH8 -CP01fBNa1vuzIBO5Aw+hsPJiYgTtdZWH2u/rQxEpz6lrwpWQP/qBgvhSrSeVmrP1 -V1ZAdCla1RzcCodrt90c5S9QHWLuLmjJGIv7xf11SAG7TRav7Qh+yWbjGJsbz2K+ -OHHQ6vUgNh0TPLnJeiw3bnGfCYzxwWmrZdCBfvyhDSl9MY5MlKV5ojKQBuQ4vlcp -nRYzi96CA4g0LKJ8DmBybWCLuNPZKVJU22X98OTNTfJtzJxZRtBIW5V/cg8kAl6x -3hRC7MHJOyqn5YPpo/yOjHdxcuL6wZso+HXEZ+f+ot7jvylXQZsZ3JvvT1zJHUYA -gCiKLLyAkBdH1XUxT7JS -=C1QP +iEYEAREIAAYFAlMHqBsACgkQcaHudmEf86rPbwCdF2dQdpThXQQgakE64YtElb2+ +v5wAn3GDt7m9gv2KlxckLpJqlTsZCXZf +=4vAs -----END PGP SIGNATURE----- diff --git a/dev-vcs/darcs/darcs-2.8.4-r3.ebuild b/dev-vcs/darcs/darcs-2.8.4-r3.ebuild new file mode 100644 index 000000000000..c888099f89a7 --- /dev/null +++ b/dev-vcs/darcs/darcs-2.8.4-r3.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/darcs-2.8.4-r3.ebuild,v 1.1 2014/02/21 19:25:26 slyfox Exp $ + +EAPI=5 + +# ebuild generated by hackport 0.3.9999 + +CABAL_FEATURES="bin lib profile haddock hoogle hscolour" +inherit eutils haskell-cabal bash-completion-r1 + +DESCRIPTION="a distributed, interactive, smart revision control system" +HOMEPAGE="http://darcs.net/" +SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +IUSE="doc test" + +RDEPEND="=dev-haskell/extensible-exceptions-0.1*:=[profile?] + >=dev-haskell/hashed-storage-0.5.6:=[profile?] + <dev-haskell/hashed-storage-0.6:=[profile?] + >=dev-haskell/haskeline-0.6.3:=[profile?] + <dev-haskell/haskeline-0.8:=[profile?] + =dev-haskell/html-1.0*:=[profile?] + =dev-haskell/mmap-0.5*:=[profile?] + >=dev-haskell/mtl-1.0:=[profile?] + <dev-haskell/mtl-2.2:=[profile?] + >=dev-haskell/parsec-2.0:=[profile?] + <dev-haskell/parsec-3.2:=[profile?] + =dev-haskell/random-1.0*:=[profile?] + >=dev-haskell/regex-compat-0.95.1:=[profile?] + >=dev-haskell/tar-0.3:=[profile?] + <dev-haskell/tar-0.5:=[profile?] + >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] + >=dev-haskell/text-0.11.0.6:=[profile?] + >=dev-haskell/vector-0.7:=[profile?] + >=dev-haskell/zlib-0.5.1.0:=[profile?] + <dev-haskell/zlib-0.6.0.0:=[profile?] + >=dev-lang/ghc-6.10.4:= + net-misc/curl" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.8 + doc? ( virtual/latex-base + || ( dev-tex/latex2html[png] + dev-tex/latex2html[gif] + ) + ) + test? ( >=dev-haskell/cmdlib-0.2.1[profile?] + <dev-haskell/cmdlib-0.4[profile?] + =dev-haskell/findbin-0.0*[profile?] + >=dev-haskell/quickcheck-2.3 + >=dev-haskell/shellish-0.1.3[profile?] + <dev-haskell/shellish-0.2[profile?] + >=dev-haskell/test-framework-0.4.0[profile?] + >=dev-haskell/test-framework-hunit-0.2.2[profile?] + >=dev-haskell/test-framework-quickcheck2-0.2.8[profile?] + ) + " + +src_prepare() { + rm "${S}/tests/add_permissions.sh" || die "Could not rm add_permissions.sh" + rm "${S}/tests/send-output-v1.sh" || die "Could not rm send-output-v1.sh" + rm "${S}/tests/send-output-v2.sh" || die "Could not rm send-output-v2.sh" + rm "${S}/tests/utf8.sh" || die "Could not rm utf8.sh" + + epatch "${FILESDIR}"/${P}-ghc-7.8-part-1.patch + + cabal_chdeps \ + 'text >= 0.11.0.6 && < 0.12.0.0' 'text >= 0.11.0.6' \ + 'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \ + 'array >= 0.1 && < 0.5' 'array >= 0.1 && <0.6' \ + 'process >= 1.0.0.0 && < 1.2.0.0' 'process >= 1.0.0.0 && < 1.3' \ + 'unix >= 1.0 && < 2.7' 'unix >=1.0 && <2.8' \ + 'base >= 4.5 && < 4.7' 'base >= 4.5 && < 4.8' \ + 'ghc >= 6.10 && < 7.8' 'ghc >= 6.10 && < 7.9' +} + +src_configure() { + # checking whether ghc supports -threaded flag + # Beware: http://www.haskell.org/ghc/docs/latest/html/users_guide/options-phases.html#options-linker + # contains: 'The ability to make a foreign call that does not block all other Haskell threads.' + # It might have interactivity impact. + + threaded_flag="" + if $(ghc-getghc) --info | grep "Support SMP" | grep -q "YES"; then + threaded_flag="--flags=threaded" + einfo "$P will be built with threads support" + else + threaded_flag="--flags=-threaded" + einfo "$P will be built without threads support" + fi + + # Use curl for net stuff to avoid strict version dep on HTTP and network + cabal_src_configure \ + --flags=curl \ + --flags=-http \ + --flags=color \ + --flags=terminfo \ + --flags=mmap \ + --flags=force-char8-encoding \ + $threaded_flag \ + $(cabal_flag test) +} + +src_test() { + # run cabal test from haskell-cabal + haskell-cabal_src_test || die "cabal test failed" +} + +src_install() { + cabal_src_install + newbashcomp "${S}/contrib/darcs_completion" "${PN}" + + # fixup perms in such an an awkward way + mv "${ED}/usr/share/man/man1/darcs.1" "${S}/darcs.1" || die "darcs.1 not found" + doman "${S}/darcs.1" || die "failed to register darcs.1 as a manpage" +} + +pkg_postinst() { + ghc-package_pkg_postinst + + ewarn "NOTE: in order for the darcs send command to work properly," + ewarn "you must properly configure your mail transport agent to relay" + ewarn "outgoing mail. For example, if you are using ssmtp, please edit" + ewarn "${EPREFIX}/etc/ssmtp/ssmtp.conf with appropriate values for your site." +} diff --git a/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch new file mode 100644 index 000000000000..3680c29b0440 --- /dev/null +++ b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch @@ -0,0 +1,128 @@ +diff --git a/src/Crypt/SHA256.hs b/src/Crypt/SHA256.hs +index 69a8a4c..606f2ad 100644 +--- a/src/Crypt/SHA256.hs ++++ b/src/Crypt/SHA256.hs +@@ -20,9 +20,10 @@ import Numeric (showHex) + import Foreign.C.String ( withCString ) + import Data.ByteString.Unsafe (unsafeUseAsCStringLen) + import qualified Data.ByteString as B ++import qualified System.IO.Unsafe as U + + sha256sum :: B.ByteString -> String +-sha256sum p = unsafePerformIO $ ++sha256sum p = U.unsafePerformIO $ + withCString (take 64 $ repeat 'x') $ \digestCString -> + unsafeUseAsCStringLen p $ \(ptr,n) -> + do let digest = castPtr digestCString :: Ptr Word8 +diff --git a/src/Darcs/Commands/Get.hs b/src/Darcs/Commands/Get.hs +index e450d28..6b51915 100644 +--- a/src/Darcs/Commands/Get.hs ++++ b/src/Darcs/Commands/Get.hs +@@ -157,7 +157,8 @@ copyRepoAndGoToChosenVersion opts repodir rfsource = do + copyRepo + withRepository opts ((RepoJob $ \repository -> goToChosenVersion repository opts) :: RepoJob ()) + putInfo opts $ text "Finished getting." +- where copyRepo = ++ where copyRepo :: IO () ++ copyRepo = + withRepository opts $ RepoJob $ \repository -> + if formatHas HashedInventory rfsource + then do +diff --git a/src/Darcs/Global.hs b/src/Darcs/Global.hs +index 9792bf0..e17f071 100644 +--- a/src/Darcs/Global.hs ++++ b/src/Darcs/Global.hs +@@ -60,8 +60,9 @@ module Darcs.Global + import Control.Applicative ( (<$>), (<*>) ) + import Control.Monad ( when ) + import Control.Concurrent.MVar +-import Control.Exception.Extensible ( bracket_, catch, catchJust, SomeException +- , block, unblock ++import Control.Exception.Extensible as E ++ ( bracket_, catch, catchJust, SomeException ++ , mask + ) + import Data.IORef ( IORef, newIORef, readIORef, writeIORef ) + import Data.IORef ( modifyIORef ) +@@ -106,12 +107,12 @@ withAtexit prog = + exit + prog + where +- exit = block $ do ++ exit = E.mask $ \restore -> do + Just actions <- swapMVar atexitActions Nothing + -- from now on atexit will not register new actions +- mapM_ runAction actions +- runAction action = +- catch (unblock action) $ \(exn :: SomeException) -> do ++ mapM_ (runAction restore) actions ++ runAction restore action = ++ catch (restore action) $ \(exn :: SomeException) -> do + hPutStrLn stderr $ "Exception thrown by an atexit registered action:" + hPutStrLn stderr $ show exn + +diff --git a/src/Darcs/SignalHandler.hs b/src/Darcs/SignalHandler.hs +index ac0f526..d0ef162 100644 +--- a/src/Darcs/SignalHandler.hs ++++ b/src/Darcs/SignalHandler.hs +@@ -26,8 +26,8 @@ import Prelude hiding ( catch ) + import System.IO.Error ( isUserError, ioeGetErrorString, ioeGetFileName ) + import System.Exit ( exitWith, ExitCode ( ExitFailure ) ) + import Control.Concurrent ( ThreadId, myThreadId ) +-import Control.Exception.Extensible +- ( catch, throw, throwTo, block, unblock, ++import Control.Exception.Extensible as E ++ ( catch, throw, throwTo, mask, + Exception(..), SomeException(..), IOException ) + import System.Posix.Files ( getFdStatus, isNamedPipe ) + import System.Posix.IO ( stdOutput ) +@@ -128,8 +128,8 @@ catchUserErrors comp handler = catch comp handler' + | otherwise = throw ioe + + withSignalsBlocked :: IO a -> IO a +-withSignalsBlocked job = block (job >>= \r -> +- unblock(return r) `catchSignal` couldnt_do r) ++withSignalsBlocked job = E.mask $ \restore -> (job >>= \r -> ++ restore (return r) `catchSignal` couldnt_do r) + where couldnt_do r s | s == sigINT = oops "interrupt" r + | s == sigHUP = oops "HUP" r + | s == sigABRT = oops "ABRT" r +diff --git a/src/Darcs/Test/Patch/Info.hs b/src/Darcs/Test/Patch/Info.hs +index fd27fb3..b35cfef 100644 +--- a/src/Darcs/Test/Patch/Info.hs ++++ b/src/Darcs/Test/Patch/Info.hs +@@ -28,7 +28,6 @@ import Data.Maybe ( isNothing ) + import Data.Text as T ( find, any ) + import Data.Text.Encoding ( decodeUtf8With ) + import Data.Text.Encoding.Error ( lenientDecode ) +-import Foreign ( unsafePerformIO ) + import Test.QuickCheck ( Arbitrary(arbitrary), oneof, listOf, choose, shrink + , Gen ) + import Test.Framework.Providers.QuickCheck2 ( testProperty ) +@@ -39,6 +38,8 @@ import Darcs.Patch.Info ( PatchInfo(..), patchinfo, + piLog, piAuthor, piName ) + import ByteStringUtils ( decodeLocale, packStringToUTF8, unpackPSFromUTF8 ) + ++import qualified System.IO.Unsafe as U ++ + testSuite :: Test + testSuite = testGroup "Darcs.Patch.Info" + [ metadataDecodingTest +@@ -86,7 +87,7 @@ instance Arbitrary UTF8PatchInfo where + sa <- shrink (piAuthor pi) + sl <- shrink (filter (not . isPrefixOf "Ignore-this:") (piLog pi)) + return (UTF8PatchInfo +- (unsafePerformIO $ patchinfo sn ++ (U.unsafePerformIO $ patchinfo sn + (BC.unpack (_piDate pi)) sa sl)) + + instance Arbitrary UTF8OrNotPatchInfo where +@@ -101,7 +102,7 @@ arbitraryUTF8Patch = + d <- arbitrary + a <- asString `fmap` arbitrary + l <- (lines . asString) `fmap` arbitrary +- return $ unsafePerformIO $ patchinfo n d a l ++ return $ U.unsafePerformIO $ patchinfo n d a l + + -- | Generate arbitrary patch metadata that has totally arbitrary byte strings + -- as its name, date, author and log. |