Compare commits

..

No commits in common. "rawhide" and "f34" have entirely different histories.

6 changed files with 157 additions and 695 deletions

6
.gitignore vendored
View file

@ -21,9 +21,3 @@ cabal-install-0.8.2.tar.gz
/cabal-install-2.4.0.0.tar.gz
/cabal-install-2.4.1.0.tar.gz
/cabal-install-3.0.0.0.tar.gz
/cabal-install-3.2.0.0.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

View file

@ -1,432 +0,0 @@
Cabal-Version: 2.2
Name: cabal-install
Version: 3.10.3.0
x-revision: 1
Synopsis: The command-line interface for Cabal and Hackage.
Description:
The \'cabal\' command-line program simplifies the process of managing
Haskell software by automating the fetching, configuration, compilation
and installation of Haskell libraries and programs.
homepage: http://www.haskell.org/cabal/
bug-reports: https://github.com/haskell/cabal/issues
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
Category: Distribution
Build-type: Simple
Extra-Source-Files:
bash-completion/cabal
extra-doc-files:
README.md
changelog
source-repository head
type: git
location: https://github.com/haskell/cabal/
subdir: cabal-install
Flag native-dns
description:
Enable use of the [resolv](https://hackage.haskell.org/package/resolv)
& [windns](https://hackage.haskell.org/package/windns) packages for performing DNS lookups
default: True
manual: True
Flag lukko
description: Use @lukko@ for file-locking
default: True
manual: True
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.
ghc-options: -Wunused-packages
common base-dep
build-depends: base >=4.10 && <4.20
common cabal-dep
build-depends: Cabal ^>=3.10.3
common cabal-syntax-dep
build-depends: Cabal-syntax ^>=3.10
common cabal-install-solver-dep
build-depends: cabal-install-solver ^>=3.10
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
Distribution.Deprecated.ParseUtils
Distribution.Deprecated.ReadP
Distribution.Deprecated.ViewAsFieldDescr
Distribution.Client.BuildReports.Anonymous
Distribution.Client.BuildReports.Lens
Distribution.Client.BuildReports.Storage
Distribution.Client.BuildReports.Types
Distribution.Client.BuildReports.Upload
Distribution.Client.Check
Distribution.Client.CmdBench
Distribution.Client.CmdBuild
Distribution.Client.CmdClean
Distribution.Client.CmdConfigure
Distribution.Client.CmdErrorMessages
Distribution.Client.CmdExec
Distribution.Client.CmdFreeze
Distribution.Client.CmdHaddock
Distribution.Client.CmdHaddockProject
Distribution.Client.CmdInstall
Distribution.Client.CmdInstall.ClientInstallFlags
Distribution.Client.CmdInstall.ClientInstallTargetSelector
Distribution.Client.CmdLegacy
Distribution.Client.CmdListBin
Distribution.Client.CmdOutdated
Distribution.Client.CmdRepl
Distribution.Client.CmdRun
Distribution.Client.CmdSdist
Distribution.Client.CmdTest
Distribution.Client.CmdUpdate
Distribution.Client.Compat.Directory
Distribution.Client.Compat.ExecutablePath
Distribution.Client.Compat.Orphans
Distribution.Client.Compat.Prelude
Distribution.Client.Compat.Semaphore
Distribution.Client.Compat.Tar
Distribution.Client.Config
Distribution.Client.Configure
Distribution.Client.Dependency
Distribution.Client.Dependency.Types
Distribution.Client.DistDirLayout
Distribution.Client.Fetch
Distribution.Client.FetchUtils
Distribution.Client.FileMonitor
Distribution.Client.Freeze
Distribution.Client.GZipUtils
Distribution.Client.GenBounds
Distribution.Client.Get
Distribution.Client.Glob
Distribution.Client.GlobalFlags
Distribution.Client.Haddock
Distribution.Client.HashValue
Distribution.Client.HttpUtils
Distribution.Client.IndexUtils
Distribution.Client.IndexUtils.ActiveRepos
Distribution.Client.IndexUtils.IndexState
Distribution.Client.IndexUtils.Timestamp
Distribution.Client.Init
Distribution.Client.Init.Defaults
Distribution.Client.Init.FileCreators
Distribution.Client.Init.FlagExtractors
Distribution.Client.Init.Format
Distribution.Client.Init.Interactive.Command
Distribution.Client.Init.NonInteractive.Command
Distribution.Client.Init.NonInteractive.Heuristics
Distribution.Client.Init.Licenses
Distribution.Client.Init.Prompt
Distribution.Client.Init.Simple
Distribution.Client.Init.Types
Distribution.Client.Init.Utils
Distribution.Client.Install
Distribution.Client.InstallPlan
Distribution.Client.InstallSymlink
Distribution.Client.JobControl
Distribution.Client.List
Distribution.Client.Main
Distribution.Client.Manpage
Distribution.Client.ManpageFlags
Distribution.Client.Nix
Distribution.Client.NixStyleOptions
Distribution.Client.PackageHash
Distribution.Client.ParseUtils
Distribution.Client.ProjectBuilding
Distribution.Client.ProjectBuilding.Types
Distribution.Client.ProjectConfig
Distribution.Client.ProjectConfig.Legacy
Distribution.Client.ProjectConfig.Types
Distribution.Client.ProjectFlags
Distribution.Client.ProjectOrchestration
Distribution.Client.ProjectPlanOutput
Distribution.Client.ProjectPlanning
Distribution.Client.ProjectPlanning.Types
Distribution.Client.RebuildMonad
Distribution.Client.Reconfigure
Distribution.Client.Run
Distribution.Client.Sandbox
Distribution.Client.Sandbox.PackageEnvironment
Distribution.Client.SavedFlags
Distribution.Client.ScriptUtils
Distribution.Client.Security.DNS
Distribution.Client.Security.HTTP
Distribution.Client.Setup
Distribution.Client.SetupWrapper
Distribution.Client.Signal
Distribution.Client.SolverInstallPlan
Distribution.Client.SourceFiles
Distribution.Client.SrcDist
Distribution.Client.Store
Distribution.Client.Tar
Distribution.Client.TargetProblem
Distribution.Client.TargetSelector
Distribution.Client.Targets
Distribution.Client.Types
Distribution.Client.Types.AllowNewer
Distribution.Client.Types.BuildResults
Distribution.Client.Types.ConfiguredId
Distribution.Client.Types.ConfiguredPackage
Distribution.Client.Types.Credentials
Distribution.Client.Types.InstallMethod
Distribution.Client.Types.OverwritePolicy
Distribution.Client.Types.PackageLocation
Distribution.Client.Types.PackageSpecifier
Distribution.Client.Types.ReadyPackage
Distribution.Client.Types.Repo
Distribution.Client.Types.RepoName
Distribution.Client.Types.SourcePackageDb
Distribution.Client.Types.SourceRepo
Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy
Distribution.Client.Upload
Distribution.Client.Utils
Distribution.Client.Utils.Json
Distribution.Client.Utils.Parsec
Distribution.Client.VCS
Distribution.Client.Version
Distribution.Client.Win32SelfUpgrade
build-depends:
async >= 2.0 && < 2.3,
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,
cryptohash-sha256 >= 0.11 && < 0.12,
directory >= 1.3.7.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,
hashable >= 1.0 && < 1.5,
HTTP >= 4000.1.5 && < 4000.5,
mtl >= 2.0 && < 2.4,
network-uri >= 2.6.0.2 && < 2.7,
pretty >= 1.1 && < 1.2,
process >= 1.2.3.0 && < 1.7,
random >= 1.2 && < 1.3,
stm >= 2.0 && < 2.6,
tar >= 0.5.0.3 && < 0.7,
time >= 1.5.0.1 && < 1.13,
zlib >= 0.5.3 && < 0.8,
hackage-security >= 0.6.2.0 && < 0.7,
text >= 1.2.3 && < 1.3 || >= 2.0 && < 2.2,
parsec >= 3.1.13.0 && < 3.2,
regex-base >= 0.94.0.0 && <0.95,
regex-posix >= 0.96.0.0 && <0.97,
safe-exceptions >= 0.1.7.0 && < 0.2
if flag(native-dns)
if os(windows)
build-depends: windns >= 0.1.0 && < 0.2
else
build-depends: resolv >= 0.1.1 && < 0.3
if os(windows)
-- newer directory for symlinks
build-depends: Win32 >= 2.8 && < 3, directory >=1.3.1.0
else
build-depends: unix >= 2.5 && < 2.9
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
main-is: Main.hs
hs-source-dirs: main
default-language: Haskell2010
ghc-options: -rtsopts -threaded
-- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a
if os(aix)
extra-libraries: bsd
build-depends:
cabal-install
-- 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
main-is: UnitTests.hs
hs-source-dirs: tests
other-modules:
UnitTests.Distribution.Client.ArbitraryInstances
UnitTests.Distribution.Client.BuildReport
UnitTests.Distribution.Client.Configure
UnitTests.Distribution.Client.FetchUtils
UnitTests.Distribution.Client.Get
UnitTests.Distribution.Client.Glob
UnitTests.Distribution.Client.GZipUtils
UnitTests.Distribution.Client.IndexUtils
UnitTests.Distribution.Client.IndexUtils.Timestamp
UnitTests.Distribution.Client.Init
UnitTests.Distribution.Client.Init.Golden
UnitTests.Distribution.Client.Init.Interactive
UnitTests.Distribution.Client.Init.NonInteractive
UnitTests.Distribution.Client.Init.Simple
UnitTests.Distribution.Client.Init.Utils
UnitTests.Distribution.Client.Init.FileCreators
UnitTests.Distribution.Client.InstallPlan
UnitTests.Distribution.Client.JobControl
UnitTests.Distribution.Client.ProjectConfig
UnitTests.Distribution.Client.ProjectPlanning
UnitTests.Distribution.Client.Store
UnitTests.Distribution.Client.Tar
UnitTests.Distribution.Client.Targets
UnitTests.Distribution.Client.TreeDiffInstances
UnitTests.Distribution.Client.UserConfig
UnitTests.Distribution.Solver.Modular.Builder
UnitTests.Distribution.Solver.Modular.RetryLog
UnitTests.Distribution.Solver.Modular.Solver
UnitTests.Distribution.Solver.Modular.DSL
UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
UnitTests.Distribution.Solver.Modular.WeightedPSQ
UnitTests.Distribution.Solver.Types.OptionalStanza
UnitTests.Options
UnitTests.TempTestDir
build-depends:
array,
bytestring,
cabal-install,
Cabal-tree-diff,
Cabal-QuickCheck,
containers,
directory,
filepath,
mtl,
network-uri >= 2.6.2.0 && <2.7,
random,
tar,
time,
zlib,
tasty >= 1.2.3 && <1.6,
tasty-golden >=2.3.1.1 && <2.4,
tasty-quickcheck,
tasty-hunit >= 0.10,
tree-diff,
QuickCheck >= 2.14.3 && <2.15
-- Tests to run with a limited stack and heap size
-- The test suite name must be keep short cause a longer one
-- could make the build generating paths which exceeds the windows
-- max path limit (still a problem for some ghc versions)
test-suite mem-use-tests
import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
type: exitcode-stdio-1.0
main-is: MemoryUsageTests.hs
hs-source-dirs: tests
default-language: Haskell2010
ghc-options: -threaded -rtsopts "-with-rtsopts=-M16M -K1K"
other-modules:
UnitTests.Distribution.Solver.Modular.DSL
UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
UnitTests.Distribution.Solver.Modular.MemoryUsage
UnitTests.Options
build-depends:
cabal-install,
containers,
tasty >= 1.2.3 && <1.6,
tasty-hunit >= 0.10
-- Integration tests that use the cabal-install code directly
-- but still build whole projects
test-suite integration-tests2
import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
ghc-options: -rtsopts -threaded
type: exitcode-stdio-1.0
main-is: IntegrationTests2.hs
hs-source-dirs: tests
default-language: Haskell2010
build-depends:
bytestring,
cabal-install,
containers,
directory,
filepath,
tasty >= 1.2.3 && <1.6,
tasty-hunit >= 0.10,
tagged
test-suite long-tests
import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
ghc-options: -rtsopts -threaded
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: LongTests.hs
default-language: Haskell2010
other-modules:
UnitTests.Distribution.Client.ArbitraryInstances
UnitTests.Distribution.Client.Described
UnitTests.Distribution.Client.DescribedInstances
UnitTests.Distribution.Client.FileMonitor
UnitTests.Distribution.Client.VCS
UnitTests.Distribution.Solver.Modular.DSL
UnitTests.Distribution.Solver.Modular.QuickCheck
UnitTests.Distribution.Solver.Modular.QuickCheck.Utils
UnitTests.Options
UnitTests.TempTestDir
build-depends:
Cabal-QuickCheck,
Cabal-described,
cabal-install,
containers,
directory,
filepath,
hashable,
mtl,
network-uri >= 2.6.2.0 && <2.7,
random,
tagged,
tasty >= 1.2.3 && <1.6,
tasty-expected-failure,
tasty-hunit >= 0.10,
tasty-quickcheck,
QuickCheck >= 2.14 && <2.15,
pretty-show >= 1.6.15

View file

@ -0,0 +1,79 @@
From 0165f0a739a634ed03e6c87f258ebb5810005d21 Mon Sep 17 00:00:00 2001
From: Oleg Grenrus <oleg.grenrus@iki.fi>
Date: Fri, 29 Nov 2019 01:48:44 +0200
Subject: [PATCH 002/274] Use hackage-security-0.6
Also in CI setup, install hackage-repo-tool using `cabal new-install`.
And remove slightly confusing cabal.project.travis file.
---
.../Distribution/Client/Security/HTTP.hs | 10 ++++++--
cabal-install/bootstrap.sh | 4 ++--
cabal-install/cabal-install.cabal | 2 +-
cabal-install/cabal-install.cabal.pp | 2 +-
cabal.project.travis | 20 ----------------
cabal.project.travis.libonly | 24 -------------------
travis-common.sh | 2 --
travis-script.sh | 16 ++++---------
8 files changed, 16 insertions(+), 64 deletions(-)
delete mode 100644 cabal.project.travis
delete mode 100644 cabal.project.travis.libonly
--- a/Distribution/Client/Security/HTTP.hs
+++ b/Distribution/Client/Security/HTTP.hs
@@ -35,7 +35,6 @@
import Hackage.Security.Client.Repository.HttpLib
import Hackage.Security.Util.Checked
import Hackage.Security.Util.Pretty
-import qualified Hackage.Security.Util.Lens as Lens
{-------------------------------------------------------------------------------
'HttpLib' implementation
@@ -142,7 +141,14 @@
finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
- insert x y = Lens.modify (Lens.lookupM x) (++ y)
+ insert x y = modifyAssocList x (++ y)
+
+ -- modify the first maching element
+ modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
+ modifyAssocList a f = go where
+ go [] = []
+ go (p@(a', b) : xs) | a == a' = (a', f b) : xs
+ | otherwise = p : go xs
{-------------------------------------------------------------------------------
Custom exceptions
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -260,8 +260,8 @@
# 0.2.2.*
ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
# 0.0.*
-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
- # >= 0.5.2 && < 0.6
+HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
+ # >= 0.7.0.0 && < 0.7
TAR_VER="0.5.1.0"; TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
# >= 0.5.0.3 && < 0.6
DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
--- a/cabal-install.cabal
+++ b/cabal-install.cabal
@@ -308,7 +308,7 @@
build-depends:
async >= 2.0 && < 2.3,
array >= 0.4 && < 0.6,
- base >= 4.8 && < 4.13,
+ base >= 4.8 && < 4.15,
base16-bytestring >= 0.1.1 && < 0.2,
binary >= 0.7.3 && < 0.9,
bytestring >= 0.10.6.0 && < 0.11,
@@ -332,7 +332,7 @@
tar >= 0.5.0.3 && < 0.6,
time >= 1.5.0.1 && < 1.10,
zlib >= 0.5.3 && < 0.7,
- hackage-security >= 0.5.2.2 && < 0.6,
+ hackage-security >= 0.6.0.0 && < 0.7,
text >= 1.2.3 && < 1.3,
parsec >= 3.1.13.0 && < 3.2

View file

@ -0,0 +1,26 @@
--- cabal-install-2.4.1.0/Distribution/Client/CmdSdist.hs.orig 1970-01-01 07:30:00.000000000 +0730
+++ cabal-install-2.4.1.0/Distribution/Client/CmdSdist.hs 2020-04-14 13:08:58.730089942 +0800
@@ -84,7 +84,8 @@
import qualified Data.Set as Set
import System.Directory
( getCurrentDirectory, setCurrentDirectory
- , createDirectoryIfMissing, makeAbsolute )
+ , createDirectoryIfMissing, makeAbsolute
+ , getPermissions, executable )
import System.FilePath
( (</>), (<.>), makeRelative, normalise, takeDirectory )
@@ -269,10 +270,11 @@
Right path -> tell [Tar.directoryEntry path]
forM_ files $ \(perm, file) -> do
+ realPerm <- liftIO $ getPermissions file
let fileDir = takeDirectory (prefix </> file)
perm' = case perm of
- Exec -> Tar.executableFilePermissions
- NoExec -> Tar.ordinaryFilePermissions
+ Exec | executable realPerm -> Tar.executableFilePermissions
+ _ -> Tar.ordinaryFilePermissions
needsEntry <- gets (Set.notMember fileDir)
when needsEntry $ do

View file

@ -1,115 +1,59 @@
# generated by cabal-rpm-2.3.0 --subpackage
# generated by cabal-rpm-2.0.6
# 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 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
Name: cabal-install
Version: 3.0.0.0
Release: 4%{?dist}
Summary: The command-line interface for Cabal and Hackage
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/cabal-install
License: BSD
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
Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz
# End cabal-rpm sources
Source10: cabal-install.sh
# backport fix from https://github.com/haskell/cabal/issues/5813
Patch0: cabal-install-sdist-file-permissions.patch
# upstream patch copied from Debian
Patch1: cabal-install-hackage-security-0.6.patch
# Begin cabal-rpm deps:
BuildRequires: dos2unix
BuildRequires: ghc-rpm-macros-extra
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-Cabal-syntax-devel
BuildRequires: ghc-HTTP-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-async-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base16-bytestring-devel
BuildRequires: ghc-binary-devel
BuildRequires: ghc-bytestring-devel
#BuildRequires: ghc-cabal-install-solver-devel
BuildRequires: ghc-containers-devel
BuildRequires: ghc-cryptohash-sha256-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-echo-devel
BuildRequires: ghc-edit-distance-devel
BuildRequires: ghc-exceptions-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-hackage-security-devel
BuildRequires: ghc-hashable-devel
BuildRequires: ghc-lukko-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-network-uri-devel
BuildRequires: ghc-parsec-devel
BuildRequires: ghc-pretty-devel
BuildRequires: ghc-process-devel
BuildRequires: ghc-random-devel
BuildRequires: ghc-regex-base-devel
BuildRequires: ghc-regex-posix-devel
BuildRequires: ghc-resolv-devel
BuildRequires: ghc-safe-exceptions-devel
BuildRequires: ghc-stm-devel
BuildRequires: ghc-tar-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-time-devel
BuildRequires: ghc-unix-devel
BuildRequires: ghc-zlib-devel
%if %{with ghc_prof}
BuildRequires: ghc-Cabal-prof
BuildRequires: ghc-Cabal-syntax-prof
BuildRequires: ghc-HTTP-prof
BuildRequires: ghc-array-prof
BuildRequires: ghc-async-prof
BuildRequires: ghc-base-prof
BuildRequires: ghc-base16-bytestring-prof
BuildRequires: ghc-binary-prof
BuildRequires: ghc-bytestring-prof
#BuildRequires: ghc-cabal-install-solver-prof
BuildRequires: ghc-containers-prof
BuildRequires: ghc-cryptohash-sha256-prof
BuildRequires: ghc-directory-prof
BuildRequires: ghc-echo-prof
BuildRequires: ghc-edit-distance-prof
BuildRequires: ghc-exceptions-prof
BuildRequires: ghc-filepath-prof
BuildRequires: ghc-hackage-security-prof
BuildRequires: ghc-hashable-prof
BuildRequires: ghc-lukko-prof
BuildRequires: ghc-mtl-prof
BuildRequires: ghc-network-uri-prof
BuildRequires: ghc-parsec-prof
BuildRequires: ghc-pretty-prof
BuildRequires: ghc-process-prof
BuildRequires: ghc-random-prof
BuildRequires: ghc-regex-base-prof
BuildRequires: ghc-regex-posix-prof
BuildRequires: ghc-resolv-prof
BuildRequires: ghc-safe-exceptions-prof
BuildRequires: ghc-stm-prof
BuildRequires: ghc-tar-prof
BuildRequires: ghc-text-prof
BuildRequires: ghc-time-prof
BuildRequires: ghc-unix-prof
BuildRequires: ghc-zlib-prof
%endif
# for missing dep 'cabal-install-solver':
BuildRequires: ghc-transformers-devel
%if %{with ghc_prof}
BuildRequires: ghc-transformers-prof
%endif
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-Cabal-static
BuildRequires: ghc-HTTP-static
BuildRequires: ghc-array-static
BuildRequires: ghc-async-static
BuildRequires: ghc-base-static
BuildRequires: ghc-base16-bytestring-static
BuildRequires: ghc-binary-static
BuildRequires: ghc-bytestring-static
BuildRequires: ghc-containers-static
BuildRequires: ghc-cryptohash-sha256-static
BuildRequires: ghc-deepseq-static
BuildRequires: ghc-directory-static
BuildRequires: ghc-echo-static
BuildRequires: ghc-edit-distance-static
BuildRequires: ghc-filepath-static
BuildRequires: ghc-hackage-security-static
BuildRequires: ghc-hashable-static
BuildRequires: ghc-mtl-static
BuildRequires: ghc-network-static
BuildRequires: ghc-network-uri-static
BuildRequires: ghc-parsec-static
BuildRequires: ghc-pretty-static
BuildRequires: ghc-process-static
BuildRequires: ghc-random-static
BuildRequires: ghc-resolv-static
BuildRequires: ghc-stm-static
BuildRequires: ghc-tar-static
BuildRequires: ghc-text-static
BuildRequires: ghc-time-static
BuildRequires: ghc-unix-static
BuildRequires: ghc-zlib-static
# End cabal-rpm deps
# cabal-install 2.0 does not require Cabal
Requires: ghc-compiler
# for /etc/bash_completion.d/
Requires: filesystem
# nslookup used for mirror dns
@ -117,7 +61,6 @@ Requires: bind-utils
# for /etc/profile.d/
Requires: setup
Recommends: ghc
Recommends: zlib-devel
# added for F26
Obsoletes: %{name}-common < %{version}-%{release}
Obsoletes: %{name}-static < %{version}-%{release}
@ -128,75 +71,24 @@ software by automating the fetching, configuration, compilation and
installation of Haskell libraries and programs.
%package -n ghc-%{name}
Summary: Haskell %{name} library
%description -n ghc-%{name}
This package provides the Haskell %{name} shared library.
%package -n ghc-%{name}-devel
Summary: Haskell %{name} library development files
Provides: ghc-%{name}-static = %{version}-%{release}
Provides: ghc-%{name}-static%{?_isa} = %{version}-%{release}
%if %{defined ghc_version}
Requires: ghc-compiler = %{ghc_version}
%endif
Requires: ghc-%{name}%{?_isa} = %{version}-%{release}
%description -n ghc-%{name}-devel
This package provides the Haskell %{name} library development files.
%if %{with haddock}
%package -n ghc-%{name}-doc
Summary: Haskell %{name} library documentation
BuildArch: noarch
Requires: ghc-filesystem
%description -n ghc-%{name}-doc
This package provides the Haskell %{name} library documentation.
%endif
%if %{with ghc_prof}
%package -n ghc-%{name}-prof
Summary: Haskell %{name} profiling library
Requires: ghc-%{name}-devel%{?_isa} = %{version}-%{release}
Supplements: (ghc-%{name}-devel and ghc-prof)
%description -n ghc-%{name}-prof
This package provides the Haskell %{name} profiling library.
%endif
%global main_version %{version}
%if %{defined ghclibdir}
%ghc_lib_subpackage -l BSD-3-Clause %{cabalinstallsolver}
%endif
%global version %{main_version}
%prep
# Begin cabal-rpm setup:
%setup -q -a1
dos2unix -k -n %{SOURCE2} %{name}.cabal
%setup -q
chmod a-x README.md changelog
# End cabal-rpm setup
%patch0 -p1 -b .orig
%patch1 -p1 -b .orig
%build
# Begin cabal-rpm build:
%ghc_libs_build %{subpkgs}
%ghc_lib_build
%ghc_bin_build
# End cabal-rpm build
%install
# Begin cabal-rpm install
%ghc_libs_install %{subpkgs}
%ghc_lib_install
%ghc_bin_install
# End cabal-rpm install
install -pm 644 -D -t %{buildroot}%{_datadir}/bash-completion/completions/ bash-completion/cabal
@ -212,106 +104,10 @@ install -pm 644 -D -t %{buildroot}%{_sysconfdir}/profile.d/ %{SOURCE10}
# End cabal-rpm files
%config(noreplace) %{_sysconfdir}/profile.d/cabal-install.sh
%{_datadir}/bash-completion/completions/cabal
%files -n ghc-%{name} -f ghc-%{name}.files
# Begin cabal-rpm files:
%license LICENSE
# End cabal-rpm files
%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%doc README.md changelog
%if %{with haddock}
%files -n ghc-%{name}-doc -f ghc-%{name}-doc.files
%license LICENSE
%endif
%if %{with ghc_prof}
%files -n ghc-%{name}-prof -f ghc-%{name}-prof.files
%endif
%{_mandir}/man1/cabal.1*
%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
* Sat Jan 6 2024 Jens Petersen <petersen@redhat.com> - 3.8.1.0-4
- just use #8358 and #8627 to prevent redundant dist-newstyle/
* Sat Jan 6 2024 Jens Petersen <petersen@redhat.com> - 3.8.1.0-3
- prevent dist-newstyle/ directory creation for cabal update
https://github.com/haskell/cabal/issues/8589
* Fri Nov 3 2023 Jens Petersen <petersen@redhat.com> - 3.8.1.0-2
- fix pkgconfig-depends detection failing with pkgconf-1.9
* Wed Jul 26 2023 Jens Petersen <petersen@redhat.com> - 3.8.1.0-1
- https://hackage.haskell.org/package/cabal-install-3.8.1.0/changelog
- package library and subpackage cabal-install-resolver
* Sun Jan 22 2023 Jens Petersen <petersen@redhat.com> - 3.6.2.0-1
- https://hackage.haskell.org/package/cabal-install-3.6.2.0/changelog
- refresh to cabal-rpm-2.1.0 with SPDX migration
* Fri Sep 16 2022 Jens Petersen <petersen@redhat.com> - 3.2.0.0-9
- revert recommending ghcX.Y
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jun 17 2022 Jens Petersen <petersen@redhat.com> - 3.2.0.0-7
- rebuild
* Sat Apr 30 2022 Jens Petersen <petersen@redhat.com> - 3.2.0.0-6
- recommend ghc or ghcX.Y
* Thu Apr 21 2022 Jens Petersen <petersen@redhat.com> - 3.2.0.0-5
- drop the strict requires on ghc-compiler to allow ghcX.Y-compiler-default
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Jan 08 2022 Miro Hrončok <mhroncok@redhat.com> - 3.2.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34
* Thu Sep 9 2021 Jens Petersen <petersen@redhat.com> - 3.2.0.0-2
- recommends zlib-devel for convenience
- fix the sdist file permissions patch to compile in 3.2
* Thu Aug 5 2021 Jens Petersen <petersen@redhat.com> - 3.2.0.0-1
- update to 3.2.0.0
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

View file

@ -1,2 +1 @@
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.0.0.0.tar.gz) = 0b15313fc11bc6b6018e01b6a3a65242306977c16ce9333ea1191c1ce0020b180451235a7a65b47bc01791e05d1b246bf9d573fc7e981a46fcfc7da0fed04cca