mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-25 20:34:52 +03:00
haskell-packages: made darcs compile with ghc 8.8
This commit is contained in:
parent
7c1c9dcc72
commit
8ab67c7a19
@ -45,6 +45,12 @@ self: super: {
|
||||
# Needs older QuickCheck version
|
||||
attoparsec-varword = dontCheck super.attoparsec-varword;
|
||||
|
||||
# http://bugs.darcs.net/issue2642
|
||||
darcs = doJailbreak (appendPatches super.darcs [
|
||||
./patches/darcs-setup.patch
|
||||
./patches/darcs-2.14.2-Compile-against-GHC-8.8.patch
|
||||
]);
|
||||
|
||||
# Tests are failing
|
||||
# https://github.com/bos/statistics/issues/123
|
||||
statistics = dontCheck super.statistics;
|
||||
@ -1505,9 +1511,6 @@ self: super: {
|
||||
polysemy = self.polysemy_1_3_0_0;
|
||||
};
|
||||
|
||||
# Fixed at head, but hasn't cut a release in awhile.
|
||||
darcs = doJailbreak super.darcs;
|
||||
|
||||
# Test suite requires running a database server. Testing is done upstream.
|
||||
hasql-pool = dontCheck super.hasql-pool;
|
||||
|
||||
|
@ -0,0 +1,333 @@
|
||||
From 2490fa65eeba52699a7c0e303aa5cb9b78c2b1cf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
|
||||
Date: Fri, 17 Apr 2020 20:49:23 +0200
|
||||
Subject: [PATCH] Compile against GHC 8.8
|
||||
|
||||
---
|
||||
Setup.hs | 15 ---------------
|
||||
src/Darcs/Patch/Depends.hs | 2 +-
|
||||
src/Darcs/Patch/Match.hs | 12 ++++++------
|
||||
src/Darcs/Patch/PatchInfoAnd.hs | 2 +-
|
||||
src/Darcs/Patch/Prim/V1/Apply.hs | 6 +++---
|
||||
src/Darcs/Patch/Prim/V1/Commute.hs | 1 +
|
||||
src/Darcs/Patch/ReadMonads.hs | 1 +
|
||||
src/Darcs/Patch/V1/Commute.hs | 1 +
|
||||
src/Darcs/Repository/Diff.hs | 2 +-
|
||||
src/Darcs/Repository/Match.hs | 2 +-
|
||||
src/Darcs/Util/Tree/Monad.hs | 4 ++--
|
||||
12 files changed, 30 insertions(+), 42 deletions(-)
|
||||
|
||||
diff --git a/Setup.hs b/Setup.hs
|
||||
index f5cc3e8..05caac4 100644
|
||||
--- a/Setup.hs
|
||||
+++ b/Setup.hs
|
||||
@@ -75,21 +75,6 @@
|
||||
postInst = \ _ flags pkg lbi ->
|
||||
installManpage pkg lbi (fromFlag $ installVerbosity flags) NoCopyDest,
|
||||
|
||||
- sDistHook = \ pkg lbi hooks flags -> do
|
||||
- let pkgVer = packageVersion pkg
|
||||
- verb = fromFlag $ sDistVerbosity flags
|
||||
- x <- versionPatches verb pkgVer
|
||||
- y <- context verb
|
||||
- rewriteFileEx silent "release/distributed-version" $ show x
|
||||
- rewriteFileEx silent "release/distributed-context" $ show y
|
||||
- putStrLn "about to hand over"
|
||||
- let pkg' = pkg { library = sanity (library pkg) }
|
||||
- sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
|
||||
- sanity _ = error "eh"
|
||||
- sanity' bi = bi { otherModules = [ m | m <- otherModules bi, toFilePath m /= "Version" ] }
|
||||
-
|
||||
- sDistHook simpleUserHooks pkg' lbi hooks flags
|
||||
- ,
|
||||
postConf = \_ _ _ _ -> return () --- Usually this checked for external C
|
||||
--- dependencies, but we already have performed such
|
||||
--- check in the confHook
|
||||
--- a/darcs.cabal 1970-01-01 01:00:01.000000000 +0100
|
||||
+++ b/darcs.cabal 2020-04-18 10:26:07.605129733 +0200
|
||||
@@ -1,6 +1,5 @@
|
||||
Name: darcs
|
||||
version: 2.14.2
|
||||
-x-revision: 1
|
||||
License: GPL-2
|
||||
License-file: COPYING
|
||||
Author: David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net>
|
||||
@@ -75,7 +74,7 @@
|
||||
description: Use libcurl for HTTP support.
|
||||
|
||||
-- in future this could extend to any other external libraries,
|
||||
--- e.g. libiconv
|
||||
+-- e.g. libiconv
|
||||
flag pkgconfig
|
||||
description: Use pkgconfig to configure libcurl
|
||||
default: False
|
||||
@@ -113,7 +112,7 @@
|
||||
-- ----------------------------------------------------------------------
|
||||
|
||||
custom-setup
|
||||
- setup-depends: base >= 4.9 && < 4.13,
|
||||
+ setup-depends: base >= 4.9 && <5,
|
||||
Cabal >= 1.24,
|
||||
process >= 1.2.3.0 && < 1.7,
|
||||
filepath >= 1.4.1 && < 1.5.0.0,
|
||||
@@ -381,7 +380,7 @@
|
||||
else
|
||||
build-depends: unix >= 2.7.1.0 && < 2.8
|
||||
|
||||
- build-depends: base >= 4.9 && < 4.13,
|
||||
+ build-depends: base >= 4.9 && <5,
|
||||
stm >= 2.1 && < 2.6,
|
||||
binary >= 0.5 && < 0.10,
|
||||
containers >= 0.5.6.2 && < 0.7,
|
||||
@@ -402,19 +401,19 @@
|
||||
tar >= 0.5 && < 0.6,
|
||||
data-ordlist == 0.4.*,
|
||||
attoparsec >= 0.13.0.1 && < 0.14,
|
||||
- zip-archive >= 0.3 && < 0.5,
|
||||
+ zip-archive >= 0.3 && <1,
|
||||
async >= 2.0.2 && < 2.3,
|
||||
- sandi >= 0.4 && < 0.6,
|
||||
+ sandi >= 0.4 && <1,
|
||||
unix-compat >= 0.4.2 && < 0.6,
|
||||
bytestring >= 0.10.6 && < 0.11,
|
||||
old-time >= 1.1.0.3 && < 1.2,
|
||||
time >= 1.5.0.1 && < 1.10,
|
||||
- text >= 1.2.1.3 && < 1.3,
|
||||
+ text >= 1.2.1.3 && <2,
|
||||
directory >= 1.2.6.2 && < 1.4,
|
||||
process >= 1.2.3.0 && < 1.7,
|
||||
array >= 0.5.1.0 && < 0.6,
|
||||
random >= 1.1 && < 1.2,
|
||||
- hashable >= 1.2.3.3 && < 1.3,
|
||||
+ hashable >= 1.2.3.3 && <2,
|
||||
mmap >= 0.5.9 && < 0.6,
|
||||
zlib >= 0.6.1.2 && < 0.7.0.0,
|
||||
network-uri == 2.6.*,
|
||||
@@ -443,7 +442,7 @@
|
||||
|
||||
-- The terminfo package cannot be built on Windows.
|
||||
if flag(terminfo) && !os(windows)
|
||||
- build-depends: terminfo >= 0.4.0.2 && < 0.5
|
||||
+ build-depends: terminfo >= 0.4.0.2 && <1
|
||||
cpp-options: -DHAVE_TERMINFO
|
||||
|
||||
default-extensions:
|
||||
@@ -500,7 +499,7 @@
|
||||
cc-options: -D_REENTRANT
|
||||
|
||||
build-depends: darcs,
|
||||
- base >= 4.9 && < 4.13
|
||||
+ base >= 4.9 && <5
|
||||
|
||||
-- ----------------------------------------------------------------------
|
||||
-- unit test driver
|
||||
@@ -518,7 +517,7 @@
|
||||
build-depends: Win32 >= 2.3.1 && < 2.4
|
||||
|
||||
build-depends: darcs,
|
||||
- base >= 4.9 && < 4.13,
|
||||
+ base >= 4.9 && <5,
|
||||
array >= 0.5.1.0 && < 0.6,
|
||||
bytestring >= 0.10.6 && < 0.11,
|
||||
cmdargs >= 0.10.10 && < 0.11,
|
||||
@@ -527,15 +526,15 @@
|
||||
mtl >= 2.2.1 && < 2.3,
|
||||
shelly >= 1.6.8 && < 1.9,
|
||||
split >= 0.2.2 && < 0.3,
|
||||
- text >= 1.2.1.3 && < 1.3,
|
||||
+ text >= 1.2.1.3 && <2,
|
||||
directory >= 1.2.6.2 && < 1.4,
|
||||
FindBin >= 0.0.5 && < 0.1,
|
||||
- QuickCheck >= 2.8.2 && < 2.13,
|
||||
+ QuickCheck >= 2.8.2 && <3,
|
||||
HUnit >= 1.3 && < 1.7,
|
||||
test-framework >= 0.8.1.1 && < 0.9,
|
||||
test-framework-hunit >= 0.3.0.2 && < 0.4,
|
||||
test-framework-quickcheck2 >= 0.3.0.3 && < 0.4,
|
||||
- zip-archive >= 0.3 && < 0.5
|
||||
+ zip-archive >= 0.3 && <1
|
||||
|
||||
-- https://github.com/yesodweb/Shelly.hs/issues/177
|
||||
if os(windows)
|
||||
diff --git a/src/Darcs/Patch/Depends.hs b/src/Darcs/Patch/Depends.hs
|
||||
index 8531294..a4c71cb 100644
|
||||
--- a/src/Darcs/Patch/Depends.hs
|
||||
+++ b/src/Darcs/Patch/Depends.hs
|
||||
@@ -251,7 +251,7 @@ splitOnTag _ (PatchSet NilRL NilRL) = Nothing
|
||||
unwrapOneTagged :: (Monad m) => PatchSet rt p wX wY -> m (PatchSet rt p wX wY)
|
||||
unwrapOneTagged (PatchSet (ts :<: Tagged t _ tps) ps) =
|
||||
return $ PatchSet ts (tps :<: t +<+ ps)
|
||||
-unwrapOneTagged _ = fail "called unwrapOneTagged with no Tagged's in the set"
|
||||
+unwrapOneTagged _ = error "called unwrapOneTagged with no Tagged's in the set"
|
||||
|
||||
-- | @getUncovered ps@ returns the 'PatchInfo' for all the patches in
|
||||
-- @ps@ that are not depended on by anything else *through explicit
|
||||
diff --git a/src/Darcs/Patch/Match.hs b/src/Darcs/Patch/Match.hs
|
||||
index aba6c7a..2b6f53a 100644
|
||||
--- a/src/Darcs/Patch/Match.hs
|
||||
+++ b/src/Darcs/Patch/Match.hs
|
||||
@@ -421,7 +421,7 @@ getNonrangeMatchS fs repo =
|
||||
Just m -> if nonrangeMatcherIsTag fs
|
||||
then getTagS m repo
|
||||
else getMatcherS Exclusive m repo
|
||||
- Nothing -> fail "Pattern not specified in getNonrangeMatch."
|
||||
+ Nothing -> error "Pattern not specified in getNonrangeMatch."
|
||||
|
||||
-- | @firstMatch fs@ tells whether @fs@ implies a "first match", that
|
||||
-- is if we match against patches from a point in the past on, rather
|
||||
@@ -441,7 +441,7 @@ getFirstMatchS fs repo =
|
||||
Just (_,b) -> unpullLastN repo b -- b is chronologically earlier than a
|
||||
Nothing ->
|
||||
case firstMatcher fs of
|
||||
- Nothing -> fail "Pattern not specified in getFirstMatchS."
|
||||
+ Nothing -> error "Pattern not specified in getFirstMatchS."
|
||||
Just m -> if firstMatcherIsTag fs
|
||||
then getTagS m repo
|
||||
else getMatcherS Inclusive m repo
|
||||
@@ -462,7 +462,7 @@ checkMatchSyntax :: [MatchFlag] -> IO ()
|
||||
checkMatchSyntax opts =
|
||||
case getMatchPattern opts of
|
||||
Nothing -> return ()
|
||||
- Just p -> either fail (const $ return ()) (parseMatch p::Either String (MatchFun rt DummyPatch))
|
||||
+ Just p -> either error (const $ return ()) (parseMatch p::Either String (MatchFun rt DummyPatch))
|
||||
|
||||
getMatchPattern :: [MatchFlag] -> Maybe String
|
||||
getMatchPattern [] = Nothing
|
||||
@@ -718,7 +718,7 @@ getMatcherS :: (ApplyMonad (ApplyState p) m, Matchable p) =>
|
||||
getMatcherS ioe m repo =
|
||||
if matchExists m repo
|
||||
then applyInvToMatcher ioe m repo
|
||||
- else fail $ "Couldn't match pattern "++ show m
|
||||
+ else error $ "Couldn't match pattern "++ show m
|
||||
|
||||
getTagS :: (ApplyMonad (ApplyState p) m, MonadProgress m, Matchable p) =>
|
||||
Matcher rt p -> PatchSet rt p Origin wX -> m ()
|
||||
diff --git a/src/Darcs/Patch/PatchInfoAnd.hs b/src/Darcs/Patch/PatchInfoAnd.hs
|
||||
index 2da7ec8..1147410 100644
|
||||
--- a/src/Darcs/Patch/PatchInfoAnd.hs
|
||||
+++ b/src/Darcs/Patch/PatchInfoAnd.hs
|
||||
@@ -167,7 +167,7 @@ conscientiously er (PIAP pinf hp) =
|
||||
|
||||
-- | @hopefullyM@ is a version of @hopefully@ which calls @fail@ in a
|
||||
-- monad instead of erroring.
|
||||
-hopefullyM :: Monad m => PatchInfoAnd rt p wA wB -> m (WrappedNamed rt p wA wB)
|
||||
+hopefullyM :: MonadFail m => PatchInfoAnd rt p wA wB -> m (WrappedNamed rt p wA wB)
|
||||
hopefullyM (PIAP pinf hp) = case hopefully2either hp of
|
||||
Right p -> return p
|
||||
Left e -> fail $ renderString
|
||||
diff --git a/src/Darcs/Patch/Prim/V1/Apply.hs b/src/Darcs/Patch/Prim/V1/Apply.hs
|
||||
index bea7e41..7984d21 100644
|
||||
--- a/src/Darcs/Patch/Prim/V1/Apply.hs
|
||||
+++ b/src/Darcs/Patch/Prim/V1/Apply.hs
|
||||
@@ -41,13 +41,13 @@ instance Apply Prim where
|
||||
apply (FP f (TokReplace t o n)) = mModifyFilePS f doreplace
|
||||
where doreplace fc =
|
||||
case tryTokReplace t (BC.pack o) (BC.pack n) fc of
|
||||
- Nothing -> fail $ "replace patch to " ++ fn2fp f
|
||||
+ Nothing -> error $ "replace patch to " ++ fn2fp f
|
||||
++ " couldn't apply."
|
||||
Just fc' -> return fc'
|
||||
apply (FP f (Binary o n)) = mModifyFilePS f doapply
|
||||
where doapply oldf = if o == oldf
|
||||
then return n
|
||||
- else fail $ "binary patch to " ++ fn2fp f
|
||||
+ else error $ "binary patch to " ++ fn2fp f
|
||||
++ " couldn't apply."
|
||||
apply (DP d AddDir) = mCreateDirectory d
|
||||
apply (DP d RmDir) = mRemoveDirectory d
|
||||
@@ -115,7 +115,7 @@ applyHunk f h fc =
|
||||
case applyHunkLines h fc of
|
||||
Right fc' -> return fc'
|
||||
Left msg ->
|
||||
- fail $
|
||||
+ error $
|
||||
"### Error applying:\n" ++ renderHunk h ++
|
||||
"\n### to file " ++ fn2fp f ++ ":\n" ++ BC.unpack fc ++
|
||||
"### Reason: " ++ msg
|
||||
diff --git a/src/Darcs/Patch/Prim/V1/Commute.hs b/src/Darcs/Patch/Prim/V1/Commute.hs
|
||||
index 7639dbd..e1432e6 100644
|
||||
--- a/src/Darcs/Patch/Prim/V1/Commute.hs
|
||||
+++ b/src/Darcs/Patch/Prim/V1/Commute.hs
|
||||
@@ -58,6 +58,7 @@ instance Monad Perhaps where
|
||||
Failed >>= _ = Failed
|
||||
Unknown >>= _ = Unknown
|
||||
return = Succeeded
|
||||
+instance MonadFail Perhaps where
|
||||
fail _ = Unknown
|
||||
|
||||
instance Alternative Perhaps where
|
||||
diff --git a/src/Darcs/Patch/ReadMonads.hs b/src/Darcs/Patch/ReadMonads.hs
|
||||
index 62a4f81..e1cb149 100644
|
||||
--- a/src/Darcs/Patch/ReadMonads.hs
|
||||
+++ b/src/Darcs/Patch/ReadMonads.hs
|
||||
@@ -237,6 +237,7 @@ failSM _ = SM (\_ -> Nothing)
|
||||
instance Monad SM where
|
||||
(>>=) = bindSM
|
||||
return = returnSM
|
||||
+instance MonadFail SM where
|
||||
fail = failSM
|
||||
|
||||
instance ParserM SM where
|
||||
diff --git a/src/Darcs/Patch/V1/Commute.hs b/src/Darcs/Patch/V1/Commute.hs
|
||||
index 0bb41a3..c6c3382 100644
|
||||
--- a/src/Darcs/Patch/V1/Commute.hs
|
||||
+++ b/src/Darcs/Patch/V1/Commute.hs
|
||||
@@ -93,6 +93,7 @@ instance Monad Perhaps where
|
||||
Failed >>= _ = Failed
|
||||
Unknown >>= _ = Unknown
|
||||
return = Succeeded
|
||||
+instance MonadFail Perhaps where
|
||||
fail _ = Unknown
|
||||
|
||||
instance Alternative Perhaps where
|
||||
diff --git a/src/Darcs/Repository/Diff.hs b/src/Darcs/Repository/Diff.hs
|
||||
index 8078d49..e0e2341 100644
|
||||
--- a/src/Darcs/Repository/Diff.hs
|
||||
+++ b/src/Darcs/Repository/Diff.hs
|
||||
@@ -138,7 +138,7 @@ treeDiff da ft t1 t2 = do
|
||||
do rmDirP <- diff p (Removed subtree)
|
||||
addFileP <- diff p (Changed (File emptyBlob) b')
|
||||
return $ joinGap (+>+) rmDirP addFileP
|
||||
- diff p _ = fail $ "Missing case at path " ++ show p
|
||||
+ diff p _ = error $ "Missing case at path " ++ show p
|
||||
|
||||
text_diff p a b
|
||||
| BL.null a && BL.null b = emptyGap NilFL
|
||||
diff --git a/src/Darcs/Repository/Match.hs b/src/Darcs/Repository/Match.hs
|
||||
index 08c9f13..f33cabe 100644
|
||||
--- a/src/Darcs/Repository/Match.hs
|
||||
+++ b/src/Darcs/Repository/Match.hs
|
||||
@@ -60,7 +60,7 @@ getNonrangeMatch :: (ApplyMonad (ApplyState p) DefaultIO, IsRepoType rt, RepoPat
|
||||
getNonrangeMatch r = withRecordedMatch r . getMatch where
|
||||
getMatch fs = case hasIndexRange fs of
|
||||
Just (n, m) | n == m -> applyNInv (n-1)
|
||||
- | otherwise -> fail "Index range is not allowed for this command."
|
||||
+ | otherwise -> error "Index range is not allowed for this command."
|
||||
_ -> getNonrangeMatchS fs
|
||||
|
||||
getOnePatchset :: (IsRepoType rt, RepoPatch p)
|
||||
diff --git a/src/Darcs/Util/Tree/Monad.hs b/src/Darcs/Util/Tree/Monad.hs
|
||||
index 0e01d9b..296fdc4 100644
|
||||
--- a/src/Darcs/Util/Tree/Monad.hs
|
||||
+++ b/src/Darcs/Util/Tree/Monad.hs
|
||||
@@ -216,7 +216,7 @@ instance (Monad m) => TreeRO (TreeMonad m) where
|
||||
t <- gets tree
|
||||
let f = findFile t p'
|
||||
case f of
|
||||
- Nothing -> fail $ "No such file " ++ show p'
|
||||
+ Nothing -> error $ "No such file " ++ show p'
|
||||
Just x -> lift (readBlob x)
|
||||
|
||||
currentDirectory = ask
|
||||
@@ -251,7 +251,7 @@ instance (Monad m) => TreeRW (TreeMonad m) where
|
||||
let item = find tr from'
|
||||
found_to = find tr to'
|
||||
unless (isNothing found_to) $
|
||||
- fail $ "Error renaming: destination " ++ show to ++ " exists."
|
||||
+ error $ "Error renaming: destination " ++ show to ++ " exists."
|
||||
unless (isNothing item) $ do
|
||||
modifyItem from Nothing
|
||||
modifyItem to item
|
||||
--
|
||||
2.23.1
|
||||
|
120
pkgs/development/haskell-modules/patches/darcs-setup.patch
Normal file
120
pkgs/development/haskell-modules/patches/darcs-setup.patch
Normal file
@ -0,0 +1,120 @@
|
||||
--- darcs-2.14.2/Setup.hs 2019-01-27 03:14:51.000000000 +1300
|
||||
+++ darcs.net/Setup.hs 2019-10-18 02:41:57.000000000 +1300
|
||||
@@ -11,7 +11,9 @@
|
||||
, TestSuite(testBuildInfo)
|
||||
, updatePackageDescription
|
||||
, cppOptions, ccOptions
|
||||
- , library, libBuildInfo, otherModules )
|
||||
+ , library, libBuildInfo, otherModules
|
||||
+ , ComponentName(CExeName)
|
||||
+ )
|
||||
import Distribution.Package
|
||||
( packageVersion )
|
||||
import Distribution.Version( Version )
|
||||
@@ -21,24 +23,27 @@
|
||||
import Distribution.Simple.Setup
|
||||
(buildVerbosity, copyDest, copyVerbosity, fromFlag,
|
||||
haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
|
||||
-import Distribution.Simple.BuildPaths ( autogenModulesDir )
|
||||
+import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
|
||||
import Distribution.System
|
||||
( OS(Windows), buildOS )
|
||||
import Distribution.Simple.Utils
|
||||
(copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
|
||||
- rewriteFile )
|
||||
+ rewriteFileEx)
|
||||
+import Distribution.Types.UnqualComponentName
|
||||
import Distribution.Verbosity
|
||||
- ( Verbosity )
|
||||
+ ( Verbosity, silent )
|
||||
import Distribution.Text
|
||||
( display )
|
||||
-import Control.Monad ( unless, void )
|
||||
|
||||
+import Control.Monad ( unless, when, void )
|
||||
import System.Directory
|
||||
( doesDirectoryExist, doesFileExist )
|
||||
import System.IO
|
||||
( openFile, IOMode(..) )
|
||||
import System.Process (runProcess)
|
||||
import Data.List( isInfixOf, lines )
|
||||
+import qualified Data.Map as M
|
||||
+import Data.Maybe ( isJust )
|
||||
import System.FilePath ( (</>) )
|
||||
import Foreign.Marshal.Utils ( with )
|
||||
import Foreign.Storable ( peek )
|
||||
@@ -75,8 +80,8 @@
|
||||
verb = fromFlag $ sDistVerbosity flags
|
||||
x <- versionPatches verb pkgVer
|
||||
y <- context verb
|
||||
- rewriteFile "release/distributed-version" $ show x
|
||||
- rewriteFile "release/distributed-context" $ show y
|
||||
+ rewriteFileEx silent "release/distributed-version" $ show x
|
||||
+ rewriteFileEx silent "release/distributed-context" $ show y
|
||||
putStrLn "about to hand over"
|
||||
let pkg' = pkg { library = sanity (library pkg) }
|
||||
sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
|
||||
@@ -105,8 +110,7 @@
|
||||
littleEndian <- testEndianness
|
||||
let args = ("-DPACKAGE_VERSION=" ++ show' version) :
|
||||
[arg | (arg, True) <- -- include fst iff snd.
|
||||
- [-- We have MAPI iff building on/for Windows.
|
||||
- ("-DHAVE_MAPI", buildOS == Windows),
|
||||
+ [
|
||||
("-DLITTLEENDIAN", littleEndian),
|
||||
("-DBIGENDIAN", not littleEndian)]]
|
||||
bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
|
||||
@@ -133,20 +137,26 @@
|
||||
-- man page
|
||||
-- ---------------------------------------------------------------------
|
||||
|
||||
+hasDarcsExe :: LocalBuildInfo -> Bool
|
||||
+hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
|
||||
+ darcsExe = CExeName (mkUnqualComponentName "darcs")
|
||||
+
|
||||
buildManpage :: LocalBuildInfo -> IO ()
|
||||
-buildManpage lbi = do
|
||||
- let darcs = buildDir lbi </> "darcs/darcs"
|
||||
- manpage = buildDir lbi </> "darcs/darcs.1"
|
||||
- manpageHandle <- openFile manpage WriteMode
|
||||
- void $ runProcess darcs ["help","manpage"]
|
||||
- Nothing Nothing Nothing (Just manpageHandle) Nothing
|
||||
+buildManpage lbi =
|
||||
+ when (hasDarcsExe lbi) $ do
|
||||
+ let darcs = buildDir lbi </> "darcs/darcs"
|
||||
+ manpage = buildDir lbi </> "darcs/darcs.1"
|
||||
+ manpageHandle <- openFile manpage WriteMode
|
||||
+ void $ runProcess darcs ["help","manpage"]
|
||||
+ Nothing Nothing Nothing (Just manpageHandle) Nothing
|
||||
|
||||
-installManpage :: PackageDescription -> LocalBuildInfo
|
||||
- -> Verbosity -> CopyDest -> IO ()
|
||||
+installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
|
||||
installManpage pkg lbi verbosity copy =
|
||||
- copyFiles verbosity
|
||||
- (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
|
||||
- [(buildDir lbi </> "darcs", "darcs.1")]
|
||||
+ when (hasDarcsExe lbi) $
|
||||
+ copyFiles
|
||||
+ verbosity
|
||||
+ (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
|
||||
+ [(buildDir lbi </> "darcs", "darcs.1")]
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- version module
|
||||
@@ -187,12 +197,13 @@
|
||||
generateVersionModule :: Verbosity -> LocalBuildInfo
|
||||
-> String -> String -> IO ()
|
||||
generateVersionModule verbosity lbi version state = do
|
||||
- let dir = autogenModulesDir lbi
|
||||
+ let dir = autogenPackageModulesDir lbi
|
||||
createDirectoryIfMissingVerbose verbosity True dir
|
||||
ctx <- context verbosity
|
||||
hash <- weakhash verbosity
|
||||
- rewriteFile (dir </> "Version.hs") $ unlines
|
||||
+ rewriteFileEx silent (dir </> "Version.hs") $ unlines
|
||||
["module Version where"
|
||||
+ ,"import Darcs.Prelude"
|
||||
,"version, weakhash, context :: String"
|
||||
,"version = \"" ++ version ++ " (" ++ state ++ ")\""
|
||||
,"weakhash = " ++ case hash of
|
@ -18947,7 +18947,7 @@ in
|
||||
|
||||
dablin = callPackage ../applications/radio/dablin { };
|
||||
|
||||
darcs = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskell.packages.ghc865.darcs) (drv: {
|
||||
darcs = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskellPackages.darcs) (drv: {
|
||||
configureFlags = (stdenv.lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"];
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user