diff options
author | Jack Todaro <solpeth@posteo.org> | 2020-08-10 06:31:44 +1000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-08-11 20:17:14 +0100 |
commit | 3d5a4f4a4bc6f572a428557df19122a636efc974 (patch) | |
tree | 0358eb65caab22a56755a8952a5a053d19427171 /dev-vcs | |
parent | dev-vcs/darcs: bump up to 2.14.5 (diff) | |
download | gentoo-3d5a4f4a4bc6f572a428557df19122a636efc974.tar.gz gentoo-3d5a4f4a4bc6f572a428557df19122a636efc974.tar.bz2 gentoo-3d5a4f4a4bc6f572a428557df19122a636efc974.zip |
dev-vcs/darcs: remove redundant patches
Package-Manager: Portage-3.0.2, Repoman-2.3.23
Signed-off-by: Jack Todaro <solpeth@posteo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-vcs')
5 files changed, 0 insertions, 284 deletions
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch b/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch deleted file mode 100644 index c3fce6fbc9e8..000000000000 --- a/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch +++ /dev/null @@ -1,20 +0,0 @@ -There is a bug in speculateFileOrUrl. -It puts downloaded file nonatomically. - -There is a window when copyFileOrUrl can (and does) -copy partially downloaded file. - -Darcs-bug: http://bugs.darcs.net/issue2364 -diff --git a/src/Darcs/External.hs b/src/Darcs/External.hs -index 2e0e791..d5a0b9f 100644 ---- a/src/Darcs/External.hs -+++ b/src/Darcs/External.hs -@@ -184,7 +184,7 @@ copyFileOrUrl rd fou out _ | isSshUrl fou = copySSH rd (splitSshUrl fou) - copyFileOrUrl _ fou _ _ = fail $ "unknown transport protocol: " ++ fou - - speculateFileOrUrl :: String -> FilePath -> IO () --speculateFileOrUrl fou out | isHttpUrl fou = speculateRemote fou out -+speculateFileOrUrl fou out | isHttpUrl fou = speculateRemote fou out >> waitUrl fou - | otherwise = return () - - copyLocal :: String -> FilePath -> IO () 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 deleted file mode 100644 index 3680c29b0440..000000000000 --- a/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch +++ /dev/null @@ -1,128 +0,0 @@ -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. diff --git a/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch deleted file mode 100644 index 33786477b3fa..000000000000 --- a/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/Darcs/Test/Patch.hs b/src/Darcs/Test/Patch.hs -index 0f7ed24..078fbc3 100644 ---- a/src/Darcs/Test/Patch.hs -+++ b/src/Darcs/Test/Patch.hs -@@ -2,6 +2,9 @@ - #if __GLASGOW_HASKELL__ >= 700 - {-# LANGUAGE ImpredicativeTypes #-} - #endif -+#if __GLASGOW_HASKELL__ >= 708 -+{-# LANGUAGE AllowAmbiguousTypes #-} -+#endif - -- Copyright (C) 2002-2005,2007 David Roundy - -- - -- This program is free software; you can redistribute it and/or modify diff --git a/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch b/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch deleted file mode 100644 index 6164a4a00074..000000000000 --- a/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch +++ /dev/null @@ -1,52 +0,0 @@ -Tue May 13 22:07:19 FET 2014 Sergei Trofimovich <slyfox@community.haskell.org> - * resolve issue2364: don't break list of 'bad sources' - - This time the bug manifested on a simple operation: - $ darcs record -a -m "something" - - Attempt to write a patch resulted in something like: - Failed to record patch 'hello' - - HINT: I could not reach the following repositories: - http://repetae.net/repos/jhc - /home/st/.darcs/cache - /home/st/.cache/darcs - /home/st/dev/darcs/jhc - If you're not using them, you should probably delete - - The sequence should be the following: - 1. store patch to inventory/foo - 2. try to store to a writable cache (say, ~/.darcs/cache/patches) - 3. fail to write - 4. filter out bad caches - 5. try again - 6. copy from cache to patches/ - - Due to missing NOINLINE step 4. led to - all caches treated as writable, thus step 5 - failed without a chance for patch to - go to 'patches/'. - - As a side-effect building darcs with -O0 produced seemingly working darcs. - Reported-by: Ivan Miljenovic -diff -rN -u old-darcs.net/src/Darcs/Util/Global.hs new-darcs.net/src/Darcs/Util/Global.hs ---- old-darcs.net/src/Darcs/Global.hs 2014-05-13 22:23:29.897329750 +0300 -+++ new-darcs.net/src/Darcs/Global.hs 2014-05-13 22:23:29.979329754 +0300 -@@ -135,7 +135,7 @@ - - _badSourcesList :: IORef [String] - _badSourcesList = unsafePerformIO $ newIORef [] --{- NOINLINE _badSourcesList -} -+{-# NOINLINE _badSourcesList #-} - - - addBadSource :: String -> IO () -@@ -154,7 +154,7 @@ - - _reachableSourcesList :: IORef [String] - _reachableSourcesList = unsafePerformIO $ newIORef [] --{- NOINLINE _reachableSourcesList -} -+{-# NOINLINE _reachableSourcesList #-} - - - addReachableSource :: String -> IO () diff --git a/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch b/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch deleted file mode 100644 index 97c4e0f1ad2b..000000000000 --- a/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch +++ /dev/null @@ -1,70 +0,0 @@ -* resolve issue2364: fix file corruption on double fetch - -The bug is the result of attempt to fetch the same file -(say F) by the same URL (U) multiple times concurrently. - -First time U gets fetched by speculative prefetch logic. -Second time as an ordinary file (while first fetch is not finished). - -The function 'copyUrlWithPriority' sends download request -to 'urlChan' both times (it's already not a nice situation, -fixed by this patch). - -Later urlThread satisfies first request, notifies receiver, -and starts downloading exactly the same U again. - -I don't know exact data corruption mechanics yet, but it has -to do with non-random intermediate file names of downloaded -files and 'truncate' call when temp file is opened for a new -downlaod job. - -All temp names are completely non-random for a single darcs run: - - urlThread :: Chan UrlRequest -> IO () - urlThread ch = do - junk <- flip showHex "" `fmap` randomRIO rrange - evalStateT urlThread' (UrlState Map.empty emptyQ 0 junk) - - createDownloadFileName :: FilePath -> UrlState -> FilePath - createDownloadFileName f st = f ++ "-new_" ++ randomJunk st - -My theory is next download manages to step on toes of previous job. - -I'll try to make file names truly random in other patch. -That way such errors should manifest as read erros instead of data -corruption. - -Thanks! -diff --git a/src/URL.hs b/src/URL.hs -index 4cb85ee..26de278 100644 ---- a/src/URL.hs -+++ b/src/URL.hs -@@ -18,11 +18,12 @@ module URL ( copyUrl, copyUrlFirst, setDebugHTTP, - import Data.IORef ( newIORef, readIORef, writeIORef, IORef ) - import Data.Map ( Map ) - import qualified Data.Map as Map -+import Data.Tuple ( swap ) - import System.Directory ( copyFile ) - import System.IO.Unsafe ( unsafePerformIO ) - import Control.Concurrent ( forkIO ) - import Control.Concurrent.Chan ( isEmptyChan, newChan, readChan, writeChan, Chan ) --import Control.Concurrent.MVar ( isEmptyMVar, modifyMVar_, newEmptyMVar, newMVar, putMVar, readMVar, withMVar, MVar ) -+import Control.Concurrent.MVar ( isEmptyMVar, modifyMVar, modifyMVar_, newEmptyMVar, newMVar, putMVar, readMVar, withMVar, MVar ) - import Control.Monad ( unless, when ) - import Control.Monad.Trans ( liftIO ) - import Control.Monad.State ( evalStateT, get, modify, put, StateT ) -@@ -196,10 +197,10 @@ copyUrlWithPriority p u f c = do - debugMessage ("URL.copyUrlWithPriority ("++u++"\n"++ - " -> "++f++")") - v <- newEmptyMVar -- let fn _ old_val = old_val -- modifyMVar_ urlNotifications (return . (Map.insertWith fn u v)) -- let r = UrlRequest u f c p -- writeChan urlChan r -+ old_mv <- modifyMVar urlNotifications (return . swap . Map.insertLookupWithKey (\_k _n old -> old) u v) -+ case old_mv of -+ Nothing -> writeChan urlChan $ UrlRequest u f c p -- ok, new URL -+ Just _ -> debugMessage $ "URL.copyUrlWithPriority already in progress, skip (" ++ u ++ "\n" ++ "-> " ++ f ++ ")" - - waitNextUrl :: StateT UrlState IO () - waitNextUrl = do |