diff --git a/.gitignore b/.gitignore index 6d5eb9b..54e0802 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,11 @@ cabal-install-0.8.2.tar.gz /cabal-install-2.2.0.0.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 +/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 diff --git a/cabal-install-2.4.0.0.cabal b/cabal-install-2.4.0.0.cabal deleted file mode 100644 index a78fe9a..0000000 --- a/cabal-install-2.4.0.0.cabal +++ /dev/null @@ -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.0.0 -x-revision: 2 -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 -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.0.1 && < 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 && < 2, - HTTP >= 4000.1.5 && < 4000.4, - mtl >= 2.0 && < 2.3, - network-uri >= 2.6.0.2 && < 2.7, - network >= 2.6 && < 2.9, - 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.4, - 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 diff --git a/cabal-install-3.10.3.0.cabal b/cabal-install-3.10.3.0.cabal new file mode 100644 index 0000000..be84b9d --- /dev/null +++ b/cabal-install-3.10.3.0.cabal @@ -0,0 +1,432 @@ +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 +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 diff --git a/cabal-install.spec b/cabal-install.spec index e719d0a..f27098f 100644 --- a/cabal-install.spec +++ b/cabal-install.spec @@ -1,65 +1,123 @@ -# generated by cabal-rpm-1.0.1 -# https://fedoraproject.org/wiki/Packaging:Haskell +# generated by cabal-rpm-2.3.0 --subpackage +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ -Name: cabal-install -Version: 2.4.0.0 -Release: 1%{?dist} +%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 +Release: 4%{?dist} Summary: The command-line interface for Cabal and Hackage -License: BSD -Url: https://hackage.haskell.org/package/%{name} +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/cabal-install # 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 +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 # Begin cabal-rpm deps: -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-zip-archive-static -BuildRequires: ghc-zlib-static +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 # 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 Requires: bind-utils # for /etc/profile.d/ Requires: setup -Obsoletes: cabal-dev < 0.9.2-5 +Recommends: ghc +Recommends: zlib-devel # added for F26 Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-static < %{version}-%{release} @@ -70,23 +128,75 @@ 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 -cp -bp %{SOURCE1} %{name}.cabal +%setup -q -a1 +dos2unix -k -n %{SOURCE2} %{name}.cabal # End cabal-rpm setup -cabal-tweak-dep-ver zip-archive '< 0.4' '< 0.4.2' %build # Begin cabal-rpm build: -%ghc_bin_build +%ghc_libs_build %{subpkgs} +%ghc_lib_build # End cabal-rpm build %install # Begin cabal-rpm install -%ghc_bin_install +%ghc_libs_install %{subpkgs} +%ghc_lib_install # End cabal-rpm install install -pm 644 -D -t %{buildroot}%{_datadir}/bash-completion/completions/ bash-completion/cabal @@ -102,10 +212,128 @@ 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 -%{_mandir}/man1/cabal.1* + + +%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 %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 3.10.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Mar 30 2025 Jens Petersen - 3.10.3.0-3 +- Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 3.10.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Jul 21 2024 Jens Petersen - 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 - 3.8.1.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Feb 15 2024 Jens Petersen - 3.8.1.0-7 +- rebuild to fix s390x segfault (#2248097) + +* Tue Jan 23 2024 Fedora Release Engineering - 3.8.1.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 3.8.1.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 6 2024 Jens Petersen - 3.8.1.0-4 +- just use #8358 and #8627 to prevent redundant dist-newstyle/ + +* Sat Jan 6 2024 Jens Petersen - 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 - 3.8.1.0-2 +- fix pkgconfig-depends detection failing with pkgconf-1.9 + +* Wed Jul 26 2023 Jens Petersen - 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 - 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 - 3.2.0.0-9 +- revert recommending ghcX.Y + +* Wed Jul 20 2022 Fedora Release Engineering - 3.2.0.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jun 17 2022 Jens Petersen - 3.2.0.0-7 +- rebuild + +* Sat Apr 30 2022 Jens Petersen - 3.2.0.0-6 +- recommend ghc or ghcX.Y + +* Thu Apr 21 2022 Jens Petersen - 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 - 3.2.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jan 08 2022 Miro HronĨok - 3.2.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 + +* Thu Sep 9 2021 Jens Petersen - 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 - 3.2.0.0-1 +- update to 3.2.0.0 + +* Wed Jul 21 2021 Fedora Release Engineering - 3.0.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 3.0.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Dec 12 2020 Jens Petersen - 3.0.0.0-3 +- Recommends ghc (thanks Tristan de Cacqueray,#1) + +* Mon Jul 27 2020 Fedora Release Engineering - 3.0.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jun 07 2020 Jens Petersen - 3.0.0.0-1 +- update to 3.0.0.0 + +* Tue Apr 14 2020 Jens Petersen - 2.4.1.0-2 +- backport new-sdist upstream fix for doc file permissions + (https://github.com/haskell/cabal/issues/5813) + +* Sun Feb 09 2020 Jens Petersen - 2.4.1.0-1 +- update to 2.4.1.0 + +* Tue Jan 28 2020 Fedora Release Engineering - 2.4.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Jul 25 2019 Jens Petersen - 2.4.1.0-1 - update to 2.4.1.0 diff --git a/sources b/sources index ee0cf1d..aff1f29 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (cabal-install-2.4.0.0.tar.gz) = caf49ec35d5665164b76db3a6219c0409243fb80fd7a740a91933732fbb26fc3efef88ddc3d769a76d0f76811ea83a6a7effdab5ad8264da808d4469c9faf125 +SHA512 (cabal-install-3.10.3.0.tar.gz) = e004dfc05903316c3264aa7a056d287e25f0589fa9adea2e93114e1750f3ae9774177b5d274c78fee37b6ba4bd5c03455d72437258b168607c2a81856ef06ddb +SHA512 (cabal-install-solver-3.10.3.0.tar.gz) = e8dcd0aaeb06ba5192536e3f51550bfa5239ca9377ae21c36dea377f79c28fe2c249381fb648f304d84d9a93c7b93793f44de23262ea907f710b28f7f548d13a diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..f44b065 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,14 @@ +--- +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-basic + required_packages: + - cabal-install + tests: + - help: + run: cabal --help + - update: + run: cabal update +...