update to 3.0.0.0

This commit is contained in:
Jens Petersen 2020-06-07 22:22:28 +08:00
parent eb9df7f6a1
commit c1454c468b
5 changed files with 89 additions and 359 deletions

1
.gitignore vendored
View File

@ -20,3 +20,4 @@ cabal-install-0.8.2.tar.gz
/resolv-0.1.1.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

View File

@ -1,352 +0,0 @@
Cabal-Version: >= 1.10
-- NOTE: This file is autogenerated from 'cabal-install.cabal.pp'.
-- DO NOT EDIT MANUALLY.
-- To update this file, edit 'cabal-install.cabal.pp' and run
-- 'make cabal-install-prod' in the project's root folder.
Name: cabal-install
Version: 2.4.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
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: BSD3
License-File: LICENSE
Author: Cabal Development Team (see AUTHORS file)
Maintainer: Cabal Development Team <cabal-devel@haskell.org>
Copyright: 2003-2018, Cabal Development Team
Category: Distribution
Build-type: Custom
Extra-Source-Files:
README.md bash-completion/cabal bootstrap.sh changelog
tests/README.md
-- Generated with 'make gen-extra-source-files'
-- Do NOT edit this section manually; instead, run the script.
-- BEGIN gen-extra-source-files
tests/IntegrationTests2/build/keep-going/cabal.project
tests/IntegrationTests2/build/keep-going/p/P.hs
tests/IntegrationTests2/build/keep-going/p/p.cabal
tests/IntegrationTests2/build/keep-going/q/Q.hs
tests/IntegrationTests2/build/keep-going/q/q.cabal
tests/IntegrationTests2/build/local-tarball/cabal.project
tests/IntegrationTests2/build/local-tarball/q/Q.hs
tests/IntegrationTests2/build/local-tarball/q/q.cabal
tests/IntegrationTests2/build/setup-custom1/A.hs
tests/IntegrationTests2/build/setup-custom1/Setup.hs
tests/IntegrationTests2/build/setup-custom1/a.cabal
tests/IntegrationTests2/build/setup-custom2/A.hs
tests/IntegrationTests2/build/setup-custom2/Setup.hs
tests/IntegrationTests2/build/setup-custom2/a.cabal
tests/IntegrationTests2/build/setup-simple/A.hs
tests/IntegrationTests2/build/setup-simple/Setup.hs
tests/IntegrationTests2/build/setup-simple/a.cabal
tests/IntegrationTests2/exception/bad-config/cabal.project
tests/IntegrationTests2/exception/build/Main.hs
tests/IntegrationTests2/exception/build/a.cabal
tests/IntegrationTests2/exception/configure/a.cabal
tests/IntegrationTests2/exception/no-pkg/empty.in
tests/IntegrationTests2/exception/no-pkg2/cabal.project
tests/IntegrationTests2/regression/3324/cabal.project
tests/IntegrationTests2/regression/3324/p/P.hs
tests/IntegrationTests2/regression/3324/p/p.cabal
tests/IntegrationTests2/regression/3324/q/Q.hs
tests/IntegrationTests2/regression/3324/q/q.cabal
tests/IntegrationTests2/targets/all-disabled/cabal.project
tests/IntegrationTests2/targets/all-disabled/p.cabal
tests/IntegrationTests2/targets/benchmarks-disabled/cabal.project
tests/IntegrationTests2/targets/benchmarks-disabled/p.cabal
tests/IntegrationTests2/targets/benchmarks-disabled/q/q.cabal
tests/IntegrationTests2/targets/complex/cabal.project
tests/IntegrationTests2/targets/complex/q/Q.hs
tests/IntegrationTests2/targets/complex/q/q.cabal
tests/IntegrationTests2/targets/empty-pkg/cabal.project
tests/IntegrationTests2/targets/empty-pkg/p.cabal
tests/IntegrationTests2/targets/empty/cabal.project
tests/IntegrationTests2/targets/empty/foo.hs
tests/IntegrationTests2/targets/exes-disabled/cabal.project
tests/IntegrationTests2/targets/exes-disabled/p/p.cabal
tests/IntegrationTests2/targets/exes-disabled/q/q.cabal
tests/IntegrationTests2/targets/lib-only/p.cabal
tests/IntegrationTests2/targets/libs-disabled/cabal.project
tests/IntegrationTests2/targets/libs-disabled/p/p.cabal
tests/IntegrationTests2/targets/libs-disabled/q/q.cabal
tests/IntegrationTests2/targets/multiple-exes/cabal.project
tests/IntegrationTests2/targets/multiple-exes/p.cabal
tests/IntegrationTests2/targets/multiple-libs/cabal.project
tests/IntegrationTests2/targets/multiple-libs/p/p.cabal
tests/IntegrationTests2/targets/multiple-libs/q/q.cabal
tests/IntegrationTests2/targets/multiple-tests/cabal.project
tests/IntegrationTests2/targets/multiple-tests/p.cabal
tests/IntegrationTests2/targets/simple/P.hs
tests/IntegrationTests2/targets/simple/cabal.project
tests/IntegrationTests2/targets/simple/p.cabal
tests/IntegrationTests2/targets/simple/q/QQ.hs
tests/IntegrationTests2/targets/simple/q/q.cabal
tests/IntegrationTests2/targets/test-only/p.cabal
tests/IntegrationTests2/targets/tests-disabled/cabal.project
tests/IntegrationTests2/targets/tests-disabled/p.cabal
tests/IntegrationTests2/targets/tests-disabled/q/q.cabal
tests/IntegrationTests2/targets/variety/cabal.project
tests/IntegrationTests2/targets/variety/p.cabal
-- END gen-extra-source-files
-- Additional manual extra-source-files:
tests/IntegrationTests2/build/local-tarball/p-0.1.tar.gz
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 debug-expensive-assertions
description: Enable expensive assertions for testing or debugging
default: False
manual: True
Flag debug-conflict-sets
description: Add additional information to ConflictSets
default: False
manual: True
Flag debug-tracetree
description: Compile in support for tracetree (used to debug the solver)
default: False
manual: True
custom-setup
setup-depends:
Cabal >= 2.2,
base,
process >= 1.1.0.1 && < 1.7,
filepath >= 1.3 && < 1.5
executable cabal
main-is: Main.hs
hs-source-dirs: main
default-language: Haskell2010
ghc-options: -Wall -fwarn-tabs
if impl(ghc >= 8.0)
ghc-options: -Wcompat
-Wnoncanonical-monad-instances
-Wnoncanonical-monadfail-instances
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
hs-source-dirs: .
other-modules:
Distribution.Client.BuildReports.Anonymous
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.CmdUpdate
Distribution.Client.CmdErrorMessages
Distribution.Client.CmdExec
Distribution.Client.CmdFreeze
Distribution.Client.CmdHaddock
Distribution.Client.CmdInstall
Distribution.Client.CmdRepl
Distribution.Client.CmdRun
Distribution.Client.CmdTest
Distribution.Client.CmdLegacy
Distribution.Client.CmdSdist
Distribution.Client.Compat.Directory
Distribution.Client.Compat.ExecutablePath
Distribution.Client.Compat.FileLock
Distribution.Client.Compat.FilePerms
Distribution.Client.Compat.Prelude
Distribution.Client.Compat.Process
Distribution.Client.Compat.Semaphore
Distribution.Client.Config
Distribution.Client.Configure
Distribution.Client.Dependency
Distribution.Client.Dependency.Types
Distribution.Client.DistDirLayout
Distribution.Client.Exec
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.HttpUtils
Distribution.Client.IndexUtils
Distribution.Client.IndexUtils.Timestamp
Distribution.Client.Init
Distribution.Client.Init.Heuristics
Distribution.Client.Init.Licenses
Distribution.Client.Init.Types
Distribution.Client.Install
Distribution.Client.InstallPlan
Distribution.Client.InstallSymlink
Distribution.Client.JobControl
Distribution.Client.List
Distribution.Client.Manpage
Distribution.Client.Nix
Distribution.Client.Outdated
Distribution.Client.PackageHash
Distribution.Client.PackageUtils
Distribution.Client.ParseUtils
Distribution.Client.ProjectBuilding
Distribution.Client.ProjectBuilding.Types
Distribution.Client.ProjectConfig
Distribution.Client.ProjectConfig.Legacy
Distribution.Client.ProjectConfig.Types
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.Index
Distribution.Client.Sandbox.PackageEnvironment
Distribution.Client.Sandbox.Timestamp
Distribution.Client.Sandbox.Types
Distribution.Client.SavedFlags
Distribution.Client.Security.DNS
Distribution.Client.Security.HTTP
Distribution.Client.Setup
Distribution.Client.SetupWrapper
Distribution.Client.SolverInstallPlan
Distribution.Client.SourceFiles
Distribution.Client.SourceRepoParse
Distribution.Client.SrcDist
Distribution.Client.Store
Distribution.Client.Tar
Distribution.Client.TargetSelector
Distribution.Client.Targets
Distribution.Client.Types
Distribution.Client.Update
Distribution.Client.Upload
Distribution.Client.Utils
Distribution.Client.Utils.Assertion
Distribution.Client.Utils.Json
Distribution.Client.VCS
Distribution.Client.Win32SelfUpgrade
Distribution.Client.World
Distribution.Solver.Compat.Prelude
Distribution.Solver.Modular
Distribution.Solver.Modular.Assignment
Distribution.Solver.Modular.Builder
Distribution.Solver.Modular.Configured
Distribution.Solver.Modular.ConfiguredConversion
Distribution.Solver.Modular.ConflictSet
Distribution.Solver.Modular.Cycles
Distribution.Solver.Modular.Dependency
Distribution.Solver.Modular.Explore
Distribution.Solver.Modular.Flag
Distribution.Solver.Modular.Index
Distribution.Solver.Modular.IndexConversion
Distribution.Solver.Modular.LabeledGraph
Distribution.Solver.Modular.Linking
Distribution.Solver.Modular.Log
Distribution.Solver.Modular.Message
Distribution.Solver.Modular.PSQ
Distribution.Solver.Modular.Package
Distribution.Solver.Modular.Preference
Distribution.Solver.Modular.RetryLog
Distribution.Solver.Modular.Solver
Distribution.Solver.Modular.Tree
Distribution.Solver.Modular.Validate
Distribution.Solver.Modular.Var
Distribution.Solver.Modular.Version
Distribution.Solver.Modular.WeightedPSQ
Distribution.Solver.Types.ComponentDeps
Distribution.Solver.Types.ConstraintSource
Distribution.Solver.Types.DependencyResolver
Distribution.Solver.Types.Flag
Distribution.Solver.Types.InstSolverPackage
Distribution.Solver.Types.InstalledPreference
Distribution.Solver.Types.LabeledPackageConstraint
Distribution.Solver.Types.OptionalStanza
Distribution.Solver.Types.PackageConstraint
Distribution.Solver.Types.PackageFixedDeps
Distribution.Solver.Types.PackageIndex
Distribution.Solver.Types.PackagePath
Distribution.Solver.Types.PackagePreferences
Distribution.Solver.Types.PkgConfigDb
Distribution.Solver.Types.Progress
Distribution.Solver.Types.ResolverPackage
Distribution.Solver.Types.Settings
Distribution.Solver.Types.SolverId
Distribution.Solver.Types.SolverPackage
Distribution.Solver.Types.SourcePackage
Distribution.Solver.Types.Variable
Paths_cabal_install
build-depends:
async >= 2.0 && < 2.3,
array >= 0.4 && < 0.6,
base >= 4.8 && < 4.13,
base16-bytestring >= 0.1.1 && < 0.2,
binary >= 0.7.3 && < 0.9,
bytestring >= 0.10.6.0 && < 0.11,
Cabal >= 2.4.1.0 && < 2.5,
containers >= 0.5.6.2 && < 0.7,
cryptohash-sha256 >= 0.11 && < 0.12,
deepseq >= 1.4.1.1 && < 1.5,
directory >= 1.2.2.0 && < 1.4,
echo >= 0.1.3 && < 0.2,
edit-distance >= 0.2.2 && < 0.3,
filepath >= 1.4.0.0 && < 1.5,
hashable >= 1.0 && < 1.4,
HTTP >= 4000.1.5 && < 4000.4,
mtl >= 2.0 && < 2.3,
network-uri >= 2.6.0.2 && < 2.7,
network >= 2.6 && < 3.2,
pretty >= 1.1 && < 1.2,
process >= 1.2.3.0 && < 1.7,
random >= 1 && < 1.2,
stm >= 2.0 && < 2.6,
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,
text >= 1.2.3 && < 1.3,
zip-archive >= 0.3.2.5 && < 0.5,
parsec >= 3.1.13.0 && < 3.2
if flag(native-dns)
if os(windows)
build-depends: windns >= 0.1.0 && < 0.2
else
build-depends: resolv >= 0.1.1 && < 0.2
if os(windows)
build-depends: Win32 >= 2 && < 3
else
build-depends: unix >= 2.5 && < 2.8
if flag(debug-expensive-assertions)
cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
if flag(debug-conflict-sets)
cpp-options: -DDEBUG_CONFLICT_SETS
build-depends: base >= 4.8
if flag(debug-tracetree)
cpp-options: -DDEBUG_TRACETREE
build-depends: tracetree >= 0.1 && < 0.2

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

@ -2,19 +2,20 @@
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
Name: cabal-install
Version: 2.4.1.0
Release: 2%{?dist}
Version: 3.0.0.0
Release: 1%{?dist}
Summary: The command-line interface for Cabal and Hackage
License: BSD
Url: https://hackage.haskell.org/package/%{name}
# Begin cabal-rpm sources:
Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz
Source1: https://hackage.haskell.org/package/%{name}-%{version}/%{name}.cabal#/%{name}-%{version}.cabal
# 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: ghc-rpm-macros
@ -48,7 +49,6 @@ BuildRequires: ghc-tar-static
BuildRequires: ghc-text-static
BuildRequires: ghc-time-static
BuildRequires: ghc-unix-static
BuildRequires: ghc-zip-archive-static
BuildRequires: ghc-zlib-static
# End cabal-rpm deps
@ -74,10 +74,9 @@ installation of Haskell libraries and programs.
%prep
# Begin cabal-rpm setup:
%setup -q
cp -bp %{SOURCE1} %{name}.cabal
# End cabal-rpm setup
cabal-tweak-dep-ver Cabal '>= 2.4.1.0' '>= 2.4.0.0'
%patch0 -p1 -b .orig
%patch1 -p1 -b .orig
%build
@ -109,6 +108,9 @@ install -pm 644 -D -t %{buildroot}%{_sysconfdir}/profile.d/ %{SOURCE10}
%changelog
* Sun Jun 07 2020 Jens Petersen <petersen@redhat.com> - 3.0.0.0-1
- update to 3.0.0.0
* Tue Apr 14 2020 Jens Petersen <petersen@redhat.com> - 2.4.1.0-2
- backport new-sdist upstream fix for doc file permissions
(https://github.com/haskell/cabal/issues/5813)

View File

@ -1 +1 @@
SHA512 (cabal-install-2.4.1.0.tar.gz) = 4c493448724fd3c073dd61133f4c8ae757ae97fb4c3e2b4db23dcb99894a8e790ec71d0d1fb6f58702f347143261092c0fc556741b7d5fcb192edd308e8182f4
SHA512 (cabal-install-3.0.0.0.tar.gz) = 0b15313fc11bc6b6018e01b6a3a65242306977c16ce9333ea1191c1ce0020b180451235a7a65b47bc01791e05d1b246bf9d573fc7e981a46fcfc7da0fed04cca