Compare commits
No commits in common. "rawhide" and "f39" have entirely different histories.
7 changed files with 270 additions and 78 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -25,5 +25,3 @@ cabal-install-0.8.2.tar.gz
|
|||
/cabal-install-3.6.2.0.tar.gz
|
||||
/cabal-install-3.8.1.0.tar.gz
|
||||
/cabal-install-solver-3.8.1.0.tar.gz
|
||||
/cabal-install-3.10.3.0.tar.gz
|
||||
/cabal-install-solver-3.10.3.0.tar.gz
|
||||
|
|
|
|||
165
8358.patch
Normal file
165
8358.patch
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
From 0fd2647dcc18d1aa863fd26054077b37b2d8e04f Mon Sep 17 00:00:00 2001
|
||||
From: Gershom Bazerman <gershom@arista.com>
|
||||
Date: Wed, 10 Aug 2022 18:41:07 -0400
|
||||
Subject: [PATCH 1/7] only check for compiler when project file has
|
||||
conditionals
|
||||
|
||||
---
|
||||
.../src/Distribution/Client/CmdOutdated.hs | 4 ++--
|
||||
.../Client/ProjectConfig/Legacy.hs | 19 ++++++++++++++-----
|
||||
.../Distribution/Client/ProjectPlanning.hs | 7 +++++--
|
||||
.../src/Distribution/Client/ScriptUtils.hs | 8 +++++---
|
||||
4 files changed, 26 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/cabal-install/src/Distribution/Client/CmdOutdated.hs b/cabal-install/src/Distribution/Client/CmdOutdated.hs
|
||||
index c511c53c1c6..b2bf423478e 100644
|
||||
--- a/cabal-install/src/Distribution/Client/CmdOutdated.hs
|
||||
+++ b/cabal-install/src/Distribution/Client/CmdOutdated.hs
|
||||
@@ -30,7 +30,7 @@ import Distribution.Client.DistDirLayout
|
||||
, DistDirLayout(distProjectRootDirectory, distProjectFile) )
|
||||
import Distribution.Client.ProjectConfig
|
||||
import Distribution.Client.ProjectConfig.Legacy
|
||||
- ( instantiateProjectConfigSkeleton )
|
||||
+ ( instantiateProjectConfigSkeletonWithCompiler )
|
||||
import Distribution.Client.ProjectFlags
|
||||
( projectFlagsOptions, ProjectFlags(..), defaultProjectFlags
|
||||
, removeIgnoreProjectOption )
|
||||
@@ -306,7 +306,7 @@ depsFromNewFreezeFile verbosity httpTransport compiler (Platform arch os) mproje
|
||||
{- TODO: Support dist dir override -} Nothing
|
||||
projectConfig <- runRebuild (distProjectRootDirectory distDirLayout) $ do
|
||||
pcs <- readProjectLocalFreezeConfig verbosity httpTransport distDirLayout
|
||||
- pure $ instantiateProjectConfigSkeleton os arch (compilerInfo compiler) mempty pcs
|
||||
+ pure $ instantiateProjectConfigSkeletonWithCompiler os arch (compilerInfo compiler) mempty pcs
|
||||
let ucnstrs = map fst . projectConfigConstraints . projectConfigShared
|
||||
$ projectConfig
|
||||
deps = userConstraintsToDependencies ucnstrs
|
||||
diff --git a/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs b/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs
|
||||
index 8787e06ee19..1c7aba8243e 100644
|
||||
--- a/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs
|
||||
+++ b/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs
|
||||
@@ -7,7 +7,8 @@ module Distribution.Client.ProjectConfig.Legacy (
|
||||
-- Project config skeletons
|
||||
ProjectConfigSkeleton,
|
||||
parseProjectSkeleton,
|
||||
- instantiateProjectConfigSkeleton,
|
||||
+ instantiateProjectConfigSkeletonFetchingCompiler,
|
||||
+ instantiateProjectConfigSkeletonWithCompiler,
|
||||
singletonProjectConfigSkeleton,
|
||||
projectSkeletonImports,
|
||||
|
||||
@@ -44,7 +45,7 @@ import Distribution.Client.CmdInstall.ClientInstallFlags
|
||||
( ClientInstallFlags(..), defaultClientInstallFlags
|
||||
, clientInstallOptions )
|
||||
|
||||
-import Distribution.Compat.Lens (view)
|
||||
+import Distribution.Compat.Lens (view, toListOf)
|
||||
|
||||
import Distribution.Solver.Types.ConstraintSource
|
||||
|
||||
@@ -52,7 +53,7 @@ import Distribution.FieldGrammar
|
||||
import Distribution.Package
|
||||
import Distribution.Types.SourceRepo (RepoType)
|
||||
import Distribution.Types.CondTree
|
||||
- ( CondTree (..), CondBranch (..), mapTreeConds, traverseCondTreeC )
|
||||
+ ( CondTree (..), CondBranch (..), mapTreeConds, traverseCondTreeC, traverseCondTreeV, ignoreConditions )
|
||||
import Distribution.PackageDescription
|
||||
( dispFlagAssignment, Condition (..), ConfVar (..), FlagAssignment )
|
||||
import Distribution.PackageDescription.Configuration (simplifyWithSysParams)
|
||||
@@ -135,8 +136,16 @@ type ProjectConfigImport = String
|
||||
singletonProjectConfigSkeleton :: ProjectConfig -> ProjectConfigSkeleton
|
||||
singletonProjectConfigSkeleton x = CondNode x mempty mempty
|
||||
|
||||
-instantiateProjectConfigSkeleton :: OS -> Arch -> CompilerInfo -> FlagAssignment -> ProjectConfigSkeleton -> ProjectConfig
|
||||
-instantiateProjectConfigSkeleton os arch impl _flags skel = go $ mapTreeConds (fst . simplifyWithSysParams os arch impl) skel
|
||||
+instantiateProjectConfigSkeletonFetchingCompiler :: Monad m => m (OS, Arch, CompilerInfo) -> FlagAssignment -> ProjectConfigSkeleton -> m ProjectConfig
|
||||
+instantiateProjectConfigSkeletonFetchingCompiler fetch flags skel
|
||||
+ | null (toListOf traverseCondTreeV skel) = pure $ fst (ignoreConditions skel)
|
||||
+ | otherwise = do
|
||||
+ (os, arch, impl) <- fetch
|
||||
+ pure $ instantiateProjectConfigSkeletonWithCompiler os arch impl flags skel
|
||||
+
|
||||
+
|
||||
+instantiateProjectConfigSkeletonWithCompiler :: OS -> Arch -> CompilerInfo -> FlagAssignment -> ProjectConfigSkeleton -> ProjectConfig
|
||||
+instantiateProjectConfigSkeletonWithCompiler os arch impl _flags skel = go $ mapTreeConds (fst . simplifyWithSysParams os arch impl) skel
|
||||
where
|
||||
go :: CondTree
|
||||
FlagName
|
||||
diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs
|
||||
index a3464159923..07ac42e4ec0 100644
|
||||
--- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs
|
||||
+++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs
|
||||
@@ -333,8 +333,11 @@ rebuildProjectConfig verbosity
|
||||
liftIO $ createDirectoryIfMissingVerbose verbosity True distProjectCacheDirectory
|
||||
projectConfigSkeleton <- phaseReadProjectConfig
|
||||
-- have to create the cache directory before configuring the compiler
|
||||
- (compiler, Platform arch os, _) <- configureCompiler verbosity distDirLayout ((fst $ PD.ignoreConditions projectConfigSkeleton) <> cliConfig)
|
||||
- let projectConfig = instantiateProjectConfigSkeleton os arch (compilerInfo compiler) mempty projectConfigSkeleton
|
||||
+ let fetchCompiler = do
|
||||
+ (compiler, Platform arch os, _) <- configureCompiler verbosity distDirLayout ((fst $ PD.ignoreConditions projectConfigSkeleton) <> cliConfig)
|
||||
+ pure (os, arch, compilerInfo compiler)
|
||||
+
|
||||
+ projectConfig <- instantiateProjectConfigSkeletonFetchingCompiler fetchCompiler mempty projectConfigSkeleton
|
||||
localPackages <- phaseReadLocalPackages (projectConfig <> cliConfig)
|
||||
return (projectConfig, localPackages)
|
||||
|
||||
diff --git a/cabal-install/src/Distribution/Client/ScriptUtils.hs b/cabal-install/src/Distribution/Client/ScriptUtils.hs
|
||||
index 6555b92ef7c..81d7c52bc20 100644
|
||||
--- a/cabal-install/src/Distribution/Client/ScriptUtils.hs
|
||||
+++ b/cabal-install/src/Distribution/Client/ScriptUtils.hs
|
||||
@@ -37,7 +37,7 @@ import Distribution.Client.ProjectConfig
|
||||
, projectConfigHttpTransport )
|
||||
import Distribution.Client.ProjectConfig.Legacy
|
||||
( ProjectConfigSkeleton
|
||||
- , parseProjectSkeleton, instantiateProjectConfigSkeleton )
|
||||
+ , parseProjectSkeleton, instantiateProjectConfigSkeletonFetchingCompiler )
|
||||
import Distribution.Client.ProjectFlags
|
||||
( flagIgnoreProject )
|
||||
import Distribution.Client.RebuildMonad
|
||||
@@ -243,9 +243,11 @@ withContextAndSelectors noTargets kind flags@NixStyleFlags {..} targetStrings gl
|
||||
|
||||
projectCfgSkeleton <- readProjectBlockFromScript verbosity httpTransport (distDirLayout ctx) (takeFileName script) scriptContents
|
||||
|
||||
- (compiler, Platform arch os, _) <- runRebuild (distProjectRootDirectory . distDirLayout $ ctx) $ configureCompiler verbosity (distDirLayout ctx) ((fst $ ignoreConditions projectCfgSkeleton) <> projectConfig ctx)
|
||||
+ let fetchCompiler = do
|
||||
+ (compiler, Platform arch os, _) <- runRebuild (distProjectRootDirectory . distDirLayout $ ctx) $ configureCompiler verbosity (distDirLayout ctx) ((fst $ ignoreConditions projectCfgSkeleton) <> projectConfig ctx)
|
||||
+ pure (os, arch, compilerInfo compiler)
|
||||
|
||||
- let projectCfg = instantiateProjectConfigSkeleton os arch (compilerInfo compiler) mempty projectCfgSkeleton :: ProjectConfig
|
||||
+ projectCfg <- instantiateProjectConfigSkeletonFetchingCompiler fetchCompiler mempty projectCfgSkeleton
|
||||
|
||||
let executable' = executable & L.buildInfo . L.defaultLanguage %~ maybe (Just Haskell2010) Just
|
||||
ctx' = ctx & lProjectConfig %~ (<> projectCfg)
|
||||
|
||||
From 6de0540ed34f680fa1e3e5273440b8f7d40038f9 Mon Sep 17 00:00:00 2001
|
||||
From: Gershom Bazerman <gershom@arista.com>
|
||||
Date: Thu, 11 Aug 2022 16:08:04 -0400
|
||||
Subject: [PATCH 2/7] fix sdist options a bit plus test
|
||||
|
||||
---
|
||||
cabal-install/src/Distribution/Client/CmdSdist.hs | 3 ++-
|
||||
cabal-testsuite/PackageTests/ConditionalAndImport/cabal.out | 4 ++++
|
||||
.../PackageTests/ConditionalAndImport/cabal.test.hs | 4 ++++
|
||||
3 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cabal-install/src/Distribution/Client/CmdSdist.hs b/cabal-install/src/Distribution/Client/CmdSdist.hs
|
||||
index f9920ecd6ea..605403b0a3a 100644
|
||||
--- a/cabal-install/src/Distribution/Client/CmdSdist.hs
|
||||
+++ b/cabal-install/src/Distribution/Client/CmdSdist.hs
|
||||
@@ -137,7 +137,7 @@ sdistOptions showOrParseArgs =
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
sdistAction :: (ProjectFlags, SdistFlags) -> [String] -> GlobalFlags -> IO ()
|
||||
-sdistAction (ProjectFlags{..}, SdistFlags{..}) targetStrings globalFlags = do
|
||||
+sdistAction (pf@ProjectFlags{..}, SdistFlags{..}) targetStrings globalFlags = do
|
||||
(baseCtx, distDirLayout) <- withProjectOrGlobalConfig verbosity flagIgnoreProject globalConfigFlag withProject withoutProject
|
||||
|
||||
let localPkgs = localPackages baseCtx
|
||||
@@ -196,6 +196,7 @@ sdistAction (ProjectFlags{..}, SdistFlags{..}) targetStrings globalFlags = do
|
||||
{ configVerbosity = sdistVerbosity
|
||||
, configDistPref = sdistDistDir
|
||||
}
|
||||
+ , projectFlags = pf
|
||||
}
|
||||
mempty
|
||||
|
||||
|
||||
27
8627.patch
Normal file
27
8627.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
From 5a635d7684e112d4a418ef062249e571867f7fd3 Mon Sep 17 00:00:00 2001
|
||||
From: Gershom Bazerman <gershom@arista.com>
|
||||
Date: Tue, 6 Dec 2022 13:41:59 -0500
|
||||
Subject: [PATCH 1/2] don't create a cache directory when the compiler isn't
|
||||
configured
|
||||
|
||||
---
|
||||
cabal-install/src/Distribution/Client/ProjectPlanning.hs | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs
|
||||
index 594fec5b2d1..7c727a72933 100644
|
||||
--- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs
|
||||
+++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs
|
||||
@@ -332,10 +332,10 @@ rebuildProjectConfig verbosity
|
||||
fileMonitorProjectConfigKey -- todo check deps too?
|
||||
$ do
|
||||
liftIO $ info verbosity "Project settings changed, reconfiguring..."
|
||||
- liftIO $ createDirectoryIfMissingVerbose verbosity True distProjectCacheDirectory
|
||||
projectConfigSkeleton <- phaseReadProjectConfig
|
||||
- -- have to create the cache directory before configuring the compiler
|
||||
let fetchCompiler = do
|
||||
+ -- have to create the cache directory before configuring the compiler
|
||||
+ liftIO $ createDirectoryIfMissingVerbose verbosity True distProjectCacheDirectory
|
||||
(compiler, Platform arch os, _) <- configureCompiler verbosity distDirLayout ((fst $ PD.ignoreConditions projectConfigSkeleton) <> cliConfig)
|
||||
pure (os, arch, compilerInfo compiler)
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
Cabal-Version: 2.2
|
||||
|
||||
Name: cabal-install
|
||||
Version: 3.10.3.0
|
||||
x-revision: 1
|
||||
Version: 3.8.1.0
|
||||
x-revision: 3
|
||||
Synopsis: The command-line interface for Cabal and Hackage.
|
||||
Description:
|
||||
The \'cabal\' command-line program simplifies the process of managing
|
||||
|
|
@ -14,13 +14,12 @@ License: BSD-3-Clause
|
|||
License-File: LICENSE
|
||||
Author: Cabal Development Team (see AUTHORS file)
|
||||
Maintainer: Cabal Development Team <cabal-devel@haskell.org>
|
||||
Copyright: 2003-2023, Cabal Development Team
|
||||
Copyright: 2003-2022, Cabal Development Team
|
||||
Category: Distribution
|
||||
Build-type: Simple
|
||||
Extra-Source-Files:
|
||||
bash-completion/cabal
|
||||
extra-doc-files:
|
||||
README.md
|
||||
bash-completion/cabal
|
||||
changelog
|
||||
|
||||
source-repository head
|
||||
|
|
@ -44,33 +43,26 @@ common warnings
|
|||
ghc-options: -Wall -Wcompat -Wnoncanonical-monad-instances -Wincomplete-uni-patterns -Wincomplete-record-updates
|
||||
if impl(ghc < 8.8)
|
||||
ghc-options: -Wnoncanonical-monadfail-instances
|
||||
if impl(ghc >=9.0)
|
||||
-- Warning: even though introduced with GHC 8.10, -Wunused-packages
|
||||
-- gives false positives with GHC 8.10.
|
||||
if impl(ghc >=8.10)
|
||||
ghc-options: -Wunused-packages
|
||||
|
||||
common base-dep
|
||||
build-depends: base >=4.10 && <4.20
|
||||
build-depends: base >=4.10 && <4.18
|
||||
|
||||
common cabal-dep
|
||||
build-depends: Cabal ^>=3.10.3
|
||||
build-depends: Cabal ^>=3.8
|
||||
|
||||
common cabal-syntax-dep
|
||||
build-depends: Cabal-syntax ^>=3.10
|
||||
build-depends: Cabal-syntax ^>=3.8
|
||||
|
||||
common cabal-install-solver-dep
|
||||
build-depends: cabal-install-solver ^>=3.10
|
||||
build-depends: cabal-install-solver ^>=3.8
|
||||
|
||||
library
|
||||
import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
|
||||
default-language: Haskell2010
|
||||
default-extensions: TypeOperators
|
||||
|
||||
hs-source-dirs: src
|
||||
autogen-modules:
|
||||
Paths_cabal_install
|
||||
other-modules:
|
||||
Paths_cabal_install
|
||||
exposed-modules:
|
||||
-- this modules are moved from Cabal
|
||||
-- they are needed for as long until cabal-install moves to parsec parser
|
||||
|
|
@ -92,7 +84,6 @@ library
|
|||
Distribution.Client.CmdExec
|
||||
Distribution.Client.CmdFreeze
|
||||
Distribution.Client.CmdHaddock
|
||||
Distribution.Client.CmdHaddockProject
|
||||
Distribution.Client.CmdInstall
|
||||
Distribution.Client.CmdInstall.ClientInstallFlags
|
||||
Distribution.Client.CmdInstall.ClientInstallTargetSelector
|
||||
|
|
@ -108,8 +99,8 @@ library
|
|||
Distribution.Client.Compat.ExecutablePath
|
||||
Distribution.Client.Compat.Orphans
|
||||
Distribution.Client.Compat.Prelude
|
||||
Distribution.Client.Compat.Process
|
||||
Distribution.Client.Compat.Semaphore
|
||||
Distribution.Client.Compat.Tar
|
||||
Distribution.Client.Config
|
||||
Distribution.Client.Configure
|
||||
Distribution.Client.Dependency
|
||||
|
|
@ -149,7 +140,6 @@ library
|
|||
Distribution.Client.InstallSymlink
|
||||
Distribution.Client.JobControl
|
||||
Distribution.Client.List
|
||||
Distribution.Client.Main
|
||||
Distribution.Client.Manpage
|
||||
Distribution.Client.ManpageFlags
|
||||
Distribution.Client.Nix
|
||||
|
|
@ -177,7 +167,6 @@ library
|
|||
Distribution.Client.Security.HTTP
|
||||
Distribution.Client.Setup
|
||||
Distribution.Client.SetupWrapper
|
||||
Distribution.Client.Signal
|
||||
Distribution.Client.SolverInstallPlan
|
||||
Distribution.Client.SourceFiles
|
||||
Distribution.Client.SrcDist
|
||||
|
|
@ -215,27 +204,28 @@ library
|
|||
array >= 0.4 && < 0.6,
|
||||
base16-bytestring >= 0.1.1 && < 1.1.0.0,
|
||||
binary >= 0.7.3 && < 0.9,
|
||||
bytestring >= 0.10.6.0 && < 0.13,
|
||||
containers >= 0.5.6.2 && < 0.8,
|
||||
bytestring >= 0.10.6.0 && < 0.12,
|
||||
containers >= 0.5.6.2 && < 0.7,
|
||||
cryptohash-sha256 >= 0.11 && < 0.12,
|
||||
directory >= 1.3.7.0 && < 1.4,
|
||||
directory >= 1.2.2.0 && < 1.4,
|
||||
echo >= 0.1.3 && < 0.2,
|
||||
edit-distance >= 0.2.2 && < 0.3,
|
||||
exceptions >= 0.10.4 && < 0.11,
|
||||
filepath >= 1.4.0.0 && < 1.6,
|
||||
filepath >= 1.4.0.0 && < 1.5,
|
||||
hashable >= 1.0 && < 1.5,
|
||||
HTTP >= 4000.1.5 && < 4000.5,
|
||||
mtl >= 2.0 && < 2.4,
|
||||
mtl >= 2.0 && < 2.3,
|
||||
network-uri >= 2.6.0.2 && < 2.7,
|
||||
pretty >= 1.1 && < 1.2,
|
||||
process >= 1.2.3.0 && < 1.7,
|
||||
-- PR #8802: process lower bound moved here from Cabal package
|
||||
process >= 1.6.15.0 && < 1.7,
|
||||
random >= 1.2 && < 1.3,
|
||||
stm >= 2.0 && < 2.6,
|
||||
tar >= 0.5.0.3 && < 0.7,
|
||||
tar >= 0.5.0.3 && < 0.6,
|
||||
time >= 1.5.0.1 && < 1.13,
|
||||
zlib >= 0.5.3 && < 0.8,
|
||||
zlib >= 0.5.3 && < 0.7,
|
||||
hackage-security >= 0.6.2.0 && < 0.7,
|
||||
text >= 1.2.3 && < 1.3 || >= 2.0 && < 2.2,
|
||||
text >= 1.2.3 && < 1.3 || >= 2.0 && < 2.1,
|
||||
parsec >= 3.1.13.0 && < 3.2,
|
||||
regex-base >= 0.94.0.0 && <0.95,
|
||||
regex-posix >= 0.96.0.0 && <0.97,
|
||||
|
|
@ -245,7 +235,7 @@ library
|
|||
if os(windows)
|
||||
build-depends: windns >= 0.1.0 && < 0.2
|
||||
else
|
||||
build-depends: resolv >= 0.1.1 && < 0.3
|
||||
build-depends: resolv >= 0.1.1 && < 0.2
|
||||
|
||||
if os(windows)
|
||||
-- newer directory for symlinks
|
||||
|
|
@ -256,13 +246,9 @@ library
|
|||
if flag(lukko)
|
||||
build-depends: lukko >= 0.1 && <0.2
|
||||
|
||||
-- pull in process version with fixed waitForProcess error
|
||||
if impl(ghc >=8.2)
|
||||
build-depends: process >= 1.6.15.0
|
||||
|
||||
|
||||
executable cabal
|
||||
import: warnings, base-dep
|
||||
import: warnings, base-dep, cabal-dep, cabal-syntax-dep
|
||||
main-is: Main.hs
|
||||
hs-source-dirs: main
|
||||
default-language: Haskell2010
|
||||
|
|
@ -274,14 +260,15 @@ executable cabal
|
|||
extra-libraries: bsd
|
||||
|
||||
build-depends:
|
||||
cabal-install
|
||||
cabal-install,
|
||||
directory,
|
||||
filepath
|
||||
|
||||
-- Small, fast running tests.
|
||||
--
|
||||
test-suite unit-tests
|
||||
import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
|
||||
default-language: Haskell2010
|
||||
default-extensions: TypeOperators
|
||||
ghc-options: -rtsopts -threaded
|
||||
|
||||
type: exitcode-stdio-1.0
|
||||
|
|
@ -338,12 +325,12 @@ test-suite unit-tests
|
|||
tar,
|
||||
time,
|
||||
zlib,
|
||||
tasty >= 1.2.3 && <1.6,
|
||||
tasty >= 1.2.3 && <1.5,
|
||||
tasty-golden >=2.3.1.1 && <2.4,
|
||||
tasty-quickcheck,
|
||||
tasty-hunit >= 0.10,
|
||||
tree-diff,
|
||||
QuickCheck >= 2.14.3 && <2.15
|
||||
QuickCheck >= 2.14 && <2.15
|
||||
|
||||
|
||||
-- Tests to run with a limited stack and heap size
|
||||
|
|
@ -368,7 +355,7 @@ test-suite mem-use-tests
|
|||
build-depends:
|
||||
cabal-install,
|
||||
containers,
|
||||
tasty >= 1.2.3 && <1.6,
|
||||
tasty >= 1.2.3 && <1.5,
|
||||
tasty-hunit >= 0.10
|
||||
|
||||
|
||||
|
|
@ -388,7 +375,7 @@ test-suite integration-tests2
|
|||
containers,
|
||||
directory,
|
||||
filepath,
|
||||
tasty >= 1.2.3 && <1.6,
|
||||
tasty >= 1.2.3 && <1.5,
|
||||
tasty-hunit >= 0.10,
|
||||
tagged
|
||||
|
||||
|
|
@ -424,7 +411,7 @@ test-suite long-tests
|
|||
network-uri >= 2.6.2.0 && <2.7,
|
||||
random,
|
||||
tagged,
|
||||
tasty >= 1.2.3 && <1.6,
|
||||
tasty >= 1.2.3 && <1.5,
|
||||
tasty-expected-failure,
|
||||
tasty-hunit >= 0.10,
|
||||
tasty-quickcheck,
|
||||
22
cabal-install-solver-pkgconfig-modversion.patch
Normal file
22
cabal-install-solver-pkgconfig-modversion.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
--- cabal-install-solver-3.8.1.0/src/Distribution/Solver/Types/PkgConfigDb.hs~ 2001-09-09 09:46:40.000000000 +0800
|
||||
+++ cabal-install-solver-3.8.1.0/src/Distribution/Solver/Types/PkgConfigDb.hs 2023-11-03 02:05:41.798304907 +0800
|
||||
@@ -21,7 +21,7 @@
|
||||
) where
|
||||
|
||||
import Distribution.Solver.Compat.Prelude
|
||||
-import Prelude ()
|
||||
+import Prelude (mapM)
|
||||
|
||||
import Control.Exception (handle)
|
||||
import qualified Data.Map as M
|
||||
@@ -65,8 +65,8 @@
|
||||
-- The output of @pkg-config --list-all@ also includes a description
|
||||
-- for each package, which we do not need.
|
||||
let pkgNames = map (takeWhile (not . isSpace)) pkgList
|
||||
- pkgVersions <- lines <$> getProgramOutput verbosity pkgConfig
|
||||
- ("--modversion" : pkgNames)
|
||||
+ pkgVersions <- mapM (\p -> getProgramOutput verbosity pkgConfig
|
||||
+ ("--modversion" : [p])) pkgNames
|
||||
(return . pkgConfigDbFromList . zip pkgNames) pkgVersions
|
||||
where
|
||||
-- For when pkg-config invocation fails (possibly because of a
|
||||
|
|
@ -1,30 +1,36 @@
|
|||
# generated by cabal-rpm-2.3.0 --subpackage
|
||||
# generated by cabal-rpm-2.1.5 --subpackage
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
|
||||
|
||||
%global pkg_name cabal-install
|
||||
%global pkgver %{pkg_name}-%{version}
|
||||
%{?haskell_setup}
|
||||
|
||||
%global cabalinstallsolver cabal-install-solver-3.10.3.0
|
||||
%global cabalinstallsolver cabal-install-solver-3.8.1.0
|
||||
|
||||
%global subpkgs %{cabalinstallsolver}
|
||||
|
||||
# testsuite missing deps: Cabal-QuickCheck Cabal-tree-diff tasty-golden tree-diff Cabal-described tasty-expected-failure
|
||||
|
||||
Name: %{pkg_name}
|
||||
Version: 3.10.3.0
|
||||
# can only be reset when subpkg bumped
|
||||
Release: 4%{?dist}
|
||||
Version: 3.8.1.0
|
||||
# can only be reset when all subpkgs bumped
|
||||
Release: 5%{?dist}
|
||||
Summary: The command-line interface for Cabal and Hackage
|
||||
|
||||
License: BSD-3-Clause
|
||||
URL: https://hackage.haskell.org/package/cabal-install
|
||||
Url: https://hackage.haskell.org/package/%{name}
|
||||
# Begin cabal-rpm sources:
|
||||
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
|
||||
Source1: https://hackage.haskell.org/package/%{cabalinstallsolver}/%{cabalinstallsolver}.tar.gz
|
||||
Source2: https://hackage.haskell.org/package/%{pkgver}/%{name}.cabal#/%{pkgver}.cabal
|
||||
# End cabal-rpm sources
|
||||
Source10: cabal-install.sh
|
||||
# https://github.com/haskell/cabal/issues/8923
|
||||
Patch0: cabal-install-solver-pkgconfig-modversion.patch
|
||||
# https://github.com/haskell/cabal/issues/8589: prevent cabal update making dist-newstyle
|
||||
## https://github.com/haskell/cabal/pull/8358
|
||||
Patch1: https://patch-diff.githubusercontent.com/raw/haskell/cabal/pull/8358.patch
|
||||
## https://github.com/haskell/cabal/pull/8627
|
||||
Patch2: https://patch-diff.githubusercontent.com/raw/haskell/cabal/pull/8627.patch
|
||||
|
||||
# Begin cabal-rpm deps:
|
||||
BuildRequires: dos2unix
|
||||
|
|
@ -184,6 +190,17 @@ This package provides the Haskell %{name} profiling library.
|
|||
%setup -q -a1
|
||||
dos2unix -k -n %{SOURCE2} %{name}.cabal
|
||||
# End cabal-rpm setup
|
||||
cabal-tweak-dep-ver resolv 0.2 0.3
|
||||
(
|
||||
cd %{cabalinstallsolver}
|
||||
cabal-tweak-dep-ver base 4.17 4.18
|
||||
)
|
||||
%global pkgconf_version %(pkgconf --version)
|
||||
%if v"%pkgconf_version" > v"1.9" && v"%pkgconf_version" < v"2.0"
|
||||
%patch -P0 -p0 -b .orig
|
||||
%endif
|
||||
%patch -P1 -p2 -b .orig
|
||||
%patch -P2 -p2 -b .orig
|
||||
|
||||
|
||||
%build
|
||||
|
|
@ -236,30 +253,6 @@ install -pm 644 -D -t %{buildroot}%{_sysconfdir}/profile.d/ %{SOURCE10}
|
|||
|
||||
|
||||
%changelog
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.3.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sun Mar 30 2025 Jens Petersen <petersen@redhat.com> - 3.10.3.0-3
|
||||
- Rebuild
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.3.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Sun Jul 21 2024 Jens Petersen <petersen@redhat.com> - 3.10.3.0-1
|
||||
- https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.10.1.0.md
|
||||
- https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.10.2.0.md
|
||||
- https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.10.2.1.md
|
||||
- https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.10.3.0.md
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.1.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Thu Feb 15 2024 Jens Petersen <petersen@redhat.com> - 3.8.1.0-7
|
||||
- rebuild to fix s390x segfault (#2248097)
|
||||
|
||||
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.1.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.1.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (cabal-install-3.10.3.0.tar.gz) = e004dfc05903316c3264aa7a056d287e25f0589fa9adea2e93114e1750f3ae9774177b5d274c78fee37b6ba4bd5c03455d72437258b168607c2a81856ef06ddb
|
||||
SHA512 (cabal-install-solver-3.10.3.0.tar.gz) = e8dcd0aaeb06ba5192536e3f51550bfa5239ca9377ae21c36dea377f79c28fe2c249381fb648f304d84d9a93c7b93793f44de23262ea907f710b28f7f548d13a
|
||||
SHA512 (cabal-install-3.8.1.0.tar.gz) = 850267c8b255f1658beea2ff81d025e80f0a78902d32684a047fdc9347fe0893ccbdf60a00dbb5bb0339e3d1ddefb0f94e31273808c6b72de23fb1340fa74ae4
|
||||
SHA512 (cabal-install-solver-3.8.1.0.tar.gz) = be54abffc32a3b35bed0d69df5ff9394271f2746efc45a931df5677a7c1bd1e5e303118f695a942a196c2b57ecef0be973bce97b26b3e1696e46676d376f8edf
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue