diff --git a/packages/0/000update-repos/.files b/packages/0/000update-repos/.files
index bf39dfe4c16..d1a2f7a423b 100644
Binary files a/packages/0/000update-repos/.files and b/packages/0/000update-repos/.files differ
diff --git a/packages/0/000update-repos/.rev b/packages/0/000update-repos/.rev
index b5a7a3fe06f..5ca13eaa36b 100644
--- a/packages/0/000update-repos/.rev
+++ b/packages/0/000update-repos/.rev
@@ -16903,4 +16903,11 @@ Switch to repomd for 42.1, its susetags are bugged
staging-bot
Automatic update
+
+ c22c01ab671791f5ece444dac63d4ae7
+ unknown
+
+ staging-bot
+ Automatic update
+
diff --git a/packages/0/000update-repos/15.6:update_1734714147.packages.zst b/packages/0/000update-repos/15.6:update_1734714147.packages.zst
new file mode 120000
index 00000000000..7df5b2f701e
--- /dev/null
+++ b/packages/0/000update-repos/15.6:update_1734714147.packages.zst
@@ -0,0 +1 @@
+/ipfs/bafkreibf6inmrq3u56jtuxdmk5qiu4u64a5wptoauh6kmttk22caheyosq
\ No newline at end of file
diff --git a/packages/0/000update-repos/factory:non-oss_4238.2.packages.zst b/packages/0/000update-repos/factory:non-oss_4238.2.packages.zst
new file mode 120000
index 00000000000..fa10e255435
--- /dev/null
+++ b/packages/0/000update-repos/factory:non-oss_4238.2.packages.zst
@@ -0,0 +1 @@
+/ipfs/bafkreier7lml3krazcotfjktpxt4brj2qzcby3z24ifmqdoin3dfvvduya
\ No newline at end of file
diff --git a/packages/0/000update-repos/factory_20241218.packages.zst b/packages/0/000update-repos/factory_20241218.packages.zst
new file mode 120000
index 00000000000..1ba1ac37f70
--- /dev/null
+++ b/packages/0/000update-repos/factory_20241218.packages.zst
@@ -0,0 +1 @@
+/ipfs/bafkreig7dmi7i54vacrmft3pomadw37kuju2niml32a2wcxwj5zyt5kme4
\ No newline at end of file
diff --git a/packages/_/_project/_staging_workflow b/packages/_/_project/_staging_workflow
index 97edf488eca..c124c5ee680 100644
--- a/packages/_/_project/_staging_workflow
+++ b/packages/_/_project/_staging_workflow
@@ -104,24 +104,14 @@
-
-
-
-
-
-
-
+
+
-
-
-
-
-
diff --git a/packages/c/c2hs/.files b/packages/c/c2hs/.files
index dde0466ae19..dcefa957e07 100644
Binary files a/packages/c/c2hs/.files and b/packages/c/c2hs/.files differ
diff --git a/packages/c/c2hs/.rev b/packages/c/c2hs/.rev
index 1a06eb8f016..26501a3f03f 100644
--- a/packages/c/c2hs/.rev
+++ b/packages/c/c2hs/.rev
@@ -63,4 +63,12 @@
version update
1077764
+
+ 5f82788ec02ea35950e67e75a6e127b9
+ 0.28.8
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231406
+
diff --git a/packages/c/c2hs/c2hs.cabal b/packages/c/c2hs/c2hs.cabal
index 1e315dbd740..7058e7d576e 100644
--- a/packages/c/c2hs/c2hs.cabal
+++ b/packages/c/c2hs/c2hs.cabal
@@ -1,6 +1,6 @@
Name: c2hs
Version: 0.28.8
-x-revision: 2
+x-revision: 3
License: GPL-2
License-File: COPYING
Copyright: Copyright (c) 1999-2007 Manuel M T Chakravarty
@@ -116,7 +116,7 @@ flag base3
Executable c2hs
Build-Depends: base >= 2 && < 5,
bytestring,
- language-c >= 0.7.1 && < 0.10,
+ language-c >= 0.7.1 && < 0.11,
filepath,
dlist
diff --git a/packages/c/c2hs/c2hs.changes b/packages/c/c2hs/c2hs.changes
index e27503889e3..d4d41fa35bb 100644
--- a/packages/c/c2hs/c2hs.changes
+++ b/packages/c/c2hs/c2hs.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Sun Nov 17 23:17:56 UTC 2024 - Peter Simons
+
+- Update c2hs to version 0.28.8 revision 3.
+ Upstream has revised the Cabal build instructions on Hackage.
+
-------------------------------------------------------------------
Thu Apr 6 12:24:04 UTC 2023 - Peter Simons
diff --git a/packages/c/c2hs/c2hs.spec b/packages/c/c2hs/c2hs.spec
index 3da202a0af8..0296961f37e 100644
--- a/packages/c/c2hs/c2hs.spec
+++ b/packages/c/c2hs/c2hs.spec
@@ -1,7 +1,7 @@
#
# spec file for package c2hs
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@ Summary: C->Haskell FFI tool that gives some cross-language type safety
License: GPL-2.0-or-later
URL: https://hackage.haskell.org/package/%{name}
Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{name}-%{version}/revision/2.cabal#/%{name}.cabal
+Source1: https://hackage.haskell.org/package/%{name}-%{version}/revision/3.cabal#/%{name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-array-prof
diff --git a/packages/c/cabal-install/.files b/packages/c/cabal-install/.files
index 32248096a90..61c073e4fa0 100644
Binary files a/packages/c/cabal-install/.files and b/packages/c/cabal-install/.files differ
diff --git a/packages/c/cabal-install/.rev b/packages/c/cabal-install/.rev
index 2b7089fe8d6..e624ce51676 100644
--- a/packages/c/cabal-install/.rev
+++ b/packages/c/cabal-install/.rev
@@ -344,4 +344,12 @@
1218655
+
+ 060447398a74ad5797b154777f139947
+ 3.12.1.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231408
+
diff --git a/packages/c/cabal-install/cabal-install-3.10.3.0.tar.gz b/packages/c/cabal-install/cabal-install-3.10.3.0.tar.gz
deleted file mode 120000
index 5cffeca2d00..00000000000
--- a/packages/c/cabal-install/cabal-install-3.10.3.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiafaficqlmb4wn3zw2whli4q2gnvalwo3yveob37azznoufzhxuwi
\ No newline at end of file
diff --git a/packages/c/cabal-install/cabal-install-3.12.1.0.tar.gz b/packages/c/cabal-install/cabal-install-3.12.1.0.tar.gz
new file mode 120000
index 00000000000..fe96f4b25ad
--- /dev/null
+++ b/packages/c/cabal-install/cabal-install-3.12.1.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeidlaxs7qwakqthjyge6q4f64yqwg3dtzp2et7abhmtmghd6gxqdqu
\ No newline at end of file
diff --git a/packages/c/cabal-install/cabal-install.cabal b/packages/c/cabal-install/cabal-install.cabal
deleted file mode 100644
index be84b9d9bf8..00000000000
--- a/packages/c/cabal-install/cabal-install.cabal
+++ /dev/null
@@ -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
-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/packages/c/cabal-install/cabal-install.changes b/packages/c/cabal-install/cabal-install.changes
index d1bdd3aba34..e84146a1afe 100644
--- a/packages/c/cabal-install/cabal-install.changes
+++ b/packages/c/cabal-install/cabal-install.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Fri Jun 28 18:09:25 UTC 2024 - Peter Simons
+
+- Update cabal-install to version 3.12.1.0.
+ 3.12.1.0 Artem Pelenitsyn June 2024
+ * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.12.1.0.md
+
+ 3.10.2.0 Hécate August 2023
+
-------------------------------------------------------------------
Thu Mar 21 22:04:44 UTC 2024 - Peter Simons
diff --git a/packages/c/cabal-install/cabal-install.spec b/packages/c/cabal-install/cabal-install.spec
index f9d5c9daed1..0c5bd81e064 100644
--- a/packages/c/cabal-install/cabal-install.spec
+++ b/packages/c/cabal-install/cabal-install.spec
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: %{pkg_name}
-Version: 3.10.3.0
+Version: 3.12.1.0
Release: 0
Summary: The command-line interface for Cabal and Hackage
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{name}
Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{name}-%{version}/revision/1.cabal#/%{name}.cabal
BuildRequires: chrpath
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-Cabal-prof
@@ -72,6 +71,8 @@ BuildRequires: ghc-mtl-devel
BuildRequires: ghc-mtl-prof
BuildRequires: ghc-network-uri-devel
BuildRequires: ghc-network-uri-prof
+BuildRequires: ghc-open-browser-devel
+BuildRequires: ghc-open-browser-prof
BuildRequires: ghc-parsec-devel
BuildRequires: ghc-parsec-prof
BuildRequires: ghc-pretty-devel
@@ -89,6 +90,8 @@ BuildRequires: ghc-resolv-prof
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-safe-exceptions-devel
BuildRequires: ghc-safe-exceptions-prof
+BuildRequires: ghc-semaphore-compat-devel
+BuildRequires: ghc-semaphore-compat-prof
BuildRequires: ghc-stm-devel
BuildRequires: ghc-stm-prof
BuildRequires: ghc-tar-devel
@@ -107,6 +110,8 @@ BuildRequires: ghc-Cabal-QuickCheck-devel
BuildRequires: ghc-Cabal-QuickCheck-prof
BuildRequires: ghc-Cabal-described-devel
BuildRequires: ghc-Cabal-described-prof
+BuildRequires: ghc-Cabal-tests-devel
+BuildRequires: ghc-Cabal-tests-prof
BuildRequires: ghc-Cabal-tree-diff-devel
BuildRequires: ghc-Cabal-tree-diff-prof
BuildRequires: ghc-QuickCheck-devel
@@ -168,7 +173,9 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup
-cp -p %{SOURCE1} %{name}.cabal
+cabal-tweak-dep-ver Cabal '^>=3.12.1.0' '< 4'
+cabal-tweak-dep-ver Cabal-syntax '^>=3.12.1.0' '< 4'
+cabal-tweak-dep-ver hashable '< 1.5' '< 2'
%build
%ghc_lib_build
diff --git a/packages/c/cabal-plan/.files b/packages/c/cabal-plan/.files
index 2be49490e7f..b7bf8d53a18 100644
Binary files a/packages/c/cabal-plan/.files and b/packages/c/cabal-plan/.files differ
diff --git a/packages/c/cabal-plan/.rev b/packages/c/cabal-plan/.rev
index 852d8e19f9b..23b1b393c54 100644
--- a/packages/c/cabal-plan/.rev
+++ b/packages/c/cabal-plan/.rev
@@ -119,4 +119,12 @@
version update
1181056
+
+ 5a26bbb58e3a5c05e781c8c9bac94083
+ 0.7.4.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231409
+
diff --git a/packages/c/cabal-plan/cabal-plan.changes b/packages/c/cabal-plan/cabal-plan.changes
index 978653dfdb0..1897b4904ee 100644
--- a/packages/c/cabal-plan/cabal-plan.changes
+++ b/packages/c/cabal-plan/cabal-plan.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:49:15 UTC 2024 - Peter Simons
+
+- Use prettier Cabal flag specification; no functional change.
+
-------------------------------------------------------------------
Sat Jun 8 16:15:36 UTC 2024 - Peter Simons
diff --git a/packages/c/cabal-plan/cabal-plan.spec b/packages/c/cabal-plan/cabal-plan.spec
index fcddb76778b..062406f1ddc 100644
--- a/packages/c/cabal-plan/cabal-plan.spec
+++ b/packages/c/cabal-plan/cabal-plan.spec
@@ -140,7 +140,7 @@ This package provides the Haskell %{pkg_name} profiling library.
cabal-tweak-dep-ver ansi-terminal "^>=1.1" "< 2"
%build
-%define cabal_configure_options -fexe
+%define cabal_configure_options -f+exe
%ghc_lib_build
%install
diff --git a/packages/g/ghc-Diff/.files b/packages/g/ghc-Diff/.files
index 46c92d5afe2..ca43c133021 100644
Binary files a/packages/g/ghc-Diff/.files and b/packages/g/ghc-Diff/.files differ
diff --git a/packages/g/ghc-Diff/.rev b/packages/g/ghc-Diff/.rev
index e23b4c7de79..6428f1eea87 100644
--- a/packages/g/ghc-Diff/.rev
+++ b/packages/g/ghc-Diff/.rev
@@ -71,4 +71,12 @@
update for ghc-9.4.4
1075854
+
+ ebe4b24cbb0618d890406a7ed365aac1
+ 1.0.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231411
+
diff --git a/packages/g/ghc-Diff/Diff-0.4.1.tar.gz b/packages/g/ghc-Diff/Diff-0.4.1.tar.gz
deleted file mode 120000
index f718d8ce229..00000000000
--- a/packages/g/ghc-Diff/Diff-0.4.1.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreih5lzfkvrzbtpf3csbu7ocyb27avluqlfmnbllu6uzy5iuqwnzgoa
\ No newline at end of file
diff --git a/packages/g/ghc-Diff/Diff-1.0.2.tar.gz b/packages/g/ghc-Diff/Diff-1.0.2.tar.gz
new file mode 120000
index 00000000000..dacdb7013dc
--- /dev/null
+++ b/packages/g/ghc-Diff/Diff-1.0.2.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreignpytnhvpl67zmdj2sllv6eup3zp764ktdmlnwgs2l4i5z4nknqu
\ No newline at end of file
diff --git a/packages/g/ghc-Diff/ghc-Diff.changes b/packages/g/ghc-Diff/ghc-Diff.changes
index 6d18041141e..1b776ffda6c 100644
--- a/packages/g/ghc-Diff/ghc-Diff.changes
+++ b/packages/g/ghc-Diff/ghc-Diff.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Fri Nov 15 17:54:12 UTC 2024 - Peter Simons
+
+- Update Diff to version 1.0.2.
+ Upstream added a new change log file in this release. With no
+ previous version to compare against, the automatic updater cannot
+ reliable determine the relevante entries for this release.
+
-------------------------------------------------------------------
Thu Mar 30 17:06:36 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-Diff/ghc-Diff.spec b/packages/g/ghc-Diff/ghc-Diff.spec
index 9431f544537..2b90c17c416 100644
--- a/packages/g/ghc-Diff/ghc-Diff.spec
+++ b/packages/g/ghc-Diff/ghc-Diff.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-Diff
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,9 +20,9 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.4.1
+Version: 1.0.2
Release: 0
-Summary: O(ND) diff algorithm in haskell
+Summary: Diff algorithm in pure Haskell
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
@@ -49,8 +49,10 @@ BuildRequires: ghc-test-framework-quickcheck2-prof
%endif
%description
-Implementation of the standard diff algorithm, and utilities for pretty
-printing.
+Implementation of the standard diff algorithm in Haskell.
+
+Time complexity is O(ND) (input length * number of differences). Space
+complexity is O(D^2). Includes utilities for pretty printing.
%package devel
Summary: Haskell %{pkg_name} library development files
@@ -100,6 +102,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%license LICENSE
%files devel -f %{name}-devel.files
+%doc CHANGELOG.md
%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
%license LICENSE
diff --git a/packages/g/ghc-QuickCheck/.files b/packages/g/ghc-QuickCheck/.files
index 932b82b8183..52d999b6e25 100644
Binary files a/packages/g/ghc-QuickCheck/.files and b/packages/g/ghc-QuickCheck/.files differ
diff --git a/packages/g/ghc-QuickCheck/.rev b/packages/g/ghc-QuickCheck/.rev
index 386a21614a6..72c7588dc5c 100644
--- a/packages/g/ghc-QuickCheck/.rev
+++ b/packages/g/ghc-QuickCheck/.rev
@@ -239,4 +239,12 @@
version update
1094445
+
+ c6f9921e57926154f2af6bea266223f4
+ 2.15.0.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231412
+
diff --git a/packages/g/ghc-QuickCheck/QuickCheck-2.14.3.tar.gz b/packages/g/ghc-QuickCheck/QuickCheck-2.14.3.tar.gz
deleted file mode 120000
index b695a4e6ef0..00000000000
--- a/packages/g/ghc-QuickCheck/QuickCheck-2.14.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreic4b4rlg2ziugupueilhamyddj7ffeuuoyn5w5ofgpqmqjdzjyfae
\ No newline at end of file
diff --git a/packages/g/ghc-QuickCheck/QuickCheck-2.15.0.1.tar.gz b/packages/g/ghc-QuickCheck/QuickCheck-2.15.0.1.tar.gz
new file mode 120000
index 00000000000..f5e52fddfb2
--- /dev/null
+++ b/packages/g/ghc-QuickCheck/QuickCheck-2.15.0.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreifdwiqw3w5pjao3zasbjnqsb6fxe3mwtwz7bni7ect2ivbf543op4
\ No newline at end of file
diff --git a/packages/g/ghc-QuickCheck/ghc-QuickCheck.changes b/packages/g/ghc-QuickCheck/ghc-QuickCheck.changes
index e6ad9e21a3a..32e2c69f2ab 100644
--- a/packages/g/ghc-QuickCheck/ghc-QuickCheck.changes
+++ b/packages/g/ghc-QuickCheck/ghc-QuickCheck.changes
@@ -1,3 +1,37 @@
+-------------------------------------------------------------------
+Mon May 27 14:54:43 UTC 2024 - Peter Simons
+
+- Update QuickCheck to version 2.15.0.1.
+ QuickCheck 2.15
+ * BREAKING: properties without quantification are no longer implicitly
+ wrapped in once
+ * Add witness property modifier and witnesses field in result on
+ compilers that support Typeable to allow conveniently exposing
+ counterexamples
+ * Add assertException, assertExceptionIO, assertDeepException, and
+ assertDeepExceptionIO (thanks to Alexey Kuleshevich)
+ * Add withMaxSize, withMaxShrinks, and withMaxDiscardRatio combinators
+ * Add recheck
+ * Add HasCallStack to partial top-level functions
+ * Updated some documentation
+ * Fix overflow bug when calculating discard ratio
+ * Fix error printing bug when shrinks are discarded
+ * Fix withMaxSuccess not working when checkCoverage is turned on
+ * Fix a bug whereby an unfortunately timed discard could unduly fail a
+ property running with checkCoverage
+ * Fix Arbitrary intance for Map breaking invariants from
+ Data.Map.Strict (thanks to Neil Mayhew)
+ * Fix non-covered classes not showing up in output as 0% covered
+ * Fix Negative's Arbitrary instance discarding an unnecessary number
+ of generated values.
+ * Fix promote doing an unnecessary seed split
+ * Fix a bug whereby maxSuccess and discardRatio would interact poorly
+ to produce too few size increases.
+ * Fix a couple of underflow bugs in generators for Small Natural and
+ Ratio Natural
+ * Fix a bug whereby the internal DISCARDED exception would show up
+ user-side in sample
+
-------------------------------------------------------------------
Wed May 31 15:38:24 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-QuickCheck/ghc-QuickCheck.spec b/packages/g/ghc-QuickCheck/ghc-QuickCheck.spec
index 2569905f01b..3d9839e5d43 100644
--- a/packages/g/ghc-QuickCheck/ghc-QuickCheck.spec
+++ b/packages/g/ghc-QuickCheck/ghc-QuickCheck.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-QuickCheck
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 2.14.3
+Version: 2.15.0.1
Release: 0
Summary: Automatic testing of Haskell programs
License: BSD-3-Clause
diff --git a/packages/g/ghc-X11/.files b/packages/g/ghc-X11/.files
index 0bac2b8484d..142bce17b90 100644
Binary files a/packages/g/ghc-X11/.files and b/packages/g/ghc-X11/.files differ
diff --git a/packages/g/ghc-X11/.rev b/packages/g/ghc-X11/.rev
index 85ae49242c6..8f826dedf6d 100644
--- a/packages/g/ghc-X11/.rev
+++ b/packages/g/ghc-X11/.rev
@@ -95,4 +95,12 @@
update for ghc-9.4.4
1076128
+
+ ac066fe0f49f25a2e603f33295213779
+ 1.10.3
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231413
+
diff --git a/packages/g/ghc-X11/ghc-X11.changes b/packages/g/ghc-X11/ghc-X11.changes
index adf2b989a47..652e744ee20 100644
--- a/packages/g/ghc-X11/ghc-X11.changes
+++ b/packages/g/ghc-X11/ghc-X11.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:50:32 UTC 2024 - Peter Simons
+
+- Jailbreak version constraint on data-default-class to fix the build.
+
-------------------------------------------------------------------
Thu Mar 30 17:09:04 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-X11/ghc-X11.spec b/packages/g/ghc-X11/ghc-X11.spec
index dcec0e6f7c5..83894e09388 100644
--- a/packages/g/ghc-X11/ghc-X11.spec
+++ b/packages/g/ghc-X11/ghc-X11.spec
@@ -79,6 +79,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
+cabal-tweak-dep-ver data-default-class '== 0.1.*' '< 1'
%build
%ghc_lib_build
diff --git a/packages/g/ghc-aeson-pretty/.files b/packages/g/ghc-aeson-pretty/.files
index 90c94bc1ceb..a0e22639e58 100644
Binary files a/packages/g/ghc-aeson-pretty/.files and b/packages/g/ghc-aeson-pretty/.files differ
diff --git a/packages/g/ghc-aeson-pretty/.rev b/packages/g/ghc-aeson-pretty/.rev
index 36dccde2010..25e05226673 100644
--- a/packages/g/ghc-aeson-pretty/.rev
+++ b/packages/g/ghc-aeson-pretty/.rev
@@ -162,4 +162,12 @@
Automatic submission by obs-autosubmit
1097774
+
+ 660023a270055e037acc30fd65a3996e
+ 0.8.10
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231414
+
diff --git a/packages/g/ghc-aeson-pretty/ghc-aeson-pretty.changes b/packages/g/ghc-aeson-pretty/ghc-aeson-pretty.changes
index 904d8caf5ec..9396edcb99e 100644
--- a/packages/g/ghc-aeson-pretty/ghc-aeson-pretty.changes
+++ b/packages/g/ghc-aeson-pretty/ghc-aeson-pretty.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:53:32 UTC 2024 - Peter Simons
+
+- Re-generate spec file with a recent versions of Cabal.
+
-------------------------------------------------------------------
Sat Jul 1 07:33:14 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-aeson-pretty/ghc-aeson-pretty.spec b/packages/g/ghc-aeson-pretty/ghc-aeson-pretty.spec
index 5a62de8feb1..d525be6060a 100644
--- a/packages/g/ghc-aeson-pretty/ghc-aeson-pretty.spec
+++ b/packages/g/ghc-aeson-pretty/ghc-aeson-pretty.spec
@@ -25,15 +25,22 @@ Summary: JSON pretty-printing library and command-line tool
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+BuildRequires: chrpath
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-aeson-prof
+BuildRequires: ghc-attoparsec-aeson-devel
+BuildRequires: ghc-attoparsec-aeson-prof
+BuildRequires: ghc-attoparsec-devel
+BuildRequires: ghc-attoparsec-prof
BuildRequires: ghc-base-compat-devel
BuildRequires: ghc-base-compat-prof
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-bytestring-prof
+BuildRequires: ghc-cmdargs-devel
+BuildRequires: ghc-cmdargs-prof
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-scientific-devel
BuildRequires: ghc-scientific-prof
@@ -90,11 +97,12 @@ This package provides the Haskell %{pkg_name} profiling library.
%autosetup -n %{pkg_name}-%{version}
%build
-%define cabal_configure_options -flib-only
+%define cabal_configure_options -f+lib-only
%ghc_lib_build
%install
%ghc_lib_install
+%ghc_fix_rpath %{pkg_name}-%{version}
%post devel
%ghc_pkg_recache
diff --git a/packages/g/ghc-ansi-terminal-types/.files b/packages/g/ghc-ansi-terminal-types/.files
index 75a7c4a51ea..928014b6be6 100644
Binary files a/packages/g/ghc-ansi-terminal-types/.files and b/packages/g/ghc-ansi-terminal-types/.files differ
diff --git a/packages/g/ghc-ansi-terminal-types/.rev b/packages/g/ghc-ansi-terminal-types/.rev
index 9ed0d42399b..12db7babadf 100644
--- a/packages/g/ghc-ansi-terminal-types/.rev
+++ b/packages/g/ghc-ansi-terminal-types/.rev
@@ -7,4 +7,12 @@
update for ghc-9.4.4
1075760
+
+ dd990325240edd13d98eedbfbe50dee3
+ 1.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231416
+
diff --git a/packages/g/ghc-ansi-terminal-types/ansi-terminal-types-0.11.5.tar.gz b/packages/g/ghc-ansi-terminal-types/ansi-terminal-types-0.11.5.tar.gz
deleted file mode 120000
index 5c0e0d10503..00000000000
--- a/packages/g/ghc-ansi-terminal-types/ansi-terminal-types-0.11.5.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreif7pmrqhcpugecractnk5aiejmyvcftr2vppucc3zmvzt3s3nh52e
\ No newline at end of file
diff --git a/packages/g/ghc-ansi-terminal-types/ansi-terminal-types-1.1.tar.gz b/packages/g/ghc-ansi-terminal-types/ansi-terminal-types-1.1.tar.gz
new file mode 120000
index 00000000000..59061152435
--- /dev/null
+++ b/packages/g/ghc-ansi-terminal-types/ansi-terminal-types-1.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreihs4uzt5n4nux2n2mypzigidjmso3gbkddckzd42ihvpn7ss6s5eu
\ No newline at end of file
diff --git a/packages/g/ghc-ansi-terminal-types/ansi-terminal-types.cabal b/packages/g/ghc-ansi-terminal-types/ansi-terminal-types.cabal
deleted file mode 100644
index 5f9342f2332..00000000000
--- a/packages/g/ghc-ansi-terminal-types/ansi-terminal-types.cabal
+++ /dev/null
@@ -1,34 +0,0 @@
-Name: ansi-terminal-types
-Version: 0.11.5
-x-revision: 1
-Cabal-Version: >= 1.10
-Category: User Interfaces
-Synopsis: Types and functions used to represent SGR aspects
-Description: The \'ANSI\' standards refer to the visual style of
- displaying characters as their \'graphic rendition\'. The
- \'ANSI\' codes to establish the graphic rendition for
- subsequent text are referred to as SELECT GRAPHIC RENDITION
- (SGR). This package exposes modules that export types and
- functions used to represent SGR aspects.
-License: BSD3
-License-File: LICENSE
-Author: Max Bolingbroke
-Maintainer: Mike Pilgrem , Roman Cheplyaka
-Homepage: https://github.com/UnkindPartition/ansi-terminal
-Build-Type: Simple
-
-Extra-Source-Files: CHANGELOG.md
- README.md
-
-Source-repository head
- type: git
- location: git://github.com/UnkindPartition/ansi-terminal.git
-
-Library
- Hs-Source-Dirs: src
- Exposed-Modules: System.Console.ANSI.Types
- Build-Depends: base >= 4.8.0.0 && < 5
- , colour >=2.1.0
- Default-Extensions: CPP
- Ghc-Options: -Wall
- Default-Language: Haskell2010
diff --git a/packages/g/ghc-ansi-terminal-types/ghc-ansi-terminal-types.changes b/packages/g/ghc-ansi-terminal-types/ghc-ansi-terminal-types.changes
index 9de6efbfd77..9de0accaa31 100644
--- a/packages/g/ghc-ansi-terminal-types/ghc-ansi-terminal-types.changes
+++ b/packages/g/ghc-ansi-terminal-types/ghc-ansi-terminal-types.changes
@@ -1,3 +1,14 @@
+-------------------------------------------------------------------
+Wed Feb 7 00:33:11 UTC 2024 - Peter Simons
+
+- Update ansi-terminal-types to version 1.1.
+ Version 1.1
+ --------------
+
+ * Add `Underlining` constructor to type `ConsoleLayer`.
+ * Add `CurlyUnderline`, `DottedUnderline`, and `DashedUnderline` constructors to
+ type `Underlining`.
+
-------------------------------------------------------------------
Thu Mar 30 17:05:46 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-ansi-terminal-types/ghc-ansi-terminal-types.spec b/packages/g/ghc-ansi-terminal-types/ghc-ansi-terminal-types.spec
index 5d523add0f5..e9360026104 100644
--- a/packages/g/ghc-ansi-terminal-types/ghc-ansi-terminal-types.spec
+++ b/packages/g/ghc-ansi-terminal-types/ghc-ansi-terminal-types.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-ansi-terminal-types
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,13 +19,12 @@
%global pkg_name ansi-terminal-types
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.11.5
+Version: 1.1
Release: 0
Summary: Types and functions used to represent SGR aspects
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -70,7 +69,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-ansi-terminal/.files b/packages/g/ghc-ansi-terminal/.files
index c86e0e09820..c265cce4639 100644
Binary files a/packages/g/ghc-ansi-terminal/.files and b/packages/g/ghc-ansi-terminal/.files differ
diff --git a/packages/g/ghc-ansi-terminal/.rev b/packages/g/ghc-ansi-terminal/.rev
index e2daaba3bdd..2f0bd47ea33 100644
--- a/packages/g/ghc-ansi-terminal/.rev
+++ b/packages/g/ghc-ansi-terminal/.rev
@@ -210,4 +210,12 @@ supported as a compiler.
Automatic submission by obs-autosubmit
1140219
+
+ 0e2b649d3a79860e6c3efd615959e693
+ 1.1.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231415
+
diff --git a/packages/g/ghc-ansi-terminal/ansi-terminal-1.0.2.tar.gz b/packages/g/ghc-ansi-terminal/ansi-terminal-1.0.2.tar.gz
deleted file mode 120000
index 16275df8921..00000000000
--- a/packages/g/ghc-ansi-terminal/ansi-terminal-1.0.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreicg4ulmx5tmpadzic5jrfwc24n2l762unne7oan5kjrg4b67kgygq
\ No newline at end of file
diff --git a/packages/g/ghc-ansi-terminal/ansi-terminal-1.1.2.tar.gz b/packages/g/ghc-ansi-terminal/ansi-terminal-1.1.2.tar.gz
new file mode 120000
index 00000000000..f393eeb6980
--- /dev/null
+++ b/packages/g/ghc-ansi-terminal/ansi-terminal-1.1.2.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreifi2bfd4bcr4ivgjgnjemi7bxyrs3oglnuh356rby7tbwjeeakwwa
\ No newline at end of file
diff --git a/packages/g/ghc-ansi-terminal/ghc-ansi-terminal.changes b/packages/g/ghc-ansi-terminal/ghc-ansi-terminal.changes
index d673b1cbcff..437c0748609 100644
--- a/packages/g/ghc-ansi-terminal/ghc-ansi-terminal.changes
+++ b/packages/g/ghc-ansi-terminal/ghc-ansi-terminal.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Thu Nov 14 21:54:01 UTC 2024 - Peter Simons
+
+- Update ansi-terminal to version 1.1.2.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/ansi-terminal-1.1.2/src/CHANGELOG.md
+
-------------------------------------------------------------------
Sat Jan 13 17:39:56 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-ansi-terminal/ghc-ansi-terminal.spec b/packages/g/ghc-ansi-terminal/ghc-ansi-terminal.spec
index 18a5d15c835..abaf9d4116f 100644
--- a/packages/g/ghc-ansi-terminal/ghc-ansi-terminal.spec
+++ b/packages/g/ghc-ansi-terminal/ghc-ansi-terminal.spec
@@ -19,7 +19,7 @@
%global pkg_name ansi-terminal
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 1.0.2
+Version: 1.1.2
Release: 0
Summary: Simple ANSI terminal support
License: BSD-3-Clause
diff --git a/packages/g/ghc-async/.files b/packages/g/ghc-async/.files
index f61e9c45c77..bf913d9a371 100644
Binary files a/packages/g/ghc-async/.files and b/packages/g/ghc-async/.files differ
diff --git a/packages/g/ghc-async/.rev b/packages/g/ghc-async/.rev
index dfa19157fe2..6fc8e463b82 100644
--- a/packages/g/ghc-async/.rev
+++ b/packages/g/ghc-async/.rev
@@ -266,4 +266,12 @@
Automatic submission by obs-autosubmit
1195613
+
+ 74345f263819552015017b786ab0d4c3
+ 2.2.5
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231417
+
diff --git a/packages/g/ghc-async/async.cabal b/packages/g/ghc-async/async.cabal
index c3e676e69e7..ad1e14d4b40 100644
--- a/packages/g/ghc-async/async.cabal
+++ b/packages/g/ghc-async/async.cabal
@@ -1,118 +1,118 @@
-name: async
-version: 2.2.5
-x-revision: 2
--- don't forget to update ./changelog.md!
-synopsis: Run IO operations asynchronously and wait for their results
-
-description:
- This package provides a higher-level interface over
- threads, in which an @Async a@ is a concurrent
- thread that will eventually deliver a value of
- type @a@. The package provides ways to create
- @Async@ computations, wait for their results, and
- cancel them.
- .
- Using @Async@ is safer than using threads in two
- ways:
- .
- * When waiting for a thread to return a result,
- if the thread dies with an exception then the
- caller must either re-throw the exception
- ('wait') or handle it ('waitCatch'); the
- exception cannot be ignored.
- .
- * The API makes it possible to build a tree of
- threads that are automatically killed when
- their parent dies (see 'withAsync').
-
-license: BSD3
-license-file: LICENSE
-author: Simon Marlow
-maintainer: Simon Marlow
-copyright: (c) Simon Marlow 2012
-category: Concurrency
-build-type: Simple
-cabal-version: >=1.10
-homepage: https://github.com/simonmar/async
-bug-reports: https://github.com/simonmar/async/issues
-tested-with:
- GHC == 9.10.1
- GHC == 9.8.2
- GHC == 9.6.6
- GHC == 9.4.8
- GHC == 9.2.8
- GHC == 9.0.2
- GHC == 8.10.7
- GHC == 8.8.4
- GHC == 8.6.5
- GHC == 8.4.4
- GHC == 8.2.2
- GHC == 8.0.2
- -- CI does not support GHC 7
- -- GHC == 7.10.3
- -- GHC == 7.8.4
- -- GHC == 7.6.3
- -- GHC == 7.4.2
- -- GHC == 7.2.2
- -- GHC == 7.0.4
-
-extra-source-files:
- changelog.md
- bench/race.hs
-
-source-repository head
- type: git
- location: https://github.com/simonmar/async.git
-
-library
- default-language: Haskell2010
- other-extensions: CPP, MagicHash, RankNTypes, UnboxedTuples
- if impl(ghc>=7.1)
- other-extensions: Trustworthy
- exposed-modules: Control.Concurrent.Async
- Control.Concurrent.Async.Internal
- build-depends: base >= 4.3 && < 4.21,
- hashable >= 1.1.2.0 && < 1.6,
- stm >= 2.2 && < 2.6
-
-test-suite test-async
- default-language: Haskell2010
- type: exitcode-stdio-1.0
- hs-source-dirs: test
- main-is: test-async.hs
- build-depends: base,
- async,
- stm,
- test-framework,
- test-framework-hunit,
- HUnit
-
-flag bench
- default: False
-
-executable concasync
- if !flag(bench)
- buildable: False
- default-language: Haskell2010
- hs-source-dirs: bench
- main-is: concasync.hs
- build-depends: base, async, stm
- ghc-options: -O2
-
-executable conccancel
- if !flag(bench)
- buildable: False
- default-language: Haskell2010
- hs-source-dirs: bench
- main-is: conccancel.hs
- build-depends: base, async, stm
- ghc-options: -O2 -threaded
-
-executable race
- if !flag(bench)
- buildable: False
- default-language: Haskell2010
- hs-source-dirs: bench
- main-is: race.hs
- build-depends: base, async, stm
- ghc-options: -O2 -threaded
+name: async
+version: 2.2.5
+x-revision: 3
+-- don't forget to update ./changelog.md!
+synopsis: Run IO operations asynchronously and wait for their results
+
+description:
+ This package provides a higher-level interface over
+ threads, in which an @Async a@ is a concurrent
+ thread that will eventually deliver a value of
+ type @a@. The package provides ways to create
+ @Async@ computations, wait for their results, and
+ cancel them.
+ .
+ Using @Async@ is safer than using threads in two
+ ways:
+ .
+ * When waiting for a thread to return a result,
+ if the thread dies with an exception then the
+ caller must either re-throw the exception
+ ('wait') or handle it ('waitCatch'); the
+ exception cannot be ignored.
+ .
+ * The API makes it possible to build a tree of
+ threads that are automatically killed when
+ their parent dies (see 'withAsync').
+
+license: BSD3
+license-file: LICENSE
+author: Simon Marlow
+maintainer: Simon Marlow
+copyright: (c) Simon Marlow 2012
+category: Concurrency
+build-type: Simple
+cabal-version: >=1.10
+homepage: https://github.com/simonmar/async
+bug-reports: https://github.com/simonmar/async/issues
+tested-with:
+ GHC == 9.10.1
+ GHC == 9.8.2
+ GHC == 9.6.6
+ GHC == 9.4.8
+ GHC == 9.2.8
+ GHC == 9.0.2
+ GHC == 8.10.7
+ GHC == 8.8.4
+ GHC == 8.6.5
+ GHC == 8.4.4
+ GHC == 8.2.2
+ GHC == 8.0.2
+ -- CI does not support GHC 7
+ -- GHC == 7.10.3
+ -- GHC == 7.8.4
+ -- GHC == 7.6.3
+ -- GHC == 7.4.2
+ -- GHC == 7.2.2
+ -- GHC == 7.0.4
+
+extra-source-files:
+ changelog.md
+ bench/race.hs
+
+source-repository head
+ type: git
+ location: https://github.com/simonmar/async.git
+
+library
+ default-language: Haskell2010
+ other-extensions: CPP, MagicHash, RankNTypes, UnboxedTuples
+ if impl(ghc>=7.1)
+ other-extensions: Trustworthy
+ exposed-modules: Control.Concurrent.Async
+ Control.Concurrent.Async.Internal
+ build-depends: base >= 4.3 && < 4.22,
+ hashable >= 1.1.2.0 && < 1.6,
+ stm >= 2.2 && < 2.6
+
+test-suite test-async
+ default-language: Haskell2010
+ type: exitcode-stdio-1.0
+ hs-source-dirs: test
+ main-is: test-async.hs
+ build-depends: base,
+ async,
+ stm,
+ test-framework,
+ test-framework-hunit,
+ HUnit
+
+flag bench
+ default: False
+
+executable concasync
+ if !flag(bench)
+ buildable: False
+ default-language: Haskell2010
+ hs-source-dirs: bench
+ main-is: concasync.hs
+ build-depends: base, async, stm
+ ghc-options: -O2
+
+executable conccancel
+ if !flag(bench)
+ buildable: False
+ default-language: Haskell2010
+ hs-source-dirs: bench
+ main-is: conccancel.hs
+ build-depends: base, async, stm
+ ghc-options: -O2 -threaded
+
+executable race
+ if !flag(bench)
+ buildable: False
+ default-language: Haskell2010
+ hs-source-dirs: bench
+ main-is: race.hs
+ build-depends: base, async, stm
+ ghc-options: -O2 -threaded
diff --git a/packages/g/ghc-async/ghc-async.changes b/packages/g/ghc-async/ghc-async.changes
index 895ea2d79b1..33c72a2c609 100644
--- a/packages/g/ghc-async/ghc-async.changes
+++ b/packages/g/ghc-async/ghc-async.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Wed Nov 6 01:56:41 UTC 2024 - Peter Simons
+
+- Update async to version 2.2.5 revision 3.
+ Upstream has revised the Cabal build instructions on Hackage.
+
-------------------------------------------------------------------
Thu Aug 15 18:30:21 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-async/ghc-async.spec b/packages/g/ghc-async/ghc-async.spec
index 41af8032a57..905a045eff9 100644
--- a/packages/g/ghc-async/ghc-async.spec
+++ b/packages/g/ghc-async/ghc-async.spec
@@ -26,7 +26,7 @@ Summary: Run IO operations asynchronously and wait for their results
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
diff --git a/packages/g/ghc-auto-update/.files b/packages/g/ghc-auto-update/.files
index bf6d09851ba..c50dd09a45f 100644
Binary files a/packages/g/ghc-auto-update/.files and b/packages/g/ghc-auto-update/.files differ
diff --git a/packages/g/ghc-auto-update/.rev b/packages/g/ghc-auto-update/.rev
index 5dfd98c8954..8a02e1f22d5 100644
--- a/packages/g/ghc-auto-update/.rev
+++ b/packages/g/ghc-auto-update/.rev
@@ -158,4 +158,12 @@
Automatic submission by obs-autosubmit
1222953
+
+ 2b2d083f1227004ef2700571a5dac9f9
+ 0.2.4
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231418
+
diff --git a/packages/g/ghc-auto-update/auto-update-0.2.2.tar.gz b/packages/g/ghc-auto-update/auto-update-0.2.2.tar.gz
deleted file mode 120000
index ba194ffcdff..00000000000
--- a/packages/g/ghc-auto-update/auto-update-0.2.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreifjmcoad4x7qr7xxlr6vh5mcb5xmc2gy2nkolplkgeuf3vhdobd6u
\ No newline at end of file
diff --git a/packages/g/ghc-auto-update/auto-update-0.2.4.tar.gz b/packages/g/ghc-auto-update/auto-update-0.2.4.tar.gz
new file mode 120000
index 00000000000..9cde387c210
--- /dev/null
+++ b/packages/g/ghc-auto-update/auto-update-0.2.4.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiagqmp37muytfcx734yil4zid2hde7m4upnzgw5ebc2kjhyj2op7u
\ No newline at end of file
diff --git a/packages/g/ghc-auto-update/ghc-auto-update.changes b/packages/g/ghc-auto-update/ghc-auto-update.changes
index 06c72f5bc39..d9958a6643a 100644
--- a/packages/g/ghc-auto-update/ghc-auto-update.changes
+++ b/packages/g/ghc-auto-update/ghc-auto-update.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Tue Nov 19 20:58:13 UTC 2024 - Peter Simons
+
+- Update auto-update to version 0.2.4.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/auto-update-0.2.4/src/ChangeLog.md
+
-------------------------------------------------------------------
Tue Oct 29 05:50:49 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-auto-update/ghc-auto-update.spec b/packages/g/ghc-auto-update/ghc-auto-update.spec
index 9b354a544a7..58b511f79a7 100644
--- a/packages/g/ghc-auto-update/ghc-auto-update.spec
+++ b/packages/g/ghc-auto-update/ghc-auto-update.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.2.2
+Version: 0.2.4
Release: 0
Summary: Efficiently run periodic, on-demand actions
License: MIT
diff --git a/packages/g/ghc-aws/.files b/packages/g/ghc-aws/.files
index 6ba17bd64fb..1e28e04f77a 100644
Binary files a/packages/g/ghc-aws/.files and b/packages/g/ghc-aws/.files differ
diff --git a/packages/g/ghc-aws/.rev b/packages/g/ghc-aws/.rev
index dacdc7efb4d..f939d962015 100644
--- a/packages/g/ghc-aws/.rev
+++ b/packages/g/ghc-aws/.rev
@@ -71,4 +71,12 @@
Update Haskell ecosystem to GHC version 9.8.2.
1157233
+
+ 0c232814744f9a3a7e2beef2b16861c1
+ 0.24.3
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231419
+
diff --git a/packages/g/ghc-aws/aws-0.24.2.tar.gz b/packages/g/ghc-aws/aws-0.24.2.tar.gz
deleted file mode 120000
index f1ceec7165e..00000000000
--- a/packages/g/ghc-aws/aws-0.24.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreigg4rqmgbgh6iw7m6rnw626w4gn72oeymx6us5m42zect6q3o3ify
\ No newline at end of file
diff --git a/packages/g/ghc-aws/aws-0.24.3.tar.gz b/packages/g/ghc-aws/aws-0.24.3.tar.gz
new file mode 120000
index 00000000000..108b1a6f0cb
--- /dev/null
+++ b/packages/g/ghc-aws/aws-0.24.3.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreic74lpv2s6ood3uayfsqpmzeeohxwwsbqb6mln7uzy22y46p7np5y
\ No newline at end of file
diff --git a/packages/g/ghc-aws/ghc-aws.changes b/packages/g/ghc-aws/ghc-aws.changes
index 5cb2b3869de..821909d278d 100644
--- a/packages/g/ghc-aws/ghc-aws.changes
+++ b/packages/g/ghc-aws/ghc-aws.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Thu Nov 14 17:27:03 UTC 2024 - Peter Simons
+
+- Update aws to version 0.24.3.
+ - 0.24.3
+ - [breaking change] Added s3UserAgent constructor to S3Configuration
+ - S3: Add GetBucketVersioning command
+
-------------------------------------------------------------------
Thu Feb 1 16:08:46 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-aws/ghc-aws.spec b/packages/g/ghc-aws/ghc-aws.spec
index 4eb5554394b..b3646d9f775 100644
--- a/packages/g/ghc-aws/ghc-aws.spec
+++ b/packages/g/ghc-aws/ghc-aws.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.24.2
+Version: 0.24.3
Release: 0
Summary: Amazon Web Services (AWS) for Haskell
License: BSD-3-Clause
@@ -161,6 +161,8 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
+cabal-tweak-dep-ver data-default '< 0.8' ' < 1'
+cabal-tweak-dep-ver filepath '< 1.5' ' < 2'
%build
%ghc_lib_build
diff --git a/packages/g/ghc-base-compat/.files b/packages/g/ghc-base-compat/.files
index df5bcf62d21..b73799fd32a 100644
Binary files a/packages/g/ghc-base-compat/.files and b/packages/g/ghc-base-compat/.files differ
diff --git a/packages/g/ghc-base-compat/.rev b/packages/g/ghc-base-compat/.rev
index ee64b47c3af..c7191a5df0f 100644
--- a/packages/g/ghc-base-compat/.rev
+++ b/packages/g/ghc-base-compat/.rev
@@ -230,4 +230,12 @@
version update
1118466
+
+ ce6562bc578ca903f8677c4ddb181ce4
+ 0.14.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231420
+
diff --git a/packages/g/ghc-base-compat/base-compat-0.13.1.tar.gz b/packages/g/ghc-base-compat/base-compat-0.13.1.tar.gz
deleted file mode 120000
index 79894f5785b..00000000000
--- a/packages/g/ghc-base-compat/base-compat-0.13.1.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreig3dwpi2vwixmagnuytuo23yqkdyaqwtdjxp5gfdm52aegp6hueee
\ No newline at end of file
diff --git a/packages/g/ghc-base-compat/base-compat-0.14.1.tar.gz b/packages/g/ghc-base-compat/base-compat-0.14.1.tar.gz
new file mode 120000
index 00000000000..a6817dfd991
--- /dev/null
+++ b/packages/g/ghc-base-compat/base-compat-0.14.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidu4zkvihtel2h4pkw6dzvbw2ltkyn6bpfjg2n4cyr2uncqdgrv5e
\ No newline at end of file
diff --git a/packages/g/ghc-base-compat/ghc-base-compat.changes b/packages/g/ghc-base-compat/ghc-base-compat.changes
index 660200ee617..c9610c55f6a 100644
--- a/packages/g/ghc-base-compat/ghc-base-compat.changes
+++ b/packages/g/ghc-base-compat/ghc-base-compat.changes
@@ -1,3 +1,27 @@
+-------------------------------------------------------------------
+Fri Dec 6 12:21:27 UTC 2024 - Peter Simons
+
+- Update base-compat to version 0.14.1.
+ ## Changes in 0.14.1 [2024.12.06]
+ - Sync with `base-4.21`/GHC 9.12
+ - Backport `compareLength` to `Data.List.Compat` and
+ `Data.List.NonEmpty.Compat`
+ - Backport `inits1` and `tails1` to `Data.List.Compat`
+ - Backport `firstA` and `secondA` to `Data.Bitraversable.Compat`
+ - Drop support for pre-8.0 versions of GHC.
+
+-------------------------------------------------------------------
+Tue Apr 30 15:40:49 UTC 2024 - Peter Simons
+
+- Update base-compat to version 0.14.0.
+ ## Changes in 0.14.0 [2024.04.30]
+ - Sync with `base-4.20`/GHC 9.10
+ - Backport `foldl'` to `Prelude.Compat`
+ - Backport `List` to `Data.List.Compat` (when building with GHC 9.6 or later)
+ - Backport `append`, `appendList`, `prependList`, `permutations`,
+ `permutations1`, and `sortOn` to `Data.List.NonEmpty.Compat` (when building
+ with GHC 8.0 or later)
+
-------------------------------------------------------------------
Wed Oct 11 11:37:07 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-base-compat/ghc-base-compat.spec b/packages/g/ghc-base-compat/ghc-base-compat.spec
index d9a394df0db..b5b8e6b90dc 100644
--- a/packages/g/ghc-base-compat/ghc-base-compat.spec
+++ b/packages/g/ghc-base-compat/ghc-base-compat.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-base-compat
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%global pkg_name base-compat
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.13.1
+Version: 0.14.1
Release: 0
Summary: A compatibility layer for base
License: MIT
diff --git a/packages/g/ghc-base-orphans/.files b/packages/g/ghc-base-orphans/.files
index 1e1ca9f7c67..c7d6b8a480f 100644
Binary files a/packages/g/ghc-base-orphans/.files and b/packages/g/ghc-base-orphans/.files differ
diff --git a/packages/g/ghc-base-orphans/.rev b/packages/g/ghc-base-orphans/.rev
index d97bcc7a833..b013c0b6a9f 100644
--- a/packages/g/ghc-base-orphans/.rev
+++ b/packages/g/ghc-base-orphans/.rev
@@ -238,4 +238,12 @@
version update
1171782
+
+ 739d2549b213617db9f67cff128098d6
+ 0.9.3
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231421
+
diff --git a/packages/g/ghc-base-orphans/base-orphans-0.9.2.tar.gz b/packages/g/ghc-base-orphans/base-orphans-0.9.2.tar.gz
deleted file mode 120000
index 4ca518e835a..00000000000
--- a/packages/g/ghc-base-orphans/base-orphans-0.9.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreidccgiasfuvlocgq7dbwxspvggocehfcguwbbvxve7qnxldzf52sm
\ No newline at end of file
diff --git a/packages/g/ghc-base-orphans/base-orphans-0.9.3.tar.gz b/packages/g/ghc-base-orphans/base-orphans-0.9.3.tar.gz
new file mode 120000
index 00000000000..e88368c00dc
--- /dev/null
+++ b/packages/g/ghc-base-orphans/base-orphans-0.9.3.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiaxunihtsdrsakfmdacrwmal3atag4qbfzk34qs4afpep7d5p5l3a
\ No newline at end of file
diff --git a/packages/g/ghc-base-orphans/ghc-base-orphans.changes b/packages/g/ghc-base-orphans/ghc-base-orphans.changes
index 29c4898c01e..a9257f08a49 100644
--- a/packages/g/ghc-base-orphans/ghc-base-orphans.changes
+++ b/packages/g/ghc-base-orphans/ghc-base-orphans.changes
@@ -1,3 +1,15 @@
+-------------------------------------------------------------------
+Fri Dec 6 12:20:54 UTC 2024 - Peter Simons
+
+- Update base-orphans to version 0.9.3.
+ ## Changes in 0.9.3 [2024.12.06]
+ - Backport new instances from GHC 9.12/`base-4.21`:
+ * `MonadFix` instance for `(,) a`
+ * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for basic `GHC.Generics`
+ representation types
+ * `Show` instance for `UAddr`
+ - Drop support for pre-8.0 versions of GHC.
+
-------------------------------------------------------------------
Tue Apr 30 15:35:44 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-base-orphans/ghc-base-orphans.spec b/packages/g/ghc-base-orphans/ghc-base-orphans.spec
index 9c6dca26424..ada8643d175 100644
--- a/packages/g/ghc-base-orphans/ghc-base-orphans.spec
+++ b/packages/g/ghc-base-orphans/ghc-base-orphans.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.9.2
+Version: 0.9.3
Release: 0
Summary: Backwards-compatible orphan instances for base
License: MIT
diff --git a/packages/g/ghc-bifunctors/.files b/packages/g/ghc-bifunctors/.files
index 91fcf72147d..6f7cbd94544 100644
Binary files a/packages/g/ghc-bifunctors/.files and b/packages/g/ghc-bifunctors/.files differ
diff --git a/packages/g/ghc-bifunctors/.rev b/packages/g/ghc-bifunctors/.rev
index 46b206ecd28..18e5383a3f7 100644
--- a/packages/g/ghc-bifunctors/.rev
+++ b/packages/g/ghc-bifunctors/.rev
@@ -278,4 +278,12 @@
Automatic submission by obs-autosubmit
1162473
+
+ 9663c85ed73fe168a76f3a561f7b0f5e
+ 5.6.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231422
+
diff --git a/packages/g/ghc-bifunctors/bifunctors.cabal b/packages/g/ghc-bifunctors/bifunctors.cabal
new file mode 100644
index 00000000000..271dbf18008
--- /dev/null
+++ b/packages/g/ghc-bifunctors/bifunctors.cabal
@@ -0,0 +1,117 @@
+cabal-version: 1.24
+name: bifunctors
+category: Data, Functors
+version: 5.6.2
+x-revision: 1
+license: BSD3
+license-file: LICENSE
+author: Edward A. Kmett
+maintainer: Edward A. Kmett
+stability: provisional
+homepage: http://github.com/ekmett/bifunctors/
+bug-reports: http://github.com/ekmett/bifunctors/issues
+copyright: Copyright (C) 2008-2016 Edward A. Kmett
+synopsis: Bifunctors
+description: Bifunctors.
+build-type: Simple
+tested-with: GHC == 8.0.2
+ , GHC == 8.2.2
+ , GHC == 8.4.4
+ , GHC == 8.6.5
+ , GHC == 8.8.4
+ , GHC == 8.10.7
+ , GHC == 9.0.2
+ , GHC == 9.2.8
+ , GHC == 9.4.8
+ , GHC == 9.6.4
+ , GHC == 9.8.2
+ , GHC == 9.10.1
+extra-source-files:
+ CHANGELOG.markdown
+ README.markdown
+
+source-repository head
+ type: git
+ location: https://github.com/ekmett/bifunctors.git
+
+flag tagged
+ default: True
+ manual: True
+ description:
+ You can disable the use of the `tagged` package using `-f-tagged`.
+ .
+ Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
+
+library
+ hs-source-dirs: src
+ build-depends:
+ base >= 4.9 && < 5,
+ assoc >= 1.1 && < 1.2,
+ comonad >= 5.0.7 && < 6,
+ containers >= 0.5.7.1 && < 0.8,
+ template-haskell >= 2.11 && < 2.24,
+ th-abstraction >= 0.4.2.0 && < 0.8,
+ transformers >= 0.5 && < 0.7
+
+ if !impl(ghc >= 8.2)
+ build-depends:
+ bifunctor-classes-compat >= 0.1 && < 0.2,
+ transformers-compat >= 0.6 && < 0.8
+
+ if flag(tagged)
+ build-depends: tagged >= 0.8.6 && < 1
+
+ if impl(ghc<8.1)
+ reexported-modules:
+ Data.Bifoldable
+ , Data.Bitraversable
+
+ if !impl(ghc >= 9.6)
+ build-depends: foldable1-classes-compat >= 0.1 && < 0.2
+
+ exposed-modules:
+ Data.Biapplicative
+ Data.Bifunctor.Biap
+ Data.Bifunctor.Biff
+ Data.Bifunctor.Clown
+ Data.Bifunctor.Fix
+ Data.Bifunctor.Flip
+ Data.Bifunctor.Functor
+ Data.Bifunctor.Join
+ Data.Bifunctor.Joker
+ Data.Bifunctor.Product
+ Data.Bifunctor.Sum
+ Data.Bifunctor.Tannen
+ Data.Bifunctor.TH
+ Data.Bifunctor.Wrapped
+
+ other-modules:
+ Data.Bifunctor.TH.Internal
+
+ ghc-options: -Wall
+ default-language: Haskell2010
+
+ if impl(ghc >= 9.0)
+ -- these flags may abort compilation with GHC-8.10
+ -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
+ ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode
+
+test-suite bifunctors-spec
+ type: exitcode-stdio-1.0
+ hs-source-dirs: tests
+ main-is: Spec.hs
+ other-modules: BifunctorSpec T89Spec
+ ghc-options: -Wall
+ if impl(ghc >= 8.6)
+ ghc-options: -Wno-star-is-type
+ default-language: Haskell2010
+ build-tool-depends: hspec-discover:hspec-discover >= 1.8
+ build-depends:
+ base >= 4 && < 5,
+ bifunctors,
+ hspec >= 1.8,
+ QuickCheck >= 2 && < 3,
+ template-haskell,
+ transformers,
+ transformers-compat
+
diff --git a/packages/g/ghc-bifunctors/ghc-bifunctors.changes b/packages/g/ghc-bifunctors/ghc-bifunctors.changes
index a2d0bc208b8..4eb46aa7105 100644
--- a/packages/g/ghc-bifunctors/ghc-bifunctors.changes
+++ b/packages/g/ghc-bifunctors/ghc-bifunctors.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Thu Dec 5 12:12:45 UTC 2024 - Peter Simons
+
+- Update bifunctors to version 5.6.2 revision 1.
+ Upstream has revised the Cabal build instructions on Hackage.
+
-------------------------------------------------------------------
Tue Mar 19 10:13:08 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-bifunctors/ghc-bifunctors.spec b/packages/g/ghc-bifunctors/ghc-bifunctors.spec
index d977d77288d..687a760d8ca 100644
--- a/packages/g/ghc-bifunctors/ghc-bifunctors.spec
+++ b/packages/g/ghc-bifunctors/ghc-bifunctors.spec
@@ -26,6 +26,7 @@ Summary: Collection Haskell 98 bifunctors, bifoldables and bitraversables
License: BSD-2-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-assoc-devel
BuildRequires: ghc-assoc-prof
@@ -85,6 +86,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-bootstrap/.files b/packages/g/ghc-bootstrap/.files
index 351642f24e9..d3ab220ac73 100644
Binary files a/packages/g/ghc-bootstrap/.files and b/packages/g/ghc-bootstrap/.files differ
diff --git a/packages/g/ghc-bootstrap/.rev b/packages/g/ghc-bootstrap/.rev
index 79bc4146d52..0b7d8113b41 100644
--- a/packages/g/ghc-bootstrap/.rev
+++ b/packages/g/ghc-bootstrap/.rev
@@ -293,4 +293,12 @@ Add support for ppc64le.
- Update bootsrap compiler to ghc-9.4.4
1126686
+
+ 3c31435c5077eea18cce1d78c55b06c6
+ 9.8.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231423
+
diff --git a/packages/g/ghc-bootstrap/ghc-9.4.4-aarch64-unknown-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.4.4-aarch64-unknown-linux.tar.xz
deleted file mode 120000
index 54e5115283d..00000000000
--- a/packages/g/ghc-bootstrap/ghc-9.4.4-aarch64-unknown-linux.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeic3qahbcy53h77js6o2w4u7bck6s33x6parfgqbiz7h52lv2pw5ba
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.4.4-powerpc64le-unknown-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.4.4-powerpc64le-unknown-linux.tar.xz
deleted file mode 120000
index a29ee279203..00000000000
--- a/packages/g/ghc-bootstrap/ghc-9.4.4-powerpc64le-unknown-linux.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiagljytofv53v762lmidk5y6ipuep7jc47hx6gp4p5eczh4hrpvrm
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.4.4-riscv64-unknown-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.4.4-riscv64-unknown-linux.tar.xz
deleted file mode 120000
index 9e02483f3c4..00000000000
--- a/packages/g/ghc-bootstrap/ghc-9.4.4-riscv64-unknown-linux.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeial4xoe4gsisfsgvtjblqqf5cmgh4ildvkh325bq6vwrzkmk4ga5q
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.4.4-s390x-ibm-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.4.4-s390x-ibm-linux.tar.xz
deleted file mode 120000
index 85dab23040d..00000000000
--- a/packages/g/ghc-bootstrap/ghc-9.4.4-s390x-ibm-linux.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiadp4xdeuzl2mv75youymesh4jannqmqsipdzba5yx7sx6fkoj2vi
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.4.4-x86_64-unknown-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.4.4-x86_64-unknown-linux.tar.xz
deleted file mode 120000
index e239279406a..00000000000
--- a/packages/g/ghc-bootstrap/ghc-9.4.4-x86_64-unknown-linux.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeig3gn4f4kfsh3z4mllhbq7obhcqw7cqxdg6ezizj5dr2srvd2crya
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.8.2-aarch64-unknown-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.8.2-aarch64-unknown-linux.tar.xz
new file mode 120000
index 00000000000..a7c257e75de
--- /dev/null
+++ b/packages/g/ghc-bootstrap/ghc-9.8.2-aarch64-unknown-linux.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeigydfpycsj2tnc4bfzpjt334qt2gjdzova435qggpyh3zmacvhtpe
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.8.2-powerpc64le-unknown-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.8.2-powerpc64le-unknown-linux.tar.xz
new file mode 120000
index 00000000000..acf76434f81
--- /dev/null
+++ b/packages/g/ghc-bootstrap/ghc-9.8.2-powerpc64le-unknown-linux.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeieindopwfvkzlvscql3ywx2bexpsj6v3tjtyqiqudwz3d2jakzrrq
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.8.2-riscv64-unknown-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.8.2-riscv64-unknown-linux.tar.xz
new file mode 120000
index 00000000000..d8fe03c4ed8
--- /dev/null
+++ b/packages/g/ghc-bootstrap/ghc-9.8.2-riscv64-unknown-linux.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeidjlryqnwcks6jmkpdlti5rwnlmcvh2aum6ybq3cgm42wo3d27rkq
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.8.2-s390x-ibm-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.8.2-s390x-ibm-linux.tar.xz
new file mode 120000
index 00000000000..f4d82a7c98a
--- /dev/null
+++ b/packages/g/ghc-bootstrap/ghc-9.8.2-s390x-ibm-linux.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeifmtverqafohy5cqqxy77a4pkbpqtqqv3sggwmnyak6nuvbcicv2a
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-9.8.2-x86_64-unknown-linux.tar.xz b/packages/g/ghc-bootstrap/ghc-9.8.2-x86_64-unknown-linux.tar.xz
new file mode 120000
index 00000000000..a17ea180c22
--- /dev/null
+++ b/packages/g/ghc-bootstrap/ghc-9.8.2-x86_64-unknown-linux.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeigdlyfpzpd4gzhqpkrthw42hbyfuxsb5ekh5y2hftgntysnywwydi
\ No newline at end of file
diff --git a/packages/g/ghc-bootstrap/ghc-bootstrap.changes b/packages/g/ghc-bootstrap/ghc-bootstrap.changes
index beaa3d59de6..275a983ff8e 100644
--- a/packages/g/ghc-bootstrap/ghc-bootstrap.changes
+++ b/packages/g/ghc-bootstrap/ghc-bootstrap.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Fri Nov 22 15:11:19 UTC 2024 - Ondřej Súkup
+
+- Update bootstrap compiler to ghc-9.8.2
+
-------------------------------------------------------------------
Mon Nov 13 12:17:42 UTC 2023 - Andreas Schwab
diff --git a/packages/g/ghc-bootstrap/ghc-bootstrap.spec b/packages/g/ghc-bootstrap/ghc-bootstrap.spec
index 1bd7cfd7b35..9fca16ac87e 100644
--- a/packages/g/ghc-bootstrap/ghc-bootstrap.spec
+++ b/packages/g/ghc-bootstrap/ghc-bootstrap.spec
@@ -16,7 +16,7 @@
#
-%global llvm_major 14
+%global llvm_major 15
%ifarch ppc64le
%define longarch powerpc64le
# something weird on ghc arch detection
@@ -44,16 +44,18 @@
%define sysname unknown
%endif
Name: ghc-bootstrap
+Version: 9.8.2
+Release: 0
Summary: Binary distributions of The Glorious Glasgow Haskell Compiler
License: BSD-3-Clause
URL: https://build.opensuse.org/package/view_file/devel:languages:haskell:bootstrap
Source1: README.openSUSE
Source2: LICENSE
-Source13: ghc-9.4.4-powerpc64le-unknown-linux.tar.xz
-Source14: ghc-9.4.4-x86_64-unknown-linux.tar.xz
-Source16: ghc-9.4.4-s390x-ibm-linux.tar.xz
-Source17: ghc-9.4.4-aarch64-unknown-linux.tar.xz
-Source19: ghc-9.4.4-riscv64-unknown-linux.tar.xz
+Source13: ghc-%{version}-powerpc64le-unknown-linux.tar.xz
+Source14: ghc-%{version}-x86_64-unknown-linux.tar.xz
+Source16: ghc-%{version}-s390x-ibm-linux.tar.xz
+Source17: ghc-%{version}-aarch64-unknown-linux.tar.xz
+Source19: ghc-%{version}-riscv64-unknown-linux.tar.xz
BuildRequires: chrpath
BuildRequires: fdupes
BuildRequires: gcc-PIE
@@ -74,8 +76,6 @@ Requires: pkgconfig(libffi)
Provides: ghc-bootstrap-devel
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
AutoReq: off
-Version: 9.4.4
-Release: 0
%ifnarch s390x
BuildRequires: libnuma-devel
%endif
diff --git a/packages/g/ghc-cabal-doctest/.files b/packages/g/ghc-cabal-doctest/.files
index 4c9d8d1eab7..eafc9da9158 100644
Binary files a/packages/g/ghc-cabal-doctest/.files and b/packages/g/ghc-cabal-doctest/.files differ
diff --git a/packages/g/ghc-cabal-doctest/.rev b/packages/g/ghc-cabal-doctest/.rev
index f72f44973c4..149d4bd95a7 100644
--- a/packages/g/ghc-cabal-doctest/.rev
+++ b/packages/g/ghc-cabal-doctest/.rev
@@ -152,4 +152,12 @@
version update
1188625
+
+ e7255959d8c89c8bdb0dfa5f737358f8
+ 1.0.11
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231424
+
diff --git a/packages/g/ghc-cabal-doctest/cabal-doctest-1.0.10.tar.gz b/packages/g/ghc-cabal-doctest/cabal-doctest-1.0.10.tar.gz
deleted file mode 120000
index 453b3600a64..00000000000
--- a/packages/g/ghc-cabal-doctest/cabal-doctest-1.0.10.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreiebzlipysdbk4u5zpxmh3grfo2cs5l7fgnmvuklslxqxflrapuu2m
\ No newline at end of file
diff --git a/packages/g/ghc-cabal-doctest/cabal-doctest-1.0.11.tar.gz b/packages/g/ghc-cabal-doctest/cabal-doctest-1.0.11.tar.gz
new file mode 120000
index 00000000000..bc338df4ba4
--- /dev/null
+++ b/packages/g/ghc-cabal-doctest/cabal-doctest-1.0.11.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreig4fxzpbnbhakdbp4ioirp7rkztklj3x3xrxdoyi7uhtuwtnp4sh4
\ No newline at end of file
diff --git a/packages/g/ghc-cabal-doctest/ghc-cabal-doctest.changes b/packages/g/ghc-cabal-doctest/ghc-cabal-doctest.changes
index d90bccac873..291520830cf 100644
--- a/packages/g/ghc-cabal-doctest/ghc-cabal-doctest.changes
+++ b/packages/g/ghc-cabal-doctest/ghc-cabal-doctest.changes
@@ -1,3 +1,16 @@
+-------------------------------------------------------------------
+Fri Nov 22 14:59:16 UTC 2024 - Peter Simons
+
+- Update cabal-doctest to version 1.0.11.
+ # 1.0.11 -- 2024-11-22
+
+ * Support Cabal 3.14.0.0. [cabal-doctest#85][].
+ * Motivate the package in README [cabal-doctest#43][].
+ * Fix `stack test` of examples, add CI integration.
+
+ [cabal-doctest#43]: https://github.com/ulidtko/cabal-doctest/issues/43
+ [cabal-doctest#85]: https://github.com/ulidtko/cabal-doctest/issues/85
+
-------------------------------------------------------------------
Wed Jun 26 21:59:54 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-cabal-doctest/ghc-cabal-doctest.spec b/packages/g/ghc-cabal-doctest/ghc-cabal-doctest.spec
index 09748fc8b12..ccea8f51926 100644
--- a/packages/g/ghc-cabal-doctest/ghc-cabal-doctest.spec
+++ b/packages/g/ghc-cabal-doctest/ghc-cabal-doctest.spec
@@ -19,7 +19,7 @@
%global pkg_name cabal-doctest
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 1.0.10
+Version: 1.0.11
Release: 0
Summary: A Setup.hs helper for running doctests
License: BSD-3-Clause
@@ -37,7 +37,7 @@ BuildRequires: ghc-rpm-macros
ExcludeArch: %{ix86}
%description
-As of now (end of 2021), there isn't 'cabal doctest' command. Yet, to properly
+As of now (end of 2024), there isn't 'cabal doctest' command. Yet, to properly
work, 'doctest' needs plenty of configuration. This library provides the common
bits for writing a custom 'Setup.hs'.
diff --git a/packages/g/ghc-cabal-install-solver/.files b/packages/g/ghc-cabal-install-solver/.files
index bb4e7ae3a4d..7b09e8937a9 100644
Binary files a/packages/g/ghc-cabal-install-solver/.files and b/packages/g/ghc-cabal-install-solver/.files differ
diff --git a/packages/g/ghc-cabal-install-solver/.rev b/packages/g/ghc-cabal-install-solver/.rev
index 7ccb364ee34..e1d8b15e5f7 100644
--- a/packages/g/ghc-cabal-install-solver/.rev
+++ b/packages/g/ghc-cabal-install-solver/.rev
@@ -23,4 +23,12 @@
version update
1218539
+
+ afdc2988a441e297c64aa99671384aa9
+ 3.12.1.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231425
+
diff --git a/packages/g/ghc-cabal-install-solver/cabal-install-solver-3.10.3.0.tar.gz b/packages/g/ghc-cabal-install-solver/cabal-install-solver-3.10.3.0.tar.gz
deleted file mode 120000
index c565d3bdda3..00000000000
--- a/packages/g/ghc-cabal-install-solver/cabal-install-solver-3.10.3.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreihb4ret4rq2mdcxumejhwkr36lqmqznlmsqxnosbwn76lmj7pzdpy
\ No newline at end of file
diff --git a/packages/g/ghc-cabal-install-solver/cabal-install-solver-3.12.1.0.tar.gz b/packages/g/ghc-cabal-install-solver/cabal-install-solver-3.12.1.0.tar.gz
new file mode 120000
index 00000000000..d3e1697fd48
--- /dev/null
+++ b/packages/g/ghc-cabal-install-solver/cabal-install-solver-3.12.1.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidr3oq5gu7jaomdivzsshvo7wyq27f4mlxa3aphuu7j5dhvkis6pi
\ No newline at end of file
diff --git a/packages/g/ghc-cabal-install-solver/cabal-install-solver.cabal b/packages/g/ghc-cabal-install-solver/cabal-install-solver.cabal
deleted file mode 100644
index 0b8cdb9885b..00000000000
--- a/packages/g/ghc-cabal-install-solver/cabal-install-solver.cabal
+++ /dev/null
@@ -1,149 +0,0 @@
-cabal-version: 2.2
-name: cabal-install-solver
-version: 3.10.3.0
-x-revision: 1
-synopsis: The command-line interface for Cabal and Hackage.
-description:
- The solver component used in cabal-install command-line program
-
-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-doc-files:
- ChangeLog.md
-
-source-repository head
- type: git
- location: https://github.com/haskell/cabal/
- subdir: cabal-install-solver
-
-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
-
-library
- default-language: Haskell2010
- hs-source-dirs: src
- hs-source-dirs: src-assertion
- ghc-options:
- -Wall -Wcompat -Wnoncanonical-monad-instances
- -fwarn-tabs -fwarn-incomplete-uni-patterns
-
- if impl(ghc <8.8)
- ghc-options: -Wnoncanonical-monadfail-instances
- if impl(ghc >=8.10)
- ghc-options: -Wunused-packages
-
- exposed-modules:
- Distribution.Client.Utils.Assertion
-
- 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.MessageUtils
- Distribution.Solver.Modular.Package
- Distribution.Solver.Modular.Preference
- Distribution.Solver.Modular.PSQ
- 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.InstalledPreference
- Distribution.Solver.Types.InstSolverPackage
- 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
-
- build-depends:
- , array >=0.4 && <0.6
- , base >=4.10 && <4.20
- , bytestring >=0.10.6.0 && <0.13
- , Cabal ^>=3.10.3
- , Cabal-syntax ^>=3.10
- , containers >=0.5.6.2 && <0.8
- , edit-distance ^>= 0.2.2
- , filepath ^>=1.4.0.0 || ^>=1.5.0.0
- , mtl >=2.0 && <2.4
- , pretty ^>=1.1
- , transformers >=0.4.2.0 && <0.7
- , text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.2)
-
- if flag(debug-expensive-assertions)
- cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
-
- if flag(debug-conflict-sets)
- cpp-options: -DDEBUG_CONFLICT_SETS
- build-depends: base >=4.9
-
- if flag(debug-tracetree)
- cpp-options: -DDEBUG_TRACETREE
- build-depends: tracetree ^>=0.1
-
-Test-Suite unit-tests
- default-language: Haskell2010
- ghc-options: -rtsopts -threaded
-
- type: exitcode-stdio-1.0
- main-is: UnitTests.hs
- hs-source-dirs: tests
- other-modules:
- UnitTests.Distribution.Solver.Modular.MessageUtils
-
- build-depends:
- , base >= 4.10 && <4.20
- , Cabal
- , Cabal-syntax
- , cabal-install-solver
- , tasty >= 1.2.3 && <1.6
- , tasty-quickcheck
- , tasty-hunit >= 0.10
diff --git a/packages/g/ghc-cabal-install-solver/ghc-cabal-install-solver.changes b/packages/g/ghc-cabal-install-solver/ghc-cabal-install-solver.changes
index 1bbefbc2317..391f6748f48 100644
--- a/packages/g/ghc-cabal-install-solver/ghc-cabal-install-solver.changes
+++ b/packages/g/ghc-cabal-install-solver/ghc-cabal-install-solver.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Fri Jun 28 18:09:34 UTC 2024 - Peter Simons
+
+- Update cabal-install-solver to version 3.12.1.0.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/cabal-install-solver-3.12.1.0/src/ChangeLog.md
+
-------------------------------------------------------------------
Thu Mar 28 17:54:10 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-cabal-install-solver/ghc-cabal-install-solver.spec b/packages/g/ghc-cabal-install-solver/ghc-cabal-install-solver.spec
index dba06c676be..94ddea19f34 100644
--- a/packages/g/ghc-cabal-install-solver/ghc-cabal-install-solver.spec
+++ b/packages/g/ghc-cabal-install-solver/ghc-cabal-install-solver.spec
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 3.10.3.0
+Version: 3.12.1.0
Release: 0
Summary: The command-line interface for Cabal and Hackage
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-Cabal-prof
BuildRequires: ghc-Cabal-syntax-devel
@@ -39,12 +38,16 @@ BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-containers-devel
BuildRequires: ghc-containers-prof
+BuildRequires: ghc-directory-devel
+BuildRequires: ghc-directory-prof
BuildRequires: ghc-edit-distance-devel
BuildRequires: ghc-edit-distance-prof
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-filepath-prof
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-mtl-prof
+BuildRequires: ghc-network-uri-devel
+BuildRequires: ghc-network-uri-prof
BuildRequires: ghc-pretty-devel
BuildRequires: ghc-pretty-prof
BuildRequires: ghc-rpm-macros
@@ -94,7 +97,8 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
+cabal-tweak-dep-ver Cabal '^>=3.12.1.0' '< 4'
+cabal-tweak-dep-ver Cabal-syntax '^>=3.12.1.0' '< 4'
%build
%ghc_lib_build
diff --git a/packages/g/ghc-citeproc/.files b/packages/g/ghc-citeproc/.files
index 37c969ac768..2845f519231 100644
Binary files a/packages/g/ghc-citeproc/.files and b/packages/g/ghc-citeproc/.files differ
diff --git a/packages/g/ghc-citeproc/.rev b/packages/g/ghc-citeproc/.rev
index d866ec4ac0f..d2411fc2683 100644
--- a/packages/g/ghc-citeproc/.rev
+++ b/packages/g/ghc-citeproc/.rev
@@ -175,4 +175,12 @@
version update
1218540
+
+ b8ce77925cae0bd130803c50b2d2d411
+ 0.8.1.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231427
+
diff --git a/packages/g/ghc-citeproc/ghc-citeproc.changes b/packages/g/ghc-citeproc/ghc-citeproc.changes
index fd1322b8f92..1aa493cc59c 100644
--- a/packages/g/ghc-citeproc/ghc-citeproc.changes
+++ b/packages/g/ghc-citeproc/ghc-citeproc.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:54:13 UTC 2024 - Peter Simons
+
+- Enable building of the citeproc executable.
+
-------------------------------------------------------------------
Tue Oct 15 06:38:18 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-citeproc/ghc-citeproc.spec b/packages/g/ghc-citeproc/ghc-citeproc.spec
index 41fe06ed0be..c818a63caf4 100644
--- a/packages/g/ghc-citeproc/ghc-citeproc.spec
+++ b/packages/g/ghc-citeproc/ghc-citeproc.spec
@@ -29,6 +29,8 @@ Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
+BuildRequires: ghc-aeson-pretty-devel
+BuildRequires: ghc-aeson-pretty-prof
BuildRequires: ghc-aeson-prof
BuildRequires: ghc-attoparsec-devel
BuildRequires: ghc-attoparsec-prof
@@ -54,6 +56,8 @@ BuildRequires: ghc-safe-prof
BuildRequires: ghc-scientific-devel
BuildRequires: ghc-scientific-prof
BuildRequires: ghc-text-devel
+BuildRequires: ghc-text-icu-devel
+BuildRequires: ghc-text-icu-prof
BuildRequires: ghc-text-prof
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-transformers-prof
@@ -115,6 +119,7 @@ This package provides the Haskell %{pkg_name} profiling library.
cp -p %{SOURCE1} %{pkg_name}.cabal
%build
+%define cabal_configure_options -f+executable
%ghc_lib_build
%install
@@ -131,6 +136,7 @@ cp -p %{SOURCE1} %{pkg_name}.cabal
%files -f %{name}.files
%license LICENSE
+%{_bindir}/citeproc
%files devel -f %{name}-devel.files
%doc CHANGELOG.md README.md
diff --git a/packages/g/ghc-commonmark-extensions/.files b/packages/g/ghc-commonmark-extensions/.files
index d6a47aaab81..85ce6599be1 100644
Binary files a/packages/g/ghc-commonmark-extensions/.files and b/packages/g/ghc-commonmark-extensions/.files differ
diff --git a/packages/g/ghc-commonmark-extensions/.rev b/packages/g/ghc-commonmark-extensions/.rev
index 05722ef9d10..e0dbef1c2e4 100644
--- a/packages/g/ghc-commonmark-extensions/.rev
+++ b/packages/g/ghc-commonmark-extensions/.rev
@@ -127,4 +127,12 @@
Automatic submission by obs-autosubmit
1183255
+
+ c5e275947517d1da87a61be6fa45c747
+ 0.2.5.6
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231428
+
diff --git a/packages/g/ghc-commonmark-extensions/commonmark-extensions-0.2.5.5.tar.gz b/packages/g/ghc-commonmark-extensions/commonmark-extensions-0.2.5.5.tar.gz
deleted file mode 120000
index 032ffee7856..00000000000
--- a/packages/g/ghc-commonmark-extensions/commonmark-extensions-0.2.5.5.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreid5c2l2zp72nraxzsoozcl4ixmfphlv7uknkusoisxdgnbvwnxrnm
\ No newline at end of file
diff --git a/packages/g/ghc-commonmark-extensions/commonmark-extensions-0.2.5.6.tar.gz b/packages/g/ghc-commonmark-extensions/commonmark-extensions-0.2.5.6.tar.gz
new file mode 120000
index 00000000000..349adf5ffda
--- /dev/null
+++ b/packages/g/ghc-commonmark-extensions/commonmark-extensions-0.2.5.6.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiczzda4ub4sjfi5t4dtyjqhakkppa7og6k2dpvpifl6z4cioaodpe
\ No newline at end of file
diff --git a/packages/g/ghc-commonmark-extensions/ghc-commonmark-extensions.changes b/packages/g/ghc-commonmark-extensions/ghc-commonmark-extensions.changes
index 8213dbdb5b6..bb1939756fd 100644
--- a/packages/g/ghc-commonmark-extensions/ghc-commonmark-extensions.changes
+++ b/packages/g/ghc-commonmark-extensions/ghc-commonmark-extensions.changes
@@ -1,3 +1,13 @@
+-------------------------------------------------------------------
+Sun Dec 8 00:18:22 UTC 2024 - Peter Simons
+
+- Update commonmark-extensions to version 0.2.5.6.
+ ## 0.2.5.6
+
+ * Autolink parser: track balanced brackets in path (improves
+ on #156). We still get a link within a link, which isn't right, but at
+ least the link goes to the right place. Cf. jgm/pandoc#10333.
+
-------------------------------------------------------------------
Tue Jun 18 02:21:19 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-commonmark-extensions/ghc-commonmark-extensions.spec b/packages/g/ghc-commonmark-extensions/ghc-commonmark-extensions.spec
index 4c7e7e2ccd6..1211ef991fd 100644
--- a/packages/g/ghc-commonmark-extensions/ghc-commonmark-extensions.spec
+++ b/packages/g/ghc-commonmark-extensions/ghc-commonmark-extensions.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.2.5.5
+Version: 0.2.5.6
Release: 0
Summary: Pure Haskell commonmark parser
License: BSD-3-Clause
diff --git a/packages/g/ghc-commonmark-pandoc/.files b/packages/g/ghc-commonmark-pandoc/.files
index 4bf2049146b..4ef474a13fd 100644
Binary files a/packages/g/ghc-commonmark-pandoc/.files and b/packages/g/ghc-commonmark-pandoc/.files differ
diff --git a/packages/g/ghc-commonmark-pandoc/.rev b/packages/g/ghc-commonmark-pandoc/.rev
index 7dfa310a953..d3e6f920512 100644
--- a/packages/g/ghc-commonmark-pandoc/.rev
+++ b/packages/g/ghc-commonmark-pandoc/.rev
@@ -103,4 +103,12 @@
version update
1218542
+
+ 5ff6da58ddcc1d012d3e0db1a6c1933f
+ 0.2.2.3
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231429
+
diff --git a/packages/g/ghc-commonmark-pandoc/commonmark-pandoc-0.2.2.2.tar.gz b/packages/g/ghc-commonmark-pandoc/commonmark-pandoc-0.2.2.2.tar.gz
deleted file mode 120000
index ed50c4748f0..00000000000
--- a/packages/g/ghc-commonmark-pandoc/commonmark-pandoc-0.2.2.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreihgiabinrv2a5il6fitibn5ue5qir66tq5odcfubvkpadk6ka32ke
\ No newline at end of file
diff --git a/packages/g/ghc-commonmark-pandoc/commonmark-pandoc-0.2.2.3.tar.gz b/packages/g/ghc-commonmark-pandoc/commonmark-pandoc-0.2.2.3.tar.gz
new file mode 120000
index 00000000000..0599fe155ab
--- /dev/null
+++ b/packages/g/ghc-commonmark-pandoc/commonmark-pandoc-0.2.2.3.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreihkg7i6zmtehbnovydsdvn4dnjy36hpez4zf6kzb7l3wfd5yu22zi
\ No newline at end of file
diff --git a/packages/g/ghc-commonmark-pandoc/ghc-commonmark-pandoc.changes b/packages/g/ghc-commonmark-pandoc/ghc-commonmark-pandoc.changes
index a21538bab80..61bc33b52a6 100644
--- a/packages/g/ghc-commonmark-pandoc/ghc-commonmark-pandoc.changes
+++ b/packages/g/ghc-commonmark-pandoc/ghc-commonmark-pandoc.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Sun Dec 8 00:18:50 UTC 2024 - Peter Simons
+
+- Update commonmark-pandoc to version 0.2.2.3.
+ ## 0.2.2.3
+
+ - Avoid adding spurious extra data-pos attribute to wrapper
+ Div (#159).
+
-------------------------------------------------------------------
Sat Oct 5 05:49:08 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-commonmark-pandoc/ghc-commonmark-pandoc.spec b/packages/g/ghc-commonmark-pandoc/ghc-commonmark-pandoc.spec
index e787844d999..90d8301a76b 100644
--- a/packages/g/ghc-commonmark-pandoc/ghc-commonmark-pandoc.spec
+++ b/packages/g/ghc-commonmark-pandoc/ghc-commonmark-pandoc.spec
@@ -19,7 +19,7 @@
%global pkg_name commonmark-pandoc
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.2.2.2
+Version: 0.2.2.3
Release: 0
Summary: Bridge between commonmark and pandoc AST
License: BSD-3-Clause
diff --git a/packages/g/ghc-commutative-semigroups/.files b/packages/g/ghc-commutative-semigroups/.files
index bdc6d0e3f83..0df2262619f 100644
Binary files a/packages/g/ghc-commutative-semigroups/.files and b/packages/g/ghc-commutative-semigroups/.files differ
diff --git a/packages/g/ghc-commutative-semigroups/.rev b/packages/g/ghc-commutative-semigroups/.rev
index 2844875ad02..d9d4fbaad2c 100644
--- a/packages/g/ghc-commutative-semigroups/.rev
+++ b/packages/g/ghc-commutative-semigroups/.rev
@@ -31,4 +31,12 @@
Automatic submission by obs-autosubmit
1169520
+
+ 1bfd2d1f08ffbec2bd521c741267c33e
+ 0.2.0.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231430
+
diff --git a/packages/g/ghc-commutative-semigroups/commutative-semigroups-0.1.1.0.tar.gz b/packages/g/ghc-commutative-semigroups/commutative-semigroups-0.1.1.0.tar.gz
deleted file mode 120000
index 11718152b16..00000000000
--- a/packages/g/ghc-commutative-semigroups/commutative-semigroups-0.1.1.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreihtuknejrwafweelm42orgfd3s2wn3v2wtgswni36dogzsd5yledu
\ No newline at end of file
diff --git a/packages/g/ghc-commutative-semigroups/commutative-semigroups-0.2.0.1.tar.gz b/packages/g/ghc-commutative-semigroups/commutative-semigroups-0.2.0.1.tar.gz
new file mode 120000
index 00000000000..2e558cac823
--- /dev/null
+++ b/packages/g/ghc-commutative-semigroups/commutative-semigroups-0.2.0.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreihc4bk2azmg47gvrikvwdnd4dkj3dgan64ud6vi2fgbvzli355w3q
\ No newline at end of file
diff --git a/packages/g/ghc-commutative-semigroups/ghc-commutative-semigroups.changes b/packages/g/ghc-commutative-semigroups/ghc-commutative-semigroups.changes
index 46a040bdec9..1009728ea2a 100644
--- a/packages/g/ghc-commutative-semigroups/ghc-commutative-semigroups.changes
+++ b/packages/g/ghc-commutative-semigroups/ghc-commutative-semigroups.changes
@@ -1,3 +1,15 @@
+-------------------------------------------------------------------
+Sat May 18 12:28:54 UTC 2024 - Peter Simons
+
+- Update commutative-semigroups to version 0.2.0.1.
+ ## 0.2.0.1 -- 2024-05-18
+
+ - Loosen dependency bounds for GHC 9.10, thanks to yaitskov
+
+ ## 0.2 -- 2024-04-09
+
+ - Removed the instances for the `Event` and `Lifetime` types unavailable on Windows
+
-------------------------------------------------------------------
Sun Apr 7 03:31:05 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-commutative-semigroups/ghc-commutative-semigroups.spec b/packages/g/ghc-commutative-semigroups/ghc-commutative-semigroups.spec
index 987d10a89a7..2b6adce5233 100644
--- a/packages/g/ghc-commutative-semigroups/ghc-commutative-semigroups.spec
+++ b/packages/g/ghc-commutative-semigroups/ghc-commutative-semigroups.spec
@@ -19,7 +19,7 @@
%global pkg_name commutative-semigroups
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.1.1.0
+Version: 0.2.0.1
Release: 0
Summary: Commutative semigroups
License: BSD-3-Clause
diff --git a/packages/g/ghc-comonad/.files b/packages/g/ghc-comonad/.files
index ddded6ddc3d..085f46aa67a 100644
Binary files a/packages/g/ghc-comonad/.files and b/packages/g/ghc-comonad/.files differ
diff --git a/packages/g/ghc-comonad/.rev b/packages/g/ghc-comonad/.rev
index a2e9ad66ad3..638e578301c 100644
--- a/packages/g/ghc-comonad/.rev
+++ b/packages/g/ghc-comonad/.rev
@@ -157,4 +157,12 @@
Automatic submission by obs-autosubmit
1116840
+
+ 3e93cfed254cd7fea724478034097fee
+ 5.0.9
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231431
+
diff --git a/packages/g/ghc-comonad/comonad-5.0.8.tar.gz b/packages/g/ghc-comonad/comonad-5.0.8.tar.gz
deleted file mode 120000
index cd487389da9..00000000000
--- a/packages/g/ghc-comonad/comonad-5.0.8.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreihpntpszquszrb642vjnrmbwi2732ukwrfax75sjxdzvyvs54z5cm
\ No newline at end of file
diff --git a/packages/g/ghc-comonad/comonad-5.0.9.tar.gz b/packages/g/ghc-comonad/comonad-5.0.9.tar.gz
new file mode 120000
index 00000000000..dcac798b09d
--- /dev/null
+++ b/packages/g/ghc-comonad/comonad-5.0.9.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidj7mhljguaavnjw5wtduffmsdxprafblenx5lksnclqyxnq6fhre
\ No newline at end of file
diff --git a/packages/g/ghc-comonad/comonad.cabal b/packages/g/ghc-comonad/comonad.cabal
deleted file mode 100644
index 4aaf99acd1f..00000000000
--- a/packages/g/ghc-comonad/comonad.cabal
+++ /dev/null
@@ -1,125 +0,0 @@
-name: comonad
-category: Control, Comonads
-version: 5.0.8
-x-revision: 2
-license: BSD3
-cabal-version: >= 1.10
-license-file: LICENSE
-author: Edward A. Kmett
-maintainer: Edward A. Kmett
-stability: provisional
-homepage: http://github.com/ekmett/comonad/
-bug-reports: http://github.com/ekmett/comonad/issues
-copyright: Copyright (C) 2008-2014 Edward A. Kmett,
- Copyright (C) 2004-2008 Dave Menendez
-synopsis: Comonads
-description: Comonads.
-build-type: Simple
-tested-with: GHC == 7.0.4
- , GHC == 7.2.2
- , GHC == 7.4.2
- , GHC == 7.6.3
- , GHC == 7.8.4
- , GHC == 7.10.3
- , GHC == 8.0.2
- , GHC == 8.2.2
- , GHC == 8.4.4
- , GHC == 8.6.5
- , GHC == 8.8.3
- , GHC == 8.10.1
-extra-source-files:
- .gitignore
- .hlint.yaml
- .vim.custom
- coq/Store.v
- README.markdown
- CHANGELOG.markdown
- examples/History.hs
-
-flag containers
- description:
- You can disable the use of the `containers` package using `-f-containers`.
- .
- Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
- default: True
- manual: True
-
-flag distributive
- description:
- You can disable the use of the `distributive` package using `-f-distributive`.
- .
- Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
- .
- If disabled we will not supply instances of `Distributive`
- .
- default: True
- manual: True
-
-flag indexed-traversable
- description:
- You can disable the use of the `indexed-traversable` package using `-f-indexed-traversable`.
- .
- Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
- .
- If disabled we will not supply instances of `FunctorWithIndex`
- .
- default: True
- manual: True
-
-
-source-repository head
- type: git
- location: git://github.com/ekmett/comonad.git
-
-library
- hs-source-dirs: src
- default-language: Haskell2010
- ghc-options: -Wall
-
- build-depends:
- base >= 4 && < 5,
- tagged >= 0.8.6.1 && < 1,
- transformers >= 0.3 && < 0.7,
- transformers-compat >= 0.5 && < 1
-
- if !impl(ghc >= 8.0)
- build-depends: semigroups >= 0.18.5 && < 1
-
- if flag(containers)
- build-depends: containers >= 0.3 && < 0.8
-
- if flag(distributive)
- build-depends: distributive >= 0.5.2 && < 1
-
- if flag(indexed-traversable)
- build-depends: indexed-traversable >= 0.1.1 && < 0.2
-
- if impl(ghc >= 9.0)
- -- these flags may abort compilation with GHC-8.10
- -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
- ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode
-
- exposed-modules:
- Control.Comonad
- Control.Comonad.Env
- Control.Comonad.Env.Class
- Control.Comonad.Hoist.Class
- Control.Comonad.Identity
- Control.Comonad.Store
- Control.Comonad.Store.Class
- Control.Comonad.Traced
- Control.Comonad.Traced.Class
- Control.Comonad.Trans.Class
- Control.Comonad.Trans.Env
- Control.Comonad.Trans.Identity
- Control.Comonad.Trans.Store
- Control.Comonad.Trans.Traced
- Data.Functor.Composition
-
- other-extensions:
- CPP
- RankNTypes
- MultiParamTypeClasses
- FunctionalDependencies
- FlexibleInstances
- UndecidableInstances
diff --git a/packages/g/ghc-comonad/ghc-comonad.changes b/packages/g/ghc-comonad/ghc-comonad.changes
index c5f67190173..050a74ac4c4 100644
--- a/packages/g/ghc-comonad/ghc-comonad.changes
+++ b/packages/g/ghc-comonad/ghc-comonad.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Wed Dec 4 12:50:42 UTC 2024 - Peter Simons
+
+- Update comonad to version 5.0.9.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/comonad-5.0.9/src/CHANGELOG.markdown
+
-------------------------------------------------------------------
Sat Sep 30 12:22:30 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-comonad/ghc-comonad.spec b/packages/g/ghc-comonad/ghc-comonad.spec
index 272f32b1af3..3f9068c2820 100644
--- a/packages/g/ghc-comonad/ghc-comonad.spec
+++ b/packages/g/ghc-comonad/ghc-comonad.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-comonad
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,13 +19,12 @@
%global pkg_name comonad
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 5.0.8
+Version: 5.0.9
Release: 0
Summary: Comonads
License: BSD-2-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -75,7 +74,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-cookie/.files b/packages/g/ghc-cookie/.files
index c3657c2c1f8..4150180aa9d 100644
Binary files a/packages/g/ghc-cookie/.files and b/packages/g/ghc-cookie/.files differ
diff --git a/packages/g/ghc-cookie/.rev b/packages/g/ghc-cookie/.rev
index 1c194255c58..838a60ccd50 100644
--- a/packages/g/ghc-cookie/.rev
+++ b/packages/g/ghc-cookie/.rev
@@ -127,4 +127,12 @@
update for ghc-9.4.4
1075826
+
+ 64230b4e96afc65650d21d15ce0c7de4
+ 0.5.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231432
+
diff --git a/packages/g/ghc-cookie/cookie-0.4.6.tar.gz b/packages/g/ghc-cookie/cookie-0.4.6.tar.gz
deleted file mode 120000
index 3395aeccd7b..00000000000
--- a/packages/g/ghc-cookie/cookie-0.4.6.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreiemiguvnqzls4z5kjnfhvb3am4kenvdju3gldwminsmqje2mzslvi
\ No newline at end of file
diff --git a/packages/g/ghc-cookie/cookie-0.5.0.tar.gz b/packages/g/ghc-cookie/cookie-0.5.0.tar.gz
new file mode 120000
index 00000000000..15e3b794de4
--- /dev/null
+++ b/packages/g/ghc-cookie/cookie-0.5.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiaokh7hbehy7pgyis5x2g35t3mvwghnge3kisbwvhhdl4fhfjq2tu
\ No newline at end of file
diff --git a/packages/g/ghc-cookie/ghc-cookie.changes b/packages/g/ghc-cookie/ghc-cookie.changes
index e8d195366f4..8acd61a66c6 100644
--- a/packages/g/ghc-cookie/ghc-cookie.changes
+++ b/packages/g/ghc-cookie/ghc-cookie.changes
@@ -1,3 +1,15 @@
+-------------------------------------------------------------------
+Mon Mar 4 08:52:49 UTC 2024 - Peter Simons
+
+- Update cookie to version 0.5.0.
+ ## 0.5.0
+
+ * Remove surrounding double quotes from cookie values when parsing [#31](https://github.com/snoyberg/cookie/pull/31)
+
+ This is a breaking change, as it changes the behavior of `parseCookies` and `parseSetCookie` to no
+ longer include the surrounding double quotes in the cookie value. This is the correct behavior
+ according to the RFC.
+
-------------------------------------------------------------------
Thu Mar 30 17:06:21 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-cookie/ghc-cookie.spec b/packages/g/ghc-cookie/ghc-cookie.spec
index 12184869dc2..c815f6004a9 100644
--- a/packages/g/ghc-cookie/ghc-cookie.spec
+++ b/packages/g/ghc-cookie/ghc-cookie.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-cookie
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.4.6
+Version: 0.5.0
Release: 0
Summary: HTTP cookie parsing and rendering
License: MIT
diff --git a/packages/g/ghc-crypton-connection/.files b/packages/g/ghc-crypton-connection/.files
index d7ff785ef25..c0ecfbd8699 100644
Binary files a/packages/g/ghc-crypton-connection/.files and b/packages/g/ghc-crypton-connection/.files differ
diff --git a/packages/g/ghc-crypton-connection/.rev b/packages/g/ghc-crypton-connection/.rev
index 2c0f40297c1..a7d770193fc 100644
--- a/packages/g/ghc-crypton-connection/.rev
+++ b/packages/g/ghc-crypton-connection/.rev
@@ -23,4 +23,12 @@
version update
1188634
+
+ de0bc49e8318e6eb43ecaa8bad06895d
+ 0.4.3
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231433
+
diff --git a/packages/g/ghc-crypton-connection/crypton-connection-0.3.2.tar.gz b/packages/g/ghc-crypton-connection/crypton-connection-0.3.2.tar.gz
deleted file mode 120000
index 9efaeb38d9f..00000000000
--- a/packages/g/ghc-crypton-connection/crypton-connection-0.3.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreibarprdxsiq7ds7sqyzsw44aepng5v3sr6xt52mr5i2lzhm3huzdy
\ No newline at end of file
diff --git a/packages/g/ghc-crypton-connection/crypton-connection-0.4.3.tar.gz b/packages/g/ghc-crypton-connection/crypton-connection-0.4.3.tar.gz
new file mode 120000
index 00000000000..02e1b9bd4cf
--- /dev/null
+++ b/packages/g/ghc-crypton-connection/crypton-connection-0.4.3.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreigjras44ok6nlwukuh67lt4rz6www2egx222v6rfkwth7jvn6bk4e
\ No newline at end of file
diff --git a/packages/g/ghc-crypton-connection/crypton-connection.cabal b/packages/g/ghc-crypton-connection/crypton-connection.cabal
deleted file mode 100644
index 986d2991d76..00000000000
--- a/packages/g/ghc-crypton-connection/crypton-connection.cabal
+++ /dev/null
@@ -1,45 +0,0 @@
-Name: crypton-connection
-Version: 0.3.2
-x-revision: 1
-Description:
- Simple network library for all your connection need.
- .
- Features: Really simple to use, SSL/TLS, SOCKS.
- .
- This library provides a very simple api to create sockets
- to a destination with the choice of SSL/TLS, and SOCKS.
-License: BSD3
-License-file: LICENSE
-Copyright: Vincent Hanquez
-Author: Vincent Hanquez
-Maintainer: Kazu Yamamoto
-Synopsis: Simple and easy network connections API
-Build-Type: Simple
-Category: Network
-stability: experimental
-Cabal-Version: >=1.10
-Homepage: https://github.com/kazu-yamamoto/crypton-connection
-extra-source-files: README.md
- CHANGELOG.md
-
-Library
- Default-Language: Haskell2010
- Build-Depends: base >= 3 && < 5
- , basement
- , bytestring
- , containers
- , data-default-class
- , network >= 2.6.3
- , tls >= 1.7 && <2.1.0
- , socks >= 0.6
- , crypton-x509 >= 1.5
- , crypton-x509-store >= 1.5
- , crypton-x509-system >= 1.5
- , crypton-x509-validation >= 1.5
- Exposed-modules: Network.Connection
- Other-modules: Network.Connection.Types
- ghc-options: -Wall
-
-source-repository head
- type: git
- location: https://github.com/kazu-yamamoto/crypton-connection
diff --git a/packages/g/ghc-crypton-connection/ghc-crypton-connection.changes b/packages/g/ghc-crypton-connection/ghc-crypton-connection.changes
index 3c8e9b798b6..50fa0908702 100644
--- a/packages/g/ghc-crypton-connection/ghc-crypton-connection.changes
+++ b/packages/g/ghc-crypton-connection/ghc-crypton-connection.changes
@@ -1,3 +1,31 @@
+-------------------------------------------------------------------
+Fri Dec 6 05:38:35 UTC 2024 - Peter Simons
+
+- Update crypton-connection to version 0.4.3.
+ ## Version 0.4.3
+
+ * Creating the `Internal` module and export the `ConnectionContext` constructor.
+ [#7](https://github.com/kazu-yamamoto/crypton-connection/pull/7)
+
+-------------------------------------------------------------------
+Wed Nov 6 07:45:44 UTC 2024 - Peter Simons
+
+- Update crypton-connection to version 0.4.2.
+ # CHANGELOG
+
+ ## Version 0.4.2
+
+ * Using data-default.
+
+ ## Version 0.4.1
+
+ * Preparing for tls v2.1
+
+ ## Version 0.4.0
+
+ * Add support for overriding the TLS clientSupported member in TLSSettingsSimple
+ [#3](https://github.com/kazu-yamamoto/crypton-connection/pull/3)
+
-------------------------------------------------------------------
Sat Jun 29 21:31:10 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-crypton-connection/ghc-crypton-connection.spec b/packages/g/ghc-crypton-connection/ghc-crypton-connection.spec
index e9f91ede0b3..4858cc60825 100644
--- a/packages/g/ghc-crypton-connection/ghc-crypton-connection.spec
+++ b/packages/g/ghc-crypton-connection/ghc-crypton-connection.spec
@@ -19,13 +19,12 @@
%global pkg_name crypton-connection
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.3.2
+Version: 0.4.3
Release: 0
-Summary: Simple and easy network connections API
+Summary: Simple and easy network connection API
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -43,8 +42,8 @@ BuildRequires: ghc-crypton-x509-system-devel
BuildRequires: ghc-crypton-x509-system-prof
BuildRequires: ghc-crypton-x509-validation-devel
BuildRequires: ghc-crypton-x509-validation-prof
-BuildRequires: ghc-data-default-class-devel
-BuildRequires: ghc-data-default-class-prof
+BuildRequires: ghc-data-default-devel
+BuildRequires: ghc-data-default-prof
BuildRequires: ghc-network-devel
BuildRequires: ghc-network-prof
BuildRequires: ghc-rpm-macros
@@ -55,7 +54,7 @@ BuildRequires: ghc-tls-prof
ExcludeArch: %{ix86}
%description
-Simple network library for all your connection need.
+Simple network library for all your connection needs.
Features: Really simple to use, SSL/TLS, SOCKS.
@@ -91,7 +90,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-crypton-x509-validation/.files b/packages/g/ghc-crypton-x509-validation/.files
index 2b989103431..1522c94c2da 100644
Binary files a/packages/g/ghc-crypton-x509-validation/.files and b/packages/g/ghc-crypton-x509-validation/.files differ
diff --git a/packages/g/ghc-crypton-x509-validation/.rev b/packages/g/ghc-crypton-x509-validation/.rev
index 02b0b54fa66..f5c035b3dd5 100644
--- a/packages/g/ghc-crypton-x509-validation/.rev
+++ b/packages/g/ghc-crypton-x509-validation/.rev
@@ -7,4 +7,12 @@
new submission
1127010
+
+ 95444b923058df4726820057eeaa66b1
+ 1.6.13
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231434
+
diff --git a/packages/g/ghc-crypton-x509-validation/crypton-x509-validation-1.6.12.tar.gz b/packages/g/ghc-crypton-x509-validation/crypton-x509-validation-1.6.12.tar.gz
deleted file mode 120000
index 936774721ac..00000000000
--- a/packages/g/ghc-crypton-x509-validation/crypton-x509-validation-1.6.12.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreiaomc36en5e7vph43tsaaayy6khgfbjf33douolwumhpa3oxzsq6y
\ No newline at end of file
diff --git a/packages/g/ghc-crypton-x509-validation/crypton-x509-validation-1.6.13.tar.gz b/packages/g/ghc-crypton-x509-validation/crypton-x509-validation-1.6.13.tar.gz
new file mode 120000
index 00000000000..03702eb7f34
--- /dev/null
+++ b/packages/g/ghc-crypton-x509-validation/crypton-x509-validation-1.6.13.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreicre5jskui5w4l7a2l5j4swd7o6auehqb6nrinasir2qepedtav2u
\ No newline at end of file
diff --git a/packages/g/ghc-crypton-x509-validation/ghc-crypton-x509-validation.changes b/packages/g/ghc-crypton-x509-validation/ghc-crypton-x509-validation.changes
index b0bc41f9b52..d2ab2264a87 100644
--- a/packages/g/ghc-crypton-x509-validation/ghc-crypton-x509-validation.changes
+++ b/packages/g/ghc-crypton-x509-validation/ghc-crypton-x509-validation.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Wed Nov 6 06:50:36 UTC 2024 - Peter Simons
+
+- Update crypton-x509-validation to version 1.6.13.
+ Upstream does not provide a change log file.
+
-------------------------------------------------------------------
Tue Jun 6 04:29:24 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-crypton-x509-validation/ghc-crypton-x509-validation.spec b/packages/g/ghc-crypton-x509-validation/ghc-crypton-x509-validation.spec
index 6e5c533987c..6ed0ef55666 100644
--- a/packages/g/ghc-crypton-x509-validation/ghc-crypton-x509-validation.spec
+++ b/packages/g/ghc-crypton-x509-validation/ghc-crypton-x509-validation.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-crypton-x509-validation
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.6.12
+Version: 1.6.13
Release: 0
Summary: X.509 Certificate and CRL validation
License: BSD-3-Clause
@@ -43,8 +43,8 @@ BuildRequires: ghc-crypton-x509-devel
BuildRequires: ghc-crypton-x509-prof
BuildRequires: ghc-crypton-x509-store-devel
BuildRequires: ghc-crypton-x509-store-prof
-BuildRequires: ghc-data-default-class-devel
-BuildRequires: ghc-data-default-class-prof
+BuildRequires: ghc-data-default-devel
+BuildRequires: ghc-data-default-prof
BuildRequires: ghc-hourglass-devel
BuildRequires: ghc-hourglass-prof
BuildRequires: ghc-memory-devel
diff --git a/packages/g/ghc-dbus/.files b/packages/g/ghc-dbus/.files
index 49e2538d7db..fc26155c32b 100644
Binary files a/packages/g/ghc-dbus/.files and b/packages/g/ghc-dbus/.files differ
diff --git a/packages/g/ghc-dbus/.rev b/packages/g/ghc-dbus/.rev
index 9a95b41b4db..eec49a901c5 100644
--- a/packages/g/ghc-dbus/.rev
+++ b/packages/g/ghc-dbus/.rev
@@ -231,4 +231,12 @@
Automatic submission by obs-autosubmit
1171200
+
+ 835dfc05bfd08611cef2c9dcb9f4c7db
+ 1.3.9
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231437
+
diff --git a/packages/g/ghc-dbus/dbus-1.3.3.tar.gz b/packages/g/ghc-dbus/dbus-1.3.3.tar.gz
deleted file mode 120000
index f6c0bd84070..00000000000
--- a/packages/g/ghc-dbus/dbus-1.3.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreifcmyix7o5fbgdu3ltkw5v3rb2xjlgld3se7afu6aelne4g7u2lry
\ No newline at end of file
diff --git a/packages/g/ghc-dbus/dbus-1.3.9.tar.gz b/packages/g/ghc-dbus/dbus-1.3.9.tar.gz
new file mode 120000
index 00000000000..abefa2d565a
--- /dev/null
+++ b/packages/g/ghc-dbus/dbus-1.3.9.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreifa5z2ipdmbuwhzqbfk7tac2vwqi5enb22h74cltgycnth4jfakla
\ No newline at end of file
diff --git a/packages/g/ghc-dbus/ghc-dbus.changes b/packages/g/ghc-dbus/ghc-dbus.changes
index 53455a2b619..6560ee19080 100644
--- a/packages/g/ghc-dbus/ghc-dbus.changes
+++ b/packages/g/ghc-dbus/ghc-dbus.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Sat Oct 26 18:12:15 UTC 2024 - Peter Simons
+
+- Update dbus to version 1.3.9.
+ Upstream does not provide a change log file.
+
-------------------------------------------------------------------
Wed Apr 24 21:18:05 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-dbus/ghc-dbus.spec b/packages/g/ghc-dbus/ghc-dbus.spec
index e05f894c67f..679c58627e4 100644
--- a/packages/g/ghc-dbus/ghc-dbus.spec
+++ b/packages/g/ghc-dbus/ghc-dbus.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.3.3
+Version: 1.3.9
Release: 0
Summary: A client library for the D-Bus IPC system
License: Apache-2.0
diff --git a/packages/g/ghc-deriving-aeson/.files b/packages/g/ghc-deriving-aeson/.files
index c00cb71acdb..144ddccd846 100644
Binary files a/packages/g/ghc-deriving-aeson/.files and b/packages/g/ghc-deriving-aeson/.files differ
diff --git a/packages/g/ghc-deriving-aeson/.rev b/packages/g/ghc-deriving-aeson/.rev
index df511b0f90d..42cecc33842 100644
--- a/packages/g/ghc-deriving-aeson/.rev
+++ b/packages/g/ghc-deriving-aeson/.rev
@@ -31,4 +31,12 @@
Automatic submission by obs-autosubmit
1104407
+
+ 7413f6d89f61ba7f0bf788b76f31016c
+ 0.2.10
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231438
+
diff --git a/packages/g/ghc-deriving-aeson/deriving-aeson-0.2.10.tar.gz b/packages/g/ghc-deriving-aeson/deriving-aeson-0.2.10.tar.gz
new file mode 120000
index 00000000000..e16a9cbcf71
--- /dev/null
+++ b/packages/g/ghc-deriving-aeson/deriving-aeson-0.2.10.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreib27njkycuc6vbxqpg5na5w4gvj5j5laggkbibaztosnh3u74bwo4
\ No newline at end of file
diff --git a/packages/g/ghc-deriving-aeson/deriving-aeson-0.2.9.tar.gz b/packages/g/ghc-deriving-aeson/deriving-aeson-0.2.9.tar.gz
deleted file mode 120000
index a5027447a01..00000000000
--- a/packages/g/ghc-deriving-aeson/deriving-aeson-0.2.9.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreigawklv357nlotgrgblurbdddbwvx7ixy6dfxhrg3atx6lgejqygm
\ No newline at end of file
diff --git a/packages/g/ghc-deriving-aeson/deriving-aeson.cabal b/packages/g/ghc-deriving-aeson/deriving-aeson.cabal
deleted file mode 100644
index e92acaf846d..00000000000
--- a/packages/g/ghc-deriving-aeson/deriving-aeson.cabal
+++ /dev/null
@@ -1,37 +0,0 @@
-cabal-version: 2.4
-name: deriving-aeson
-version: 0.2.9
-x-revision: 1
-synopsis: Type driven generic aeson instance customisation
-description: This package provides a newtype wrapper with
- FromJSON/ToJSON instances customisable via a phantom type parameter.
- The instances can be rendered to the original type using DerivingVia.
-bug-reports: https://github.com/fumieval/deriving-aeson
-license: BSD-3-Clause
-license-file: LICENSE
-author: Fumiaki Kinoshita
-maintainer: fumiexcel@gmail.com
-copyright: Copyright (c) 2020 Fumiaki Kinoshita
-category: JSON, Generics
-extra-source-files: CHANGELOG.md, README.md
-tested-with: GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.7, GHC == 9.2.5, GHC == 9.4.4
-
-source-repository head
- type: git
- location: https://github.com/fumieval/deriving-aeson.git
-
-library
- exposed-modules:
- Deriving.Aeson
- Deriving.Aeson.Stock
- build-depends: base >= 4.12 && <5, aeson >= 1.4.7.0 && <2.3
- hs-source-dirs: src
- default-language: Haskell2010
- ghc-options: -Wall -Wcompat
-
-test-suite test
- type: exitcode-stdio-1.0
- main-is: test.hs
- build-depends: base, aeson, deriving-aeson, bytestring
- hs-source-dirs: tests
- default-language: Haskell2010
diff --git a/packages/g/ghc-deriving-aeson/ghc-deriving-aeson.changes b/packages/g/ghc-deriving-aeson/ghc-deriving-aeson.changes
index b3ff24a0b05..45b26885c67 100644
--- a/packages/g/ghc-deriving-aeson/ghc-deriving-aeson.changes
+++ b/packages/g/ghc-deriving-aeson/ghc-deriving-aeson.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Sat Nov 23 02:29:38 UTC 2024 - Peter Simons
+
+- Update deriving-aeson to version 0.2.10.
+ ## 0.2.10
+
+ * Added `StripSuffix`
+
-------------------------------------------------------------------
Mon Aug 7 07:25:55 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-deriving-aeson/ghc-deriving-aeson.spec b/packages/g/ghc-deriving-aeson/ghc-deriving-aeson.spec
index 410fef1199b..5361cd13471 100644
--- a/packages/g/ghc-deriving-aeson/ghc-deriving-aeson.spec
+++ b/packages/g/ghc-deriving-aeson/ghc-deriving-aeson.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-deriving-aeson
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.2.9
+Version: 0.2.10
Release: 0
Summary: Type driven generic aeson instance customisation
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-aeson-prof
@@ -72,7 +71,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-feed/.files b/packages/g/ghc-feed/.files
index e12d0e9a6c2..76a3c67db9e 100644
Binary files a/packages/g/ghc-feed/.files and b/packages/g/ghc-feed/.files differ
diff --git a/packages/g/ghc-feed/.rev b/packages/g/ghc-feed/.rev
index 058ec1e81b3..398b385f052 100644
--- a/packages/g/ghc-feed/.rev
+++ b/packages/g/ghc-feed/.rev
@@ -111,4 +111,12 @@
Update Haskell ecosystem to GHC version 9.8.2.
1157244
+
+ ef1203b2d9e08554a52ecfd9a6328646
+ 1.3.2.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231440
+
diff --git a/packages/g/ghc-feed/ghc-feed.changes b/packages/g/ghc-feed/ghc-feed.changes
index 83396e39d3e..a6448b911f8 100644
--- a/packages/g/ghc-feed/ghc-feed.changes
+++ b/packages/g/ghc-feed/ghc-feed.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:54:45 UTC 2024 - Peter Simons
+
+- Jailbreak version constraint on base to fix the build.
+
-------------------------------------------------------------------
Tue Feb 27 19:34:31 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-feed/ghc-feed.spec b/packages/g/ghc-feed/ghc-feed.spec
index e20f612d818..948707e6a6f 100644
--- a/packages/g/ghc-feed/ghc-feed.spec
+++ b/packages/g/ghc-feed/ghc-feed.spec
@@ -111,7 +111,8 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
cp -p %{SOURCE1} %{pkg_name}.cabal
-cabal-tweak-dep-ver base-compat '< 0.13' '< 1'
+cabal-tweak-dep-ver base '< 4.20' '< 5'
+cabal-tweak-dep-ver base-compat '< 0.14' '< 1'
%build
%ghc_lib_build
diff --git a/packages/g/ghc-free/.files b/packages/g/ghc-free/.files
index 7a091d0d8ea..280f2031b69 100644
Binary files a/packages/g/ghc-free/.files and b/packages/g/ghc-free/.files differ
diff --git a/packages/g/ghc-free/.rev b/packages/g/ghc-free/.rev
index eaca8f5ebda..9cb1f5e9159 100644
--- a/packages/g/ghc-free/.rev
+++ b/packages/g/ghc-free/.rev
@@ -226,4 +226,12 @@ languages.
Automatic submission by obs-autosubmit
1177131
+
+ f1b0485ae6ac679a6a58182973bb3759
+ 5.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231442
+
diff --git a/packages/g/ghc-free/free.cabal b/packages/g/ghc-free/free.cabal
index dae3256e49f..f46392bd060 100644
--- a/packages/g/ghc-free/free.cabal
+++ b/packages/g/ghc-free/free.cabal
@@ -1,7 +1,7 @@
name: free
category: Control, Monads
version: 5.2
-x-revision: 5
+x-revision: 6
license: BSD3
cabal-version: 1.18
license-file: LICENSE
@@ -88,7 +88,7 @@ library
th-abstraction >= 0.4.2.0 && < 0.8,
transformers >= 0.5 && < 0.7,
transformers-base >= 0.4.5.2 && < 0.5,
- template-haskell >= 2.11 && < 2.23
+ template-haskell >= 2.11 && < 2.24
if !impl(ghc >= 8.2)
build-depends: bifunctor-classes-compat >= 0.1 && < 0.2
diff --git a/packages/g/ghc-free/ghc-free.changes b/packages/g/ghc-free/ghc-free.changes
index 82882420b87..76b41af6c42 100644
--- a/packages/g/ghc-free/ghc-free.changes
+++ b/packages/g/ghc-free/ghc-free.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Thu Dec 5 12:17:57 UTC 2024 - Peter Simons
+
+- Update free to version 5.2 revision 6.
+ Upstream has revised the Cabal build instructions on Hackage.
+
-------------------------------------------------------------------
Thu May 16 11:05:55 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-free/ghc-free.spec b/packages/g/ghc-free/ghc-free.spec
index b5d6ad82ead..d7664eb28d0 100644
--- a/packages/g/ghc-free/ghc-free.spec
+++ b/packages/g/ghc-free/ghc-free.spec
@@ -25,7 +25,7 @@ Summary: Monads for free
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/5.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/6.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
diff --git a/packages/g/ghc-git-lfs/.files b/packages/g/ghc-git-lfs/.files
index ee1ab336105..e1f861a0b0e 100644
Binary files a/packages/g/ghc-git-lfs/.files and b/packages/g/ghc-git-lfs/.files differ
diff --git a/packages/g/ghc-git-lfs/.rev b/packages/g/ghc-git-lfs/.rev
index 2bdfaa46f74..086b27570cf 100644
--- a/packages/g/ghc-git-lfs/.rev
+++ b/packages/g/ghc-git-lfs/.rev
@@ -15,4 +15,12 @@
Update Haskell ecosystem to GHC version 9.8.2.
1157249
+
+ 1e4e4c5d22275864b99dddb109cc09ec
+ 1.2.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231443
+
diff --git a/packages/g/ghc-git-lfs/ghc-git-lfs.changes b/packages/g/ghc-git-lfs/ghc-git-lfs.changes
index 9686a30b226..95640cc16bc 100644
--- a/packages/g/ghc-git-lfs/ghc-git-lfs.changes
+++ b/packages/g/ghc-git-lfs/ghc-git-lfs.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:55:05 UTC 2024 - Peter Simons
+
+- Jailbreak version constraint on containers to fix the build.
+
-------------------------------------------------------------------
Thu Feb 1 16:26:43 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-git-lfs/ghc-git-lfs.spec b/packages/g/ghc-git-lfs/ghc-git-lfs.spec
index 977f6d211fc..68637086737 100644
--- a/packages/g/ghc-git-lfs/ghc-git-lfs.spec
+++ b/packages/g/ghc-git-lfs/ghc-git-lfs.spec
@@ -78,6 +78,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
+cabal-tweak-dep-ver containers '< 0.7' '< 1'
%build
%ghc_lib_build
diff --git a/packages/g/ghc-half/.files b/packages/g/ghc-half/.files
index 7436d431545..4b21058ebdc 100644
Binary files a/packages/g/ghc-half/.files and b/packages/g/ghc-half/.files differ
diff --git a/packages/g/ghc-half/.rev b/packages/g/ghc-half/.rev
index 0e65d3e5e70..1e1e57febf8 100644
--- a/packages/g/ghc-half/.rev
+++ b/packages/g/ghc-half/.rev
@@ -15,4 +15,12 @@
version update
1171788
+
+ 20d1babc36096b9f54aa1aea78de6cd0
+ 0.3.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231444
+
diff --git a/packages/g/ghc-half/ghc-half.changes b/packages/g/ghc-half/ghc-half.changes
index 5d8af5d036d..b08610f7f06 100644
--- a/packages/g/ghc-half/ghc-half.changes
+++ b/packages/g/ghc-half/ghc-half.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Wed Dec 4 12:27:01 UTC 2024 - Peter Simons
+
+- Update half to version 0.3.2.
+ 0.3.2 [2024.12.04]
+ ------------------
+ * Drop support for pre-8.0 versions of GHC.
+
-------------------------------------------------------------------
Tue Apr 23 10:33:06 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-half/ghc-half.spec b/packages/g/ghc-half/ghc-half.spec
index 30fd249f963..9844de41934 100644
--- a/packages/g/ghc-half/ghc-half.spec
+++ b/packages/g/ghc-half/ghc-half.spec
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.3.1
+Version: 0.3.2
Release: 0
Summary: Half-precision floating-point
License: BSD-2-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -80,7 +79,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-half/half-0.3.1.tar.gz b/packages/g/ghc-half/half-0.3.1.tar.gz
deleted file mode 120000
index 6d3834811a5..00000000000
--- a/packages/g/ghc-half/half-0.3.1.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreihcv7bsojhbdp24nfoxs64rnhm5tmw4mkstblwtckcmqgd26fqv2e
\ No newline at end of file
diff --git a/packages/g/ghc-half/half-0.3.2.tar.gz b/packages/g/ghc-half/half-0.3.2.tar.gz
new file mode 120000
index 00000000000..1300d5fb71e
--- /dev/null
+++ b/packages/g/ghc-half/half-0.3.2.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiaztexj7nxu5kffhmf2a2jvmxuoy46gec3ahz2lnvhsmlsj27pqha
\ No newline at end of file
diff --git a/packages/g/ghc-half/half.cabal b/packages/g/ghc-half/half.cabal
deleted file mode 100644
index 76035665629..00000000000
--- a/packages/g/ghc-half/half.cabal
+++ /dev/null
@@ -1,86 +0,0 @@
-cabal-version: >=1.10
-name: half
-version: 0.3.1
-x-revision: 2
-license: BSD3
-license-file: LICENSE
-copyright: Copyright (C) 2014 Edward A. Kmett
-maintainer: Edward A. Kmett
-author: Edward A. Kmett
-stability: provisional
-homepage: http://github.com/ekmett/half
-bug-reports: http://github.com/ekmett/half/issues
-synopsis: Half-precision floating-point
-description:
- Half-precision floating-point.
-category: Numeric
-build-type: Simple
-extra-source-files:
- .gitignore
- README.markdown
- CHANGELOG.markdown
-
-tested-with: GHC == 7.4.2
- , GHC == 7.6.3
- , GHC == 7.8.4
- , GHC == 7.10.3
- , GHC == 8.0.2
- , GHC == 8.2.2
- , GHC == 8.4.4
- , GHC == 8.6.5
- , GHC == 8.8.4
- , GHC == 8.10.3
-
-source-repository head
- type: git
- location: git://github.com/ekmett/half.git
-
-library
- default-language: Haskell2010
- exposed-modules:
- Numeric.Half
- Numeric.Half.Internal
- hs-source-dirs: src
- other-extensions: BangPatterns CPP DeriveDataTypeable DeriveGeneric
- ForeignFunctionInterface
- ghc-options: -Wall -fwarn-tabs -O2
- build-depends:
- base >=4.5 && <5,
- binary >=0.5.1.0 && <0.9,
- deepseq >=1.3.0.0 && <1.6,
- template-haskell
-
- if !impl(ghcjs)
- c-sources:
- cbits/half.c
-
- if impl(ghc >= 8.0)
- other-extensions: DeriveLift StandaloneDeriving
- else
- other-extensions: TemplateHaskell
-
- if impl(ghc >=7.8)
- other-extensions: PatternSynonyms
-
- if impl(ghc <7.6)
- build-depends:
- ghc-prim
-
- if impl(ghc >=8)
- ghc-options: -Wno-missing-pattern-synonym-signatures
-
-test-suite spec
- default-language: Haskell2010
- type: exitcode-stdio-1.0
- main-is: Spec.hs
- hs-source-dirs: test
- ghc-options: -Wall
-
- build-depends:
- base,
- binary,
- bytestring,
- half,
- QuickCheck >=2.14.1 && <2.16,
- test-framework,
- test-framework-quickcheck2
diff --git a/packages/g/ghc-hashable/.files b/packages/g/ghc-hashable/.files
index 5e03bca4d1f..9aef73fcdc9 100644
Binary files a/packages/g/ghc-hashable/.files and b/packages/g/ghc-hashable/.files differ
diff --git a/packages/g/ghc-hashable/.rev b/packages/g/ghc-hashable/.rev
index 209356bf164..2e3afdeb801 100644
--- a/packages/g/ghc-hashable/.rev
+++ b/packages/g/ghc-hashable/.rev
@@ -310,4 +310,12 @@ See http://lists.opensuse.org/opensuse-factory/2013-07/msg00409.html
version update
1188641
+
+ 9969721f67ba7f414da5a31a11c65667
+ 1.5.0.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231445
+
diff --git a/packages/g/ghc-hashable/ghc-hashable.changes b/packages/g/ghc-hashable/ghc-hashable.changes
index 2324a7f7ade..0338e426e60 100644
--- a/packages/g/ghc-hashable/ghc-hashable.changes
+++ b/packages/g/ghc-hashable/ghc-hashable.changes
@@ -1,3 +1,24 @@
+-------------------------------------------------------------------
+Thu Jul 4 19:38:39 UTC 2024 - Peter Simons
+
+- Update hashable to version 1.5.0.0.
+ ## Version 1.5.0.0
+
+ * Add `QuantifiedConstraints` superclasses to `Hashable1/2`:
+
+ ```haskell
+ class (Eq1 t, forall a. Hashable a => Hashable (t a)) => Hashable1 t where
+ class (Eq2 t, forall a. Hashable a => Hashable1 (t a)) => Hashable2 t where
+ ```
+
+ * Change contexts of `Compose`, `Product` and `Sum` instances.
+ This and above is the similar change as [CLC proposal #10](https://github.com/haskell/core-libraries-committee/issues/10)
+
+ * The above changes require `base-4.18.0.0`, so we drop support for GHC prior GHC-9.6.5
+ (The `hashable-1.4` branch will be maintained for time being for older GHC users).
+
+ * Make `Arg a b` instance behave as `Hashable a` instance.
+
-------------------------------------------------------------------
Mon Jun 24 10:44:33 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-hashable/ghc-hashable.spec b/packages/g/ghc-hashable/ghc-hashable.spec
index 0d0c3580025..7bddb4f9b56 100644
--- a/packages/g/ghc-hashable/ghc-hashable.spec
+++ b/packages/g/ghc-hashable/ghc-hashable.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.4.7.0
+Version: 1.5.0.0
Release: 0
Summary: A class for types that can be converted to a hash value
License: BSD-3-Clause
diff --git a/packages/g/ghc-hashable/hashable-1.4.7.0.tar.gz b/packages/g/ghc-hashable/hashable-1.4.7.0.tar.gz
deleted file mode 120000
index 4fd664824a8..00000000000
--- a/packages/g/ghc-hashable/hashable-1.4.7.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreib3v3smsat2bcbq2feoyusmxqchdxtelypiijwum6ao6j2y34hi3i
\ No newline at end of file
diff --git a/packages/g/ghc-hashable/hashable-1.5.0.0.tar.gz b/packages/g/ghc-hashable/hashable-1.5.0.0.tar.gz
new file mode 120000
index 00000000000..8c3108dad8d
--- /dev/null
+++ b/packages/g/ghc-hashable/hashable-1.5.0.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreihfrm5i4gg2l5wnp2jx4x6wqpsqboy7qj3lg5ucnf2zcgokbto3ni
\ No newline at end of file
diff --git a/packages/g/ghc-hashtables/.files b/packages/g/ghc-hashtables/.files
index 6e097a87d0d..d6440cafeab 100644
Binary files a/packages/g/ghc-hashtables/.files and b/packages/g/ghc-hashtables/.files differ
diff --git a/packages/g/ghc-hashtables/.rev b/packages/g/ghc-hashtables/.rev
index 06a52f387f9..10b100d4b50 100644
--- a/packages/g/ghc-hashtables/.rev
+++ b/packages/g/ghc-hashtables/.rev
@@ -47,4 +47,12 @@
update for ghc-9.4.4
1075891
+
+ 5a61525301365876311f42df614de886
+ 1.4.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231446
+
diff --git a/packages/g/ghc-hashtables/ghc-hashtables.changes b/packages/g/ghc-hashtables/ghc-hashtables.changes
index e889efef5c5..ed1e081cfe9 100644
--- a/packages/g/ghc-hashtables/ghc-hashtables.changes
+++ b/packages/g/ghc-hashtables/ghc-hashtables.changes
@@ -1,3 +1,22 @@
+-------------------------------------------------------------------
+Tue Nov 26 22:13:09 UTC 2024 - Peter Simons
+
+- Update hashtables to version 1.4.1.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/hashtables-1.4.1/src/changelog.md
+
+-------------------------------------------------------------------
+Tue Nov 19 03:51:16 UTC 2024 - Peter Simons
+
+- Update hashtables to version 1.4.0.
+ ## 1.4.0
+
+ Replace deprecated Mutable Array function, which modifies the signature of the `length`
+ function and hence the API.
+ Support more recent compilers.
+
-------------------------------------------------------------------
Thu Mar 30 17:06:56 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-hashtables/ghc-hashtables.spec b/packages/g/ghc-hashtables/ghc-hashtables.spec
index 7a5fef934b1..0e9eb296554 100644
--- a/packages/g/ghc-hashtables/ghc-hashtables.spec
+++ b/packages/g/ghc-hashtables/ghc-hashtables.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-hashtables
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.3.1
+Version: 1.4.1
Release: 0
Summary: Mutable hash tables in the ST monad
License: BSD-3-Clause
@@ -38,18 +38,16 @@ BuildRequires: ghc-vector-devel
BuildRequires: ghc-vector-prof
ExcludeArch: %{ix86}
%if %{with tests}
-BuildRequires: ghc-HUnit-devel
-BuildRequires: ghc-HUnit-prof
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-QuickCheck-prof
BuildRequires: ghc-mwc-random-devel
BuildRequires: ghc-mwc-random-prof
-BuildRequires: ghc-test-framework-devel
-BuildRequires: ghc-test-framework-hunit-devel
-BuildRequires: ghc-test-framework-hunit-prof
-BuildRequires: ghc-test-framework-prof
-BuildRequires: ghc-test-framework-quickcheck2-devel
-BuildRequires: ghc-test-framework-quickcheck2-prof
+BuildRequires: ghc-tasty-devel
+BuildRequires: ghc-tasty-hunit-devel
+BuildRequires: ghc-tasty-hunit-prof
+BuildRequires: ghc-tasty-prof
+BuildRequires: ghc-tasty-quickcheck-devel
+BuildRequires: ghc-tasty-quickcheck-prof
%endif
%description
diff --git a/packages/g/ghc-hashtables/hashtables-1.3.1.tar.gz b/packages/g/ghc-hashtables/hashtables-1.3.1.tar.gz
deleted file mode 120000
index a348e1e7e84..00000000000
--- a/packages/g/ghc-hashtables/hashtables-1.3.1.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreidphvaowivlq4tzxgql6uocemdxa2zebsikmzgifp5oeojcndczym
\ No newline at end of file
diff --git a/packages/g/ghc-hashtables/hashtables-1.4.1.tar.gz b/packages/g/ghc-hashtables/hashtables-1.4.1.tar.gz
new file mode 120000
index 00000000000..acbd9ab167b
--- /dev/null
+++ b/packages/g/ghc-hashtables/hashtables-1.4.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreicqde2uw6ljfmteimrantjia43zsfi2sr7kogouuz4vbbqa3b2eca
\ No newline at end of file
diff --git a/packages/g/ghc-hledger-lib/.files b/packages/g/ghc-hledger-lib/.files
index 4574f8d1c55..72bdaaafc14 100644
Binary files a/packages/g/ghc-hledger-lib/.files and b/packages/g/ghc-hledger-lib/.files differ
diff --git a/packages/g/ghc-hledger-lib/.rev b/packages/g/ghc-hledger-lib/.rev
index 9848dbefe4b..75a0ccce0a2 100644
--- a/packages/g/ghc-hledger-lib/.rev
+++ b/packages/g/ghc-hledger-lib/.rev
@@ -250,4 +250,12 @@
version update
1218558
+
+ d8e4c9356c5a8d5d1299ac8da8fb0372
+ 1.41
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231447
+
diff --git a/packages/g/ghc-hledger-lib/ghc-hledger-lib.changes b/packages/g/ghc-hledger-lib/ghc-hledger-lib.changes
index 45f366fe52d..f8c60b9c3c4 100644
--- a/packages/g/ghc-hledger-lib/ghc-hledger-lib.changes
+++ b/packages/g/ghc-hledger-lib/ghc-hledger-lib.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Tue Dec 10 00:56:06 UTC 2024 - Peter Simons
+
+- Update hledger-lib to version 1.41.
+ Upstream's change log file format is strange (too much unmodified
+ text at at the top). The automatic updater cannot extract the
+ relevant additions. You can find the file at:
+ http://hackage.haskell.org/package/hledger-lib-1.41/src/CHANGES.md
+
-------------------------------------------------------------------
Mon Sep 9 21:16:31 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-hledger-lib/ghc-hledger-lib.spec b/packages/g/ghc-hledger-lib/ghc-hledger-lib.spec
index 5591d133396..ddab56fce85 100644
--- a/packages/g/ghc-hledger-lib/ghc-hledger-lib.spec
+++ b/packages/g/ghc-hledger-lib/ghc-hledger-lib.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.40
+Version: 1.41
Release: 0
Summary: A library providing the core functionality of hledger
License: GPL-3.0-or-later
@@ -43,6 +43,8 @@ BuildRequires: ghc-base-compat-devel
BuildRequires: ghc-base-compat-prof
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
+BuildRequires: ghc-blaze-html-devel
+BuildRequires: ghc-blaze-html-prof
BuildRequires: ghc-blaze-markup-devel
BuildRequires: ghc-blaze-markup-prof
BuildRequires: ghc-bytestring-devel
@@ -85,12 +87,12 @@ BuildRequires: ghc-microlens-th-devel
BuildRequires: ghc-microlens-th-prof
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-mtl-prof
-BuildRequires: ghc-pager-devel
-BuildRequires: ghc-pager-prof
BuildRequires: ghc-parser-combinators-devel
BuildRequires: ghc-parser-combinators-prof
BuildRequires: ghc-pretty-simple-devel
BuildRequires: ghc-pretty-simple-prof
+BuildRequires: ghc-process-devel
+BuildRequires: ghc-process-prof
BuildRequires: ghc-regex-tdfa-devel
BuildRequires: ghc-regex-tdfa-prof
BuildRequires: ghc-rpm-macros
@@ -106,8 +108,6 @@ BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-template-haskell-prof
BuildRequires: ghc-terminal-size-devel
BuildRequires: ghc-terminal-size-prof
-BuildRequires: ghc-text-ansi-devel
-BuildRequires: ghc-text-ansi-prof
BuildRequires: ghc-text-devel
BuildRequires: ghc-text-prof
BuildRequires: ghc-time-devel
diff --git a/packages/g/ghc-hledger-lib/hledger-lib-1.40.tar.gz b/packages/g/ghc-hledger-lib/hledger-lib-1.40.tar.gz
deleted file mode 120000
index bd9416ffd95..00000000000
--- a/packages/g/ghc-hledger-lib/hledger-lib-1.40.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeifmcuwpgnfjmjszirlnc2vwvea5n6twdp3wbyk7d5wvi5amb4s3yu
\ No newline at end of file
diff --git a/packages/g/ghc-hledger-lib/hledger-lib-1.41.tar.gz b/packages/g/ghc-hledger-lib/hledger-lib-1.41.tar.gz
new file mode 120000
index 00000000000..0ffb571347c
--- /dev/null
+++ b/packages/g/ghc-hledger-lib/hledger-lib-1.41.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeigbhtqudma43wjhzzaay6dfxthbtikem7epqhdscfz36l7l2hkflm
\ No newline at end of file
diff --git a/packages/g/ghc-http-semantics/.files b/packages/g/ghc-http-semantics/.files
index cf8376fce2a..0dd1ace501e 100644
Binary files a/packages/g/ghc-http-semantics/.files and b/packages/g/ghc-http-semantics/.files differ
diff --git a/packages/g/ghc-http-semantics/.rev b/packages/g/ghc-http-semantics/.rev
index 11a9cbac711..585caab46ba 100644
--- a/packages/g/ghc-http-semantics/.rev
+++ b/packages/g/ghc-http-semantics/.rev
@@ -7,4 +7,12 @@
Needed by ghc-http2
1223656
+
+ 60383c0134a355924b564926b7ae4000
+ 0.3.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231448
+
diff --git a/packages/g/ghc-http-semantics/ghc-http-semantics.changes b/packages/g/ghc-http-semantics/ghc-http-semantics.changes
index 63ac73e67bb..d3756ea790a 100644
--- a/packages/g/ghc-http-semantics/ghc-http-semantics.changes
+++ b/packages/g/ghc-http-semantics/ghc-http-semantics.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Tue Oct 22 23:53:42 UTC 2024 - Peter Simons
+
+- Update http-semantics to version 0.3.0.
+ ## 0.3.0
+
+ * Breaking change: fillFileBodyGetNext takes Sentinel instead of
+ IO () to close files on time.
+
-------------------------------------------------------------------
Thu Aug 29 21:43:42 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-http-semantics/ghc-http-semantics.spec b/packages/g/ghc-http-semantics/ghc-http-semantics.spec
index 057859ef042..a8e0cc2800e 100644
--- a/packages/g/ghc-http-semantics/ghc-http-semantics.spec
+++ b/packages/g/ghc-http-semantics/ghc-http-semantics.spec
@@ -19,7 +19,7 @@
%global pkg_name http-semantics
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.2.1
+Version: 0.3.0
Release: 0
Summary: HTTP senmatics libarry
License: BSD-3-Clause
diff --git a/packages/g/ghc-http-semantics/http-semantics-0.2.1.tar.gz b/packages/g/ghc-http-semantics/http-semantics-0.2.1.tar.gz
deleted file mode 120000
index ebdec42ac6b..00000000000
--- a/packages/g/ghc-http-semantics/http-semantics-0.2.1.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreid2y2hlxnih7p5o4axz3bq6iwtsoc63d6xbw2vkwqmnz3ngtrx53m
\ No newline at end of file
diff --git a/packages/g/ghc-http-semantics/http-semantics-0.3.0.tar.gz b/packages/g/ghc-http-semantics/http-semantics-0.3.0.tar.gz
new file mode 120000
index 00000000000..465264d3bd1
--- /dev/null
+++ b/packages/g/ghc-http-semantics/http-semantics-0.3.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreie4z3uqxs57wkptb55o2br4mlw7b47lbbf2mpn7tox7xvo3k43rj4
\ No newline at end of file
diff --git a/packages/g/ghc-http2/.files b/packages/g/ghc-http2/.files
index 81708980c64..7887d2705f0 100644
Binary files a/packages/g/ghc-http2/.files and b/packages/g/ghc-http2/.files differ
diff --git a/packages/g/ghc-http2/.rev b/packages/g/ghc-http2/.rev
index 665d70ece2e..ab13139d6a8 100644
--- a/packages/g/ghc-http2/.rev
+++ b/packages/g/ghc-http2/.rev
@@ -103,4 +103,12 @@
Automatic submission by obs-autosubmit
1222958
+
+ 62c87c665981ce7d6819f1c65a06b3d5
+ 5.3.9
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231449
+
diff --git a/packages/g/ghc-http2/ghc-http2.changes b/packages/g/ghc-http2/ghc-http2.changes
index 8067f7e91d1..b6c3727b468 100644
--- a/packages/g/ghc-http2/ghc-http2.changes
+++ b/packages/g/ghc-http2/ghc-http2.changes
@@ -1,3 +1,44 @@
+-------------------------------------------------------------------
+Tue Dec 3 05:57:06 UTC 2024 - Peter Simons
+
+- Update http2 to version 5.3.9.
+ ## 5.3.9
+
+ * Using `ThreadManager` of `time-manager`.
+
+ ## 5.3.8
+
+ * `forkManagedTimeout` ensures that only one asynchronous exception is
+ thrown. Fixing the thread leak via `Weak ThreadId` and `modifyTVar'`.
+ [#156](https://github.com/kazu-yamamoto/http2/pull/156)
+
+ ## 5.3.7
+
+ * Using `withHandle` of time-manager.
+ * Getting `Handle` for each thread.
+ * Providing allocSimpleConfig' to enable customizing WAI tiemout manager.
+ * Monitor option (-m) for h2c-client and h2c-server.
+
+-------------------------------------------------------------------
+Sat Nov 16 23:38:06 UTC 2024 - Peter Simons
+
+- Update http2 to version 5.3.6.
+ ## 5.3.6
+
+ * Making `runIO` friendly with the new synchronism mechanism.
+ [#152](https://github.com/kazu-yamamoto/http2/pull/152)
+ * Re-throwing asynchronous exceptions to prevent thread leak.
+ * Simplifying the synchronism mechanism between workers and the sender.
+ [#148](https://github.com/kazu-yamamoto/http2/pull/148)
+
+ ## 5.3.5
+
+ * Using `http-semantics` v0.3.
+ * Deprecating `numberOfWorkers`.
+ * Removing `unliftio`.
+ * Avoid `undefined` in client.
+ [#146](https://github.com/kazu-yamamoto/http2/pull/146)
+
-------------------------------------------------------------------
Thu Aug 29 22:43:27 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-http2/ghc-http2.spec b/packages/g/ghc-http2/ghc-http2.spec
index fe46f31714c..4492ca6ee5e 100644
--- a/packages/g/ghc-http2/ghc-http2.spec
+++ b/packages/g/ghc-http2/ghc-http2.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 5.3.4
+Version: 5.3.9
Release: 0
Summary: HTTP/2 library
License: BSD-3-Clause
@@ -58,8 +58,6 @@ BuildRequires: ghc-time-manager-devel
BuildRequires: ghc-time-manager-prof
BuildRequires: ghc-unix-time-devel
BuildRequires: ghc-unix-time-prof
-BuildRequires: ghc-unliftio-devel
-BuildRequires: ghc-unliftio-prof
BuildRequires: ghc-utf8-string-devel
BuildRequires: ghc-utf8-string-prof
ExcludeArch: %{ix86}
diff --git a/packages/g/ghc-http2/http2-5.3.4.tar.gz b/packages/g/ghc-http2/http2-5.3.4.tar.gz
deleted file mode 120000
index 3183f7506b7..00000000000
--- a/packages/g/ghc-http2/http2-5.3.4.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeicezx5varz54glskmhmibupu3twjb66gok3bfctfdn6tsu5eavjeq
\ No newline at end of file
diff --git a/packages/g/ghc-http2/http2-5.3.9.tar.gz b/packages/g/ghc-http2/http2-5.3.9.tar.gz
new file mode 120000
index 00000000000..55f1ab87be6
--- /dev/null
+++ b/packages/g/ghc-http2/http2-5.3.9.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeicylc5f2a4kabn7phg5q7wv7t2ypus4zaorxxmi46fppknliaf5xi
\ No newline at end of file
diff --git a/packages/g/ghc-ilist/.files b/packages/g/ghc-ilist/.files
index c11306e5223..eaab9c4d276 100644
Binary files a/packages/g/ghc-ilist/.files and b/packages/g/ghc-ilist/.files differ
diff --git a/packages/g/ghc-ilist/.rev b/packages/g/ghc-ilist/.rev
index 711e4950231..539e0ddd1e3 100644
--- a/packages/g/ghc-ilist/.rev
+++ b/packages/g/ghc-ilist/.rev
@@ -15,4 +15,12 @@
Automatic submission by obs-autosubmit
1104455
+
+ 49f42eec1e0f89dd51bbd17ab9ed6897
+ 0.4.0.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231450
+
diff --git a/packages/g/ghc-ilist/ghc-ilist.changes b/packages/g/ghc-ilist/ghc-ilist.changes
index 33b2438b153..94d9d06cc97 100644
--- a/packages/g/ghc-ilist/ghc-ilist.changes
+++ b/packages/g/ghc-ilist/ghc-ilist.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:55:18 UTC 2024 - Peter Simons
+
+- Jailbreak version constraint on base to fix the build.
+
-------------------------------------------------------------------
Sun Aug 6 18:57:33 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-ilist/ghc-ilist.spec b/packages/g/ghc-ilist/ghc-ilist.spec
index 509e03967d9..ebe26c085c4 100644
--- a/packages/g/ghc-ilist/ghc-ilist.spec
+++ b/packages/g/ghc-ilist/ghc-ilist.spec
@@ -74,6 +74,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
cp -p %{SOURCE1} %{pkg_name}.cabal
+cabal-tweak-dep-ver base '< 4.20' '< 5'
%build
%ghc_lib_build
diff --git a/packages/g/ghc-invariant/.files b/packages/g/ghc-invariant/.files
index 63c3f0b3ebe..621569e1349 100644
Binary files a/packages/g/ghc-invariant/.files and b/packages/g/ghc-invariant/.files differ
diff --git a/packages/g/ghc-invariant/.rev b/packages/g/ghc-invariant/.rev
index 2b999e74791..93c71e7d052 100644
--- a/packages/g/ghc-invariant/.rev
+++ b/packages/g/ghc-invariant/.rev
@@ -143,4 +143,12 @@
Automatic submission by obs-autosubmit
1162474
+
+ 01690717455add021ffb641c461cd2a5
+ 0.6.4
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231451
+
diff --git a/packages/g/ghc-invariant/ghc-invariant.changes b/packages/g/ghc-invariant/ghc-invariant.changes
index 3b3f84c9fab..3af2077ce77 100644
--- a/packages/g/ghc-invariant/ghc-invariant.changes
+++ b/packages/g/ghc-invariant/ghc-invariant.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Thu Dec 5 13:17:53 UTC 2024 - Peter Simons
+
+- Update invariant to version 0.6.4.
+ # 0.6.4 [2024.12.05]
+ * Drop support for pre-8.0 versions of GHC.
+
-------------------------------------------------------------------
Tue Mar 19 11:01:41 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-invariant/ghc-invariant.spec b/packages/g/ghc-invariant/ghc-invariant.spec
index 9d224d7dcc9..bab2ec087b8 100644
--- a/packages/g/ghc-invariant/ghc-invariant.spec
+++ b/packages/g/ghc-invariant/ghc-invariant.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.6.3
+Version: 0.6.4
Release: 0
Summary: Haskell98 invariant functors
License: BSD-2-Clause
diff --git a/packages/g/ghc-invariant/invariant-0.6.3.tar.gz b/packages/g/ghc-invariant/invariant-0.6.3.tar.gz
deleted file mode 120000
index a1fdda531cb..00000000000
--- a/packages/g/ghc-invariant/invariant-0.6.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreieneam6jiigboepewkn6uswwcdla7aj77ypbxc235qwh6wo4vjpx4
\ No newline at end of file
diff --git a/packages/g/ghc-invariant/invariant-0.6.4.tar.gz b/packages/g/ghc-invariant/invariant-0.6.4.tar.gz
new file mode 120000
index 00000000000..ad7faa397bc
--- /dev/null
+++ b/packages/g/ghc-invariant/invariant-0.6.4.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreifj4kvu5y7a2rqtx2333i3kr26e64rrqrifct2igljpuq5xj4fowm
\ No newline at end of file
diff --git a/packages/g/ghc-language-c/.files b/packages/g/ghc-language-c/.files
index 70ad04cf070..3f95b77796d 100644
Binary files a/packages/g/ghc-language-c/.files and b/packages/g/ghc-language-c/.files differ
diff --git a/packages/g/ghc-language-c/.rev b/packages/g/ghc-language-c/.rev
index ebdc1ae4c58..721c7e4f58f 100644
--- a/packages/g/ghc-language-c/.rev
+++ b/packages/g/ghc-language-c/.rev
@@ -87,4 +87,12 @@
version update
1218562
+
+ d3f4ee0e68f8880d994d74499216a180
+ 0.10.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231453
+
diff --git a/packages/g/ghc-language-c/ghc-language-c.changes b/packages/g/ghc-language-c/ghc-language-c.changes
index b045dd59240..419eeff01bb 100644
--- a/packages/g/ghc-language-c/ghc-language-c.changes
+++ b/packages/g/ghc-language-c/ghc-language-c.changes
@@ -1,3 +1,13 @@
+-------------------------------------------------------------------
+Sun Nov 17 23:09:27 UTC 2024 - Peter Simons
+
+- Update language-c to version 0.10.0.
+ ## 0.10.0
+
+ - Support for half-precision floating point `__fp16`, `_Float16`, and `_Float16x`.
+ - Support for bfloat16 `__bf16`.
+ - Support alignment specifier `_Alignas` in struct declatations.
+
-------------------------------------------------------------------
Fri Oct 18 23:11:01 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-language-c/ghc-language-c.spec b/packages/g/ghc-language-c/ghc-language-c.spec
index 1a07936ce14..ebeece6caca 100644
--- a/packages/g/ghc-language-c/ghc-language-c.spec
+++ b/packages/g/ghc-language-c/ghc-language-c.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.9.4
+Version: 0.10.0
Release: 0
Summary: Analysis and generation of C code
License: BSD-3-Clause
@@ -53,7 +53,7 @@ BuildRequires: happy
ExcludeArch: %{ix86}
%description
-Language C is a haskell library for the analysis and generation of C code.
+Language C is a Haskell library for the analysis and generation of C code.
It features a complete, well tested parser and pretty printer for all of C99
and a large set of C11 and clang/GNU extensions.
diff --git a/packages/g/ghc-language-c/language-c-0.10.0.tar.gz b/packages/g/ghc-language-c/language-c-0.10.0.tar.gz
new file mode 120000
index 00000000000..4bc04e0c154
--- /dev/null
+++ b/packages/g/ghc-language-c/language-c-0.10.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidhvqnv7tk7rtq6ejvuaqwkopiwvnmb36pa4vonimghqigbvpdnkq
\ No newline at end of file
diff --git a/packages/g/ghc-language-c/language-c-0.9.4.tar.gz b/packages/g/ghc-language-c/language-c-0.9.4.tar.gz
deleted file mode 120000
index 1ef429dcc0f..00000000000
--- a/packages/g/ghc-language-c/language-c-0.9.4.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreidb5q2a3srwtu4z7we3ktwnyosc4vu47ubf3btptvksyvfb5btcgm
\ No newline at end of file
diff --git a/packages/g/ghc-language-docker/.files b/packages/g/ghc-language-docker/.files
index 5a969c9d90e..e8be14dce39 100644
Binary files a/packages/g/ghc-language-docker/.files and b/packages/g/ghc-language-docker/.files differ
diff --git a/packages/g/ghc-language-docker/.rev b/packages/g/ghc-language-docker/.rev
index a3680456130..da0275bf63c 100644
--- a/packages/g/ghc-language-docker/.rev
+++ b/packages/g/ghc-language-docker/.rev
@@ -15,4 +15,12 @@
Update Haskell ecosystem to GHC version 9.8.2.
1157252
+
+ afc72297be0d3326b2c86885a75bbe34
+ 13.0.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231454
+
diff --git a/packages/g/ghc-language-docker/fix-build-with-ghc-9.8.x.patch b/packages/g/ghc-language-docker/fix-build-with-ghc-9.8.x.patch
deleted file mode 100644
index 5d9d6ad9f22..00000000000
--- a/packages/g/ghc-language-docker/fix-build-with-ghc-9.8.x.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 7b1b018826810b99f9f697904001b1c13d9e1b04 Mon Sep 17 00:00:00 2001
-From: Peter Simons
-Date: Thu, 29 Feb 2024 15:45:22 +0100
-Subject: [PATCH] Language.Docker: enable DuplicateRecordFields to fix build
- error with ghc-9.8.x
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-src/Language/Docker.hs:26:5: error: [GHC-97219]
- Duplicate record field ‘sourcePaths’ in export list:
- ‘Language.Docker.Syntax.AddArgs(..)’ exports the field ‘Language.Docker.Syntax.sourcePaths’
- belonging to the constructor ‘Language.Docker.Syntax.AddArgs’
- imported qualified from ‘Language.Docker.Syntax’ at src/Language/Docker.hs:46:1-39
- (and originally defined at src/Language/Docker/Syntax.hs:193:9-19)
- ‘Language.Docker.Syntax.CopyArgs(..)’ exports the field ‘Language.Docker.Syntax.sourcePaths’
- belonging to the constructor ‘Language.Docker.Syntax.CopyArgs’
- imported qualified from ‘Language.Docker.Syntax’ at src/Language/Docker.hs:46:1-39
- (and originally defined at src/Language/Docker/Syntax.hs:174:9-19)
-
-Fixes https://github.com/hadolint/language-docker/issues/93.
----
- src/Language/Docker.hs | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/Language/Docker.hs b/src/Language/Docker.hs
-index 382118d..251ba38 100644
---- a/src/Language/Docker.hs
-+++ b/src/Language/Docker.hs
-@@ -1,3 +1,5 @@
-+{-# LANGUAGE DuplicateRecordFields #-}
-+
- module Language.Docker
- ( Language.Docker.Syntax.Dockerfile,
-
diff --git a/packages/g/ghc-language-docker/ghc-language-docker.changes b/packages/g/ghc-language-docker/ghc-language-docker.changes
index ccee48f9e6e..505386a1d32 100644
--- a/packages/g/ghc-language-docker/ghc-language-docker.changes
+++ b/packages/g/ghc-language-docker/ghc-language-docker.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Wed Apr 24 18:33:18 UTC 2024 - Peter Simons
+
+- Update language-docker to version 13.0.0.
+ Upstream does not provide a change log file.
+
+- Remove obsolete "fix-build-with-ghc-9.8.x.patch".
+
-------------------------------------------------------------------
Thu Feb 29 14:51:53 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-language-docker/ghc-language-docker.spec b/packages/g/ghc-language-docker/ghc-language-docker.spec
index 7d83fded8b1..91a4d494036 100644
--- a/packages/g/ghc-language-docker/ghc-language-docker.spec
+++ b/packages/g/ghc-language-docker/ghc-language-docker.spec
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 11.0.0
+Version: 13.0.0
Release: 0
Summary: Dockerfile parser, pretty-printer and embedded DSL
License: GPL-3.0-or-later
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Patch1: https://github.com/hadolint/language-docker/pull/94.patch#/fix-build-with-ghc-9.8.x.patch
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -96,7 +95,7 @@ Supplements: (ghc-%{pkg_name}-devel and ghc-prof)
This package provides the Haskell %{pkg_name} profiling library.
%prep
-%autosetup -n %{pkg_name}-%{version} -p1
+%autosetup -n %{pkg_name}-%{version}
%build
%ghc_lib_build
diff --git a/packages/g/ghc-language-docker/language-docker-11.0.0.tar.gz b/packages/g/ghc-language-docker/language-docker-11.0.0.tar.gz
deleted file mode 120000
index 5778578b7f3..00000000000
--- a/packages/g/ghc-language-docker/language-docker-11.0.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreieiurqalx5pbln6arsr4pisjccx3gdsqkpfbi5kflxqdv6m3cqkze
\ No newline at end of file
diff --git a/packages/g/ghc-language-docker/language-docker-13.0.0.tar.gz b/packages/g/ghc-language-docker/language-docker-13.0.0.tar.gz
new file mode 120000
index 00000000000..20429c3ee25
--- /dev/null
+++ b/packages/g/ghc-language-docker/language-docker-13.0.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiainzztx2shn5f6jsvo5d3pu73gdyejvgqlj73fj2qbig2zbb64tm
\ No newline at end of file
diff --git a/packages/g/ghc-lens/.files b/packages/g/ghc-lens/.files
index dd59d051cf2..806cab3119c 100644
Binary files a/packages/g/ghc-lens/.files and b/packages/g/ghc-lens/.files differ
diff --git a/packages/g/ghc-lens/.rev b/packages/g/ghc-lens/.rev
index e85d317d8af..0a19a9cb890 100644
--- a/packages/g/ghc-lens/.rev
+++ b/packages/g/ghc-lens/.rev
@@ -223,4 +223,12 @@
version update
1171792
+
+ 83214a395d11a191d6e87c3b480ffbce
+ 5.3.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231455
+
diff --git a/packages/g/ghc-lens/ghc-lens.changes b/packages/g/ghc-lens/ghc-lens.changes
index c909b62abae..b93d5f99982 100644
--- a/packages/g/ghc-lens/ghc-lens.changes
+++ b/packages/g/ghc-lens/ghc-lens.changes
@@ -1,3 +1,48 @@
+-------------------------------------------------------------------
+Fri Jul 5 15:12:02 UTC 2024 - Peter Simons
+
+- Update lens to version 5.3.2 revision 2.
+ 5.3.2 [2024.05.12]
+ ------------------
+ * Define the following lenses that perform an operation and result the old
+ result:
+ * `(<<<>:~)` (prepend to the front via `(<>)` and return the old result)
+ * `(<<<|~)` (prepend to the front via `(<|)` and return the old result)
+ * `(<<|>~)` (append to the back via `(|>)` and return the old result)
+
+ Each of these also has a variant that end with `=` instead of `~` (e.g.,
+ `(<<<>:=)`) for working in a `MonadState` setting.
+ * Re-export `(<>:~)`, `(<<>:~)`, `(<|~)`, `(<<|~)`, `(|>~)`, and `(<|>~)` (as
+ well as their variants which end with `=` instead of `~`, and their variants
+ which return the old result) from `Control.Lens.Operators`.
+
+ 5.3.1 [2024.05.05]
+ ------------------
+ * Add a `Magnify` instance for the CPS variant of `RWST` when building with
+ `mtl-2.3` or later.
+
+ 5.3 [2024.05.04]
+ ----------------
+ * Allow building with GHC 9.10.
+ * Update the `Prism`s in `Language.Haskell.TH.Lens` to reflect additions to
+ `template-haskell-2.22.0.0`:
+ * The `_InfixD` `Prism` now focuses on `(Fixity, NamespaceSpecifier, Name)`
+ when building with `template-haskell-2.22.0.0` or later.
+ * Add `Prism`s for the newly introduced `NamespaceSpecifier` data type.
+ * Add `_TypeP` and `_InvisP` `Prism`s for the `Pat` data type.
+ * Add a `_TypeE` `Prism` for the `Exp` data type.
+ * Add a `_SCCP` `Prism` for the `Pragma` data type.
+ * Add the following `Setter`s for prepending and appending elements:
+ * `(<>:~)`: prepend an element to the front via `(<>)`.
+ * `(<<>:~)`: prepend an element to the front via `(<>)` and return the result.
+ * `(<|~)`: cons an element to the front via `(<|)`.
+ * `(<<|~)`: cons an element to the front via `(<|)` and return the result.
+ * `(|>~)`: snoc an element to the back via `(|>)`.
+ * `(<|>~)`: snoc an element to the back via `(|>)` and return the result.
+
+ Each of these also has a variant that end with `=` instead of `~` (e.g.,
+ `(<>:=)`) for working in a `MonadState` setting.
+
-------------------------------------------------------------------
Tue Apr 30 16:00:18 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-lens/ghc-lens.spec b/packages/g/ghc-lens/ghc-lens.spec
index 104815d309b..e297fae0b6b 100644
--- a/packages/g/ghc-lens/ghc-lens.spec
+++ b/packages/g/ghc-lens/ghc-lens.spec
@@ -20,13 +20,13 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 5.2.3
+Version: 5.3.2
Release: 0
Summary: Lenses, Folds and Traversals
License: BSD-2-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/5.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-array-prof
diff --git a/packages/g/ghc-lens/lens-5.2.3.tar.gz b/packages/g/ghc-lens/lens-5.2.3.tar.gz
deleted file mode 120000
index af7417aea52..00000000000
--- a/packages/g/ghc-lens/lens-5.2.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeicju3q653qbqyx4mroselzaaxnxwegkc6wkw5nl6nghjqejxbqqmq
\ No newline at end of file
diff --git a/packages/g/ghc-lens/lens-5.3.2.tar.gz b/packages/g/ghc-lens/lens-5.3.2.tar.gz
new file mode 120000
index 00000000000..84f8ee1dfbe
--- /dev/null
+++ b/packages/g/ghc-lens/lens-5.3.2.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeig5orondnnmiv375uyq2m5pmlgxbda5gftyhn5gbfcoomyqvfm6du
\ No newline at end of file
diff --git a/packages/g/ghc-lens/lens.cabal b/packages/g/ghc-lens/lens.cabal
index f6b131d0860..4b2ff6cc801 100644
--- a/packages/g/ghc-lens/lens.cabal
+++ b/packages/g/ghc-lens/lens.cabal
@@ -1,7 +1,7 @@
name: lens
category: Data, Lenses, Generics
-version: 5.2.3
-x-revision: 5
+version: 5.3.2
+x-revision: 2
license: BSD2
cabal-version: 1.18
license-file: LICENSE
@@ -21,9 +21,10 @@ tested-with: GHC == 8.0.2
, GHC == 8.10.7
, GHC == 9.0.2
, GHC == 9.2.8
- , GHC == 9.4.5
- , GHC == 9.6.2
- , GHC == 9.8.1
+ , GHC == 9.4.8
+ , GHC == 9.6.4
+ , GHC == 9.8.2
+ , GHC == 9.10.1
synopsis: Lenses, Folds and Traversals
description:
This package comes \"Batteries Included\" with many useful lenses for the types
@@ -189,7 +190,7 @@ library
filepath >= 1.2.0.0 && < 1.6,
free >= 5.1.5 && < 6,
ghc-prim,
- hashable >= 1.2.7.0 && < 1.5,
+ hashable >= 1.2.7.0 && < 1.6,
indexed-traversable >= 0.1 && < 0.2,
indexed-traversable-instances >= 0.1 && < 0.2,
kan-extensions >= 5 && < 6,
@@ -200,7 +201,7 @@ library
semigroupoids >= 5.0.1 && < 7,
strict >= 0.4 && < 0.6,
tagged >= 0.8.6 && < 1,
- template-haskell >= 2.11.1.0 && < 2.22,
+ template-haskell >= 2.11.1.0 && < 2.23,
text >= 1.2.3.0 && < 2.2,
th-abstraction >= 0.4.1 && < 0.8,
these >= 1.1.1.1 && < 1.3,
@@ -410,7 +411,6 @@ benchmark plated
default-language: Haskell2010
build-depends:
base,
- base-compat >=0.11.0 && <0.15,
comonad,
criterion,
deepseq,
diff --git a/packages/g/ghc-libyaml/.files b/packages/g/ghc-libyaml/.files
index d4d6fdbe670..538d0d949b0 100644
Binary files a/packages/g/ghc-libyaml/.files and b/packages/g/ghc-libyaml/.files differ
diff --git a/packages/g/ghc-libyaml/.rev b/packages/g/ghc-libyaml/.rev
index dcd80e0d3ce..bb486224817 100644
--- a/packages/g/ghc-libyaml/.rev
+++ b/packages/g/ghc-libyaml/.rev
@@ -79,4 +79,12 @@
Automatic submission by obs-autosubmit
1161309
+
+ bc7791218e45688c7d027693ad0355d6
+ 0.1.4
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231456
+
diff --git a/packages/g/ghc-libyaml/ghc-libyaml.changes b/packages/g/ghc-libyaml/ghc-libyaml.changes
index 4e9ab42d829..3638c0b9de4 100644
--- a/packages/g/ghc-libyaml/ghc-libyaml.changes
+++ b/packages/g/ghc-libyaml/ghc-libyaml.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:55:41 UTC 2024 - Peter Simons
+
+- Use prettier Cabal flag specification; no functional change.
+
-------------------------------------------------------------------
Fri Mar 15 04:39:42 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-libyaml/ghc-libyaml.spec b/packages/g/ghc-libyaml/ghc-libyaml.spec
index 8c3fddaa502..ae0827d6a60 100644
--- a/packages/g/ghc-libyaml/ghc-libyaml.spec
+++ b/packages/g/ghc-libyaml/ghc-libyaml.spec
@@ -75,7 +75,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%autosetup -n %{pkg_name}-%{version}
%build
-%define cabal_configure_options -fsystem-libyaml
+%define cabal_configure_options -f+system-libyaml
%ghc_lib_build
%install
diff --git a/packages/g/ghc-microlens-platform/.files b/packages/g/ghc-microlens-platform/.files
index ea3958c6b03..0390727fa2c 100644
Binary files a/packages/g/ghc-microlens-platform/.files and b/packages/g/ghc-microlens-platform/.files differ
diff --git a/packages/g/ghc-microlens-platform/.rev b/packages/g/ghc-microlens-platform/.rev
index 9de596c047e..eda0ec48faa 100644
--- a/packages/g/ghc-microlens-platform/.rev
+++ b/packages/g/ghc-microlens-platform/.rev
@@ -84,4 +84,12 @@
Automatic submission by obs-autosubmit
1144418
+
+ ea229412fefd5084cad9b8d0a87bcaf0
+ 0.4.3.5
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231457
+
diff --git a/packages/g/ghc-microlens-platform/ghc-microlens-platform.changes b/packages/g/ghc-microlens-platform/ghc-microlens-platform.changes
index fea66ca4475..6c150a7e5fd 100644
--- a/packages/g/ghc-microlens-platform/ghc-microlens-platform.changes
+++ b/packages/g/ghc-microlens-platform/ghc-microlens-platform.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:56:03 UTC 2024 - Peter Simons
+
+- Jailbreak version constraint on hashable to fix the build.
+
-------------------------------------------------------------------
Sun Jan 28 04:28:15 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-microlens-platform/ghc-microlens-platform.spec b/packages/g/ghc-microlens-platform/ghc-microlens-platform.spec
index df9607f5e1f..8a221a5ba45 100644
--- a/packages/g/ghc-microlens-platform/ghc-microlens-platform.spec
+++ b/packages/g/ghc-microlens-platform/ghc-microlens-platform.spec
@@ -95,6 +95,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
+cabal-tweak-dep-ver hashable '<1.5' '< 2'
%build
%ghc_lib_build
diff --git a/packages/g/ghc-modern-uri/.files b/packages/g/ghc-modern-uri/.files
new file mode 100644
index 00000000000..43077f591bd
Binary files /dev/null and b/packages/g/ghc-modern-uri/.files differ
diff --git a/packages/g/ghc-modern-uri/.meta b/packages/g/ghc-modern-uri/.meta
new file mode 100644
index 00000000000..3feaa315395
--- /dev/null
+++ b/packages/g/ghc-modern-uri/.meta
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/packages/g/ghc-modern-uri/.rev b/packages/g/ghc-modern-uri/.rev
new file mode 100644
index 00000000000..f9061b65028
--- /dev/null
+++ b/packages/g/ghc-modern-uri/.rev
@@ -0,0 +1,10 @@
+
+
+ f2e5766817ab600a1208ed814563f402
+ 0.3.6.1
+
+ dimstar_suse
+ new dependency for ghc-9.10.1
+ 1231401
+
+
diff --git a/packages/g/ghc-modern-uri/ghc-modern-uri.changes b/packages/g/ghc-modern-uri/ghc-modern-uri.changes
new file mode 100644
index 00000000000..48030b12998
--- /dev/null
+++ b/packages/g/ghc-modern-uri/ghc-modern-uri.changes
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Wed Jun 12 19:56:01 UTC 2024 - Peter Simons
+
+- Add modern-uri at version 0.3.6.1 revision 2.
+
diff --git a/packages/g/ghc-modern-uri/ghc-modern-uri.spec b/packages/g/ghc-modern-uri/ghc-modern-uri.spec
new file mode 100644
index 00000000000..0f4657d8943
--- /dev/null
+++ b/packages/g/ghc-modern-uri/ghc-modern-uri.spec
@@ -0,0 +1,127 @@
+#
+# spec file for package ghc-modern-uri
+#
+# Copyright (c) 2024 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%global pkg_name modern-uri
+%global pkgver %{pkg_name}-%{version}
+%bcond_with tests
+Name: ghc-%{pkg_name}
+Version: 0.3.6.1
+Release: 0
+Summary: Modern library for working with URIs
+License: BSD-3-Clause
+URL: https://hackage.haskell.org/package/%{pkg_name}
+Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
+BuildRequires: ghc-Cabal-devel
+BuildRequires: ghc-QuickCheck-devel
+BuildRequires: ghc-QuickCheck-prof
+BuildRequires: ghc-base-devel
+BuildRequires: ghc-base-prof
+BuildRequires: ghc-bytestring-devel
+BuildRequires: ghc-bytestring-prof
+BuildRequires: ghc-containers-devel
+BuildRequires: ghc-containers-prof
+BuildRequires: ghc-deepseq-devel
+BuildRequires: ghc-deepseq-prof
+BuildRequires: ghc-exceptions-devel
+BuildRequires: ghc-exceptions-prof
+BuildRequires: ghc-hashable-devel
+BuildRequires: ghc-hashable-prof
+BuildRequires: ghc-megaparsec-devel
+BuildRequires: ghc-megaparsec-prof
+BuildRequires: ghc-mtl-devel
+BuildRequires: ghc-mtl-prof
+BuildRequires: ghc-profunctors-devel
+BuildRequires: ghc-profunctors-prof
+BuildRequires: ghc-reflection-devel
+BuildRequires: ghc-reflection-prof
+BuildRequires: ghc-rpm-macros
+BuildRequires: ghc-tagged-devel
+BuildRequires: ghc-tagged-prof
+BuildRequires: ghc-template-haskell-devel
+BuildRequires: ghc-template-haskell-prof
+BuildRequires: ghc-text-devel
+BuildRequires: ghc-text-prof
+ExcludeArch: %{ix86}
+%if %{with tests}
+BuildRequires: ghc-hspec-devel
+BuildRequires: ghc-hspec-megaparsec-devel
+BuildRequires: ghc-hspec-megaparsec-prof
+BuildRequires: ghc-hspec-prof
+%endif
+
+%description
+Modern library for working with URIs.
+
+%package devel
+Summary: Haskell %{pkg_name} library development files
+Requires: %{name} = %{version}-%{release}
+Requires: ghc-compiler = %{ghc_version}
+Requires(post): ghc-compiler = %{ghc_version}
+Requires(postun): ghc-compiler = %{ghc_version}
+
+%description devel
+This package provides the Haskell %{pkg_name} library development files.
+
+%package -n ghc-%{pkg_name}-doc
+Summary: Haskell %{pkg_name} library documentation
+Requires: ghc-filesystem
+BuildArch: noarch
+
+%description -n ghc-%{pkg_name}-doc
+This package provides the Haskell %{pkg_name} library documentation.
+
+%package -n ghc-%{pkg_name}-prof
+Summary: Haskell %{pkg_name} profiling library
+Requires: ghc-%{pkg_name}-devel = %{version}-%{release}
+Supplements: (ghc-%{pkg_name}-devel and ghc-prof)
+
+%description -n ghc-%{pkg_name}-prof
+This package provides the Haskell %{pkg_name} profiling library.
+
+%prep
+%autosetup -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
+
+%build
+%ghc_lib_build
+
+%install
+%ghc_lib_install
+
+%check
+%cabal_test
+
+%post devel
+%ghc_pkg_recache
+
+%postun devel
+%ghc_pkg_recache
+
+%files -f %{name}.files
+%license LICENSE.md
+
+%files devel -f %{name}-devel.files
+%doc CHANGELOG.md README.md
+
+%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
+%license LICENSE.md
+
+%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files
+
+%changelog
diff --git a/packages/g/ghc-modern-uri/modern-uri-0.3.6.1.tar.gz b/packages/g/ghc-modern-uri/modern-uri-0.3.6.1.tar.gz
new file mode 120000
index 00000000000..75aeb5bbceb
--- /dev/null
+++ b/packages/g/ghc-modern-uri/modern-uri-0.3.6.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiaci3447twrej5l4oteapxkzrvv66px4myzowne3up5gqoberkp5e
\ No newline at end of file
diff --git a/packages/g/ghc-modern-uri/modern-uri.cabal b/packages/g/ghc-modern-uri/modern-uri.cabal
new file mode 100644
index 00000000000..fb8cd6ff5c3
--- /dev/null
+++ b/packages/g/ghc-modern-uri/modern-uri.cabal
@@ -0,0 +1,133 @@
+cabal-version: 2.4
+name: modern-uri
+version: 0.3.6.1
+x-revision: 2
+license: BSD-3-Clause
+license-file: LICENSE.md
+maintainer: Mark Karpov
+author: Mark Karpov
+tested-with: ghc ==9.2.8 ghc ==9.4.5 ghc ==9.6.2
+homepage: https://github.com/mrkkrp/modern-uri
+bug-reports: https://github.com/mrkkrp/modern-uri/issues
+synopsis: Modern library for working with URIs
+description: Modern library for working with URIs.
+category: Text
+build-type: Simple
+extra-doc-files:
+ CHANGELOG.md
+ README.md
+
+source-repository head
+ type: git
+ location: https://github.com/mrkkrp/modern-uri.git
+
+flag dev
+ description: Turn on development settings.
+ default: False
+ manual: True
+
+library
+ exposed-modules:
+ Text.URI
+ Text.URI.Lens
+ Text.URI.QQ
+
+ other-modules:
+ Text.URI.Parser.ByteString
+ Text.URI.Parser.Text
+ Text.URI.Parser.Text.Utils
+ Text.URI.Render
+ Text.URI.Types
+
+ default-language: Haskell2010
+ build-depends:
+ QuickCheck >=2.4 && <3,
+ base >=4.15 && <5,
+ bytestring >=0.2 && <0.13,
+ containers >=0.5 && <0.8,
+ deepseq >=1.3 && <1.6,
+ exceptions >=0.6 && <0.11,
+ hashable >=1.3 && <2,
+ megaparsec >=8 && <10,
+ mtl >=2 && <3,
+ profunctors >=5.2.1 && <6,
+ reflection >=2 && <3,
+ tagged >=0.8 && <0.9,
+ template-haskell >=2.10 && <2.23,
+ text >=0.2 && <2.2
+
+ if flag(dev)
+ ghc-options: -Wall -Werror -Wpartial-fields -Wunused-packages
+
+ else
+ ghc-options: -O2 -Wall
+
+test-suite tests
+ type: exitcode-stdio-1.0
+ main-is: Spec.hs
+ build-tool-depends: hspec-discover:hspec-discover >=2.0 && <3.0
+ hs-source-dirs: tests
+ other-modules:
+ Text.QQSpec
+ Text.URISpec
+
+ default-language: GHC2021
+ build-depends:
+ QuickCheck >=2.4 && <3,
+ base >=4.15 && <5,
+ bytestring >=0.2 && <0.13,
+ hspec >=2 && <3,
+ hspec-megaparsec >=2 && <3,
+ megaparsec >=8 && <10,
+ modern-uri,
+ text >=0.2 && <2.2
+
+ if flag(dev)
+ ghc-options:
+ -Wall -Werror -Wredundant-constraints -Wpartial-fields
+ -Wunused-packages
+
+ else
+ ghc-options: -O2 -Wall
+
+benchmark bench-speed
+ type: exitcode-stdio-1.0
+ main-is: Main.hs
+ hs-source-dirs: bench/speed
+ default-language: GHC2021
+ build-depends:
+ base >=4.15 && <5.0,
+ bytestring >=0.2 && <0.13,
+ criterion >=0.6.2.1 && <1.7,
+ megaparsec >=8 && <10,
+ modern-uri,
+ text >=0.2 && <2.2
+
+ if flag(dev)
+ ghc-options:
+ -Wall -Werror -Wredundant-constraints -Wpartial-fields
+ -Wunused-packages
+
+ else
+ ghc-options: -O2 -Wall
+
+benchmark bench-memory
+ type: exitcode-stdio-1.0
+ main-is: Main.hs
+ hs-source-dirs: bench/memory
+ default-language: GHC2021
+ build-depends:
+ base >=4.15 && <5,
+ bytestring >=0.2 && <0.13,
+ megaparsec >=8 && <10,
+ modern-uri,
+ text >=0.2 && <2.2,
+ weigh >=0.0.4
+
+ if flag(dev)
+ ghc-options:
+ -Wall -Werror -Wredundant-constraints -Wpartial-fields
+ -Wunused-packages
+
+ else
+ ghc-options: -O2 -Wall
diff --git a/packages/g/ghc-network/.files b/packages/g/ghc-network/.files
index ba49c69f96a..5f073540ca4 100644
Binary files a/packages/g/ghc-network/.files and b/packages/g/ghc-network/.files differ
diff --git a/packages/g/ghc-network/.rev b/packages/g/ghc-network/.rev
index 984148f11d8..72ffee1502f 100644
--- a/packages/g/ghc-network/.rev
+++ b/packages/g/ghc-network/.rev
@@ -290,4 +290,12 @@
version update
1099456
+
+ bb17a2483e4b19affaa0f991f9dbdf2d
+ 3.2.7.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231458
+
diff --git a/packages/g/ghc-network/ghc-network.changes b/packages/g/ghc-network/ghc-network.changes
index e4dbc8071da..2e290a7a069 100644
--- a/packages/g/ghc-network/ghc-network.changes
+++ b/packages/g/ghc-network/ghc-network.changes
@@ -1,3 +1,83 @@
+-------------------------------------------------------------------
+Wed Nov 27 00:22:03 UTC 2024 - Peter Simons
+
+- Update network to version 3.2.7.0.
+ ## Version 3.2.7.0
+
+ * Using nested `bracket` for `gracefulClose`.
+ [#591](https://github.com/haskell/network/issues/590)
+ * Fix memory leak in getaddrinfo and make it async exception safe.
+ [#591](https://github.com/haskell/network/pull/591)
+ * Make call to c_free async exception safe.
+ [#592](https://github.com/haskell/network/pull/592)
+
+-------------------------------------------------------------------
+Tue Nov 12 01:48:51 UTC 2024 - Peter Simons
+
+- Update network to version 3.2.6.0.
+ ## Version 3.2.6.0
+
+ * fixing the Show instance of IPv4-mapped IPv6 address on little endian machines
+
+ ## Version 3.2.5.0
+
+ * `gracefulClose` based on STM racing and `timeout`.
+ [#587](https://github.com/haskell/network/issues/587)
+
+ ## Version 3.2.4.0
+
+ * New API: setSockOptValue.
+ [#588](https://github.com/haskell/network/issues/588)
+
+ ## Version 3.2.3.0
+
+ * Making getAddrInfo polymorphic
+ [#587](https://github.com/haskell/network/issues/587)
+
+ ## Version 3.2.2.0
+
+ * New API: waitReadSocketSTM, waitAndCancelReadSocketSTM,
+ waitWriteSocketSTM, waitAndCancelWriteSocketSTM
+ [#586](https://github.com/haskell/network/issues/586)
+ * Checking the length of ASCII string allowing trailing 0.
+ [#585](https://github.com/haskell/network/issues/585)
+
+ ## Version 3.2.1.0
+
+ * Trying to release with the latest autoreconf.
+ Packing "network" in the local directory instead of CI.
+ * Remove includes from .cabal-file
+ [#583](https://github.com/haskell/network/issues/583)
+ * making gracefulClose more graceful
+ [#580](https://github.com/haskell/network/issues/580)
+ * Update config.guess, config.sub to their latest versions
+ [#579](https://github.com/haskell/network/issues/579)
+
+ ## Version 3.2.0.0
+
+ * Breaking change: Using Strict and StrictData.
+ * Breaking change: Allow a control message to contain multiple file descriptors
+ [#567](https://github.com/haskell/network/issues/567)
+ * Breaking change: CmsgIdFd -> CmsgIdFds
+ [#575](https://github.com/haskell/network/issues/575)
+ * SocketTypes: use UnsupportedSocketType instead of -1.
+ [#560](https://github.com/haskell/network/issues/560)
+ * Expose NullSockAddr, add send-with-fds functions.
+ [#562](https://github.com/haskell/network/issues/562)
+ * Allow bytestring-0.12 and replace deprecated memcpy by copyBytes.
+ [#564](https://github.com/haskell/network/issues/564)
+ * Close file descriptor in accept when exception happens
+ [#569](https://github.com/haskell/network/issues/569)
+ * Bump CI to GHC 9.8 and latest versions of actions
+ [#573](https://github.com/haskell/network/issues/573)
+
+ ## Version 3.1.5.0
+
+ * [#541](https://github.com/haskell/network/issues/541)
+ * Export `Network.Socket.Internal.NullSockAddr`
+ * Add `Network.Socket.ByteString.sendManyWithFds`
+ * Add `Network.Socket.ByteString.Lazy.sendWithFds`
+
-------------------------------------------------------------------
Tue Jul 18 08:47:13 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-network/ghc-network.spec b/packages/g/ghc-network/ghc-network.spec
index 5f0b20677a1..5bcc0c288af 100644
--- a/packages/g/ghc-network/ghc-network.spec
+++ b/packages/g/ghc-network/ghc-network.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-network
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 3.1.4.0
+Version: 3.2.7.0
Release: 0
Summary: Low-level networking interface
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -37,6 +36,8 @@ BuildRequires: ghc-deepseq-prof
BuildRequires: ghc-directory-devel
BuildRequires: ghc-directory-prof
BuildRequires: ghc-rpm-macros
+BuildRequires: ghc-stm-devel
+BuildRequires: ghc-stm-prof
ExcludeArch: %{ix86}
%if %{with tests}
BuildRequires: ghc-HUnit-devel
@@ -98,7 +99,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-network/network-3.1.4.0.tar.gz b/packages/g/ghc-network/network-3.1.4.0.tar.gz
deleted file mode 120000
index 74c407c1a69..00000000000
--- a/packages/g/ghc-network/network-3.1.4.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreifukkrk7lev3eqhgv7lhaqmogohy7jhq4ppjnxnpp6naoqdnoivry
\ No newline at end of file
diff --git a/packages/g/ghc-network/network-3.2.7.0.tar.gz b/packages/g/ghc-network/network-3.2.7.0.tar.gz
new file mode 120000
index 00000000000..7e8d600b7f2
--- /dev/null
+++ b/packages/g/ghc-network/network-3.2.7.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidikshgmbrsupajwiymgp7arteiajztok2ilzs4xz5hc6jw32lsrm
\ No newline at end of file
diff --git a/packages/g/ghc-network/network.cabal b/packages/g/ghc-network/network.cabal
deleted file mode 100644
index 3c2145e2618..00000000000
--- a/packages/g/ghc-network/network.cabal
+++ /dev/null
@@ -1,203 +0,0 @@
-cabal-version: 1.18
-name: network
-version: 3.1.4.0
-x-revision: 1
-license: BSD3
-license-file: LICENSE
-maintainer: Kazu Yamamoto, Evan Borden
-
-tested-with:
- GHC == 9.6.1
- GHC == 9.4.4
- GHC == 9.2.7
- GHC == 9.0.2
- GHC == 8.10.7
- GHC == 8.8.4
- GHC == 8.6.5
- GHC == 8.4.4
- GHC == 8.2.2
- GHC == 8.0.2
-
-homepage: https://github.com/haskell/network
-bug-reports: https://github.com/haskell/network/issues
-synopsis: Low-level networking interface
-description:
- This package provides a low-level networking interface.
- .
- === High-Level Packages
- Other packages provide higher level interfaces:
- .
- * connection
- * hookup
- * network-simple
- .
- === Extended Packages
- @network@ seeks to provide a cross-platform core for networking. As such some
- APIs live in extended libraries. Packages in the @network@ ecosystem are
- often prefixed with @network-@.
- .
- ==== @network-bsd@
- In @network-3.0.0.0@ the @Network.BSD@ module was split off into its own
- package, @network-bsd-3.0.0.0@.
- .
- ==== @network-uri@
- In @network-2.6@ the @Network.URI@ module was split off into its own package,
- @network-uri-2.6@. If you're using the @Network.URI@ module you can
- automatically get it from the right package by adding this to your @.cabal@
- file:
- .
- > library
- > build-depends: network-uri-flag
-
-category: Network
-build-type: Configure
-
-extra-doc-files:
- README.md
- CHANGELOG.md
-
-extra-source-files:
- examples/*.hs
- tests/*.hs
- config.guess
- config.sub
- install-sh
- configure.ac
- configure
- include/HsNetworkConfig.h.in
- include/HsNet.h
- include/HsNetDef.h
- include/afunix_compat.h
- cbits/asyncAccept.c
- cbits/initWinSock.c
- cbits/winSockErr.c
- cbits/cmsg.c
-
-extra-tmp-files:
- config.log
- config.status
- autom4te.cache
- network.buildinfo
- include/HsNetworkConfig.h
-
-source-repository head
- type: git
- location: https://github.com/haskell/network.git
-
-flag devel
- description: using tests for developers
- default: False
-
-library
- exposed-modules:
- Network.Socket
- Network.Socket.Address
- Network.Socket.ByteString
- Network.Socket.ByteString.Lazy
- Network.Socket.Internal
-
- build-tools: hsc2hs >=0
- c-sources:
- cbits/HsNet.c
- cbits/cmsg.c
-
- other-modules:
- Network.Socket.Buffer
- Network.Socket.ByteString.IO
- Network.Socket.ByteString.Internal
- Network.Socket.Cbits
- Network.Socket.Fcntl
- Network.Socket.Flag
- Network.Socket.Handle
- Network.Socket.If
- Network.Socket.Imports
- Network.Socket.Info
- Network.Socket.Name
- Network.Socket.Options
- Network.Socket.ReadShow
- Network.Socket.Shutdown
- Network.Socket.SockAddr
- Network.Socket.Syscall
- Network.Socket.Types
- Network.Socket.Unix
-
- default-language: Haskell2010
- include-dirs: include
- includes: HsNet.h HsNetDef.h alignment.h win32defs.h
- install-includes: HsNet.h HsNetDef.h alignment.h win32defs.h
- if os(windows)
- includes: afunix_compat.h
- install-includes: afunix_compat.h
-
- ghc-options: -Wall -fwarn-tabs
- build-depends:
- base >=4.9 && <5,
- bytestring >=0.10 && <0.13,
- deepseq,
- directory
-
- if !os(windows)
- other-modules:
- Network.Socket.ByteString.Lazy.Posix
- Network.Socket.Posix.Cmsg
- Network.Socket.Posix.CmsgHdr
- Network.Socket.Posix.IOVec
- Network.Socket.Posix.MsgHdr
-
- if os(solaris)
- cpp-options: -D__EXTENSIONS__ -D_XOPEN_SOURCE=500
- cc-options: -D__EXTENSIONS__ -D_XOPEN_SOURCE=500
- extra-libraries:
- nsl
- socket
-
- if os(windows)
- c-sources:
- cbits/initWinSock.c
- cbits/winSockErr.c
- cbits/asyncAccept.c
-
- other-modules:
- Network.Socket.ByteString.Lazy.Windows
- Network.Socket.Win32.Cmsg
- Network.Socket.Win32.CmsgHdr
- Network.Socket.Win32.WSABuf
- Network.Socket.Win32.MsgHdr
-
- extra-libraries:
- ws2_32
- iphlpapi
- mswsock
-
- if impl(ghc >=7.10)
- cpp-options: -D_WIN32_WINNT=0x0600
- cc-options: -D_WIN32_WINNT=0x0600
-
- build-depends:
- temporary
-
-test-suite spec
- type: exitcode-stdio-1.0
- main-is: Spec.hs
- build-tools: hspec-discover >=2.6
- hs-source-dirs: tests
- other-modules:
- Network.Test.Common
- Network.SocketSpec
- Network.Socket.ByteStringSpec
- Network.Socket.ByteString.LazySpec
-
- default-language: Haskell2010
- ghc-options: -Wall -threaded
- build-depends:
- base >=4.9 && <5,
- bytestring,
- directory,
- HUnit,
- network,
- temporary,
- hspec >=2.6,
- QuickCheck
-
- if flag(devel)
- cpp-options: -DDEVELOPMENT
diff --git a/packages/g/ghc-open-browser b/packages/g/ghc-open-browser
new file mode 160000
index 00000000000..5f033bcb99c
--- /dev/null
+++ b/packages/g/ghc-open-browser
@@ -0,0 +1 @@
+Subproject commit 5f033bcb99c529151bf2d23291a3138dd67fcb04
diff --git a/packages/g/ghc-pandoc-lua-engine/.files b/packages/g/ghc-pandoc-lua-engine/.files
index 230dc9f066a..2abc082a2f3 100644
Binary files a/packages/g/ghc-pandoc-lua-engine/.files and b/packages/g/ghc-pandoc-lua-engine/.files differ
diff --git a/packages/g/ghc-pandoc-lua-engine/.rev b/packages/g/ghc-pandoc-lua-engine/.rev
index 229f4f9b939..a6820209302 100644
--- a/packages/g/ghc-pandoc-lua-engine/.rev
+++ b/packages/g/ghc-pandoc-lua-engine/.rev
@@ -79,4 +79,12 @@
version update
1218566
+
+ 2ef215d541c7e27c25083d79f157b8d9
+ 0.4
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231460
+
diff --git a/packages/g/ghc-pandoc-lua-engine/ghc-pandoc-lua-engine.changes b/packages/g/ghc-pandoc-lua-engine/ghc-pandoc-lua-engine.changes
index 4575fd08dfa..8b3ca0bd5c3 100644
--- a/packages/g/ghc-pandoc-lua-engine/ghc-pandoc-lua-engine.changes
+++ b/packages/g/ghc-pandoc-lua-engine/ghc-pandoc-lua-engine.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Sun Dec 8 05:29:07 UTC 2024 - Peter Simons
+
+- Update pandoc-lua-engine to version 0.4.
+ Upstream does not provide a change log file.
+
-------------------------------------------------------------------
Sat Oct 5 21:05:45 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-pandoc-lua-engine/ghc-pandoc-lua-engine.spec b/packages/g/ghc-pandoc-lua-engine/ghc-pandoc-lua-engine.spec
index 1c9a0d66cd4..628146ebcda 100644
--- a/packages/g/ghc-pandoc-lua-engine/ghc-pandoc-lua-engine.spec
+++ b/packages/g/ghc-pandoc-lua-engine/ghc-pandoc-lua-engine.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.3.3
+Version: 0.4
Release: 0
Summary: Lua engine to power custom pandoc conversions
License: GPL-2.0-or-later
diff --git a/packages/g/ghc-pandoc-lua-engine/pandoc-lua-engine-0.3.3.tar.gz b/packages/g/ghc-pandoc-lua-engine/pandoc-lua-engine-0.3.3.tar.gz
deleted file mode 120000
index 0b2709ac24c..00000000000
--- a/packages/g/ghc-pandoc-lua-engine/pandoc-lua-engine-0.3.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreia4c2fzb2olte3rhkt5rmqvhlpbuk52fa55xigapwtnlewf43pnjm
\ No newline at end of file
diff --git a/packages/g/ghc-pandoc-lua-engine/pandoc-lua-engine-0.4.tar.gz b/packages/g/ghc-pandoc-lua-engine/pandoc-lua-engine-0.4.tar.gz
new file mode 120000
index 00000000000..27c2e0dea49
--- /dev/null
+++ b/packages/g/ghc-pandoc-lua-engine/pandoc-lua-engine-0.4.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidpplglokt6tagnhsgpc6djfgq4lcev5jm5zvrpaqpstjrpizaeqa
\ No newline at end of file
diff --git a/packages/g/ghc-pandoc-lua-marshal/.files b/packages/g/ghc-pandoc-lua-marshal/.files
index 4bbe6f9848d..74712193d6a 100644
Binary files a/packages/g/ghc-pandoc-lua-marshal/.files and b/packages/g/ghc-pandoc-lua-marshal/.files differ
diff --git a/packages/g/ghc-pandoc-lua-marshal/.rev b/packages/g/ghc-pandoc-lua-marshal/.rev
index 4eb2f93b01c..52c0942cc41 100644
--- a/packages/g/ghc-pandoc-lua-marshal/.rev
+++ b/packages/g/ghc-pandoc-lua-marshal/.rev
@@ -87,4 +87,12 @@
version update
1218567
+
+ d6e3ef1066614d1c75ed174cd80a7089
+ 0.3.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231461
+
diff --git a/packages/g/ghc-pandoc-lua-marshal/ghc-pandoc-lua-marshal.changes b/packages/g/ghc-pandoc-lua-marshal/ghc-pandoc-lua-marshal.changes
index ac915beb6ab..ea5815e2c4a 100644
--- a/packages/g/ghc-pandoc-lua-marshal/ghc-pandoc-lua-marshal.changes
+++ b/packages/g/ghc-pandoc-lua-marshal/ghc-pandoc-lua-marshal.changes
@@ -1,3 +1,23 @@
+-------------------------------------------------------------------
+Sat Dec 7 21:29:59 UTC 2024 - Peter Simons
+
+- Update pandoc-lua-marshal to version 0.3.0.
+ ## 0.3.0
+
+ Released 2024-12-07.
+
+ * Add method `normalize` to Pandoc objects.
+ This returns a normalized document by merging adjacent spaces in inlines
+ and by modifying tables.
+
+ * Push Captions as userdata, move code to separate module.
+
+ * Add tests for RawInline and its properties
+
+ * Allow treatment of custom elements as singleton lists.
+
+ * Remove `pandoc` prefix on table components (jgm/pandoc#8574).
+
-------------------------------------------------------------------
Tue Oct 1 12:28:55 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-pandoc-lua-marshal/ghc-pandoc-lua-marshal.spec b/packages/g/ghc-pandoc-lua-marshal/ghc-pandoc-lua-marshal.spec
index d5fb75a60c9..a5f972a15e8 100644
--- a/packages/g/ghc-pandoc-lua-marshal/ghc-pandoc-lua-marshal.spec
+++ b/packages/g/ghc-pandoc-lua-marshal/ghc-pandoc-lua-marshal.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.2.9
+Version: 0.3.0
Release: 0
Summary: Use pandoc types in Lua
License: MIT
diff --git a/packages/g/ghc-pandoc-lua-marshal/pandoc-lua-marshal-0.2.9.tar.gz b/packages/g/ghc-pandoc-lua-marshal/pandoc-lua-marshal-0.2.9.tar.gz
deleted file mode 120000
index 585b4b65a0b..00000000000
--- a/packages/g/ghc-pandoc-lua-marshal/pandoc-lua-marshal-0.2.9.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreidbrjnephwrumj45ial4rtsc4fm7a4zuntsh5l2ichjw3qaffaycm
\ No newline at end of file
diff --git a/packages/g/ghc-pandoc-lua-marshal/pandoc-lua-marshal-0.3.0.tar.gz b/packages/g/ghc-pandoc-lua-marshal/pandoc-lua-marshal-0.3.0.tar.gz
new file mode 120000
index 00000000000..b2b30b586b9
--- /dev/null
+++ b/packages/g/ghc-pandoc-lua-marshal/pandoc-lua-marshal-0.3.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreifp5a45w6dhngecfcamzaicbnq7w2y5gwaaw6cgswqhqt3ou4q3gu
\ No newline at end of file
diff --git a/packages/g/ghc-pandoc-server/.files b/packages/g/ghc-pandoc-server/.files
index 87721fa1983..20b09ab82aa 100644
Binary files a/packages/g/ghc-pandoc-server/.files and b/packages/g/ghc-pandoc-server/.files differ
diff --git a/packages/g/ghc-pandoc-server/.rev b/packages/g/ghc-pandoc-server/.rev
index 696b2fb3481..363be8fc43e 100644
--- a/packages/g/ghc-pandoc-server/.rev
+++ b/packages/g/ghc-pandoc-server/.rev
@@ -71,4 +71,12 @@
version update
1218568
+
+ 64b0fa894d25dc53bde134baa0540fbc
+ 0.1.0.10
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231462
+
diff --git a/packages/g/ghc-pandoc-server/ghc-pandoc-server.changes b/packages/g/ghc-pandoc-server/ghc-pandoc-server.changes
index 4029f1e8fac..671ff4f6d35 100644
--- a/packages/g/ghc-pandoc-server/ghc-pandoc-server.changes
+++ b/packages/g/ghc-pandoc-server/ghc-pandoc-server.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Sun Dec 8 05:29:34 UTC 2024 - Peter Simons
+
+- Update pandoc-server to version 0.1.0.10.
+ Upstream does not provide a change log file.
+
-------------------------------------------------------------------
Sat Oct 5 21:06:13 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-pandoc-server/ghc-pandoc-server.spec b/packages/g/ghc-pandoc-server/ghc-pandoc-server.spec
index ebda605c205..bfd1912c474 100644
--- a/packages/g/ghc-pandoc-server/ghc-pandoc-server.spec
+++ b/packages/g/ghc-pandoc-server/ghc-pandoc-server.spec
@@ -19,7 +19,7 @@
%global pkg_name pandoc-server
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.1.0.9
+Version: 0.1.0.10
Release: 0
Summary: Pandoc document conversion as an HTTP servant-server
License: GPL-2.0-or-later
diff --git a/packages/g/ghc-pandoc-server/pandoc-server-0.1.0.10.tar.gz b/packages/g/ghc-pandoc-server/pandoc-server-0.1.0.10.tar.gz
new file mode 120000
index 00000000000..c400d9b71a6
--- /dev/null
+++ b/packages/g/ghc-pandoc-server/pandoc-server-0.1.0.10.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreicuzjvrdr36sditbulxctw6zkoq3omeosmnbczxuurxkjve432z44
\ No newline at end of file
diff --git a/packages/g/ghc-pandoc-server/pandoc-server-0.1.0.9.tar.gz b/packages/g/ghc-pandoc-server/pandoc-server-0.1.0.9.tar.gz
deleted file mode 120000
index 4fb3e3c1122..00000000000
--- a/packages/g/ghc-pandoc-server/pandoc-server-0.1.0.9.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreieidpbzty4i5upkt6hxp4iijhpezeiianbwo24thsvznwacs2fovu
\ No newline at end of file
diff --git a/packages/g/ghc-pandoc/.files b/packages/g/ghc-pandoc/.files
index 0b283bac700..4b494998a31 100644
Binary files a/packages/g/ghc-pandoc/.files and b/packages/g/ghc-pandoc/.files differ
diff --git a/packages/g/ghc-pandoc/.rev b/packages/g/ghc-pandoc/.rev
index c84fa37b74d..d939ce1ff01 100644
--- a/packages/g/ghc-pandoc/.rev
+++ b/packages/g/ghc-pandoc/.rev
@@ -119,4 +119,12 @@
version update
1218565
+
+ 931db2604439fea4daef0fca2dad8ebd
+ 3.6
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231459
+
diff --git a/packages/g/ghc-pandoc/ghc-pandoc.changes b/packages/g/ghc-pandoc/ghc-pandoc.changes
index 82e55eba5cb..6b0c73abb17 100644
--- a/packages/g/ghc-pandoc/ghc-pandoc.changes
+++ b/packages/g/ghc-pandoc/ghc-pandoc.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Sun Dec 8 05:28:37 UTC 2024 - Peter Simons
+
+- Update pandoc to version 3.6.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/pandoc-3.6/src/changelog.md
+
-------------------------------------------------------------------
Sat Oct 5 21:05:20 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-pandoc/ghc-pandoc.spec b/packages/g/ghc-pandoc/ghc-pandoc.spec
index 419d7904d44..3616455debf 100644
--- a/packages/g/ghc-pandoc/ghc-pandoc.spec
+++ b/packages/g/ghc-pandoc/ghc-pandoc.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 3.5
+Version: 3.6
Release: 0
Summary: Conversion between markup formats
License: GPL-2.0-or-later
@@ -103,6 +103,8 @@ BuildRequires: ghc-ipynb-devel
BuildRequires: ghc-ipynb-prof
BuildRequires: ghc-jira-wiki-markup-devel
BuildRequires: ghc-jira-wiki-markup-prof
+BuildRequires: ghc-libyaml-devel
+BuildRequires: ghc-libyaml-prof
BuildRequires: ghc-mime-types-devel
BuildRequires: ghc-mime-types-prof
BuildRequires: ghc-mtl-devel
@@ -420,7 +422,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%{_datadir}/%{pkg_name}-%{version}/data/templates/default.typst
%{_datadir}/%{pkg_name}-%{version}/data/templates/default.xwiki
%{_datadir}/%{pkg_name}-%{version}/data/templates/default.zimwiki
-%{_datadir}/%{pkg_name}-%{version}/data/templates/definitions.typst
+%{_datadir}/%{pkg_name}-%{version}/data/templates/font-settings.latex
%{_datadir}/%{pkg_name}-%{version}/data/templates/fonts.latex
%{_datadir}/%{pkg_name}-%{version}/data/templates/hypersetup.latex
%{_datadir}/%{pkg_name}-%{version}/data/templates/passoptions.latex
diff --git a/packages/g/ghc-pandoc/pandoc-3.5.tar.gz b/packages/g/ghc-pandoc/pandoc-3.5.tar.gz
deleted file mode 120000
index 1384167f610..00000000000
--- a/packages/g/ghc-pandoc/pandoc-3.5.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeictjulxvjqspnudacxwb257xvmmgzakizrwcmdohn2zgm5vegaklm
\ No newline at end of file
diff --git a/packages/g/ghc-pandoc/pandoc-3.6.tar.gz b/packages/g/ghc-pandoc/pandoc-3.6.tar.gz
new file mode 120000
index 00000000000..5f6ab1d74d3
--- /dev/null
+++ b/packages/g/ghc-pandoc/pandoc-3.6.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeibckh44fkktp6f2juyd67xjzunhuokexisgx5cylrpbe3hggcgrxu
\ No newline at end of file
diff --git a/packages/g/ghc-parallel/.files b/packages/g/ghc-parallel/.files
index 1572fc5603b..9b4d4af73d2 100644
Binary files a/packages/g/ghc-parallel/.files and b/packages/g/ghc-parallel/.files differ
diff --git a/packages/g/ghc-parallel/.rev b/packages/g/ghc-parallel/.rev
index 80dd73047a2..0276b8a24df 100644
--- a/packages/g/ghc-parallel/.rev
+++ b/packages/g/ghc-parallel/.rev
@@ -111,4 +111,12 @@
Automatic submission by obs-autosubmit
1166989
+
+ d7a734328b411a4cfec9a7a4822fe72a
+ 3.2.2.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231463
+
diff --git a/packages/g/ghc-parallel/ghc-parallel.changes b/packages/g/ghc-parallel/ghc-parallel.changes
index 9b4f79693c8..31f9b940d6c 100644
--- a/packages/g/ghc-parallel/ghc-parallel.changes
+++ b/packages/g/ghc-parallel/ghc-parallel.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Fri Nov 8 16:23:30 UTC 2024 - Peter Simons
+
+- Update parallel to version 3.2.2.0 revision 9.
+ Upstream has revised the Cabal build instructions on Hackage.
+
-------------------------------------------------------------------
Thu Apr 4 06:37:28 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-parallel/ghc-parallel.spec b/packages/g/ghc-parallel/ghc-parallel.spec
index 7d0213d4e69..0b44a28b4a1 100644
--- a/packages/g/ghc-parallel/ghc-parallel.spec
+++ b/packages/g/ghc-parallel/ghc-parallel.spec
@@ -25,7 +25,7 @@ Summary: Parallel programming library
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/8.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/9.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-array-prof
diff --git a/packages/g/ghc-parallel/parallel.cabal b/packages/g/ghc-parallel/parallel.cabal
index 4914da64078..fa18389b9c8 100644
--- a/packages/g/ghc-parallel/parallel.cabal
+++ b/packages/g/ghc-parallel/parallel.cabal
@@ -1,7 +1,7 @@
cabal-version: >=1.10
name: parallel
version: 3.2.2.0
-x-revision: 8
+x-revision: 9
-- NOTE: Don't forget to update ./changelog.md
license: BSD3
license-file: LICENSE
@@ -12,9 +12,10 @@ category: Control, Parallelism
build-type: Simple
tested-with:
- GHC == 9.10.0
+ GHC == 9.12.0
+ GHC == 9.10.1
GHC == 9.8.2
- GHC == 9.6.4
+ GHC == 9.6.6
GHC == 9.4.8
GHC == 9.2.8
GHC == 9.0.2
@@ -24,8 +25,8 @@ tested-with:
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
- GHC == 7.10.3
-- Drop these old GHCs from CI:
+ -- GHC == 7.10.3
-- GHC == 7.8.4
-- GHC == 7.6.3
-- GHC == 7.4.2
@@ -65,7 +66,7 @@ library
build-depends:
array >= 0.3 && < 0.6,
- base >= 4.3 && < 4.21,
+ base >= 4.3 && < 4.22,
containers >= 0.4 && < 0.8,
deepseq >= 1.1 && < 1.6
diff --git a/packages/g/ghc-persistent-sqlite/.files b/packages/g/ghc-persistent-sqlite/.files
index 1f974b3d185..a80e9c43f82 100644
Binary files a/packages/g/ghc-persistent-sqlite/.files and b/packages/g/ghc-persistent-sqlite/.files differ
diff --git a/packages/g/ghc-persistent-sqlite/.rev b/packages/g/ghc-persistent-sqlite/.rev
index 7438ec16955..c4a0c4c88bb 100644
--- a/packages/g/ghc-persistent-sqlite/.rev
+++ b/packages/g/ghc-persistent-sqlite/.rev
@@ -103,4 +103,12 @@
Automatic submission by obs-autosubmit
1133556
+
+ 478e8dea56060c875e68c3080712b668
+ 2.13.3.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231464
+
diff --git a/packages/g/ghc-persistent-sqlite/ghc-persistent-sqlite.changes b/packages/g/ghc-persistent-sqlite/ghc-persistent-sqlite.changes
index c7f97c49c50..beb19a6a014 100644
--- a/packages/g/ghc-persistent-sqlite/ghc-persistent-sqlite.changes
+++ b/packages/g/ghc-persistent-sqlite/ghc-persistent-sqlite.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:57:55 UTC 2024 - Peter Simons
+
+- Re-generate spec file with a recent versions of Cabal.
+
-------------------------------------------------------------------
Thu Dec 7 16:55:02 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-persistent-sqlite/ghc-persistent-sqlite.spec b/packages/g/ghc-persistent-sqlite/ghc-persistent-sqlite.spec
index 25bf16b6cf7..c2f1990933b 100644
--- a/packages/g/ghc-persistent-sqlite/ghc-persistent-sqlite.spec
+++ b/packages/g/ghc-persistent-sqlite/ghc-persistent-sqlite.spec
@@ -61,7 +61,7 @@ BuildRequires: ghc-unliftio-core-prof
BuildRequires: ghc-unordered-containers-devel
BuildRequires: ghc-unordered-containers-prof
BuildRequires: glibc-devel
-BuildRequires: sqlite3-devel
+BuildRequires: sqlite-devel
ExcludeArch: %{ix86}
%if %{with tests}
BuildRequires: ghc-HUnit-devel
@@ -95,7 +95,6 @@ Summary: Haskell %{pkg_name} library development files
Requires: %{name} = %{version}-%{release}
Requires: ghc-compiler = %{ghc_version}
Requires: glibc-devel
-Requires: sqlite3-devel
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
@@ -123,7 +122,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%autosetup -n %{pkg_name}-%{version}
%build
-%define cabal_configure_options -fsystemlib
+%define cabal_configure_options -f+systemlib
%ghc_lib_build
%install
diff --git a/packages/g/ghc-pretty-simple/.files b/packages/g/ghc-pretty-simple/.files
index 36a2a9d3d81..b7b2a6f91f2 100644
Binary files a/packages/g/ghc-pretty-simple/.files and b/packages/g/ghc-pretty-simple/.files differ
diff --git a/packages/g/ghc-pretty-simple/.rev b/packages/g/ghc-pretty-simple/.rev
index 2664d71ac4e..7b1fbfd7bae 100644
--- a/packages/g/ghc-pretty-simple/.rev
+++ b/packages/g/ghc-pretty-simple/.rev
@@ -39,4 +39,12 @@
update for ghc-9.4.4
1076003
+
+ 2fa5251b3ffb19b48cd106c7a580bff5
+ 4.1.3.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231465
+
diff --git a/packages/g/ghc-pretty-simple/ghc-pretty-simple.changes b/packages/g/ghc-pretty-simple/ghc-pretty-simple.changes
index 9e118fc6e02..b98a1eb9e5f 100644
--- a/packages/g/ghc-pretty-simple/ghc-pretty-simple.changes
+++ b/packages/g/ghc-pretty-simple/ghc-pretty-simple.changes
@@ -1,3 +1,14 @@
+-------------------------------------------------------------------
+Sun Dec 8 12:54:27 UTC 2024 - Peter Simons
+
+- Update pretty-simple to version 4.1.3.0.
+ ## 4.1.3.0
+
+ * Remove custom setup. This makes cross-compiling `pretty-simple` a lot more
+ straightforward. No functionality has been lost from the library, since the
+ custom setup was only used for generating tests.
+ [#107](https://github.com/cdepillabout/pretty-simple/pull/107)
+
-------------------------------------------------------------------
Thu Mar 30 17:07:57 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-pretty-simple/ghc-pretty-simple.spec b/packages/g/ghc-pretty-simple/ghc-pretty-simple.spec
index 4e9ffa380c4..85844996fe0 100644
--- a/packages/g/ghc-pretty-simple/ghc-pretty-simple.spec
+++ b/packages/g/ghc-pretty-simple/ghc-pretty-simple.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-pretty-simple
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,9 +18,8 @@
%global pkg_name pretty-simple
%global pkgver %{pkg_name}-%{version}
-%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 4.1.2.0
+Version: 4.1.3.0
Release: 0
Summary: Pretty printer for data types with a 'Show' instance
License: BSD-3-Clause
@@ -28,11 +27,8 @@ URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
BuildRequires: chrpath
BuildRequires: ghc-Cabal-devel
-BuildRequires: ghc-Cabal-prof
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
-BuildRequires: ghc-cabal-doctest-devel
-BuildRequires: ghc-cabal-doctest-prof
BuildRequires: ghc-containers-devel
BuildRequires: ghc-containers-prof
BuildRequires: ghc-mtl-devel
@@ -49,16 +45,6 @@ BuildRequires: ghc-text-prof
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-transformers-prof
ExcludeArch: %{ix86}
-%if %{with tests}
-BuildRequires: ghc-Glob-devel
-BuildRequires: ghc-Glob-prof
-BuildRequires: ghc-QuickCheck-devel
-BuildRequires: ghc-QuickCheck-prof
-BuildRequires: ghc-doctest-devel
-BuildRequires: ghc-doctest-prof
-BuildRequires: ghc-template-haskell-devel
-BuildRequires: ghc-template-haskell-prof
-%endif
%description
Pretty printer for data types with a 'Show' instance.
@@ -99,9 +85,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%ghc_lib_install
%ghc_fix_rpath %{pkg_name}-%{version}
-%check
-%cabal_test
-
%post devel
%ghc_pkg_recache
diff --git a/packages/g/ghc-pretty-simple/pretty-simple-4.1.2.0.tar.gz b/packages/g/ghc-pretty-simple/pretty-simple-4.1.2.0.tar.gz
deleted file mode 120000
index b8ae54b848c..00000000000
--- a/packages/g/ghc-pretty-simple/pretty-simple-4.1.2.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreib4wr6ds4kzts4mamyodiw32y6gpp56k4f5q6ksj3uaf2a6pmbhgy
\ No newline at end of file
diff --git a/packages/g/ghc-pretty-simple/pretty-simple-4.1.3.0.tar.gz b/packages/g/ghc-pretty-simple/pretty-simple-4.1.3.0.tar.gz
new file mode 120000
index 00000000000..06b7d470380
--- /dev/null
+++ b/packages/g/ghc-pretty-simple/pretty-simple-4.1.3.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreibkvmo3ahg3dtdyi6znchmrlleau7py4ev4bzkwpzjtdkj3pawqby
\ No newline at end of file
diff --git a/packages/g/ghc-raw-strings-qq/.files b/packages/g/ghc-raw-strings-qq/.files
new file mode 100644
index 00000000000..73d2d6189fb
Binary files /dev/null and b/packages/g/ghc-raw-strings-qq/.files differ
diff --git a/packages/g/ghc-raw-strings-qq/.meta b/packages/g/ghc-raw-strings-qq/.meta
new file mode 100644
index 00000000000..5053f48444c
--- /dev/null
+++ b/packages/g/ghc-raw-strings-qq/.meta
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/packages/g/ghc-raw-strings-qq/.rev b/packages/g/ghc-raw-strings-qq/.rev
new file mode 100644
index 00000000000..598b89a9785
--- /dev/null
+++ b/packages/g/ghc-raw-strings-qq/.rev
@@ -0,0 +1,10 @@
+
+
+ badb308457331445ea1a454c5d12fb8f
+ 1.1
+
+ dimstar_suse
+ new dependency for ghc-9.10.1
+ 1231403
+
+
diff --git a/packages/g/ghc-raw-strings-qq/ghc-raw-strings-qq.changes b/packages/g/ghc-raw-strings-qq/ghc-raw-strings-qq.changes
new file mode 100644
index 00000000000..e25e31e43c7
--- /dev/null
+++ b/packages/g/ghc-raw-strings-qq/ghc-raw-strings-qq.changes
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Sun Dec 13 23:03:32 UTC 2015 - Peter Simons
+
+- Add raw-strings-qq at version 1.1.
+
diff --git a/packages/g/ghc-raw-strings-qq/ghc-raw-strings-qq.spec b/packages/g/ghc-raw-strings-qq/ghc-raw-strings-qq.spec
new file mode 100644
index 00000000000..b3658b40732
--- /dev/null
+++ b/packages/g/ghc-raw-strings-qq/ghc-raw-strings-qq.spec
@@ -0,0 +1,105 @@
+#
+# spec file for package ghc-raw-strings-qq
+#
+# Copyright (c) 2015 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%global pkg_name raw-strings-qq
+%global pkgver %{pkg_name}-%{version}
+%bcond_with tests
+Name: ghc-%{pkg_name}
+Version: 1.1
+Release: 0
+Summary: Raw string literals for Haskell
+License: BSD-3-Clause
+URL: https://hackage.haskell.org/package/%{pkg_name}
+Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+BuildRequires: ghc-Cabal-devel
+BuildRequires: ghc-base-devel
+BuildRequires: ghc-base-prof
+BuildRequires: ghc-rpm-macros
+BuildRequires: ghc-template-haskell-devel
+BuildRequires: ghc-template-haskell-prof
+ExcludeArch: %{ix86}
+%if %{with tests}
+BuildRequires: ghc-HUnit-devel
+BuildRequires: ghc-HUnit-prof
+%endif
+
+%description
+A quasiquoter for raw string literals - that is, string literals that don't
+recognise the standard escape sequences (such as ''\n''). Basically, they make
+your code more readable by freeing you from the responsibility to escape
+backslashes. They are useful when working with regular expressions, DOS/Windows
+paths and markup languages (such as XML).
+
+See 'examples/RawRegex.hs' for a usage example.
+
+%package devel
+Summary: Haskell %{pkg_name} library development files
+Requires: %{name} = %{version}-%{release}
+Requires: ghc-compiler = %{ghc_version}
+Requires(post): ghc-compiler = %{ghc_version}
+Requires(postun): ghc-compiler = %{ghc_version}
+
+%description devel
+This package provides the Haskell %{pkg_name} library development files.
+
+%package -n ghc-%{pkg_name}-doc
+Summary: Haskell %{pkg_name} library documentation
+Requires: ghc-filesystem
+BuildArch: noarch
+
+%description -n ghc-%{pkg_name}-doc
+This package provides the Haskell %{pkg_name} library documentation.
+
+%package -n ghc-%{pkg_name}-prof
+Summary: Haskell %{pkg_name} profiling library
+Requires: ghc-%{pkg_name}-devel = %{version}-%{release}
+Supplements: (ghc-%{pkg_name}-devel and ghc-prof)
+
+%description -n ghc-%{pkg_name}-prof
+This package provides the Haskell %{pkg_name} profiling library.
+
+%prep
+%autosetup -n %{pkg_name}-%{version}
+
+%build
+%ghc_lib_build
+
+%install
+%ghc_lib_install
+
+%check
+%cabal_test
+
+%post devel
+%ghc_pkg_recache
+
+%postun devel
+%ghc_pkg_recache
+
+%files -f %{name}.files
+%license LICENSE
+
+%files devel -f %{name}-devel.files
+%doc ChangeLog examples
+
+%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
+%license LICENSE
+
+%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files
+
+%changelog
diff --git a/packages/g/ghc-raw-strings-qq/raw-strings-qq-1.1.tar.gz b/packages/g/ghc-raw-strings-qq/raw-strings-qq-1.1.tar.gz
new file mode 120000
index 00000000000..68336e0e154
--- /dev/null
+++ b/packages/g/ghc-raw-strings-qq/raw-strings-qq-1.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiboaepme2xkuu5lipbqw7m3lmhwmhzewtv67ceeyewfoe2tyd562m
\ No newline at end of file
diff --git a/packages/g/ghc-reflection/.files b/packages/g/ghc-reflection/.files
index 05111060a45..070f9bf452a 100644
Binary files a/packages/g/ghc-reflection/.files and b/packages/g/ghc-reflection/.files differ
diff --git a/packages/g/ghc-reflection/.rev b/packages/g/ghc-reflection/.rev
index c594d76f8d4..8fbf6927e1c 100644
--- a/packages/g/ghc-reflection/.rev
+++ b/packages/g/ghc-reflection/.rev
@@ -119,4 +119,12 @@
Automatic submission by obs-autosubmit
1173457
+
+ caabe9ba5ec614196fec2197270d6923
+ 2.1.9
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231466
+
diff --git a/packages/g/ghc-reflection/ghc-reflection.changes b/packages/g/ghc-reflection/ghc-reflection.changes
index 87e28d2914e..38ade97c5df 100644
--- a/packages/g/ghc-reflection/ghc-reflection.changes
+++ b/packages/g/ghc-reflection/ghc-reflection.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Wed Dec 4 12:05:19 UTC 2024 - Peter Simons
+
+- Update reflection to version 2.1.9.
+ # 2.1.9 [2024.12.04]
+ * Drop support for pre-8.0 versions of GHC.
+
-------------------------------------------------------------------
Sat May 4 15:32:13 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-reflection/ghc-reflection.spec b/packages/g/ghc-reflection/ghc-reflection.spec
index ac0f7fd1a4b..e298db7c1c9 100644
--- a/packages/g/ghc-reflection/ghc-reflection.spec
+++ b/packages/g/ghc-reflection/ghc-reflection.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 2.1.8
+Version: 2.1.9
Release: 0
Summary: Reifies arbitrary terms into types that can be reflected back into terms
License: BSD-3-Clause
diff --git a/packages/g/ghc-reflection/reflection-2.1.8.tar.gz b/packages/g/ghc-reflection/reflection-2.1.8.tar.gz
deleted file mode 120000
index 54d19185c02..00000000000
--- a/packages/g/ghc-reflection/reflection-2.1.8.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreiesf2p7m6ky5un4ugiabkovsfj62mks553v5eay2wctjche6qmjzu
\ No newline at end of file
diff --git a/packages/g/ghc-reflection/reflection-2.1.9.tar.gz b/packages/g/ghc-reflection/reflection-2.1.9.tar.gz
new file mode 120000
index 00000000000..6154817e421
--- /dev/null
+++ b/packages/g/ghc-reflection/reflection-2.1.9.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiggu7k6igwq5ynalrtavt2p2nfsd44dgdxmczosi23776zzrzm7wm
\ No newline at end of file
diff --git a/packages/g/ghc-silently/.files b/packages/g/ghc-silently/.files
index d0fd44e0fd9..a2d815a707a 100644
Binary files a/packages/g/ghc-silently/.files and b/packages/g/ghc-silently/.files differ
diff --git a/packages/g/ghc-silently/.rev b/packages/g/ghc-silently/.rev
index d6785893813..004673a5823 100644
--- a/packages/g/ghc-silently/.rev
+++ b/packages/g/ghc-silently/.rev
@@ -112,4 +112,12 @@
update for ghc-9.4.4
1076038
+
+ 49d9786cf403284af9937c6db244f087
+ 1.2.5.4
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231467
+
diff --git a/packages/g/ghc-silently/ghc-silently.changes b/packages/g/ghc-silently/ghc-silently.changes
index 2f4f5b1eb6a..63d7943cb3c 100644
--- a/packages/g/ghc-silently/ghc-silently.changes
+++ b/packages/g/ghc-silently/ghc-silently.changes
@@ -1,3 +1,13 @@
+-------------------------------------------------------------------
+Sat Nov 23 09:52:01 UTC 2024 - Peter Simons
+
+- Update silently to version 1.2.5.4.
+ # 1.2.5.4 November 2024
+
+ * Bump `cabal-version` to 1.18.
+ * README: alert of malfunction in multi-threaded settings.
+ * Tested with GHC 8.0 - 9.12.0.
+
-------------------------------------------------------------------
Thu Mar 30 17:08:15 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-silently/ghc-silently.spec b/packages/g/ghc-silently/ghc-silently.spec
index 40e64aeea0b..3f70df00019 100644
--- a/packages/g/ghc-silently/ghc-silently.spec
+++ b/packages/g/ghc-silently/ghc-silently.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-silently
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.2.5.3
+Version: 1.2.5.4
Release: 0
Summary: Prevent or capture writing to stdout and other handles
License: BSD-3-Clause
diff --git a/packages/g/ghc-silently/silently-1.2.5.3.tar.gz b/packages/g/ghc-silently/silently-1.2.5.3.tar.gz
deleted file mode 120000
index 7abfbb1c023..00000000000
--- a/packages/g/ghc-silently/silently-1.2.5.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreif2twx27uuuhcudbl6rldb3qphbk7kq5gcdkl7t3x3au5gcf43doi
\ No newline at end of file
diff --git a/packages/g/ghc-silently/silently-1.2.5.4.tar.gz b/packages/g/ghc-silently/silently-1.2.5.4.tar.gz
new file mode 120000
index 00000000000..bc015c9c69b
--- /dev/null
+++ b/packages/g/ghc-silently/silently-1.2.5.4.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreic6enqiszobabfqa7ohofqetgfonwssyflxemal7xpdbwfveetuny
\ No newline at end of file
diff --git a/packages/g/ghc-skylighting-core/.files b/packages/g/ghc-skylighting-core/.files
index 8ce70c70e39..626dda78fba 100644
Binary files a/packages/g/ghc-skylighting-core/.files and b/packages/g/ghc-skylighting-core/.files differ
diff --git a/packages/g/ghc-skylighting-core/.rev b/packages/g/ghc-skylighting-core/.rev
index 984815d2aed..6c0904d2c37 100644
--- a/packages/g/ghc-skylighting-core/.rev
+++ b/packages/g/ghc-skylighting-core/.rev
@@ -334,4 +334,12 @@
version update
1218571
+
+ 501811be74f8ead5cbc7c58a6729a977
+ 0.14.4
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231469
+
diff --git a/packages/g/ghc-skylighting-core/ghc-skylighting-core.changes b/packages/g/ghc-skylighting-core/ghc-skylighting-core.changes
index db396f087c3..118a436c6c1 100644
--- a/packages/g/ghc-skylighting-core/ghc-skylighting-core.changes
+++ b/packages/g/ghc-skylighting-core/ghc-skylighting-core.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Sun Dec 8 00:01:18 UTC 2024 - Peter Simons
+
+- Update skylighting-core to version 0.14.4.
+ ## 0.14.4
+
+ * Add `gdscript`, `typst`, `tlaplus` syntax (#184, #199).
+
-------------------------------------------------------------------
Tue Sep 10 03:17:27 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-skylighting-core/ghc-skylighting-core.spec b/packages/g/ghc-skylighting-core/ghc-skylighting-core.spec
index 0131fa24232..a55146d013d 100644
--- a/packages/g/ghc-skylighting-core/ghc-skylighting-core.spec
+++ b/packages/g/ghc-skylighting-core/ghc-skylighting-core.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.14.3
+Version: 0.14.4
Release: 0
Summary: Syntax highlighting library
License: BSD-3-Clause
diff --git a/packages/g/ghc-skylighting-core/skylighting-core-0.14.3.tar.gz b/packages/g/ghc-skylighting-core/skylighting-core-0.14.3.tar.gz
deleted file mode 120000
index 3872d0c8843..00000000000
--- a/packages/g/ghc-skylighting-core/skylighting-core-0.14.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiggaqixi2hyfdvkkae5d2k3x4qgv7b4eo6jx24kupqxstif3n5pdm
\ No newline at end of file
diff --git a/packages/g/ghc-skylighting-core/skylighting-core-0.14.4.tar.gz b/packages/g/ghc-skylighting-core/skylighting-core-0.14.4.tar.gz
new file mode 120000
index 00000000000..f0eafcbe2f9
--- /dev/null
+++ b/packages/g/ghc-skylighting-core/skylighting-core-0.14.4.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeidmnypemqsxn7umkrm3ii4k2pexxe63grxn3xjw2eh45keqpkvd4a
\ No newline at end of file
diff --git a/packages/g/ghc-skylighting-format-blaze-html/.files b/packages/g/ghc-skylighting-format-blaze-html/.files
index ec809f97fd0..e09c0198249 100644
Binary files a/packages/g/ghc-skylighting-format-blaze-html/.files and b/packages/g/ghc-skylighting-format-blaze-html/.files differ
diff --git a/packages/g/ghc-skylighting-format-blaze-html/.rev b/packages/g/ghc-skylighting-format-blaze-html/.rev
index 6d4f8b037c8..30d6c150b89 100644
--- a/packages/g/ghc-skylighting-format-blaze-html/.rev
+++ b/packages/g/ghc-skylighting-format-blaze-html/.rev
@@ -31,4 +31,12 @@
Update Haskell ecosystem to GHC version 9.8.2.
1157264
+
+ d85b1a01bca99fffd6ef12be7bd4e678
+ 0.1.1.3
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231470
+
diff --git a/packages/g/ghc-skylighting-format-blaze-html/ghc-skylighting-format-blaze-html.changes b/packages/g/ghc-skylighting-format-blaze-html/ghc-skylighting-format-blaze-html.changes
index 4781df5a965..00966884b22 100644
--- a/packages/g/ghc-skylighting-format-blaze-html/ghc-skylighting-format-blaze-html.changes
+++ b/packages/g/ghc-skylighting-format-blaze-html/ghc-skylighting-format-blaze-html.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Sat Dec 7 22:08:19 UTC 2024 - Peter Simons
+
+- Update skylighting-format-blaze-html to version 0.1.1.3.
+ ## 0.1.1.3
+
+ * Use `-webkit-text-size-adjust` instead of unsetting
+ inline-block (#202, Jacke Zimmerman).
+
-------------------------------------------------------------------
Wed Feb 28 05:01:17 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-skylighting-format-blaze-html/ghc-skylighting-format-blaze-html.spec b/packages/g/ghc-skylighting-format-blaze-html/ghc-skylighting-format-blaze-html.spec
index e8684d1db3d..d7b72163a28 100644
--- a/packages/g/ghc-skylighting-format-blaze-html/ghc-skylighting-format-blaze-html.spec
+++ b/packages/g/ghc-skylighting-format-blaze-html/ghc-skylighting-format-blaze-html.spec
@@ -19,7 +19,7 @@
%global pkg_name skylighting-format-blaze-html
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.1.1.2
+Version: 0.1.1.3
Release: 0
Summary: HTML formatter for skylighting syntax highlighting library
License: BSD-3-Clause
diff --git a/packages/g/ghc-skylighting-format-blaze-html/skylighting-format-blaze-html-0.1.1.2.tar.gz b/packages/g/ghc-skylighting-format-blaze-html/skylighting-format-blaze-html-0.1.1.2.tar.gz
deleted file mode 120000
index ea70eeafd30..00000000000
--- a/packages/g/ghc-skylighting-format-blaze-html/skylighting-format-blaze-html-0.1.1.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreiasl7stm6xpasy3y4ql37yhqaxf3muizm3djlaluj4w5voo3wmppe
\ No newline at end of file
diff --git a/packages/g/ghc-skylighting-format-blaze-html/skylighting-format-blaze-html-0.1.1.3.tar.gz b/packages/g/ghc-skylighting-format-blaze-html/skylighting-format-blaze-html-0.1.1.3.tar.gz
new file mode 120000
index 00000000000..f65c4aefae6
--- /dev/null
+++ b/packages/g/ghc-skylighting-format-blaze-html/skylighting-format-blaze-html-0.1.1.3.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreice5awov25sidzcraxhmqddhv2hiu4ip52dqtov77jfrwac242s4y
\ No newline at end of file
diff --git a/packages/g/ghc-skylighting/.files b/packages/g/ghc-skylighting/.files
index 9c310b366a7..e5ecec923df 100644
Binary files a/packages/g/ghc-skylighting/.files and b/packages/g/ghc-skylighting/.files differ
diff --git a/packages/g/ghc-skylighting/.rev b/packages/g/ghc-skylighting/.rev
index 4ed3de08250..d4cd14ebf95 100644
--- a/packages/g/ghc-skylighting/.rev
+++ b/packages/g/ghc-skylighting/.rev
@@ -348,4 +348,12 @@
version update
1218570
+
+ 700041d66912271f41f4a1dd4485b802
+ 0.14.4
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231468
+
diff --git a/packages/g/ghc-skylighting/ghc-skylighting.changes b/packages/g/ghc-skylighting/ghc-skylighting.changes
index bcca49aa060..916053cff1e 100644
--- a/packages/g/ghc-skylighting/ghc-skylighting.changes
+++ b/packages/g/ghc-skylighting/ghc-skylighting.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Sun Dec 8 00:02:33 UTC 2024 - Peter Simons
+
+- Update skylighting to version 0.14.4.
+ ## 0.14.4
+
+ * Add `gdscript`, `typst`, `tlaplus` syntax (#184, #199).
+
-------------------------------------------------------------------
Tue Sep 10 03:17:49 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-skylighting/ghc-skylighting.spec b/packages/g/ghc-skylighting/ghc-skylighting.spec
index 9eba499dcf7..bbe84a66f13 100644
--- a/packages/g/ghc-skylighting/ghc-skylighting.spec
+++ b/packages/g/ghc-skylighting/ghc-skylighting.spec
@@ -19,22 +19,17 @@
%global pkg_name skylighting
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.14.3
+Version: 0.14.4
Release: 0
Summary: Syntax highlighting library
License: GPL-2.0-or-later
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-BuildRequires: chrpath
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
BuildRequires: ghc-binary-devel
BuildRequires: ghc-binary-prof
-BuildRequires: ghc-blaze-html-devel
-BuildRequires: ghc-blaze-html-prof
-BuildRequires: ghc-bytestring-devel
-BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-containers-devel
BuildRequires: ghc-containers-prof
BuildRequires: ghc-pretty-show-devel
@@ -50,8 +45,6 @@ BuildRequires: ghc-skylighting-format-context-devel
BuildRequires: ghc-skylighting-format-context-prof
BuildRequires: ghc-skylighting-format-latex-devel
BuildRequires: ghc-skylighting-format-latex-prof
-BuildRequires: ghc-text-devel
-BuildRequires: ghc-text-prof
ExcludeArch: %{ix86}
%description
@@ -93,12 +86,11 @@ This package provides the Haskell %{pkg_name} profiling library.
%autosetup -n %{pkg_name}-%{version}
%build
-%define cabal_configure_options -fexecutable
+%define cabal_configure_options -f+executable
%ghc_lib_build
%install
%ghc_lib_install
-%ghc_fix_rpath %{pkg_name}-%{version}
%post devel
%ghc_pkg_recache
@@ -108,7 +100,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%files -f %{name}.files
%license LICENSE
-%{_bindir}/%{pkg_name}
+%{_bindir}/skylighting
%files devel -f %{name}-devel.files
%doc README.md changelog.md
diff --git a/packages/g/ghc-skylighting/skylighting-0.14.3.tar.gz b/packages/g/ghc-skylighting/skylighting-0.14.3.tar.gz
deleted file mode 120000
index 6cbc1c88042..00000000000
--- a/packages/g/ghc-skylighting/skylighting-0.14.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeihbsvmjerfptf3oakhhqgbxah4yvhl4gi4gvrikfdxm6br3eokezy
\ No newline at end of file
diff --git a/packages/g/ghc-skylighting/skylighting-0.14.4.tar.gz b/packages/g/ghc-skylighting/skylighting-0.14.4.tar.gz
new file mode 120000
index 00000000000..8fba2a0f162
--- /dev/null
+++ b/packages/g/ghc-skylighting/skylighting-0.14.4.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeihlncxumdp2g5jzpysni6g3s7ezp54q7ulekoz6xkzmvq3g4vqkai
\ No newline at end of file
diff --git a/packages/g/ghc-spdx/.files b/packages/g/ghc-spdx/.files
index 2a518fad293..cf8f0ed7403 100644
Binary files a/packages/g/ghc-spdx/.files and b/packages/g/ghc-spdx/.files differ
diff --git a/packages/g/ghc-spdx/.rev b/packages/g/ghc-spdx/.rev
index da33bcdfb70..153c1dcbbf0 100644
--- a/packages/g/ghc-spdx/.rev
+++ b/packages/g/ghc-spdx/.rev
@@ -15,4 +15,12 @@
version update
1127105
+
+ b30bb1b4f4cafa1e675329820258d664
+ 1.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231471
+
diff --git a/packages/g/ghc-spdx/ghc-spdx.changes b/packages/g/ghc-spdx/ghc-spdx.changes
index bd1d7df56ce..2c51a18a161 100644
--- a/packages/g/ghc-spdx/ghc-spdx.changes
+++ b/packages/g/ghc-spdx/ghc-spdx.changes
@@ -1,3 +1,15 @@
+-------------------------------------------------------------------
+Sun Aug 18 16:26:35 UTC 2024 - Peter Simons
+
+- Update spdx to version 1.1.
+ 1.1
+
+ - Support GHC-9.6.5...9.10.1
+ - Use better algorithm for expression equivalence and preorder
+ (It's still very slow compared to the state of the art SAT solvers:
+ but it can solve the sudoku example in reasonable time)
+ - Remove "Distribution.SPDX.Extra.Internal" module
+
-------------------------------------------------------------------
Thu Nov 16 13:29:24 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-spdx/ghc-spdx.spec b/packages/g/ghc-spdx/ghc-spdx.spec
index 2ea96f4c27d..f46826c4b9d 100644
--- a/packages/g/ghc-spdx/ghc-spdx.spec
+++ b/packages/g/ghc-spdx/ghc-spdx.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-spdx
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,25 +20,26 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.0.0.3
+Version: 1.1
Release: 0
Summary: SPDX license expression language, Extras
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
BuildRequires: ghc-Cabal-devel
-BuildRequires: ghc-Cabal-prof
+BuildRequires: ghc-Cabal-syntax-devel
+BuildRequires: ghc-Cabal-syntax-prof
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
BuildRequires: ghc-containers-devel
BuildRequires: ghc-containers-prof
+BuildRequires: ghc-puresat-devel
+BuildRequires: ghc-puresat-prof
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-transformers-prof
ExcludeArch: %{ix86}
%if %{with tests}
-BuildRequires: ghc-base-compat-devel
-BuildRequires: ghc-base-compat-prof
BuildRequires: ghc-tasty-devel
BuildRequires: ghc-tasty-prof
BuildRequires: ghc-tasty-quickcheck-devel
@@ -76,9 +77,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cabal-tweak-dep-ver base '<4.17' '< 5'
-cabal-tweak-dep-ver Cabal '^>=3.6.0.0' '< 4'
-cabal-tweak-dep-ver transformers '<0.6' '< 1'
+cabal-tweak-dep-ver Cabal-syntax '^>=3.12.1.0' '< 4'
%build
%ghc_lib_build
diff --git a/packages/g/ghc-spdx/spdx-1.0.0.3.tar.gz b/packages/g/ghc-spdx/spdx-1.0.0.3.tar.gz
deleted file mode 120000
index 56dea50407a..00000000000
--- a/packages/g/ghc-spdx/spdx-1.0.0.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreibveslioaq3vzmtjk7coyet4hrxrtx2k2klhempqe6at76cxsbk64
\ No newline at end of file
diff --git a/packages/g/ghc-spdx/spdx-1.1.tar.gz b/packages/g/ghc-spdx/spdx-1.1.tar.gz
new file mode 120000
index 00000000000..02f9988316d
--- /dev/null
+++ b/packages/g/ghc-spdx/spdx-1.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreihd53pemagdbxb2mfc4bbdh63afajlll2fklrekugukmc24rhfbsm
\ No newline at end of file
diff --git a/packages/g/ghc-tagged/.files b/packages/g/ghc-tagged/.files
index c720abac40b..b7994f1cdd9 100644
Binary files a/packages/g/ghc-tagged/.files and b/packages/g/ghc-tagged/.files differ
diff --git a/packages/g/ghc-tagged/.rev b/packages/g/ghc-tagged/.rev
index 82cba0ba8f9..293588168a8 100644
--- a/packages/g/ghc-tagged/.rev
+++ b/packages/g/ghc-tagged/.rev
@@ -228,4 +228,12 @@
Automatic submission by obs-autosubmit
1161314
+
+ e7d567ce8e8d3719c1b03defead60dd5
+ 0.8.9
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231472
+
diff --git a/packages/g/ghc-tagged/ghc-tagged.changes b/packages/g/ghc-tagged/ghc-tagged.changes
index 7dbdc8672ad..5418271208d 100644
--- a/packages/g/ghc-tagged/ghc-tagged.changes
+++ b/packages/g/ghc-tagged/ghc-tagged.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Tue Dec 3 12:15:57 UTC 2024 - Peter Simons
+
+- Update tagged to version 0.8.9.
+ 0.8.9 [2024.12.03]
+ ------------------
+ * Allow building with GHC 9.12.
+ * Drop support for GHC 7.10 and earlier.
+
-------------------------------------------------------------------
Sat Mar 16 15:19:10 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-tagged/ghc-tagged.spec b/packages/g/ghc-tagged/ghc-tagged.spec
index ffe7fb1d314..aaa961ae1fe 100644
--- a/packages/g/ghc-tagged/ghc-tagged.spec
+++ b/packages/g/ghc-tagged/ghc-tagged.spec
@@ -19,13 +19,12 @@
%global pkg_name tagged
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.8.8
+Version: 0.8.9
Release: 0
Summary: Haskell 98 phantom types to avoid unsafely passing dummy arguments
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -69,7 +68,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-tagged/tagged-0.8.8.tar.gz b/packages/g/ghc-tagged/tagged-0.8.8.tar.gz
deleted file mode 120000
index faaffdd51dd..00000000000
--- a/packages/g/ghc-tagged/tagged-0.8.8.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreifaqp5hqnkrmib4c2cdhioi37acscuuwbp63k2wnligid6jcn5gu4
\ No newline at end of file
diff --git a/packages/g/ghc-tagged/tagged-0.8.9.tar.gz b/packages/g/ghc-tagged/tagged-0.8.9.tar.gz
new file mode 120000
index 00000000000..4e3d5a9feb2
--- /dev/null
+++ b/packages/g/ghc-tagged/tagged-0.8.9.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidnvlmi5o2bjotkkvwsrggszptwkdscoyaq4oto5wjz3l2uxflhqq
\ No newline at end of file
diff --git a/packages/g/ghc-tagged/tagged.cabal b/packages/g/ghc-tagged/tagged.cabal
deleted file mode 100644
index 26b5c7c22c8..00000000000
--- a/packages/g/ghc-tagged/tagged.cabal
+++ /dev/null
@@ -1,97 +0,0 @@
-name: tagged
-version: 0.8.8
-x-revision: 1
-license: BSD3
-license-file: LICENSE
-author: Edward A. Kmett
-maintainer: Edward A. Kmett
-stability: experimental
-category: Data, Phantom Types
-synopsis: Haskell 98 phantom types to avoid unsafely passing dummy arguments
-homepage: http://github.com/ekmett/tagged
-bug-reports: http://github.com/ekmett/tagged/issues
-copyright: 2009-2015 Edward A. Kmett
-description: Haskell 98 phantom types to avoid unsafely passing dummy arguments.
-build-type: Simple
-cabal-version: >= 1.10
-extra-source-files: .hlint.yaml CHANGELOG.markdown README.markdown
-tested-with:
- GHC == 7.0.4
- GHC == 7.2.2
- GHC == 7.4.2
- GHC == 7.6.3
- GHC == 7.8.4
- GHC == 7.10.3
- GHC == 8.0.2
- GHC == 8.2.2
- GHC == 8.4.4
- GHC == 8.6.5
- GHC == 8.8.4
- GHC == 8.10.7
- GHC == 9.0.2
- GHC == 9.2.8
- GHC == 9.4.8
- GHC == 9.6.4
- GHC == 9.8.2
- GHC == 9.10.0
-
-source-repository head
- type: git
- location: https://github.com/ekmett/tagged.git
-
-flag deepseq
- description:
- You can disable the use of the `deepseq` package using `-f-deepseq`.
- .
- Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
- default: True
- manual: True
-
-flag transformers
- description:
- You can disable the use of the `transformers` and `transformers-compat` packages using `-f-transformers`.
- .
- Disable this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
- default: True
- manual: True
-
-library
- default-language: Haskell98
- other-extensions: CPP
- build-depends: base >= 2 && < 5
- ghc-options: -Wall
- hs-source-dirs: src
- exposed-modules: Data.Tagged
-
- if impl(ghc >= 9.0)
- -- these flags may abort compilation with GHC-8.10
- -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
- ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode
-
- if !impl(hugs)
- cpp-options: -DLANGUAGE_DeriveDataTypeable
- other-extensions: DeriveDataTypeable
-
- if impl(ghc<7.7)
- hs-source-dirs: old
- exposed-modules: Data.Proxy
- other-modules: Paths_tagged
-
- if impl(ghc>=7.2 && <7.5)
- build-depends: ghc-prim
-
- if impl(ghc>=7.6)
- exposed-modules: Data.Proxy.TH
- build-depends: template-haskell >= 2.8 && < 2.23
-
- if flag(deepseq)
- build-depends: deepseq >= 1.1 && < 1.6
-
- if flag(transformers)
- build-depends: transformers >= 0.2 && < 0.7
-
- -- Ensure Data.Functor.Classes is always available
- if impl(ghc >= 7.10) || impl(ghcjs)
- build-depends: transformers >= 0.4.2.0
- else
- build-depends: transformers-compat >= 0.5 && < 1
diff --git a/packages/g/ghc-tar/.files b/packages/g/ghc-tar/.files
index 652fc8a8de1..e90a19dc732 100644
Binary files a/packages/g/ghc-tar/.files and b/packages/g/ghc-tar/.files differ
diff --git a/packages/g/ghc-tar/.rev b/packages/g/ghc-tar/.rev
index 149b8c26cf2..58cf72e5cdd 100644
--- a/packages/g/ghc-tar/.rev
+++ b/packages/g/ghc-tar/.rev
@@ -220,4 +220,12 @@
Automatic submission by obs-autosubmit
1135400
+
+ 9fb444c0cc0470b394d426d5c0ba4348
+ 0.6.3.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231473
+
diff --git a/packages/g/ghc-tar/ghc-tar.changes b/packages/g/ghc-tar/ghc-tar.changes
index 2ba1d9780d9..558c8fbaca6 100644
--- a/packages/g/ghc-tar/ghc-tar.changes
+++ b/packages/g/ghc-tar/ghc-tar.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Wed Jun 26 20:38:18 UTC 2024 - Peter Simons
+
+- Update tar to version 0.6.3.0 revision 1.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/tar-0.6.3.0/src/changelog.md
+
-------------------------------------------------------------------
Wed Dec 20 20:30:38 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-tar/ghc-tar.spec b/packages/g/ghc-tar/ghc-tar.spec
index cb61bc10abc..1ac5bd4cea8 100644
--- a/packages/g/ghc-tar/ghc-tar.spec
+++ b/packages/g/ghc-tar/ghc-tar.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-tar
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,13 +20,13 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.5.1.1
+Version: 0.6.3.0
Release: 0
Summary: Reading, writing and manipulating ".tar" archive files
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/10.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-array-prof
@@ -42,19 +42,25 @@ BuildRequires: ghc-directory-devel
BuildRequires: ghc-directory-prof
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-filepath-prof
+BuildRequires: ghc-os-string-devel
+BuildRequires: ghc-os-string-prof
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-time-devel
BuildRequires: ghc-time-prof
+BuildRequires: ghc-transformers-devel
+BuildRequires: ghc-transformers-prof
ExcludeArch: %{ix86}
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-QuickCheck-prof
-BuildRequires: ghc-bytestring-handle-devel
-BuildRequires: ghc-bytestring-handle-prof
+BuildRequires: ghc-file-embed-devel
+BuildRequires: ghc-file-embed-prof
BuildRequires: ghc-tasty-devel
BuildRequires: ghc-tasty-prof
BuildRequires: ghc-tasty-quickcheck-devel
BuildRequires: ghc-tasty-quickcheck-prof
+BuildRequires: ghc-temporary-devel
+BuildRequires: ghc-temporary-prof
%endif
%description
@@ -117,7 +123,7 @@ cp -p %{SOURCE1} %{pkg_name}.cabal
%license LICENSE
%files devel -f %{name}-devel.files
-%doc changelog.md
+%doc README.md changelog.md
%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
%license LICENSE
diff --git a/packages/g/ghc-tar/tar-0.5.1.1.tar.gz b/packages/g/ghc-tar/tar-0.5.1.1.tar.gz
deleted file mode 120000
index 1fc3fa0f590..00000000000
--- a/packages/g/ghc-tar/tar-0.5.1.1.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreiftqrcj6yvswcvd43jmweaexadawapsd3et463d46xw3d5nrkpr3y
\ No newline at end of file
diff --git a/packages/g/ghc-tar/tar-0.6.3.0.tar.gz b/packages/g/ghc-tar/tar-0.6.3.0.tar.gz
new file mode 120000
index 00000000000..6d39056461d
--- /dev/null
+++ b/packages/g/ghc-tar/tar-0.6.3.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreicqxnta73wiuusec3ljgqsrxglovj7dtve24ed22uc2w4anip3icq
\ No newline at end of file
diff --git a/packages/g/ghc-tar/tar.cabal b/packages/g/ghc-tar/tar.cabal
index 506157e67fb..68069c9af65 100644
--- a/packages/g/ghc-tar/tar.cabal
+++ b/packages/g/ghc-tar/tar.cabal
@@ -1,182 +1,147 @@
-cabal-version: 1.12
-name: tar
-version: 0.5.1.1
-x-revision: 10
-
-license: BSD3
-license-file: LICENSE
-author: Duncan Coutts
- Bjorn Bringert
-maintainer: Duncan Coutts
-bug-reports: https://github.com/haskell/tar/issues
-copyright: 2007 Bjorn Bringert
- 2008-2016 Duncan Coutts
-category: Codec
-synopsis: Reading, writing and manipulating ".tar" archive files.
-description: This library is for working with \"@.tar@\" archive files. It
- can read and write a range of common variations of archive
- format including V7, POSIX USTAR and GNU formats.
- .
- It provides support for packing and unpacking portable
- archives. This makes it suitable for distribution but not
- backup because details like file ownership and exact
- permissions are not preserved.
- .
- It also provides features for random access to archive
- content using an index.
-build-type: Simple
-extra-source-files: changelog.md
-tested-with: GHC==7.0.4, GHC==7.2.2, GHC==7.4.2, GHC==7.6.3,
- GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4,
- GHC==8.6.5, GHC==8.8.3, GHC==8.10.4, GHC==9.0.1
-
-source-repository head
- type: git
- location: https://github.com/haskell/tar.git
-
-flag old-time
- default: False
-
-flag old-bytestring
- default: False
-
-library
-
- build-depends: base >= 4 && < 4.20,
- filepath < 1.6,
- array < 0.6,
- containers >= 0.2 && < 0.8,
- deepseq >= 1.1 && < 1.6
-
- if flag(old-time)
- build-depends: directory < 1.2, old-time < 1.2
- else
- build-depends: directory >= 1.2 && < 1.4, time < 1.13
-
- if flag(old-bytestring)
- build-depends: bytestring-builder >= 0.10.4.0.2 && < 0.11, bytestring == 0.9.*
- else
- build-depends: bytestring >= 0.10 && < 0.13
-
- if !impl(ghc >= 8.0)
- build-depends: semigroups >= 0.18 && < 0.20
-
- exposed-modules:
- Codec.Archive.Tar
- Codec.Archive.Tar.Entry
- Codec.Archive.Tar.Check
- Codec.Archive.Tar.Index
-
- other-modules:
- Codec.Archive.Tar.Types
- Codec.Archive.Tar.Read
- Codec.Archive.Tar.Write
- Codec.Archive.Tar.Pack
- Codec.Archive.Tar.Unpack
- Codec.Archive.Tar.Index.StringTable
- Codec.Archive.Tar.Index.IntTrie
-
- default-language: Haskell2010
- -- Previously, the package used GHC's default Haskell mode which implies
- -- NDI; so we keep it transitionally enabled here until we've reviewed the
- -- code to make sure there isn't any code relies on NDI and keeps compiling
- -- albeit with different semantics even without NDI
- default-extensions: NondecreasingIndentation
-
- other-extensions:
- BangPatterns
- CPP
- DeriveDataTypeable
- GeneralizedNewtypeDeriving
- PatternGuards
- ScopedTypeVariables
-
-
- ghc-options: -Wall -fno-warn-unused-imports
-
-test-suite properties
- type: exitcode-stdio-1.0
- build-depends: base,
- filepath,
- array,
- containers,
- deepseq,
- bytestring-handle,
- QuickCheck == 2.*,
- tasty >= 0.10 && <1.6,
- tasty-quickcheck >= 0.8 && <0.11
-
- if flag(old-time)
- build-depends: directory < 1.2, old-time
- else
- build-depends: directory >= 1.2, time
-
- if flag(old-bytestring)
- build-depends: bytestring-builder, bytestring >= 0.9 && <0.10
- else
- build-depends: bytestring >= 0.10
-
- if !impl(ghc >= 8.0)
- build-depends: semigroups >= 0.18 && <0.20
-
- default-language: Haskell2010
-
- hs-source-dirs: . test
-
- main-is: test/Properties.hs
- cpp-options: -DTESTS
-
- other-modules:
- Codec.Archive.Tar.Index
- Codec.Archive.Tar.Index.StringTable
- Codec.Archive.Tar.Index.IntTrie
-
- -- shared w/ lib:tar component
- other-modules:
- Codec.Archive.Tar
- Codec.Archive.Tar.Check
- Codec.Archive.Tar.Pack
- Codec.Archive.Tar.Read
- Codec.Archive.Tar.Types
- Codec.Archive.Tar.Unpack
- Codec.Archive.Tar.Write
-
- other-extensions:
- CPP
- BangPatterns,
- DeriveDataTypeable
- ScopedTypeVariables
-
- ghc-options: -fno-ignore-asserts
-
-benchmark bench
- type: exitcode-stdio-1.0
- hs-source-dirs: . bench
- main-is: bench/Main.hs
- build-depends: base,
- bytestring >= 0.10,
- filepath,
- directory >= 1.2,
- array,
- containers,
- deepseq,
- time,
- criterion >= 1.0
-
- if !impl(ghc >= 8.0)
- build-depends: semigroups >= 0.18 && <0.20
-
- default-language: Haskell2010
-
- -- shared w/ lib:tar component
- other-modules:
- Codec.Archive.Tar
- Codec.Archive.Tar.Check
- Codec.Archive.Tar.Index
- Codec.Archive.Tar.Index.IntTrie
- Codec.Archive.Tar.Index.StringTable
- Codec.Archive.Tar.Pack
- Codec.Archive.Tar.Read
- Codec.Archive.Tar.Types
- Codec.Archive.Tar.Unpack
- Codec.Archive.Tar.Write
+cabal-version: 2.2
+name: tar
+version: 0.6.3.0
+x-revision: 1
+license: BSD-3-Clause
+license-file: LICENSE
+author: Duncan Coutts
+ Bjorn Bringert
+maintainer: Bodigrim
+bug-reports: https://github.com/haskell/tar/issues
+copyright: 2007 Bjorn Bringert
+ 2008-2016 Duncan Coutts
+category: Codec
+synopsis: Reading, writing and manipulating ".tar" archive files.
+description: This library is for working with \"@.tar@\" archive files. It
+ can read and write a range of common variations of archive
+ format including V7, POSIX USTAR and GNU formats.
+ .
+ It provides support for packing and unpacking portable
+ archives. This makes it suitable for distribution but not
+ backup because details like file ownership and exact
+ permissions are not preserved.
+ .
+ It also provides features for random access to archive
+ content using an index.
+build-type: Simple
+extra-source-files:
+ test/data/long-filepath.tar
+ test/data/long-symlink.tar
+ test/data/symlink.tar
+extra-doc-files: changelog.md
+ README.md
+tested-with: GHC==9.10.1, GHC==9.8.2, GHC==9.6.5, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2,
+ GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
+
+source-repository head
+ type: git
+ location: https://github.com/haskell/tar.git
+
+library
+ default-language: Haskell2010
+ build-depends: tar-internal
+
+ reexported-modules:
+ Codec.Archive.Tar,
+ Codec.Archive.Tar.Entry,
+ Codec.Archive.Tar.Check,
+ Codec.Archive.Tar.Index
+
+library tar-internal
+ default-language: Haskell2010
+ build-depends: base >= 4.11 && < 5,
+ array < 0.6,
+ bytestring >= 0.10 && < 0.13,
+ containers >= 0.2 && < 0.8,
+ deepseq >= 1.1 && < 1.6,
+ directory >= 1.3.1 && < 1.4,
+ filepath < 1.6,
+ os-string >= 2.0 && < 2.1,
+ time < 1.15,
+ transformers < 0.7,
+
+ exposed-modules:
+ Codec.Archive.Tar
+ Codec.Archive.Tar.Entry
+ Codec.Archive.Tar.Check
+ Codec.Archive.Tar.Check.Internal
+ Codec.Archive.Tar.Index
+ Codec.Archive.Tar.LongNames
+ Codec.Archive.Tar.Types
+ Codec.Archive.Tar.Read
+ Codec.Archive.Tar.Write
+ Codec.Archive.Tar.Pack
+ Codec.Archive.Tar.PackAscii
+ Codec.Archive.Tar.Unpack
+ Codec.Archive.Tar.Index.StringTable
+ Codec.Archive.Tar.Index.IntTrie
+ Codec.Archive.Tar.Index.Internal
+ Codec.Archive.Tar.Index.Utils
+
+ other-extensions:
+ BangPatterns
+ CPP
+ DeriveDataTypeable
+ GeneralizedNewtypeDeriving
+ PatternGuards
+ ScopedTypeVariables
+
+ ghc-options: -Wall -fno-warn-unused-imports
+
+test-suite properties
+ type: exitcode-stdio-1.0
+ default-language: Haskell2010
+ build-depends: base < 5,
+ array,
+ bytestring >= 0.10,
+ containers,
+ deepseq,
+ directory >= 1.2,
+ file-embed,
+ filepath,
+ QuickCheck == 2.*,
+ tar-internal,
+ tasty >= 0.10 && <1.6,
+ tasty-quickcheck >= 0.8 && <1,
+ temporary < 1.4,
+ time
+ if impl(ghc < 9.0)
+ build-depends: bytestring-handle < 0.2
+
+ hs-source-dirs: test
+
+ main-is: Properties.hs
+
+ other-modules:
+ Codec.Archive.Tar.Tests
+ Codec.Archive.Tar.Index.Tests
+ Codec.Archive.Tar.Index.IntTrie.Tests
+ Codec.Archive.Tar.Index.StringTable.Tests
+ Codec.Archive.Tar.Pack.Tests
+ Codec.Archive.Tar.Types.Tests
+ Codec.Archive.Tar.Unpack.Tests
+
+ other-extensions:
+ CPP
+ BangPatterns,
+ DeriveDataTypeable
+ ScopedTypeVariables
+
+ ghc-options: -fno-ignore-asserts
+
+benchmark bench
+ type: exitcode-stdio-1.0
+ default-language: Haskell2010
+ hs-source-dirs: bench
+ main-is: Main.hs
+ build-depends: base < 5,
+ tar,
+ bytestring >= 0.10,
+ filepath,
+ directory >= 1.2,
+ array,
+ containers,
+ deepseq,
+ temporary < 1.4,
+ time,
+ tasty-bench < 0.4
diff --git a/packages/g/ghc-tasty-quickcheck/.files b/packages/g/ghc-tasty-quickcheck/.files
index 3827b4a0d2a..8788f849308 100644
Binary files a/packages/g/ghc-tasty-quickcheck/.files and b/packages/g/ghc-tasty-quickcheck/.files differ
diff --git a/packages/g/ghc-tasty-quickcheck/.rev b/packages/g/ghc-tasty-quickcheck/.rev
index e1ce6d8c3f3..7c11d824345 100644
--- a/packages/g/ghc-tasty-quickcheck/.rev
+++ b/packages/g/ghc-tasty-quickcheck/.rev
@@ -55,4 +55,12 @@
Automatic submission by obs-autosubmit
1170891
+
+ c9ec6a1d79e2d7e84f978ac0f6820494
+ 0.11
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231475
+
diff --git a/packages/g/ghc-tasty-quickcheck/ghc-tasty-quickcheck.changes b/packages/g/ghc-tasty-quickcheck/ghc-tasty-quickcheck.changes
index 1fda728f745..3d95d366b4d 100644
--- a/packages/g/ghc-tasty-quickcheck/ghc-tasty-quickcheck.changes
+++ b/packages/g/ghc-tasty-quickcheck/ghc-tasty-quickcheck.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Sat Jun 22 10:14:45 UTC 2024 - Peter Simons
+
+- Update tasty-quickcheck to version 0.11.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/tasty-quickcheck-0.11/src/CHANGELOG.md
+
-------------------------------------------------------------------
Mon Apr 22 20:17:42 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-tasty-quickcheck/ghc-tasty-quickcheck.spec b/packages/g/ghc-tasty-quickcheck/ghc-tasty-quickcheck.spec
index 794f434e3b6..ab314f25019 100644
--- a/packages/g/ghc-tasty-quickcheck/ghc-tasty-quickcheck.spec
+++ b/packages/g/ghc-tasty-quickcheck/ghc-tasty-quickcheck.spec
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.10.3
+Version: 0.11
Release: 0
Summary: QuickCheck support for the Tasty test framework
License: MIT
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-QuickCheck-prof
@@ -81,7 +80,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-tasty-quickcheck/tasty-quickcheck-0.10.3.tar.gz b/packages/g/ghc-tasty-quickcheck/tasty-quickcheck-0.10.3.tar.gz
deleted file mode 120000
index 7cca25cd30a..00000000000
--- a/packages/g/ghc-tasty-quickcheck/tasty-quickcheck-0.10.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreigp7m5t774tamgtt6ahp3jj7dwj4ohyvdkqr7dfwyw4vsa6mm44bi
\ No newline at end of file
diff --git a/packages/g/ghc-tasty-quickcheck/tasty-quickcheck-0.11.tar.gz b/packages/g/ghc-tasty-quickcheck/tasty-quickcheck-0.11.tar.gz
new file mode 120000
index 00000000000..fb9cd193052
--- /dev/null
+++ b/packages/g/ghc-tasty-quickcheck/tasty-quickcheck-0.11.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreie5eirzmgucmfm46wfpxdkbym6ceavgh2tf6hdtw2ukt4xttqmrdy
\ No newline at end of file
diff --git a/packages/g/ghc-tasty-quickcheck/tasty-quickcheck.cabal b/packages/g/ghc-tasty-quickcheck/tasty-quickcheck.cabal
deleted file mode 100644
index e78cee3aaca..00000000000
--- a/packages/g/ghc-tasty-quickcheck/tasty-quickcheck.cabal
+++ /dev/null
@@ -1,61 +0,0 @@
--- Initial tasty-quickcheck.cabal generated by cabal init. For further
--- documentation, see http://haskell.org/cabal/users-guide/
-
-name: tasty-quickcheck
-version: 0.10.3
-x-revision: 2
-synopsis: QuickCheck support for the Tasty test framework.
-description: QuickCheck support for the Tasty test framework.
- .
-license: MIT
-license-file: LICENSE
-author: Roman Cheplyaka
-maintainer: Roman Cheplyaka
--- copyright:
-homepage: https://github.com/UnkindPartition/tasty
-bug-reports: https://github.com/UnkindPartition/tasty/issues
-category: Testing
-build-type: Simple
-extra-source-files: CHANGELOG.md
-cabal-version: >=1.10
-
-Source-repository head
- type: git
- location: https://github.com/UnkindPartition/tasty.git
- subdir: quickcheck
-
-library
- exposed-modules: Test.Tasty.QuickCheck
- -- other-modules:
- other-extensions: GeneralizedNewtypeDeriving, DeriveDataTypeable
- build-depends: base >= 4.8 && < 5,
- tagged < 0.9,
- tasty >= 1.5 && < 1.6,
- random < 1.3,
- QuickCheck >= 2.10 && < 2.16,
- optparse-applicative < 0.19
-
- -- hs-source-dirs:
- default-language: Haskell2010
- default-extensions: CPP
- ghc-options: -Wall
-
-test-suite test
- default-language:
- Haskell2010
- default-extensions: CPP
- type:
- exitcode-stdio-1.0
- hs-source-dirs:
- tests
- main-is:
- test.hs
- build-depends:
- base >= 4.7 && < 5
- , tasty >= 1.5
- , tasty-quickcheck
- , tasty-hunit
- , pcre-light
- ghc-options: -Wall
- if (!impl(ghc >= 8.0) || os(windows))
- buildable: False
diff --git a/packages/g/ghc-tasty/.files b/packages/g/ghc-tasty/.files
index 96a96147596..ad7491be085 100644
Binary files a/packages/g/ghc-tasty/.files and b/packages/g/ghc-tasty/.files differ
diff --git a/packages/g/ghc-tasty/.rev b/packages/g/ghc-tasty/.rev
index ffae38dfdf4..7c25b7e356c 100644
--- a/packages/g/ghc-tasty/.rev
+++ b/packages/g/ghc-tasty/.rev
@@ -95,4 +95,12 @@
1218531
+
+ c6021f3cdb4d5e135dc89dd6e97655cd
+ 1.5.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231474
+
diff --git a/packages/g/ghc-tasty/ghc-tasty.changes b/packages/g/ghc-tasty/ghc-tasty.changes
index e7e15c628cd..ea701310706 100644
--- a/packages/g/ghc-tasty/ghc-tasty.changes
+++ b/packages/g/ghc-tasty/ghc-tasty.changes
@@ -1,3 +1,40 @@
+-------------------------------------------------------------------
+Sun Nov 3 00:34:02 UTC 2024 - Peter Simons
+
+- Update tasty to version 1.5.2.
+ Version 1.5.2
+ --------------
+
+ _2024-11-03_
+
+ * Partially revert [#393](https://github.com/UnkindPartition/tasty/pull/393)
+ to fix progress reporting outside of Emacs.
+ * Do not depend on `unbounded-delays` on `ppc64`, `s390x` and `riscv64`
+ ([#371](https://github.com/UnkindPartition/tasty/pull/371),
+ [#422](https://github.com/UnkindPartition/tasty/pull/422),
+ [#423](https://github.com/UnkindPartition/tasty/pull/423)).
+
+ Version 1.5.1
+ --------------
+
+ _2024-06-22_
+
+ * Performance improvements
+ ([#389](https://github.com/UnkindPartition/tasty/pull/389),
+ [#390](https://github.com/UnkindPartition/tasty/pull/390)).
+ * Progress reporting in Emacs: use `\r` instead of ANSI escape sequences
+ ([#393](https://github.com/UnkindPartition/tasty/pull/393)).
+ * Console reporter: fix unintended change to `foldHeading`
+ ([#396](https://github.com/UnkindPartition/tasty/pull/396)).
+ * Prune empty test subtrees from `TestTree`
+ ([#403](https://github.com/UnkindPartition/tasty/pull/403)).
+ * Add `instance Eq Timeout` and `instance Ord Timeout`
+ ([#415](https://github.com/UnkindPartition/tasty/pull/415)).
+ * Add ability to supply options for launchers and reporters at the top-level of test tree
+ ([#417](https://github.com/UnkindPartition/tasty/pull/417)).
+
+- "riscv64-unbounded-delays.patch" is now obsolete.
+
-------------------------------------------------------------------
Fri Jul 19 19:57:20 UTC 2024 - Christian Boltz
diff --git a/packages/g/ghc-tasty/ghc-tasty.spec b/packages/g/ghc-tasty/ghc-tasty.spec
index 90ee9d3ed71..17de09e0445 100644
--- a/packages/g/ghc-tasty/ghc-tasty.spec
+++ b/packages/g/ghc-tasty/ghc-tasty.spec
@@ -19,17 +19,12 @@
%global pkg_name tasty
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 1.5
+Version: 1.5.2
Release: 0
Summary: Modern and extensible testing framework
License: MIT
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
-# https://github.com/UnkindPartition/tasty/pull/371 (riscv64)
-# https://github.com/UnkindPartition/tasty/pull/422 (s390x, merged upstream)
-# https://github.com/UnkindPartition/tasty/pull/423 (ppc64, merged upstream)
-Patch0: riscv64-unbounded-delays.patch
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-ansi-terminal-devel
BuildRequires: ghc-ansi-terminal-prof
@@ -82,9 +77,7 @@ Supplements: (ghc-%{pkg_name}-devel and ghc-prof)
This package provides the Haskell %{pkg_name} profiling library.
%prep
-%setup -q -n %{pkg_name}-%{version}
-tr -d '\r' <%{SOURCE1} >%{pkg_name}.cabal
-%autopatch -p0
+%autosetup -n %{pkg_name}-%{version}
%build
%ghc_lib_build
diff --git a/packages/g/ghc-tasty/riscv64-unbounded-delays.patch b/packages/g/ghc-tasty/riscv64-unbounded-delays.patch
deleted file mode 100644
index 37e53f4533e..00000000000
--- a/packages/g/ghc-tasty/riscv64-unbounded-delays.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- tasty.cabal.orig 2024-03-01 20:46:02.849342429 +0000
-+++ tasty.cabal 2024-03-01 20:46:12.567277033 +0000
-@@ -69,7 +69,7 @@
- ansi-terminal >= 0.9 && < 1.2
-
- -- No reason to depend on unbounded-delays on 64-bit architecture
-- if(!arch(x86_64) && !arch(aarch64))
-+ if(!arch(x86_64) && !arch(aarch64) && !arch(ppc64) && !arch(riscv64) && !arch(s390x))
- build-depends:
- unbounded-delays >= 0.1 && < 0.2
-
diff --git a/packages/g/ghc-tasty/tasty-1.5.2.tar.gz b/packages/g/ghc-tasty/tasty-1.5.2.tar.gz
new file mode 120000
index 00000000000..c03a669c588
--- /dev/null
+++ b/packages/g/ghc-tasty/tasty-1.5.2.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidstsyekt5zxyril22r7y53den5mcll2eov7yeo3ioklfixomnxg4
\ No newline at end of file
diff --git a/packages/g/ghc-tasty/tasty-1.5.tar.gz b/packages/g/ghc-tasty/tasty-1.5.tar.gz
deleted file mode 120000
index 83883963457..00000000000
--- a/packages/g/ghc-tasty/tasty-1.5.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreigklt3ykkrbbzur2toom7xdjxt4zofohefdu2hm77pda7rsnubjvq
\ No newline at end of file
diff --git a/packages/g/ghc-tasty/tasty.cabal b/packages/g/ghc-tasty/tasty.cabal
deleted file mode 100644
index d7c00a3f97a..00000000000
--- a/packages/g/ghc-tasty/tasty.cabal
+++ /dev/null
@@ -1,93 +0,0 @@
-cabal-version: >=1.10
-name: tasty
-version: 1.5
-x-revision: 2
-synopsis: Modern and extensible testing framework
-description: Tasty is a modern testing framework for Haskell.
- It lets you combine your unit tests, golden
- tests, QuickCheck/SmallCheck properties, and any
- other types of tests into a single test suite.
-license: MIT
-license-file: LICENSE
-author: Roman Cheplyaka
-maintainer: Roman Cheplyaka
-homepage: https://github.com/UnkindPartition/tasty
-bug-reports: https://github.com/UnkindPartition/tasty/issues
--- copyright:
-category: Testing
-build-type: Simple
-extra-source-files: CHANGELOG.md, README.md
-
-Source-repository head
- type: git
- location: https://github.com/UnkindPartition/tasty.git
- subdir: core
-
-flag unix
- description:
- Depend on the unix package to install signal handlers
- default: True
-
-library
- exposed-modules:
- Test.Tasty,
- Test.Tasty.Options,
- Test.Tasty.Providers,
- Test.Tasty.Providers.ConsoleFormat,
- Test.Tasty.Runners
- Test.Tasty.Ingredients,
- Test.Tasty.Ingredients.Basic
- Test.Tasty.Ingredients.ConsoleReporter
-
- -- for testing only
- Test.Tasty.Patterns.Types
- Test.Tasty.Patterns.Parser
- Test.Tasty.Patterns.Printer
- Test.Tasty.Patterns.Eval
- other-modules:
- Control.Concurrent.Async
- Test.Tasty.Parallel,
- Test.Tasty.Core,
- Test.Tasty.Options.Core,
- Test.Tasty.Options.Env,
- Test.Tasty.Patterns,
- Test.Tasty.Patterns.Expr,
- Test.Tasty.Run,
- Test.Tasty.Runners.Reducers,
- Test.Tasty.Runners.Utils,
- Test.Tasty.CmdLine,
- Test.Tasty.Ingredients.ListTests
- Test.Tasty.Ingredients.IncludingOptions
-
- build-depends:
- base >= 4.9 && < 5,
- stm >= 2.3 && < 2.6,
- containers >= 0.5.8 && < 0.8,
- transformers >= 0.5 && < 0.7,
- tagged >= 0.5 && < 0.9,
- optparse-applicative >= 0.14 && < 0.19,
- ansi-terminal >= 0.9 && < 1.2
-
- -- No reason to depend on unbounded-delays on 64-bit architecture
- if(!arch(x86_64) && !arch(aarch64))
- build-depends:
- unbounded-delays >= 0.1 && < 0.2
-
- if(!impl(ghc >= 8.0))
- build-depends: semigroups < 0.21
-
- if(!impl(ghc >= 8.4))
- build-depends: time >= 1.4 && < 1.13
-
- if !os(windows) && !impl(ghcjs)
- cpp-options: -DUSE_WCWIDTH
- if flag(unix)
- build-depends: unix < 2.9
-
- -- hs-source-dirs:
- default-language: Haskell2010
- default-extensions: CPP, ScopedTypeVariables, DeriveDataTypeable
- ghc-options:
- -Wall
- -Wno-incomplete-uni-patterns
- -Wcompat
diff --git a/packages/g/ghc-text-icu b/packages/g/ghc-text-icu
new file mode 160000
index 00000000000..2098fa493c8
--- /dev/null
+++ b/packages/g/ghc-text-icu
@@ -0,0 +1 @@
+Subproject commit 2098fa493c8a1c640c1aed06b543a7784f071a7a
diff --git a/packages/g/ghc-th-abstraction/.files b/packages/g/ghc-th-abstraction/.files
index c98e776c767..fe369c89212 100644
Binary files a/packages/g/ghc-th-abstraction/.files and b/packages/g/ghc-th-abstraction/.files differ
diff --git a/packages/g/ghc-th-abstraction/.rev b/packages/g/ghc-th-abstraction/.rev
index 52c98c72e7c..6b0952917e8 100644
--- a/packages/g/ghc-th-abstraction/.rev
+++ b/packages/g/ghc-th-abstraction/.rev
@@ -190,4 +190,12 @@
Automatic submission by obs-autosubmit
1161316
+
+ e65066d3f520417ed8b6d5c27b7f3a11
+ 0.7.1.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231476
+
diff --git a/packages/g/ghc-th-abstraction/ghc-th-abstraction.changes b/packages/g/ghc-th-abstraction/ghc-th-abstraction.changes
index 38cb72a8261..43fd71f1efb 100644
--- a/packages/g/ghc-th-abstraction/ghc-th-abstraction.changes
+++ b/packages/g/ghc-th-abstraction/ghc-th-abstraction.changes
@@ -1,3 +1,29 @@
+-------------------------------------------------------------------
+Thu Dec 5 11:48:06 UTC 2024 - Peter Simons
+
+- Update th-abstraction to version 0.7.1.0.
+ ## 0.7.1.0 -- 2024.12.05
+ * Drop support for pre-8.0 versions of GHC.
+
+-------------------------------------------------------------------
+Sun Mar 17 15:30:04 UTC 2024 - Peter Simons
+
+- Update th-abstraction to version 0.7.0.0.
+ ## 0.7.0.0 -- 2024.03.17
+ * `DatatypeInfo` now has an additional `datatypeReturnKind` field. Most of the
+ time, this will be `StarT`, but this can also be more exotic kinds such as
+ `ConT ''UnliftedType` if dealing with primitive types, `UnliftedDatatypes`,
+ or `UnliftedNewtypes`.
+ * `reifyDatatype` and related functions now support primitive types such as
+ `Int#`. These will be reified as `DatatypeInfo`s with no `ConstructorInfo`s
+ and with `Datatype` as the `datatypeVariant`.
+ * `normalizeCon` now takes a `Kind` argument representing the return kind of
+ the parent data type. (This is sometimes necessary to determine which type
+ variables in the data constructor are universal or existential, depending
+ on if the variables appear in the return kind.)
+ * Fix a couple of bugs in which `normalizeDec` would return incorrect results
+ for GADTs that use `forall`s in their return kind.
+
-------------------------------------------------------------------
Sun Mar 17 15:24:51 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-th-abstraction/ghc-th-abstraction.spec b/packages/g/ghc-th-abstraction/ghc-th-abstraction.spec
index 6d6b3efb6c7..6caa43b4819 100644
--- a/packages/g/ghc-th-abstraction/ghc-th-abstraction.spec
+++ b/packages/g/ghc-th-abstraction/ghc-th-abstraction.spec
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.6.0.0
+Version: 0.7.1.0
Release: 0
Summary: Nicer interface for reified information about data types
License: ISC
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -71,7 +70,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-th-abstraction/th-abstraction-0.6.0.0.tar.gz b/packages/g/ghc-th-abstraction/th-abstraction-0.6.0.0.tar.gz
deleted file mode 120000
index 87412ab4f11..00000000000
--- a/packages/g/ghc-th-abstraction/th-abstraction-0.6.0.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreidj5jxmuhymac3odypygkojbdwhnzzykxrm43urvtrpro7zfri2ga
\ No newline at end of file
diff --git a/packages/g/ghc-th-abstraction/th-abstraction-0.7.1.0.tar.gz b/packages/g/ghc-th-abstraction/th-abstraction-0.7.1.0.tar.gz
new file mode 120000
index 00000000000..6c57fb71aea
--- /dev/null
+++ b/packages/g/ghc-th-abstraction/th-abstraction-0.7.1.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreihzwymevosmnnq52dmw67nnigsmtwykahj43p4zhj6ymbei6haeyu
\ No newline at end of file
diff --git a/packages/g/ghc-th-abstraction/th-abstraction.cabal b/packages/g/ghc-th-abstraction/th-abstraction.cabal
deleted file mode 100644
index 3373d7df423..00000000000
--- a/packages/g/ghc-th-abstraction/th-abstraction.cabal
+++ /dev/null
@@ -1,53 +0,0 @@
-name: th-abstraction
-version: 0.6.0.0
-x-revision: 2
-synopsis: Nicer interface for reified information about data types
-description: This package normalizes variations in the interface for
- inspecting datatype information via Template Haskell
- so that packages and support a single, easier to use
- informational datatype while supporting many versions
- of Template Haskell.
-license: ISC
-license-file: LICENSE
-author: Eric Mertens
-maintainer: emertens@gmail.com
-copyright: 2017 Eric Mertens
-homepage: https://github.com/glguy/th-abstraction
-bug-reports: https://github.com/glguy/th-abstraction/issues
-category: Development
-build-type: Simple
-extra-source-files: ChangeLog.md README.md
-cabal-version: >=1.10
-tested-with: GHC==9.6.2, GHC==9.4.5, GHC==9.2.7, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2, GHC==7.0.4
-
-source-repository head
- type: git
- location: https://github.com/glguy/th-abstraction.git
-
-library
- exposed-modules: Language.Haskell.TH.Datatype
- Language.Haskell.TH.Datatype.TyVarBndr
- other-modules: Language.Haskell.TH.Datatype.Internal
- build-depends: base >=4.3 && <5,
- ghc-prim,
- template-haskell >=2.5 && <2.23,
- containers >=0.4 && <0.8
- hs-source-dirs: src
- default-language: Haskell2010
-
- if impl(ghc >= 9.0)
- -- these flags may abort compilation with GHC-8.10
- -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
- ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode
-
-test-suite unit-tests
- other-modules: Harness
- Types
- type: exitcode-stdio-1.0
- main-is: Main.hs
- build-depends: th-abstraction, base, containers, template-haskell
- hs-source-dirs: test
- default-language: Haskell2010
-
- if impl(ghc >= 8.6)
- ghc-options: -Wno-star-is-type
diff --git a/packages/g/ghc-th-compat/.files b/packages/g/ghc-th-compat/.files
index 9c4a9832945..31ceaa256d9 100644
Binary files a/packages/g/ghc-th-compat/.files and b/packages/g/ghc-th-compat/.files differ
diff --git a/packages/g/ghc-th-compat/.rev b/packages/g/ghc-th-compat/.rev
index 0e867643308..013946f56e6 100644
--- a/packages/g/ghc-th-compat/.rev
+++ b/packages/g/ghc-th-compat/.rev
@@ -103,4 +103,12 @@
version update
1171796
+
+ 47a86a5947bd64a8e4e8c1e2c512622e
+ 0.1.6
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231477
+
diff --git a/packages/g/ghc-th-compat/ghc-th-compat.changes b/packages/g/ghc-th-compat/ghc-th-compat.changes
index 7e1cb2aefb2..c42b692cfbe 100644
--- a/packages/g/ghc-th-compat/ghc-th-compat.changes
+++ b/packages/g/ghc-th-compat/ghc-th-compat.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Thu Dec 5 12:13:25 UTC 2024 - Peter Simons
+
+- Update th-compat to version 0.1.6.
+ ### 0.1.6 [2024.12.05]
+ * Drop support for pre-8.0 versions of GHC.
+
-------------------------------------------------------------------
Tue Apr 30 15:47:24 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-th-compat/ghc-th-compat.spec b/packages/g/ghc-th-compat/ghc-th-compat.spec
index 3550eee1b6d..9705cdf6712 100644
--- a/packages/g/ghc-th-compat/ghc-th-compat.spec
+++ b/packages/g/ghc-th-compat/ghc-th-compat.spec
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.1.5
+Version: 0.1.6
Release: 0
Summary: Backward- (and forward-)compatible Quote and Code types
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -35,8 +34,6 @@ BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-template-haskell-prof
ExcludeArch: %{ix86}
%if %{with tests}
-BuildRequires: ghc-base-compat-devel
-BuildRequires: ghc-base-compat-prof
BuildRequires: ghc-hspec-devel
BuildRequires: ghc-hspec-prof
BuildRequires: ghc-mtl-devel
@@ -80,7 +77,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-th-compat/th-compat-0.1.5.tar.gz b/packages/g/ghc-th-compat/th-compat-0.1.5.tar.gz
deleted file mode 120000
index ca491320f21..00000000000
--- a/packages/g/ghc-th-compat/th-compat-0.1.5.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreieb6vp27r5pvv3whqe4xc33ifs4un3f5xhxb75efrzzgbb2cobkdy
\ No newline at end of file
diff --git a/packages/g/ghc-th-compat/th-compat-0.1.6.tar.gz b/packages/g/ghc-th-compat/th-compat-0.1.6.tar.gz
new file mode 120000
index 00000000000..fdce3b994f4
--- /dev/null
+++ b/packages/g/ghc-th-compat/th-compat-0.1.6.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreifxqgqmawmhfpevibwqb2mpn6t5t2a6ordtb52rqzmdzng45ife5m
\ No newline at end of file
diff --git a/packages/g/ghc-th-compat/th-compat.cabal b/packages/g/ghc-th-compat/th-compat.cabal
deleted file mode 100644
index af08fd40ba6..00000000000
--- a/packages/g/ghc-th-compat/th-compat.cabal
+++ /dev/null
@@ -1,78 +0,0 @@
-cabal-version: >=1.10
-name: th-compat
-version: 0.1.5
-x-revision: 2
-synopsis: Backward- (and forward-)compatible Quote and Code types
-description: This package defines a "Language.Haskell.TH.Syntax.Compat"
- module, which backports the @Quote@ and @Code@ types to
- work across a wide range of @template-haskell@ versions.
- The @makeRelativeToProject@ utility is also backported.
- On recent versions of @template-haskell@ (2.17.0.0 or
- later), this module simply reexports definitions
- from "Language.Haskell.TH.Syntax". Refer to the Haddocks
- for "Language.Haskell.TH.Syntax.Compat" for examples of
- how to use this module.
-homepage: https://github.com/haskell-compat/th-compat
-bug-reports: https://github.com/haskell-compat/th-compat/issues
-license: BSD3
-license-file: LICENSE
-author: Ryan Scott
-maintainer: Ryan Scott
-copyright: (C) 2020 Ryan Scott
-category: Text
-build-type: Simple
-tested-with: GHC == 7.0.4
- , GHC == 7.2.2
- , GHC == 7.4.2
- , GHC == 7.6.3
- , GHC == 7.8.4
- , GHC == 7.10.3
- , GHC == 8.0.2
- , GHC == 8.2.2
- , GHC == 8.4.4
- , GHC == 8.6.5
- , GHC == 8.8.4
- , GHC == 8.10.7
- , GHC == 9.0.2
- , GHC == 9.2.8
- , GHC == 9.4.8
- , GHC == 9.6.4
- , GHC == 9.8.2
- , GHC == 9.10.1
-extra-source-files: CHANGELOG.md, README.md
-
-source-repository head
- type: git
- location: https://github.com/haskell-compat/th-compat
-
-library
- exposed-modules: Language.Haskell.TH.Syntax.Compat
- build-depends: base >= 4.3 && < 5
- , template-haskell >= 2.5 && < 2.23
- if !impl(ghc >= 8.0)
- build-depends: fail == 4.9.*
- , transformers >= 0.2 && < 0.7
- if !impl(ghc >= 9.4)
- build-depends: filepath >= 1.2.0.0 && < 1.6
- , directory >= 1.1.0.0 && < 1.4
- hs-source-dirs: src
- default-language: Haskell2010
- ghc-options: -Wall
- if impl(ghc >= 8.6)
- ghc-options: -Wno-star-is-type
-
-test-suite spec
- type: exitcode-stdio-1.0
- main-is: Spec.hs
- other-modules: Language.Haskell.TH.Syntax.CompatSpec
- Types
- build-depends: base >= 4.3 && < 5
- , base-compat >= 0.6 && < 0.15
- , hspec >= 2 && < 3
- , mtl >= 2.1 && < 2.4
- , template-haskell >= 2.5 && < 2.23
- , th-compat
- build-tool-depends: hspec-discover:hspec-discover >= 2
- hs-source-dirs: tests
- default-language: Haskell2010
- ghc-options: -Wall -threaded -rtsopts
diff --git a/packages/g/ghc-th-lift/.files b/packages/g/ghc-th-lift/.files
index bfba3e68707..b159a6a49e8 100644
Binary files a/packages/g/ghc-th-lift/.files and b/packages/g/ghc-th-lift/.files differ
diff --git a/packages/g/ghc-th-lift/.rev b/packages/g/ghc-th-lift/.rev
index b718a15b6c3..a8eb817fb39 100644
--- a/packages/g/ghc-th-lift/.rev
+++ b/packages/g/ghc-th-lift/.rev
@@ -164,4 +164,12 @@
version update
1218573
+
+ c0088e0fb7f02b494938b7a2f902e3e5
+ 0.8.6
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231478
+
diff --git a/packages/g/ghc-th-lift/ghc-th-lift.changes b/packages/g/ghc-th-lift/ghc-th-lift.changes
index 6adc003a2eb..cbd7aef95d1 100644
--- a/packages/g/ghc-th-lift/ghc-th-lift.changes
+++ b/packages/g/ghc-th-lift/ghc-th-lift.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Thu Dec 5 12:34:34 UTC 2024 - Peter Simons
+
+- Update th-lift to version 0.8.6.
+ ## [0.8.6] - 2024.12.05
+
+ * Support building with `template-haskell-2.23.0`.
+
-------------------------------------------------------------------
Tue Oct 22 10:40:27 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-th-lift/ghc-th-lift.spec b/packages/g/ghc-th-lift/ghc-th-lift.spec
index 3c88461bd57..85904ac5966 100644
--- a/packages/g/ghc-th-lift/ghc-th-lift.spec
+++ b/packages/g/ghc-th-lift/ghc-th-lift.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.8.5
+Version: 0.8.6
Release: 0
Summary: Derive Template Haskell's Lift class for datatypes
License: (BSD-3-Clause OR GPL-2.0-only)
diff --git a/packages/g/ghc-th-lift/th-lift-0.8.5.tar.gz b/packages/g/ghc-th-lift/th-lift-0.8.5.tar.gz
deleted file mode 120000
index a2bd715b559..00000000000
--- a/packages/g/ghc-th-lift/th-lift-0.8.5.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreidjtrni2tqc37t5ux3kratsndsp5nqrkdwnbrj57fhg7ccgnxyroy
\ No newline at end of file
diff --git a/packages/g/ghc-th-lift/th-lift-0.8.6.tar.gz b/packages/g/ghc-th-lift/th-lift-0.8.6.tar.gz
new file mode 120000
index 00000000000..57e0fbe6a2f
--- /dev/null
+++ b/packages/g/ghc-th-lift/th-lift-0.8.6.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiaegcnnodxyb3ifj262ln6tjjtgiiaxmbabt6pejljsd3wajippd4
\ No newline at end of file
diff --git a/packages/g/ghc-time-manager/.files b/packages/g/ghc-time-manager/.files
index 49a39233bf1..7d61580f0a2 100644
Binary files a/packages/g/ghc-time-manager/.files and b/packages/g/ghc-time-manager/.files differ
diff --git a/packages/g/ghc-time-manager/.rev b/packages/g/ghc-time-manager/.rev
index bff0f20e9e9..633aff4242f 100644
--- a/packages/g/ghc-time-manager/.rev
+++ b/packages/g/ghc-time-manager/.rev
@@ -55,4 +55,12 @@
Automatic submission by obs-autosubmit
1222960
+
+ 31c01bf9194846d3e264cdeab8c71c8f
+ 0.2.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231479
+
diff --git a/packages/g/ghc-time-manager/ghc-time-manager.changes b/packages/g/ghc-time-manager/ghc-time-manager.changes
index c982a39d884..393d550a44b 100644
--- a/packages/g/ghc-time-manager/ghc-time-manager.changes
+++ b/packages/g/ghc-time-manager/ghc-time-manager.changes
@@ -1,3 +1,43 @@
+-------------------------------------------------------------------
+Fri Dec 6 05:11:19 UTC 2024 - Peter Simons
+
+- Update time-manager to version 0.2.1.
+ ## 0.2.1
+
+ * Export KilledByThreadManager exception
+ [#1016](https://github.com/yesodweb/wai/pull/1016)
+
+ ## 0.2.0
+
+ * Providing `System.ThreadManager`.
+ * `withHandle` catches `TimeoutThread` internally.
+ It returns `Nothing` on timeout.
+
+-------------------------------------------------------------------
+Fri Nov 22 00:26:04 UTC 2024 - Peter Simons
+
+- Update time-manager to version 0.1.3.
+ ## 0.1.3
+
+ * Providing `withHandle` and `withHandleKillThread`.
+
+-------------------------------------------------------------------
+Tue Nov 19 21:02:53 UTC 2024 - Peter Simons
+
+- Update time-manager to version 0.1.2.
+ ## 0.1.2
+
+ * Holding `Weak ThreadId` to prevent thread leak again
+ [#1013](https://github.com/yesodweb/wai/pull/1013)
+
+-------------------------------------------------------------------
+Thu Nov 7 01:52:04 UTC 2024 - Peter Simons
+
+- Update time-manager to version 0.1.1.
+ ## 0.1.1
+
+ * Removing `unliftio`.
+
-------------------------------------------------------------------
Sat Apr 27 10:30:55 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-time-manager/ghc-time-manager.spec b/packages/g/ghc-time-manager/ghc-time-manager.spec
index fc34da42750..9cff85884e1 100644
--- a/packages/g/ghc-time-manager/ghc-time-manager.spec
+++ b/packages/g/ghc-time-manager/ghc-time-manager.spec
@@ -19,7 +19,7 @@
%global pkg_name time-manager
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.1.0
+Version: 0.2.1
Release: 0
Summary: Scalable timer
License: MIT
@@ -30,13 +30,16 @@ BuildRequires: ghc-auto-update-devel
BuildRequires: ghc-auto-update-prof
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
+BuildRequires: ghc-containers-devel
+BuildRequires: ghc-containers-prof
BuildRequires: ghc-rpm-macros
-BuildRequires: ghc-unliftio-devel
-BuildRequires: ghc-unliftio-prof
+BuildRequires: ghc-stm-devel
+BuildRequires: ghc-stm-prof
ExcludeArch: %{ix86}
%description
-Scalable timer functions provided by a timer manager.
+Scalable timer functions provided by a timer manager and thread management
+functions to prevent thread leak by a thread manager.
%package devel
Summary: Haskell %{pkg_name} library development files
diff --git a/packages/g/ghc-time-manager/time-manager-0.1.0.tar.gz b/packages/g/ghc-time-manager/time-manager-0.1.0.tar.gz
deleted file mode 120000
index 3d832cbba78..00000000000
--- a/packages/g/ghc-time-manager/time-manager-0.1.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreidcwehvlshadbswpbpl35aavqoxkuprvnmtw4cyj4dtljqee7c44q
\ No newline at end of file
diff --git a/packages/g/ghc-time-manager/time-manager-0.2.1.tar.gz b/packages/g/ghc-time-manager/time-manager-0.2.1.tar.gz
new file mode 120000
index 00000000000..a57c635be3e
--- /dev/null
+++ b/packages/g/ghc-time-manager/time-manager-0.2.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreicedwgpqnhuofaswhhlyn5h2rqokenhdbtd6y5lgnw6fwg3tgnlkq
\ No newline at end of file
diff --git a/packages/g/ghc-tls-session-manager/.files b/packages/g/ghc-tls-session-manager/.files
index b4d32fd204a..600c30ab8a2 100644
Binary files a/packages/g/ghc-tls-session-manager/.files and b/packages/g/ghc-tls-session-manager/.files differ
diff --git a/packages/g/ghc-tls-session-manager/.rev b/packages/g/ghc-tls-session-manager/.rev
index 6f0ae718260..11e0218da9d 100644
--- a/packages/g/ghc-tls-session-manager/.rev
+++ b/packages/g/ghc-tls-session-manager/.rev
@@ -63,4 +63,12 @@
version update
1225059
+
+ 385816eb8840256a5559b365805ebe5e
+ 0.0.7
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231481
+
diff --git a/packages/g/ghc-tls-session-manager/ghc-tls-session-manager.changes b/packages/g/ghc-tls-session-manager/ghc-tls-session-manager.changes
index 30f9af4d2b4..9938d9de551 100644
--- a/packages/g/ghc-tls-session-manager/ghc-tls-session-manager.changes
+++ b/packages/g/ghc-tls-session-manager/ghc-tls-session-manager.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Sun Nov 3 02:05:37 UTC 2024 - Peter Simons
+
+- Update tls-session-manager to version 0.0.7 revision 1.
+ Upstream has revised the Cabal build instructions on Hackage.
+
-------------------------------------------------------------------
Wed Oct 30 03:42:08 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-tls-session-manager/ghc-tls-session-manager.spec b/packages/g/ghc-tls-session-manager/ghc-tls-session-manager.spec
index 049bc6f4dca..9e898e1828a 100644
--- a/packages/g/ghc-tls-session-manager/ghc-tls-session-manager.spec
+++ b/packages/g/ghc-tls-session-manager/ghc-tls-session-manager.spec
@@ -25,6 +25,7 @@ Summary: In-memory TLS session DB and session ticket
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-auto-update-devel
BuildRequires: ghc-auto-update-prof
@@ -82,6 +83,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-tls-session-manager/tls-session-manager.cabal b/packages/g/ghc-tls-session-manager/tls-session-manager.cabal
new file mode 100644
index 00000000000..465ae5f8458
--- /dev/null
+++ b/packages/g/ghc-tls-session-manager/tls-session-manager.cabal
@@ -0,0 +1,36 @@
+cabal-version: >=1.10
+name: tls-session-manager
+version: 0.0.7
+x-revision: 1
+license: BSD3
+license-file: LICENSE
+maintainer: kazu@iij.ad.jp
+author: Kazu Yamamoto
+synopsis: In-memory TLS session DB and session ticket
+description:
+ TLS session manager with limitation, automatic pruning, energy saving and replay resistance and session ticket manager
+
+category: Web
+build-type: Simple
+extra-source-files: ChangeLog.md
+
+library
+ exposed-modules: Network.TLS.SessionManager
+ Network.TLS.SessionTicket
+ other-modules: Network.TLS.Imports
+ default-language: Haskell2010
+ ghc-options: -Wall
+ build-depends:
+ base >=4.7 && <5,
+ auto-update >= 0.2.2 && < 0.3,
+ basement >= 0.0.16 && < 0.1,
+ bytestring >= 0.10 && < 0.13,
+ clock >= 0.8 && < 0.9,
+ crypto-token >= 0.1.2 && < 0.2,
+ memory >= 0.18.0 && < 0.19,
+ psqueues >= 0.2 && < 0.3,
+ serialise >= 0.2 && < 0.3,
+ tls >= 2.0 && < 2.3
+
+ if impl(ghc >=8)
+ default-extensions: Strict StrictData
diff --git a/packages/g/ghc-tls/.files b/packages/g/ghc-tls/.files
index 377bab9a687..d3991a6cb0c 100644
Binary files a/packages/g/ghc-tls/.files and b/packages/g/ghc-tls/.files differ
diff --git a/packages/g/ghc-tls/.rev b/packages/g/ghc-tls/.rev
index 33280fd1af0..13c5c611a71 100644
--- a/packages/g/ghc-tls/.rev
+++ b/packages/g/ghc-tls/.rev
@@ -305,4 +305,12 @@
Automatic submission by obs-autosubmit
1178302
+
+ b7367d5750c2bb30002b02d8932b9a12
+ 2.1.5
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231480
+
diff --git a/packages/g/ghc-tls/ghc-tls.changes b/packages/g/ghc-tls/ghc-tls.changes
index 0423c3ecd5f..e5f36f5b9f3 100644
--- a/packages/g/ghc-tls/ghc-tls.changes
+++ b/packages/g/ghc-tls/ghc-tls.changes
@@ -1,3 +1,43 @@
+-------------------------------------------------------------------
+Mon Nov 18 02:13:36 UTC 2024 - Peter Simons
+
+- Update tls to version 2.1.5.
+ ## Version 2.1.5
+
+ * Removing the dependency on the async package.
+ * Restore a few DHE_RSA ciphers.
+ [#493](https://github.com/haskell-tls/hs-tls/pull/493)
+
+ ## Version 2.1.4
+
+ * Exporting defaultValidationCache.
+
+ ## Version 2.1.3
+
+ * Remove `data-default` version constraint.
+ [#492](https://github.com/haskell-tls/hs-tls/pull/492)
+ * Exporting default variables.
+ [#448](https://github.com/haskell-tls/hs-tls/pull/488)
+
+ ## Version 2.1.2
+
+ * Using data-default instead of data-default-class.
+
+ ## Version 2.1.1
+
+ * `bye` directly calls `timeout recvHS13`, not spawning a thread for
+ `timeout recvHS13`. So, `bye` can receive an exception if thrown.
+
+ ## Version 2.1.0
+
+ * Breaking change: stop exporting constructors to maintain future
+ compatibilities. Field names are still exported, and values can be updated
+ with them using record syntax. Use `def` and `noSessionManager` as initial
+ values.
+ * `onServerFinished` is added to `ClientHooks`.
+ * `clientWantSessionResumeList` is added to `ClientParams` to support
+ multiple tickets for TLS 1.3.
+
-------------------------------------------------------------------
Wed May 22 04:38:33 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-tls/ghc-tls.spec b/packages/g/ghc-tls/ghc-tls.spec
index a1666157937..232195e1020 100644
--- a/packages/g/ghc-tls/ghc-tls.spec
+++ b/packages/g/ghc-tls/ghc-tls.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 2.0.6
+Version: 2.1.5
Release: 0
Summary: TLS protocol native implementation
License: BSD-3-Clause
@@ -31,8 +31,6 @@ BuildRequires: ghc-asn1-encoding-devel
BuildRequires: ghc-asn1-encoding-prof
BuildRequires: ghc-asn1-types-devel
BuildRequires: ghc-asn1-types-prof
-BuildRequires: ghc-async-devel
-BuildRequires: ghc-async-prof
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
BuildRequires: ghc-base16-bytestring-devel
@@ -49,8 +47,8 @@ BuildRequires: ghc-crypton-x509-store-devel
BuildRequires: ghc-crypton-x509-store-prof
BuildRequires: ghc-crypton-x509-validation-devel
BuildRequires: ghc-crypton-x509-validation-prof
-BuildRequires: ghc-data-default-class-devel
-BuildRequires: ghc-data-default-class-prof
+BuildRequires: ghc-data-default-devel
+BuildRequires: ghc-data-default-prof
BuildRequires: ghc-memory-devel
BuildRequires: ghc-memory-prof
BuildRequires: ghc-mtl-devel
@@ -68,6 +66,8 @@ ExcludeArch: %{ix86}
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-QuickCheck-prof
+BuildRequires: ghc-async-devel
+BuildRequires: ghc-async-prof
BuildRequires: ghc-hourglass-devel
BuildRequires: ghc-hourglass-prof
BuildRequires: ghc-hspec-devel
diff --git a/packages/g/ghc-tls/tls-2.0.6.tar.gz b/packages/g/ghc-tls/tls-2.0.6.tar.gz
deleted file mode 120000
index 9b38a436aae..00000000000
--- a/packages/g/ghc-tls/tls-2.0.6.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreifd5k5c2rixflctchs2bq4dhuuupwjnhdyjb5oo65cohaesnne7du
\ No newline at end of file
diff --git a/packages/g/ghc-tls/tls-2.1.5.tar.gz b/packages/g/ghc-tls/tls-2.1.5.tar.gz
new file mode 120000
index 00000000000..740abf9ef3c
--- /dev/null
+++ b/packages/g/ghc-tls/tls-2.1.5.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreifb3n3p4egifcfotmym4sh7n6jt34o3mfwanug6qvwvh4pnakayae
\ No newline at end of file
diff --git a/packages/g/ghc-typst-symbols/.files b/packages/g/ghc-typst-symbols/.files
index 2d746f7cee9..849db0a6326 100644
Binary files a/packages/g/ghc-typst-symbols/.files and b/packages/g/ghc-typst-symbols/.files differ
diff --git a/packages/g/ghc-typst-symbols/.rev b/packages/g/ghc-typst-symbols/.rev
index 9b35876490f..8d681b745ba 100644
--- a/packages/g/ghc-typst-symbols/.rev
+++ b/packages/g/ghc-typst-symbols/.rev
@@ -39,4 +39,12 @@
Automatic submission by obs-autosubmit
1169525
+
+ 1c40767c6e582243ef5863cd14beedc0
+ 0.1.7
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231483
+
diff --git a/packages/g/ghc-typst-symbols/ghc-typst-symbols.changes b/packages/g/ghc-typst-symbols/ghc-typst-symbols.changes
index 61375236e28..680c1045114 100644
--- a/packages/g/ghc-typst-symbols/ghc-typst-symbols.changes
+++ b/packages/g/ghc-typst-symbols/ghc-typst-symbols.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Tue Oct 22 02:49:53 UTC 2024 - Peter Simons
+
+- Update typst-symbols to version 0.1.7.
+ ## 0.1.7
+
+ * Update to typst 0.12.
+
-------------------------------------------------------------------
Sun Mar 17 18:12:03 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-typst-symbols/ghc-typst-symbols.spec b/packages/g/ghc-typst-symbols/ghc-typst-symbols.spec
index f9b43e6a036..d4c7aee20b6 100644
--- a/packages/g/ghc-typst-symbols/ghc-typst-symbols.spec
+++ b/packages/g/ghc-typst-symbols/ghc-typst-symbols.spec
@@ -19,7 +19,7 @@
%global pkg_name typst-symbols
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 0.1.6
+Version: 0.1.7
Release: 0
Summary: Symbol and emoji lookup for typst language
License: MIT
diff --git a/packages/g/ghc-typst-symbols/typst-symbols-0.1.6.tar.gz b/packages/g/ghc-typst-symbols/typst-symbols-0.1.6.tar.gz
deleted file mode 120000
index 6a4afebde6c..00000000000
--- a/packages/g/ghc-typst-symbols/typst-symbols-0.1.6.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreieup7zkbfkju2qdq4zh42yvzeqzsr56m7v6l6yzbup3tbev27sctu
\ No newline at end of file
diff --git a/packages/g/ghc-typst-symbols/typst-symbols-0.1.7.tar.gz b/packages/g/ghc-typst-symbols/typst-symbols-0.1.7.tar.gz
new file mode 120000
index 00000000000..7db18a7aa00
--- /dev/null
+++ b/packages/g/ghc-typst-symbols/typst-symbols-0.1.7.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreig752lasje2n5jk5bout2ohmcciduud5zmynqf2ikvav646krjfxa
\ No newline at end of file
diff --git a/packages/g/ghc-typst/.files b/packages/g/ghc-typst/.files
index 624af7a462c..4ec87b4f875 100644
Binary files a/packages/g/ghc-typst/.files and b/packages/g/ghc-typst/.files differ
diff --git a/packages/g/ghc-typst/.rev b/packages/g/ghc-typst/.rev
index a5487033edb..1205d041879 100644
--- a/packages/g/ghc-typst/.rev
+++ b/packages/g/ghc-typst/.rev
@@ -71,4 +71,12 @@
version update
1218574
+
+ 0b7251dea8ac30d2f9aa14bf3e858939
+ 0.6.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231482
+
diff --git a/packages/g/ghc-typst/ghc-typst.changes b/packages/g/ghc-typst/ghc-typst.changes
index 4f3814b873e..fbb4e90b8af 100644
--- a/packages/g/ghc-typst/ghc-typst.changes
+++ b/packages/g/ghc-typst/ghc-typst.changes
@@ -1,3 +1,60 @@
+-------------------------------------------------------------------
+Sat Dec 7 21:53:05 UTC 2024 - Peter Simons
+
+- Update typst to version 0.6.1.
+ ## 0.6.1
+
+ * Fix precedence for functions (#55).
+ `1(x)` and `!(x)` should not be parsed as functions.
+ Note that we still don't match typst's behavior for `f_"!"(x)`.
+ For us this works just like `f_!(x)`, but for typst we get
+ a function in the subscript for the former but not the latter.
+ Fixing this would require some changes in the types.
+
+ * Define sys.version and sys.inputs.typst-hs-version (#56).
+ The former is set to the version of typst we are trying to
+ implement. The latter is a stringified version number from typst-hs.
+ This will allow typst programs to tell when they're running
+ on typst-hs (or pandoc), and react accordingly.
+
+ * Rename stBeforeSpace -> stSpaceBefore to avoid confusion.
+
+ * Fix precedence issues in math parsing (#54).
+ Increased precedence of ! (factorial).
+ `_` or `^` should eagerly gobble a grouped argument (`c_(a)`).
+
+ * Minimal support for `context` (#53). Parse `context` keyword.
+ New Context constructor in Expr [API change].
+ Evaluate this by just evaluating the expression, for now.
+ Note that we don't support the features (like location or
+ numbering) that context is used to affect anyway, so this change
+ probably won't be enough for meaningful support. But it might
+ prevent some documents from issuing errors.
+
+ * Arguments at method.
+
+ * Array windows, reduce, to-dict methods.
+
+ * Allow parentheses in import.
+
+ * Make standard module available under std (typst 0.12).
+
+ * Add over/underparen, over/undershell in math module.
+
+ * Add stretch function.
+
+ * Add skew.
+
+ * Depend on typst-symbols 0.1.7 and start to target typst 0.12.
+
+ * Reset indentation requirements inside `[]` content block. e.g.
+ ```
+ / B: #block[
+ - a
+ ]
+ ```
+ We don't need indentation inside the block content.
+
-------------------------------------------------------------------
Tue Sep 10 01:23:44 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-typst/ghc-typst.spec b/packages/g/ghc-typst/ghc-typst.spec
index 047b00961f1..ac4171a1141 100644
--- a/packages/g/ghc-typst/ghc-typst.spec
+++ b/packages/g/ghc-typst/ghc-typst.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.6
+Version: 0.6.1
Release: 0
Summary: Parsing and evaluating typst syntax
License: BSD-3-Clause
diff --git a/packages/g/ghc-typst/typst-0.6.1.tar.gz b/packages/g/ghc-typst/typst-0.6.1.tar.gz
new file mode 120000
index 00000000000..220f3464710
--- /dev/null
+++ b/packages/g/ghc-typst/typst-0.6.1.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeiegpqh7orabnfpgllfq2hjikyqiab6xwuwcrcimqg4z5egglqj55i
\ No newline at end of file
diff --git a/packages/g/ghc-typst/typst-0.6.tar.gz b/packages/g/ghc-typst/typst-0.6.tar.gz
deleted file mode 120000
index 8d047cb6573..00000000000
--- a/packages/g/ghc-typst/typst-0.6.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeifdo5pa3pppzxf2z6mminedyskyavaiu5yhn4gmcmicnefgd2afwa
\ No newline at end of file
diff --git a/packages/g/ghc-unicode-data/.files b/packages/g/ghc-unicode-data/.files
index 6a2dcc49773..3ad50a22c19 100644
Binary files a/packages/g/ghc-unicode-data/.files and b/packages/g/ghc-unicode-data/.files differ
diff --git a/packages/g/ghc-unicode-data/.rev b/packages/g/ghc-unicode-data/.rev
index f9d5a534def..9d1aab70130 100644
--- a/packages/g/ghc-unicode-data/.rev
+++ b/packages/g/ghc-unicode-data/.rev
@@ -71,4 +71,12 @@
Automatic submission by obs-autosubmit
1184204
+
+ cf6194620926c5a00ba1d4078bcc240f
+ 0.6.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231484
+
diff --git a/packages/g/ghc-unicode-data/ghc-unicode-data.changes b/packages/g/ghc-unicode-data/ghc-unicode-data.changes
index 63d8a8bcbe2..9d8d985e67d 100644
--- a/packages/g/ghc-unicode-data/ghc-unicode-data.changes
+++ b/packages/g/ghc-unicode-data/ghc-unicode-data.changes
@@ -1,3 +1,33 @@
+-------------------------------------------------------------------
+Sat Oct 26 18:30:11 UTC 2024 - Peter Simons
+
+- Update unicode-data to version 0.6.0 revision 2.
+ ## 0.6.0 (July 2024)
+
+ - Updated to [Unicode 15.1.0](https://www.unicode.org/versions/Unicode15.1.0/).
+ - Added `showCodePoint` to `Unicode.Char`.
+ - Added `intToDigiT` to `Unicode.Char.Numeric`.
+
+ ### Removed
+
+ - Removed deprecated `isLetter` and `isSpace` from `Unicode.Char.General`.
+ Use the corresponding functions from `Unicode.Char.General.Compat` instead.
+ - Remove deprecated `isLower` and `isUpper` from `Unicode.Char.Case`.
+ Use the corresponding functions from `Unicode.Char.Case.Compat` instead.
+ - Removed deprecated `Unicode.Char.Numeric.isNumber`.
+ Use `Unicode.Char.Numeric.Compat.isNumber` instead.
+
+ ### Deprecations
+
+ - `Unicode.Char.General.isAlphaNum`.
+ Use `Unicode.Char.General.Compat.isAlphaNum` instead.
+
+ ## 0.5.0 (July 2024)
+
+ - Fix the inlining of `Addr#` literals and reduce their size. This results in
+ a sensible decrease of the executable size.
+ - Changed `integerValue` from `Char -> Maybe Int` to `(Integral a) => Char -> Maybe a`.
+
-------------------------------------------------------------------
Sun Jun 23 13:36:34 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-unicode-data/ghc-unicode-data.spec b/packages/g/ghc-unicode-data/ghc-unicode-data.spec
index 0e0bdad225c..6fd110da692 100644
--- a/packages/g/ghc-unicode-data/ghc-unicode-data.spec
+++ b/packages/g/ghc-unicode-data/ghc-unicode-data.spec
@@ -20,13 +20,13 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.4.0.1
+Version: 0.6.0
Release: 0
Summary: Access Unicode Character Database (UCD)
License: Apache-2.0
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -44,7 +44,7 @@ Performance is the primary goal in the design of this package.
The Haskell data structures are generated programmatically from the UCD files.
The latest Unicode version supported by this library is
-''.
+''.
%package devel
Summary: Haskell %{pkg_name} library development files
diff --git a/packages/g/ghc-unicode-data/unicode-data-0.4.0.1.tar.gz b/packages/g/ghc-unicode-data/unicode-data-0.4.0.1.tar.gz
deleted file mode 120000
index 90e36262b15..00000000000
--- a/packages/g/ghc-unicode-data/unicode-data-0.4.0.1.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreibxuxpknaazic7lmxckys45b57gkotint3xgud7bstbyiiobmdaqa
\ No newline at end of file
diff --git a/packages/g/ghc-unicode-data/unicode-data-0.6.0.tar.gz b/packages/g/ghc-unicode-data/unicode-data-0.6.0.tar.gz
new file mode 120000
index 00000000000..1f7e9ff7c85
--- /dev/null
+++ b/packages/g/ghc-unicode-data/unicode-data-0.6.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreifsq4zrnbjvui6andbfksqrr4f2krcwd6j7g6q4j2cvny7e2auzi4
\ No newline at end of file
diff --git a/packages/g/ghc-unicode-data/unicode-data.cabal b/packages/g/ghc-unicode-data/unicode-data.cabal
index 1fbd189fc77..54099812f8d 100644
--- a/packages/g/ghc-unicode-data/unicode-data.cabal
+++ b/packages/g/ghc-unicode-data/unicode-data.cabal
@@ -1,7 +1,7 @@
cabal-version: 2.2
name: unicode-data
-version: 0.4.0.1
-x-revision: 3
+version: 0.6.0
+x-revision: 2
synopsis: Access Unicode Character Database (UCD)
description:
@unicode-data@ provides Haskell APIs to efficiently access the
@@ -10,7 +10,7 @@ description:
.
The Haskell data structures are generated programmatically from the UCD files.
The latest Unicode version supported by this library is
- @@.
+ @@.
homepage: http://github.com/composewell/unicode-data
bug-reports: https://github.com/composewell/unicode-data/issues
license: Apache-2.0
@@ -27,12 +27,14 @@ tested-with: GHC==8.0.2
, GHC==8.6.5
, GHC==8.8.4
, GHC==8.10.7
- , GHC==9.0.1
- , GHC==9.2.1
- , GHC==9.4.2
- , GHC==9.6.0
+ , GHC==9.0.2
+ , GHC==9.2.8
+ , GHC==9.4.8
+ , GHC==9.6.5
+ , GHC==9.8.2
+ , GHC==9.10.1
-extra-source-files:
+extra-doc-files:
Changelog.md
README.md
NOTICE
@@ -41,11 +43,6 @@ source-repository head
type: git
location: https://github.com/composewell/unicode-data
-flag ucd2haskell
- description: Build the ucd2haskell executable
- manual: True
- default: False
-
common default-extensions
default-extensions:
BangPatterns
@@ -55,10 +52,9 @@ common default-extensions
ScopedTypeVariables
TupleSections
FlexibleContexts
+ LambdaCase
-- Experimental, may lead to issues
- DeriveAnyClass
- TemplateHaskell
UnboxedTuples
common compile-options
@@ -69,9 +65,14 @@ common compile-options
-fwarn-tabs
default-language: Haskell2010
+flag dev-has-icu
+ description:
+ Use ICU for test and benchmark. Intended for development on the repository.
+ manual: True
+ default: False
+
library
import: default-extensions, compile-options
- default-language: Haskell2010
exposed-modules:
Unicode.Char
-- The module structure is derived from
@@ -113,30 +114,15 @@ library
Unicode.Internal.Char.UnicodeData.SimpleLowerCaseMapping
Unicode.Internal.Char.UnicodeData.SimpleTitleCaseMapping
Unicode.Internal.Char.UnicodeData.SimpleUpperCaseMapping
+ Unicode.Internal.Char.Version
hs-source-dirs: lib
ghc-options: -O2
build-depends:
- base >=4.7 && <4.21
-
-executable ucd2haskell
- import: default-extensions, compile-options
- default-language: Haskell2010
- ghc-options: -O2
- hs-source-dirs: exe
- main-is: UCD2Haskell.hs
- other-modules: Parser.Text
- if flag(ucd2haskell)
- buildable: True
- build-depends:
- base >= 4.7 && < 4.20
- , containers >= 0.5 && < 0.7
- , directory >= 1.3.6 && < 1.3.9
- , filepath >= 1.4.100 && < 1.5
- , getopt-generics >= 0.13 && < 0.14
- , streamly >= 0.8.0 && < 0.8.1
- else
- buildable: False
+ base >=4.7 && < 4.22
+ if impl(ghc < 9.0)
+ -- Required for unpackCString#
+ build-depends: ghc-prim
test-suite test
import: default-extensions, compile-options
@@ -147,24 +133,43 @@ test-suite test
other-modules:
Unicode.CharSpec
build-depends:
- base >= 4.7 && < 4.20
+ base >= 4.7 && < 4.22
, hspec >= 2.0 && < 2.12
, unicode-data
- -- We need to match a GHC version with the same Unicode version.
- -- See: test/Unicode/CharSpec.hs for compatibility table.
- if impl(ghc >= 9.5.1)
- cpp-options: -DCOMPATIBLE_GHC_UNICODE
- default-language: Haskell2010
+ if flag(dev-has-icu)
+ cpp-options: -DHAS_ICU
+ other-modules:
+ ICU.CharSpec
+ build-depends:
+ icu
benchmark bench
import: default-extensions, compile-options
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Main.hs
+ other-modules:
+ Unicode.Char.Bench
+ Unicode.Char.CaseBench
+ Unicode.Char.Case.CompatBench
+ Unicode.Char.GeneralBench
+ Unicode.Char.General.BlocksBench
+ Unicode.Char.General.CompatBench
+ Unicode.Char.IdentifiersBench
+ Unicode.Char.NormalizationBench
+ Unicode.Char.NumericBench
+ Unicode.Char.Numeric.CompatBench
build-depends:
- base >= 4.7 && < 4.20,
+ base >= 4.7 && < 4.22,
deepseq >= 1.1 && < 1.6,
- tasty-bench >= 0.2.5 && < 0.4,
- tasty >= 1.4.1,
+ tasty-bench >= 0.2.5 && < 0.5,
+ tasty >= 1.4.1 && < 1.6,
unicode-data
- ghc-options: -O2 -fdicts-strict -rtsopts
+ if impl(ghc < 9.0)
+ -- Required for noinline
+ build-depends: ghc-prim
+ -- [NOTE] Recommendation of tasty-bench to reduce garbage collection noisiness
+ ghc-options: -O2 -fdicts-strict -rtsopts -with-rtsopts=-A32m
+ -- [NOTE] Recommendation of tasty-bench for comparison against baseline
+ if impl(ghc >= 8.6)
+ ghc-options: -fproc-alignment=64
diff --git a/packages/g/ghc-vector-algorithms/.files b/packages/g/ghc-vector-algorithms/.files
index 9b8a6a148a5..f27a3abc3ed 100644
Binary files a/packages/g/ghc-vector-algorithms/.files and b/packages/g/ghc-vector-algorithms/.files differ
diff --git a/packages/g/ghc-vector-algorithms/.rev b/packages/g/ghc-vector-algorithms/.rev
index 0aed10bab00..2440c0fea97 100644
--- a/packages/g/ghc-vector-algorithms/.rev
+++ b/packages/g/ghc-vector-algorithms/.rev
@@ -153,4 +153,12 @@
Automatic submission by obs-autosubmit
1178303
+
+ 6f8e390985bcc8ffbd8a03992c52c0d6
+ 0.9.0.3
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231485
+
diff --git a/packages/g/ghc-vector-algorithms/ghc-vector-algorithms.changes b/packages/g/ghc-vector-algorithms/ghc-vector-algorithms.changes
index ccc5ea15c4e..cef9682100e 100644
--- a/packages/g/ghc-vector-algorithms/ghc-vector-algorithms.changes
+++ b/packages/g/ghc-vector-algorithms/ghc-vector-algorithms.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Sun Nov 24 20:23:06 UTC 2024 - Peter Simons
+
+- Update vector-algorithms to version 0.9.0.3.
+ ## Version 0.9.0.3 (2024-11-25)
+
+ - Fix an off-by-one error Heap.partialSort functions.
+ - Support latest ghcs.
+
-------------------------------------------------------------------
Mon May 27 02:16:41 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-vector-algorithms/ghc-vector-algorithms.spec b/packages/g/ghc-vector-algorithms/ghc-vector-algorithms.spec
index dd49722555c..cd83b4004d6 100644
--- a/packages/g/ghc-vector-algorithms/ghc-vector-algorithms.spec
+++ b/packages/g/ghc-vector-algorithms/ghc-vector-algorithms.spec
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.9.0.2
+Version: 0.9.0.3
Release: 0
Summary: Efficient algorithms for vector arrays
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -80,7 +79,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/packages/g/ghc-vector-algorithms/vector-algorithms-0.9.0.2.tar.gz b/packages/g/ghc-vector-algorithms/vector-algorithms-0.9.0.2.tar.gz
deleted file mode 120000
index 20b001845ce..00000000000
--- a/packages/g/ghc-vector-algorithms/vector-algorithms-0.9.0.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreiec5ygqzodtjfchqhj4vqmgzqx6iwvmpbm3flzwl4xy5izkc6rfhi
\ No newline at end of file
diff --git a/packages/g/ghc-vector-algorithms/vector-algorithms-0.9.0.3.tar.gz b/packages/g/ghc-vector-algorithms/vector-algorithms-0.9.0.3.tar.gz
new file mode 120000
index 00000000000..59b81958278
--- /dev/null
+++ b/packages/g/ghc-vector-algorithms/vector-algorithms-0.9.0.3.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreidbsafxtd6guwa52ciwwmvbhf5k5ubc274s7vzx2zr4xp2nofcnty
\ No newline at end of file
diff --git a/packages/g/ghc-vector-algorithms/vector-algorithms.cabal b/packages/g/ghc-vector-algorithms/vector-algorithms.cabal
deleted file mode 100644
index 413a0e6d3a4..00000000000
--- a/packages/g/ghc-vector-algorithms/vector-algorithms.cabal
+++ /dev/null
@@ -1,169 +0,0 @@
-cabal-version: >= 1.10
-name: vector-algorithms
-version: 0.9.0.2
-x-revision: 1
-license: BSD3
-license-file: LICENSE
-author: Dan Doel
-maintainer: Dan Doel
- Erik de Castro Lopo
-copyright: (c) 2008,2009,2010,2011,2012,2013,2014,2015 Dan Doel
- (c) 2015 Tim Baumann
-homepage: https://github.com/erikd/vector-algorithms/
-category: Data
-synopsis: Efficient algorithms for vector arrays
-description: Efficient algorithms for sorting vector arrays. At some stage
- other vector algorithms may be added.
-build-type: Simple
-
-extra-source-files: CHANGELOG.md
-
-tested-with:
- GHC == 9.8.1
- GHC == 9.6.3
- GHC == 9.4.7
- GHC == 9.2.8
- GHC == 9.0.2
- GHC == 8.10.7
- GHC == 8.8.4
- GHC == 8.6.5
- GHC == 8.4.4
- GHC == 8.2.2
- GHC == 8.0.2
- GHC == 7.10.3
-
-flag BoundsChecks
- description: Enable bounds checking
- default: True
-
-flag UnsafeChecks
- description: Enable bounds checking in unsafe operations at the cost of a
- significant performance penalty.
- default: False
-
-flag InternalChecks
- description: Enable internal consistency checks at the cost of a
- significant performance penalty.
- default: False
-
-flag bench
- description: Build a benchmarking program to test vector-algorithms
- performance
- default: True
-
-flag properties
- description: Enable the quickcheck tests
- default: True
-
--- flag dump-simpl
--- description: Dumps the simplified core during compilation
--- default: False
-
-flag llvm
- description: Build using llvm
- default: False
-
-source-repository head
- type: git
- location: https://github.com/erikd/vector-algorithms/
-
-library
- hs-source-dirs: src
- default-language: Haskell2010
-
- build-depends: base >= 4.8 && < 5,
- bitvec >= 1.0 && < 1.2,
- vector >= 0.6 && < 0.14,
- primitive >= 0.6.2.0 && < 0.10,
- bytestring >= 0.9 && < 1
-
- if ! impl (ghc >= 7.8)
- build-depends: tagged >= 0.4 && < 0.9
-
- exposed-modules:
- Data.Vector.Algorithms
- Data.Vector.Algorithms.Optimal
- Data.Vector.Algorithms.Insertion
- Data.Vector.Algorithms.Intro
- Data.Vector.Algorithms.Merge
- Data.Vector.Algorithms.Radix
- Data.Vector.Algorithms.Search
- Data.Vector.Algorithms.Heap
- Data.Vector.Algorithms.AmericanFlag
- Data.Vector.Algorithms.Tim
-
- other-modules:
- Data.Vector.Algorithms.Common
-
- ghc-options:
- -funbox-strict-fields
-
- -- Cabal/Hackage complains about these
- -- if flag(dump-simpl)
- -- ghc-options: -ddump-simpl -ddump-to-file
-
- if flag(llvm)
- ghc-options: -fllvm
-
- include-dirs:
- include
-
- install-includes:
- vector.h
-
- if flag(BoundsChecks)
- cpp-options: -DVECTOR_BOUNDS_CHECKS
-
- if flag(UnsafeChecks)
- cpp-options: -DVECTOR_UNSAFE_CHECKS
-
- if flag(InternalChecks)
- cpp-options: -DVECTOR_INTERNAL_CHECKS
-
-benchmark simple-bench
- hs-source-dirs: bench/simple
- type: exitcode-stdio-1.0
- default-language: Haskell2010
-
- if !flag(bench)
- buildable: False
-
- main-is: Main.hs
-
- other-modules:
- Blocks
-
- build-depends: base, mwc-random, vector, vector-algorithms
- ghc-options: -Wall
-
- -- Cabal/Hackage complains about these
- -- if flag(dump-simpl)
- -- ghc-options: -ddump-simpl -ddump-to-file
-
- if flag(llvm)
- ghc-options: -fllvm
-
-test-suite properties
- hs-source-dirs: tests/properties
- type: exitcode-stdio-1.0
- main-is: Tests.hs
- default-language: Haskell2010
-
- other-modules:
- Optimal
- Properties
- Util
-
- if !flag(properties)
- buildable: False
- else
- build-depends:
- base >= 4.9,
- bytestring,
- containers,
- QuickCheck > 2.9 && < 2.16,
- vector,
- vector-algorithms
-
- if flag(llvm)
- ghc-options: -fllvm
diff --git a/packages/g/ghc-vector-stream/.files b/packages/g/ghc-vector-stream/.files
index f996fbdd3bf..ca47150e138 100644
Binary files a/packages/g/ghc-vector-stream/.files and b/packages/g/ghc-vector-stream/.files differ
diff --git a/packages/g/ghc-vector-stream/.rev b/packages/g/ghc-vector-stream/.rev
index 7d4de69b844..0b095b1f753 100644
--- a/packages/g/ghc-vector-stream/.rev
+++ b/packages/g/ghc-vector-stream/.rev
@@ -47,4 +47,12 @@
version update
1218577
+
+ 5b6dc61e3a33f2e06287b1a4a2f15243
+ 0.1.0.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231486
+
diff --git a/packages/g/ghc-vector-stream/ghc-vector-stream.changes b/packages/g/ghc-vector-stream/ghc-vector-stream.changes
index d0f6a7c3b3d..8ae51562062 100644
--- a/packages/g/ghc-vector-stream/ghc-vector-stream.changes
+++ b/packages/g/ghc-vector-stream/ghc-vector-stream.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Tue Dec 3 16:27:08 UTC 2024 - Peter Simons
+
+- Update vector-stream to version 0.1.0.1 revision 3.
+ Upstream has revised the Cabal build instructions on Hackage.
+
-------------------------------------------------------------------
Sat Oct 19 17:27:19 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-vector-stream/ghc-vector-stream.spec b/packages/g/ghc-vector-stream/ghc-vector-stream.spec
index df736d717e9..0c1dd5f8846 100644
--- a/packages/g/ghc-vector-stream/ghc-vector-stream.spec
+++ b/packages/g/ghc-vector-stream/ghc-vector-stream.spec
@@ -25,7 +25,7 @@ Summary: Efficient Streams
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
diff --git a/packages/g/ghc-vector-stream/vector-stream.cabal b/packages/g/ghc-vector-stream/vector-stream.cabal
index f50a5872f30..a1137ba83e9 100644
--- a/packages/g/ghc-vector-stream/vector-stream.cabal
+++ b/packages/g/ghc-vector-stream/vector-stream.cabal
@@ -1,6 +1,6 @@
Name: vector-stream
Version: 0.1.0.1
-x-revision: 2
+x-revision: 3
-- don't forget to update the changelog file!
License: BSD3
License-File: LICENSE
@@ -51,7 +51,7 @@ Library
src
Build-Depends: base >= 4.9 && < 4.22
- , ghc-prim >= 0.2 && < 0.12
+ , ghc-prim >= 0.2 && < 0.14
source-repository head
type: git
diff --git a/packages/g/ghc-wai-extra/.files b/packages/g/ghc-wai-extra/.files
index a6febf72a98..91c0e1fee6c 100644
Binary files a/packages/g/ghc-wai-extra/.files and b/packages/g/ghc-wai-extra/.files differ
diff --git a/packages/g/ghc-wai-extra/.rev b/packages/g/ghc-wai-extra/.rev
index e49f9743042..0a715575c6a 100644
--- a/packages/g/ghc-wai-extra/.rev
+++ b/packages/g/ghc-wai-extra/.rev
@@ -119,4 +119,12 @@
version update
1181064
+
+ cdd9d0a8880deabb39abea4e2d629964
+ 3.1.16
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231487
+
diff --git a/packages/g/ghc-wai-extra/ghc-wai-extra.changes b/packages/g/ghc-wai-extra/ghc-wai-extra.changes
index 441bfbae640..d2965248144 100644
--- a/packages/g/ghc-wai-extra/ghc-wai-extra.changes
+++ b/packages/g/ghc-wai-extra/ghc-wai-extra.changes
@@ -1,22 +1,25 @@
-------------------------------------------------------------------
-Wed May 15 00:48:13 UTC 2024 - Peter Simons
+Wed Nov 6 05:03:18 UTC 2024 - Peter Simons
-- Update wai-extra to version 3.1.15.
- Upstream has edited the change log file since the last release in
- a non-trivial way, i.e. they did more than just add a new entry
- at the top. You can review the file at:
- http://hackage.haskell.org/package/wai-extra-3.1.15/src/ChangeLog.md
+- Update wai-extra to version 3.1.16.
+ ## 3.1.16
+
+ * Substituted `data-default-class` for `data-default` [#1010](https://github.com/yesodweb/wai/pull/1010)
-------------------------------------------------------------------
-Fri Jan 12 06:29:36 UTC 2024 - Peter Simons
+Wed May 15 00:48:13 UTC 2024 - Peter Simons
-- Update wai-extra to version 3.1.14.
+- Update wai-extra to version 3.1.15.
## 3.1.15
* Request parsing throws an exception rather than `error`ing [#964](https://github.com/yesodweb/wai/pull/964):
* Add `RequestParseException` type and expose it from the `Network.Wai.Parse` module.
* Behavior change : `parseRequestBody` and `parseRequestBodyEx` (exported from `Network.Wai.Parse`) throw `RequestParseException` rather than calling `error`.
+-------------------------------------------------------------------
+Fri Jan 12 06:29:36 UTC 2024 - Peter Simons
+
+- Update wai-extra to version 3.1.14.
## 3.1.14.0
* `defaultGzipSettings` now exported to not depend on `Data.Default` [#959](https://github.com/yesodweb/wai/pull/959)
diff --git a/packages/g/ghc-wai-extra/ghc-wai-extra.spec b/packages/g/ghc-wai-extra/ghc-wai-extra.spec
index c2aea4c129b..c43e521f16c 100644
--- a/packages/g/ghc-wai-extra/ghc-wai-extra.spec
+++ b/packages/g/ghc-wai-extra/ghc-wai-extra.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 3.1.15
+Version: 3.1.16
Release: 0
Summary: Provides some basic WAI handlers and middleware
License: MIT
@@ -47,8 +47,8 @@ BuildRequires: ghc-containers-devel
BuildRequires: ghc-containers-prof
BuildRequires: ghc-cookie-devel
BuildRequires: ghc-cookie-prof
-BuildRequires: ghc-data-default-class-devel
-BuildRequires: ghc-data-default-class-prof
+BuildRequires: ghc-data-default-devel
+BuildRequires: ghc-data-default-prof
BuildRequires: ghc-directory-devel
BuildRequires: ghc-directory-prof
BuildRequires: ghc-fast-logger-devel
diff --git a/packages/g/ghc-wai-extra/wai-extra-3.1.15.tar.gz b/packages/g/ghc-wai-extra/wai-extra-3.1.15.tar.gz
deleted file mode 120000
index 08ad6cefbf0..00000000000
--- a/packages/g/ghc-wai-extra/wai-extra-3.1.15.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreif5dl563vr3o77sjfevkx4sn7ynez4yq75o6jyiotrtr3eqmnhila
\ No newline at end of file
diff --git a/packages/g/ghc-wai-extra/wai-extra-3.1.16.tar.gz b/packages/g/ghc-wai-extra/wai-extra-3.1.16.tar.gz
new file mode 120000
index 00000000000..5bb3e5552e1
--- /dev/null
+++ b/packages/g/ghc-wai-extra/wai-extra-3.1.16.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiasfkvxi3cepypu4l55uyuprg3qc3gisjclw5jz3c7vcndpaphwxq
\ No newline at end of file
diff --git a/packages/g/ghc-wai-logger/.files b/packages/g/ghc-wai-logger/.files
index d3fbffc3075..80bd124fc02 100644
Binary files a/packages/g/ghc-wai-logger/.files and b/packages/g/ghc-wai-logger/.files differ
diff --git a/packages/g/ghc-wai-logger/.rev b/packages/g/ghc-wai-logger/.rev
index ea9e5937050..f19c945e93c 100644
--- a/packages/g/ghc-wai-logger/.rev
+++ b/packages/g/ghc-wai-logger/.rev
@@ -47,4 +47,12 @@
Automatic submission by obs-autosubmit
1190827
+
+ 7a8df3a8262e44b5960863dda4724ce6
+ 2.5.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231488
+
diff --git a/packages/g/ghc-wai-logger/ghc-wai-logger.changes b/packages/g/ghc-wai-logger/ghc-wai-logger.changes
index 0fec903639e..8facd0fdaa5 100644
--- a/packages/g/ghc-wai-logger/ghc-wai-logger.changes
+++ b/packages/g/ghc-wai-logger/ghc-wai-logger.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Fri Oct 11 08:25:29 UTC 2024 - Peter Simons
+
+- Update wai-logger to version 2.5.0.
+ Upstream does not provide a change log file.
+
-------------------------------------------------------------------
Wed Jul 24 21:57:36 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-wai-logger/ghc-wai-logger.spec b/packages/g/ghc-wai-logger/ghc-wai-logger.spec
index 957b4ecae76..7cea33a21aa 100644
--- a/packages/g/ghc-wai-logger/ghc-wai-logger.spec
+++ b/packages/g/ghc-wai-logger/ghc-wai-logger.spec
@@ -19,7 +19,7 @@
%global pkg_name wai-logger
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 2.4.1
+Version: 2.5.0
Release: 0
Summary: A logging system for WAI
License: MIT
diff --git a/packages/g/ghc-wai-logger/wai-logger-2.4.1.tar.gz b/packages/g/ghc-wai-logger/wai-logger-2.4.1.tar.gz
deleted file mode 120000
index d5a15a805f1..00000000000
--- a/packages/g/ghc-wai-logger/wai-logger-2.4.1.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreie2m7v5tjymyoxm74emavrfoh7qjmx3dgduvypdfqdssod4m7vdlq
\ No newline at end of file
diff --git a/packages/g/ghc-wai-logger/wai-logger-2.5.0.tar.gz b/packages/g/ghc-wai-logger/wai-logger-2.5.0.tar.gz
new file mode 120000
index 00000000000..6eeddc28799
--- /dev/null
+++ b/packages/g/ghc-wai-logger/wai-logger-2.5.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreic47pjqo2y7sswkhpjn54dlcnvtnirng6lu6mohomvykjxl5q7bqq
\ No newline at end of file
diff --git a/packages/g/ghc-warp-tls/.files b/packages/g/ghc-warp-tls/.files
index 16cd2950781..2e3e536ded1 100644
Binary files a/packages/g/ghc-warp-tls/.files and b/packages/g/ghc-warp-tls/.files differ
diff --git a/packages/g/ghc-warp-tls/.rev b/packages/g/ghc-warp-tls/.rev
index 9a474d5dc7a..e042d3344a1 100644
--- a/packages/g/ghc-warp-tls/.rev
+++ b/packages/g/ghc-warp-tls/.rev
@@ -111,4 +111,12 @@
version update
1218578
+
+ 1f1eedca8b0797d3428ba064ea01f195
+ 3.4.12
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231490
+
diff --git a/packages/g/ghc-warp-tls/ghc-warp-tls.changes b/packages/g/ghc-warp-tls/ghc-warp-tls.changes
index 6baff9a218f..a0e804b8a7a 100644
--- a/packages/g/ghc-warp-tls/ghc-warp-tls.changes
+++ b/packages/g/ghc-warp-tls/ghc-warp-tls.changes
@@ -1,3 +1,33 @@
+-------------------------------------------------------------------
+Tue Nov 19 21:07:10 UTC 2024 - Peter Simons
+
+- Update warp-tls to version 3.4.12.
+ ## 3.4.12
+
+ * Rethrowing asynchronous exceptions
+ [#1013](https://github.com/yesodweb/wai/pull/1013)
+
+-------------------------------------------------------------------
+Thu Nov 7 01:55:24 UTC 2024 - Peter Simons
+
+- Update warp-tls to version 3.4.11.
+ ## 3.4.11
+
+ * Removing `unliftio`.
+
+ ## 3.4.10
+
+ * Removed `data-default` dependency entirely. Does now require `>= tls-2.1.3`.
+ [#1011](https://github.com/yesodweb/wai/pull/1011)
+
+ ## 3.4.9
+
+ * Using `timeout` for `handshake` to prevent thread leaks.
+
+ ## 3.4.8
+
+ * Substituted `data-default-class` for `data-default` [#1010](https://github.com/yesodweb/wai/pull/1010)
+
-------------------------------------------------------------------
Wed Sep 25 02:47:49 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-warp-tls/ghc-warp-tls.spec b/packages/g/ghc-warp-tls/ghc-warp-tls.spec
index aea4c50650f..acbf74a2037 100644
--- a/packages/g/ghc-warp-tls/ghc-warp-tls.spec
+++ b/packages/g/ghc-warp-tls/ghc-warp-tls.spec
@@ -19,7 +19,7 @@
%global pkg_name warp-tls
%global pkgver %{pkg_name}-%{version}
Name: ghc-%{pkg_name}
-Version: 3.4.7
+Version: 3.4.12
Release: 0
Summary: HTTP over TLS support for Warp via the TLS package
License: MIT
@@ -30,8 +30,6 @@ BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-bytestring-prof
-BuildRequires: ghc-data-default-class-devel
-BuildRequires: ghc-data-default-class-prof
BuildRequires: ghc-network-devel
BuildRequires: ghc-network-prof
BuildRequires: ghc-recv-devel
@@ -43,8 +41,6 @@ BuildRequires: ghc-tls-devel
BuildRequires: ghc-tls-prof
BuildRequires: ghc-tls-session-manager-devel
BuildRequires: ghc-tls-session-manager-prof
-BuildRequires: ghc-unliftio-devel
-BuildRequires: ghc-unliftio-prof
BuildRequires: ghc-wai-devel
BuildRequires: ghc-wai-prof
BuildRequires: ghc-warp-devel
diff --git a/packages/g/ghc-warp-tls/warp-tls-3.4.12.tar.gz b/packages/g/ghc-warp-tls/warp-tls-3.4.12.tar.gz
new file mode 120000
index 00000000000..99308435b9c
--- /dev/null
+++ b/packages/g/ghc-warp-tls/warp-tls-3.4.12.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreianvp2smpyu6sb4rx3nglkcwevrauk6wy5csxjbspdw25mlea75eu
\ No newline at end of file
diff --git a/packages/g/ghc-warp-tls/warp-tls-3.4.7.tar.gz b/packages/g/ghc-warp-tls/warp-tls-3.4.7.tar.gz
deleted file mode 120000
index 69a83154187..00000000000
--- a/packages/g/ghc-warp-tls/warp-tls-3.4.7.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreieoquledgbtgkueyouyzq2zuuns77pj7fmsflwsyfsfd2g6kuuike
\ No newline at end of file
diff --git a/packages/g/ghc-warp/.files b/packages/g/ghc-warp/.files
index b7948da0c52..fa90ba224bf 100644
Binary files a/packages/g/ghc-warp/.files and b/packages/g/ghc-warp/.files differ
diff --git a/packages/g/ghc-warp/.rev b/packages/g/ghc-warp/.rev
index 8e1b056af45..14cde58a692 100644
--- a/packages/g/ghc-warp/.rev
+++ b/packages/g/ghc-warp/.rev
@@ -143,4 +143,12 @@
Automatic submission by obs-autosubmit
1222961
+
+ 7bead20f92f62d02a355c663c893b452
+ 3.4.7
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231489
+
diff --git a/packages/g/ghc-warp/ghc-warp.changes b/packages/g/ghc-warp/ghc-warp.changes
index 47533ac678f..4c88c6e3a30 100644
--- a/packages/g/ghc-warp/ghc-warp.changes
+++ b/packages/g/ghc-warp/ghc-warp.changes
@@ -1,3 +1,33 @@
+-------------------------------------------------------------------
+Tue Dec 3 06:33:00 UTC 2024 - Peter Simons
+
+- Update warp to version 3.4.7.
+ ## 3.4.7
+
+ * Using time-manager >= 0.2.
+
+ ## 3.4.6
+
+ * Using `withHandle` of time-manager.
+
+-------------------------------------------------------------------
+Tue Nov 19 21:11:28 UTC 2024 - Peter Simons
+
+- Update warp to version 3.4.5.
+ ## 3.4.5
+
+ * Rethrowing asynchronous exceptions and preventing callsing
+ `connClose` twice.
+ [#1013](https://github.com/yesodweb/wai/pull/1013)
+
+-------------------------------------------------------------------
+Thu Nov 7 01:53:49 UTC 2024 - Peter Simons
+
+- Update warp to version 3.4.4.
+ ## 3.4.4
+
+ * Removing `unliftio`.
+
-------------------------------------------------------------------
Tue Oct 15 04:15:19 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-warp/ghc-warp.spec b/packages/g/ghc-warp/ghc-warp.spec
index ee91690a346..592aad5d27a 100644
--- a/packages/g/ghc-warp/ghc-warp.spec
+++ b/packages/g/ghc-warp/ghc-warp.spec
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 3.4.3
+Version: 3.4.7
Release: 0
Summary: A fast, light-weight web server for WAI applications
License: MIT
@@ -29,6 +29,8 @@ Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-array-prof
+BuildRequires: ghc-async-devel
+BuildRequires: ghc-async-prof
BuildRequires: ghc-auto-update-devel
BuildRequires: ghc-auto-update-prof
BuildRequires: ghc-base-devel
@@ -70,8 +72,6 @@ BuildRequires: ghc-time-manager-devel
BuildRequires: ghc-time-manager-prof
BuildRequires: ghc-unix-devel
BuildRequires: ghc-unix-prof
-BuildRequires: ghc-unliftio-devel
-BuildRequires: ghc-unliftio-prof
BuildRequires: ghc-vault-devel
BuildRequires: ghc-vault-prof
BuildRequires: ghc-wai-devel
diff --git a/packages/g/ghc-warp/warp-3.4.3.tar.gz b/packages/g/ghc-warp/warp-3.4.3.tar.gz
deleted file mode 120000
index c6dcfa9ed3a..00000000000
--- a/packages/g/ghc-warp/warp-3.4.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreiagggyaholiopemyp6bwpjunusk4si5z5lbmqbups6scoc6ugwpxq
\ No newline at end of file
diff --git a/packages/g/ghc-warp/warp-3.4.7.tar.gz b/packages/g/ghc-warp/warp-3.4.7.tar.gz
new file mode 120000
index 00000000000..d1ce8e4a3cf
--- /dev/null
+++ b/packages/g/ghc-warp/warp-3.4.7.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreih2zqbvy57jbtlhz3av53viu5qodppnzu554xtf6ouw4neld5it5a
\ No newline at end of file
diff --git a/packages/g/ghc-witherable/.files b/packages/g/ghc-witherable/.files
index 0e2a15ce54e..4a287fe3d94 100644
Binary files a/packages/g/ghc-witherable/.files and b/packages/g/ghc-witherable/.files differ
diff --git a/packages/g/ghc-witherable/.rev b/packages/g/ghc-witherable/.rev
index 9f4e6cf7bbb..66d83431379 100644
--- a/packages/g/ghc-witherable/.rev
+++ b/packages/g/ghc-witherable/.rev
@@ -39,4 +39,12 @@
Automatic submission by obs-autosubmit
1178304
+
+ b77debc17d16442e98a7aded26004eef
+ 0.5
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231491
+
diff --git a/packages/g/ghc-witherable/ghc-witherable.changes b/packages/g/ghc-witherable/ghc-witherable.changes
index 072d5fd4c10..67b6637b1ed 100644
--- a/packages/g/ghc-witherable/ghc-witherable.changes
+++ b/packages/g/ghc-witherable/ghc-witherable.changes
@@ -1,3 +1,15 @@
+-------------------------------------------------------------------
+Fri Aug 2 08:05:58 UTC 2024 - Peter Simons
+
+- Update witherable to version 0.5 revision 1.
+ 0.5
+ ---
+
+ * `FilterableWithIndex` is a superclass of `WitherableWithIndex`.
+ * Remove deprecated `Data.Witherable` module. Use `Witherable` module.
+ * Relax `FilterableWithIndex` composition law so list-like instances are lawful.
+ * Add `drain :: f a -> f b` method (with default implementation `drain = mapMaybe (Const Nothing)`) to the `Filterable`.
+
-------------------------------------------------------------------
Thu May 16 22:45:35 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-witherable/ghc-witherable.spec b/packages/g/ghc-witherable/ghc-witherable.spec
index c7a0ae16733..4b902cd922a 100644
--- a/packages/g/ghc-witherable/ghc-witherable.spec
+++ b/packages/g/ghc-witherable/ghc-witherable.spec
@@ -20,13 +20,13 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.4.2
+Version: 0.5
Release: 0
Summary: Filterable traversable
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/5.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-orphans-devel
diff --git a/packages/g/ghc-witherable/witherable-0.4.2.tar.gz b/packages/g/ghc-witherable/witherable-0.4.2.tar.gz
deleted file mode 120000
index e521d01a5cc..00000000000
--- a/packages/g/ghc-witherable/witherable-0.4.2.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreidzbuv3e5bigqmroo6ysecehgdam5njiehxb4qzcklt5tmqtc2baq
\ No newline at end of file
diff --git a/packages/g/ghc-witherable/witherable-0.5.tar.gz b/packages/g/ghc-witherable/witherable-0.5.tar.gz
new file mode 120000
index 00000000000..f9490d0f499
--- /dev/null
+++ b/packages/g/ghc-witherable/witherable-0.5.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiciingmdzdfwe6lyajtvegd5qgye7etw56oswah7yfdrns7jemm2e
\ No newline at end of file
diff --git a/packages/g/ghc-witherable/witherable.cabal b/packages/g/ghc-witherable/witherable.cabal
index e6d67f2e3d3..46300240e4e 100644
--- a/packages/g/ghc-witherable/witherable.cabal
+++ b/packages/g/ghc-witherable/witherable.cabal
@@ -1,56 +1,56 @@
-cabal-version: 2.4
-name: witherable
-version: 0.4.2
-x-revision: 5
-synopsis: filterable traversable
-description: A stronger variant of `traverse` which can remove elements and generalised mapMaybe, catMaybes, filter
-homepage: https://github.com/fumieval/witherable
-license: BSD-3-Clause
-license-file: LICENSE
-author: Fumiaki Kinoshita
-maintainer: Fumiaki Kinoshita
-copyright: Copyright (c) 2014 Fumiaki Kinoshita
-category: Data
-build-type: Simple
-extra-source-files: CHANGELOG.md
-tested-with: GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.1 || ==9.2.1
-
-source-repository head
- type: git
- location: https://github.com/fumieval/witherable.git
- subdir: witherable
-
-library
- exposed-modules:
- Witherable
- Data.Witherable
- build-depends: base >=4.9 && <5,
- base-orphans >=0.8.4 && <0.10,
- containers >=0.5.7.1 && <0.8,
- hashable >=1.2.7.0 && <1.5,
- transformers >=0.5.2.0 && <0.7,
- unordered-containers >=0.2.12.0 && <0.3,
- vector >=0.12.2.0 && <0.14,
- indexed-traversable >=0.1.1 && <0.2,
- indexed-traversable-instances >=0.1 && <0.2
- hs-source-dirs: src
- ghc-options: -Wall -Wcompat
- default-language: Haskell2010
-
-test-suite witherable-tests
- type: exitcode-stdio-1.0
- main-is: tests.hs
- hs-source-dirs: tests
- ghc-options: -Wall -Wcompat
- default-language: Haskell2010
- build-depends: base,
- witherable,
- containers,
- hashable,
- QuickCheck >=2.14.2,
- quickcheck-instances,
- tasty,
- tasty-quickcheck,
- transformers,
- unordered-containers,
- vector
+cabal-version: 2.4
+name: witherable
+version: 0.5
+x-revision: 1
+synopsis: filterable traversable
+description: A stronger variant of `traverse` which can remove elements and generalised mapMaybe, catMaybes, filter
+homepage: https://github.com/fumieval/witherable
+license: BSD-3-Clause
+license-file: LICENSE
+author: Fumiaki Kinoshita
+maintainer: Fumiaki Kinoshita
+copyright: Copyright (c) 2014 Fumiaki Kinoshita
+category: Data
+build-type: Simple
+extra-source-files: CHANGELOG.md
+tested-with: GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 ||
+ ==9.0.1 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 || ==9.10.1
+
+source-repository head
+ type: git
+ location: https://github.com/fumieval/witherable.git
+ subdir: witherable
+
+library
+ exposed-modules:
+ Witherable
+ build-depends: base >=4.9 && <5,
+ base-orphans >=0.8.4 && <0.10,
+ containers >=0.5.7.1 && <0.8,
+ hashable >=1.2.7.0 && <1.6,
+ transformers >=0.5.2.0 && <0.7,
+ unordered-containers >=0.2.12.0 && <0.3,
+ vector >=0.12.2.0 && <0.14,
+ indexed-traversable >=0.1.1 && <0.2,
+ indexed-traversable-instances >=0.1 && <0.2
+ hs-source-dirs: src
+ ghc-options: -Wall -Wcompat
+ default-language: Haskell2010
+
+test-suite witherable-tests
+ type: exitcode-stdio-1.0
+ main-is: tests.hs
+ hs-source-dirs: tests
+ ghc-options: -Wall -Wcompat
+ default-language: Haskell2010
+ build-depends: base,
+ witherable,
+ containers,
+ hashable,
+ QuickCheck >=2.14.2,
+ quickcheck-instances,
+ tasty,
+ tasty-quickcheck,
+ transformers,
+ unordered-containers,
+ vector
diff --git a/packages/g/ghc-xml-conduit/.files b/packages/g/ghc-xml-conduit/.files
index a7535f9963f..23dc04a869b 100644
Binary files a/packages/g/ghc-xml-conduit/.files and b/packages/g/ghc-xml-conduit/.files differ
diff --git a/packages/g/ghc-xml-conduit/.rev b/packages/g/ghc-xml-conduit/.rev
index f14f9b80091..834b1f6e4d8 100644
--- a/packages/g/ghc-xml-conduit/.rev
+++ b/packages/g/ghc-xml-conduit/.rev
@@ -95,4 +95,12 @@
version update
1094456
+
+ 8a12ed41e2ac65be8569586100c8e710
+ 1.9.1.4
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231492
+
diff --git a/packages/g/ghc-xml-conduit/ghc-xml-conduit.changes b/packages/g/ghc-xml-conduit/ghc-xml-conduit.changes
index 827b6c22494..e46f2167c89 100644
--- a/packages/g/ghc-xml-conduit/ghc-xml-conduit.changes
+++ b/packages/g/ghc-xml-conduit/ghc-xml-conduit.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Mon Nov 4 09:15:30 UTC 2024 - Peter Simons
+
+- Update xml-conduit to version 1.9.1.4.
+ Upstream has not updated the file "ChangeLog.md" since the last
+ release.
+
-------------------------------------------------------------------
Wed Jun 21 10:51:42 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-xml-conduit/ghc-xml-conduit.spec b/packages/g/ghc-xml-conduit/ghc-xml-conduit.spec
index 4bbf08396ad..1ea7f27948f 100644
--- a/packages/g/ghc-xml-conduit/ghc-xml-conduit.spec
+++ b/packages/g/ghc-xml-conduit/ghc-xml-conduit.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc-xml-conduit
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.9.1.3
+Version: 1.9.1.4
Release: 0
Summary: Pure-Haskell utilities for dealing with XML with the conduit package
License: MIT
@@ -46,8 +46,8 @@ BuildRequires: ghc-conduit-extra-prof
BuildRequires: ghc-conduit-prof
BuildRequires: ghc-containers-devel
BuildRequires: ghc-containers-prof
-BuildRequires: ghc-data-default-class-devel
-BuildRequires: ghc-data-default-class-prof
+BuildRequires: ghc-data-default-devel
+BuildRequires: ghc-data-default-prof
BuildRequires: ghc-deepseq-devel
BuildRequires: ghc-deepseq-prof
BuildRequires: ghc-resourcet-devel
diff --git a/packages/g/ghc-xml-conduit/xml-conduit-1.9.1.3.tar.gz b/packages/g/ghc-xml-conduit/xml-conduit-1.9.1.3.tar.gz
deleted file mode 120000
index a29d8fab233..00000000000
--- a/packages/g/ghc-xml-conduit/xml-conduit-1.9.1.3.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafkreigy5eljkywhdspgxrqw6fmdf5jbu2gdmkve7qbwqj2ivaexkxy36q
\ No newline at end of file
diff --git a/packages/g/ghc-xml-conduit/xml-conduit-1.9.1.4.tar.gz b/packages/g/ghc-xml-conduit/xml-conduit-1.9.1.4.tar.gz
new file mode 120000
index 00000000000..877570427fe
--- /dev/null
+++ b/packages/g/ghc-xml-conduit/xml-conduit-1.9.1.4.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreiaetmgqgef72b5oghkdcx4w7cobpkesxfn5bvqqfqka2bqfwq67ju
\ No newline at end of file
diff --git a/packages/g/ghc-yaml/.files b/packages/g/ghc-yaml/.files
index 105d2ec0dae..d410d9bc854 100644
Binary files a/packages/g/ghc-yaml/.files and b/packages/g/ghc-yaml/.files differ
diff --git a/packages/g/ghc-yaml/.rev b/packages/g/ghc-yaml/.rev
index 4392cb8e1ae..65649150e0a 100644
--- a/packages/g/ghc-yaml/.rev
+++ b/packages/g/ghc-yaml/.rev
@@ -388,4 +388,12 @@
Automatic submission by obs-autosubmit
1098253
+
+ 71d653538dcc7aba03ed6c8e781f792a
+ 0.11.11.2
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231493
+
diff --git a/packages/g/ghc-yaml/ghc-yaml.changes b/packages/g/ghc-yaml/ghc-yaml.changes
index 241c0378733..6859c3d8ae0 100644
--- a/packages/g/ghc-yaml/ghc-yaml.changes
+++ b/packages/g/ghc-yaml/ghc-yaml.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Dec 16 07:58:52 UTC 2024 - Peter Simons
+
+- Disable building of the examples and yaml executable.
+
-------------------------------------------------------------------
Tue Jul 4 04:42:08 UTC 2023 - Peter Simons
diff --git a/packages/g/ghc-yaml/ghc-yaml.spec b/packages/g/ghc-yaml/ghc-yaml.spec
index 081977b2292..d1932390f7b 100644
--- a/packages/g/ghc-yaml/ghc-yaml.spec
+++ b/packages/g/ghc-yaml/ghc-yaml.spec
@@ -27,6 +27,7 @@ License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
+BuildRequires: chrpath
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-aeson-prof
@@ -48,6 +49,10 @@ BuildRequires: ghc-libyaml-devel
BuildRequires: ghc-libyaml-prof
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-mtl-prof
+BuildRequires: ghc-optparse-applicative-devel
+BuildRequires: ghc-optparse-applicative-prof
+BuildRequires: ghc-raw-strings-qq-devel
+BuildRequires: ghc-raw-strings-qq-prof
BuildRequires: ghc-resourcet-devel
BuildRequires: ghc-resourcet-prof
BuildRequires: ghc-rpm-macros
@@ -73,8 +78,6 @@ BuildRequires: ghc-hspec-devel
BuildRequires: ghc-hspec-prof
BuildRequires: ghc-mockery-devel
BuildRequires: ghc-mockery-prof
-BuildRequires: ghc-raw-strings-qq-devel
-BuildRequires: ghc-raw-strings-qq-prof
BuildRequires: ghc-temporary-devel
BuildRequires: ghc-temporary-prof
%endif
@@ -114,10 +117,12 @@ This package provides the Haskell %{pkg_name} profiling library.
cp -p %{SOURCE1} %{pkg_name}.cabal
%build
+%define cabal_configure_options -f-no-examples -f-no-exe
%ghc_lib_build
%install
%ghc_lib_install
+%ghc_fix_rpath %{pkg_name}-%{version}
%check
%cabal_test
@@ -130,6 +135,9 @@ cp -p %{SOURCE1} %{pkg_name}.cabal
%files -f %{name}.files
%license LICENSE
+%{_bindir}/examples
+%{_bindir}/json2yaml
+%{_bindir}/yaml2json
%files devel -f %{name}-devel.files
%doc ChangeLog.md README.md
diff --git a/packages/g/ghc-zlib/.files b/packages/g/ghc-zlib/.files
index 5088c9adec1..56335bdded4 100644
Binary files a/packages/g/ghc-zlib/.files and b/packages/g/ghc-zlib/.files differ
diff --git a/packages/g/ghc-zlib/.rev b/packages/g/ghc-zlib/.rev
index 02d83e32337..e0fa5470ce8 100644
--- a/packages/g/ghc-zlib/.rev
+++ b/packages/g/ghc-zlib/.rev
@@ -247,4 +247,12 @@
Automatic submission by obs-autosubmit
1184206
+
+ a33a66dafce722db31395eb57005e734
+ 0.7.1.0
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231494
+
diff --git a/packages/g/ghc-zlib/ghc-zlib.changes b/packages/g/ghc-zlib/ghc-zlib.changes
index 25f1855f3f7..0a97738f251 100644
--- a/packages/g/ghc-zlib/ghc-zlib.changes
+++ b/packages/g/ghc-zlib/ghc-zlib.changes
@@ -1,3 +1,17 @@
+-------------------------------------------------------------------
+Sun Nov 24 20:39:41 UTC 2024 - Peter Simons
+
+- Update zlib to version 0.7.1.0 revision 2.
+ Upstream has revised the Cabal build instructions on Hackage.
+
+-------------------------------------------------------------------
+Wed Jun 26 20:42:43 UTC 2024 - Peter Simons
+
+- Update zlib to version 0.7.1.0 revision 1.
+ Upstream has renamed and modified the change log file(s) in this
+ release. Unfortunately, the automatic updater cannot reliable
+ determine relevant entries for this release.
+
-------------------------------------------------------------------
Sun Jun 23 13:09:06 UTC 2024 - Peter Simons
diff --git a/packages/g/ghc-zlib/ghc-zlib.spec b/packages/g/ghc-zlib/ghc-zlib.spec
index b0e8b2ff270..bb48aee0d7e 100644
--- a/packages/g/ghc-zlib/ghc-zlib.spec
+++ b/packages/g/ghc-zlib/ghc-zlib.spec
@@ -20,20 +20,21 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.6.3.0
+Version: 0.7.1.0
Release: 0
Summary: Compression and decompression in the gzip and zlib formats
License: BSD-2-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/5.cabal#/%{pkg_name}.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-rpm-macros
-BuildRequires: zlib-devel
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(zlib)
ExcludeArch: %{ix86}
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
@@ -58,7 +59,8 @@ set.
Summary: Haskell %{pkg_name} library development files
Requires: %{name} = %{version}-%{release}
Requires: ghc-compiler = %{ghc_version}
-Requires: zlib-devel
+Requires: pkgconfig
+Requires: pkgconfig(zlib)
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
@@ -104,7 +106,7 @@ cp -p %{SOURCE1} %{pkg_name}.cabal
%license LICENSE
%files devel -f %{name}-devel.files
-%doc README.md changelog examples
+%doc README.md changelog.md examples
%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
%license LICENSE
diff --git a/packages/g/ghc-zlib/zlib-0.6.3.0.tar.gz b/packages/g/ghc-zlib/zlib-0.6.3.0.tar.gz
deleted file mode 120000
index 5c3837f1318..00000000000
--- a/packages/g/ghc-zlib/zlib-0.6.3.0.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeig3r4joispefztsggizztp5bkd53n6m6fdew467muyc2zsq6psiqa
\ No newline at end of file
diff --git a/packages/g/ghc-zlib/zlib-0.7.1.0.tar.gz b/packages/g/ghc-zlib/zlib-0.7.1.0.tar.gz
new file mode 120000
index 00000000000..12d7461b494
--- /dev/null
+++ b/packages/g/ghc-zlib/zlib-0.7.1.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafkreido3u4lnoa57djhjfjkvbnp7juwrlugwirr4hkcttulzeed42svxq
\ No newline at end of file
diff --git a/packages/g/ghc-zlib/zlib.cabal b/packages/g/ghc-zlib/zlib.cabal
index d716fa51788..467d3b1376c 100644
--- a/packages/g/ghc-zlib/zlib.cabal
+++ b/packages/g/ghc-zlib/zlib.cabal
@@ -1,7 +1,7 @@
cabal-version: >= 1.10
name: zlib
-version: 0.6.3.0
-x-revision: 5
+version: 0.7.1.0
+x-revision: 2
copyright: (c) 2006-2016 Duncan Coutts
license: BSD3
@@ -23,13 +23,7 @@ description: This package provides a pure interface for compressing and
provides access to the full zlib feature set.
build-type: Simple
-tested-with: GHC == 7.0.4
- , GHC == 7.2.2
- , GHC == 7.4.2
- , GHC == 7.6.3
- , GHC == 7.8.4
- , GHC == 7.10.3
- , GHC == 8.0.2
+tested-with: GHC == 8.0.2
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
@@ -37,16 +31,15 @@ tested-with: GHC == 7.0.4
, GHC == 8.10.7
, GHC == 9.0.2
, GHC == 9.2.8
- , GHC == 9.4.7
- , GHC == 9.6.3
- , GHC == 9.8.1
+ , GHC == 9.4.8
+ , GHC == 9.6.5
+ , GHC == 9.8.2
+ , GHC == 9.10.1
-extra-source-files: changelog
+extra-source-files: changelog.md
README.md
- -- zlib C sources (for Windows)
- cbits/crc32.h cbits/inffast.h cbits/inflate.h
- cbits/trees.h cbits/deflate.h cbits/inffixed.h
- cbits/inftrees.h cbits/zutil.h cbits/gzguts.h
+ -- extra headers
+ cbits-extra/hs-zlib.h
-- test data files
test/data/bad-crc.gz test/data/custom-dict.zlib
test/data/custom-dict.zlib-dict test/data/hello.gz
@@ -59,23 +52,23 @@ source-repository head
location: https://github.com/haskell/zlib.git
flag non-blocking-ffi
- default: False
+ default: True
manual: True
description: The (de)compression calls can sometimes take a long time, which
prevents other Haskell threads running. Enabling this flag
avoids this unfairness, but with greater overall cost.
flag pkg-config
- default: False
- manual: True
- description: Use @pkg-config(1)@ to locate foreign @zlib@ library.
+ default: True
+ manual: False
+ description: Use @pkg-config@ executable to locate foreign @zlib@ library.
flag bundled-c-zlib
default: False
manual: True
- description: Use the bundled zlib C sources. Requires pkg-config to be False.
- For windows, this is the default.
-
+ description: Use @zlib-clib@ package with C sources instead of a system library.
+ C sources are used for GHCJS and WASM unconditionally
+ and on Windows unless @pkg-config@ flag is on.
library
exposed-modules: Codec.Compression.GZip,
@@ -85,45 +78,46 @@ library
other-modules: Codec.Compression.Zlib.Stream,
Codec.Compression.Zlib.ByteStringCompat
- if impl(ghc < 7)
- default-language: Haskell98
- default-extensions: PatternGuards
- else
- default-language: Haskell2010
+ default-language: Haskell2010
other-extensions: CPP, ForeignFunctionInterface, RankNTypes, BangPatterns,
DeriveDataTypeable
- if impl(ghc >= 7.2)
- other-extensions: DeriveGeneric
- if impl(ghc >= 7.6)
- other-extensions: CApiFFI
+ other-extensions: DeriveGeneric
+ other-extensions: CApiFFI
- build-depends: base >= 4 && < 4.21,
+ build-depends: base >= 4.9 && < 4.22,
bytestring >= 0.9 && < 0.13
- if impl(ghc >= 7.0 && < 8.0.3)
- build-depends: ghc-prim
- includes: zlib.h
+ build-tools: hsc2hs >= 0.67 && < 0.69
+ if os(windows) && impl(ghc < 8.4)
+ build-tools: hsc2hs < 0.68.5
+ -- GHC 7 ships hsc2hs-0.67
+
+ -- use `includes:` to include them when compiling
+ includes: zlib.h hs-zlib.h
+ include-dirs: cbits-extra
+ c-sources: cbits-extra/hs-zlib.c
ghc-options: -Wall -fwarn-tabs
if flag(non-blocking-ffi)
cpp-options: -DNON_BLOCKING_FFI
- if flag(pkg-config) && !impl(ghcjs) && !os(ghcjs)
- -- NB: pkg-config is available on windows as well when using msys2
- pkgconfig-depends: zlib
+
+ -- Cross-platform builds (such as JS and WASM) must have access
+ -- to C sources, so using zlib-clib unconditionally.
+ --
+ -- On Windows, zlib is shipped as part of GHC's mingw/lib directory,
+ -- which GHC always includes in its linker search path. However,
+ -- there is no guarantee that zlib1.dll (the corresponding shared library)
+ -- will be available on the user's PATH at runtime, making it risky to depend upon
+ -- (see https://github.com/haskell/zlib/issues/65 for what can go wrong).
+ -- Thus, we resort to zlib-clib unless pkg-config is available.
+ if flag(bundled-c-zlib) || impl(ghcjs) || os(ghcjs) || arch(wasm32) || (!flag(pkg-config) && os(windows))
+ build-depends: zlib-clib < 2
else
- -- don't use pkg-config
- if !os(windows) && !flag(bundled-c-zlib) && !impl(ghcjs) && !os(ghcjs)
- -- Normally we use the the standard system zlib.
- extra-libraries: z
+ if flag(pkg-config)
+ -- NB: pkg-config is available on windows as well when using msys2
+ pkgconfig-depends: zlib
else
- -- However for the benefit of users of Windows (which does not have zlib
- -- by default) we bundle a complete copy of the C sources of zlib-1.2.11
- c-sources: cbits/adler32.c cbits/compress.c cbits/crc32.c
- cbits/deflate.c cbits/infback.c
- cbits/inffast.c cbits/inflate.c cbits/inftrees.c
- cbits/trees.c cbits/uncompr.c cbits/zutil.c
- include-dirs: cbits
- install-includes: zlib.h zconf.h
+ extra-libraries: z
test-suite tests
type: exitcode-stdio-1.0
@@ -136,5 +130,5 @@ test-suite tests
build-depends: base, bytestring, zlib,
QuickCheck == 2.*,
tasty >= 0.8 && < 1.6,
- tasty-quickcheck >= 0.8 && < 0.12
+ tasty-quickcheck >= 0.8 && < 1
ghc-options: -Wall
diff --git a/packages/g/ghc/.files b/packages/g/ghc/.files
index 6d942e7f4dc..e79854beee3 100644
Binary files a/packages/g/ghc/.files and b/packages/g/ghc/.files differ
diff --git a/packages/g/ghc/.rev b/packages/g/ghc/.rev
index d843af4c559..ccd4c7f6297 100644
--- a/packages/g/ghc/.rev
+++ b/packages/g/ghc/.rev
@@ -1111,4 +1111,12 @@ Please wait for SR #249835 (ghc-bootstrap).
version update
1218536
+
+ 8689b3c208a1fea3a6da907ec31f84ed
+ 9.10.1
+
+ dimstar_suse
+ version update for ghc-9.10.1
+ 1231410
+
diff --git a/packages/g/ghc/9_4_4-bootstrap-sources.tar.gz b/packages/g/ghc/9_4_4-bootstrap-sources.tar.gz
deleted file mode 120000
index d85821e94f4..00000000000
--- a/packages/g/ghc/9_4_4-bootstrap-sources.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeif2nm4heyf7jsf5ve3r24sveam62c3fsjrk7mcfyeqqlg5pvjknty
\ No newline at end of file
diff --git a/packages/g/ghc/9_8_2-bootstrap-sources.tar.gz b/packages/g/ghc/9_8_2-bootstrap-sources.tar.gz
new file mode 120000
index 00000000000..7558207aacb
--- /dev/null
+++ b/packages/g/ghc/9_8_2-bootstrap-sources.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeidgqzunwjoj7iave6psk5ttayc7kietaa5iyzawgqa7dgulkcnpiu
\ No newline at end of file
diff --git a/packages/g/ghc/cabal-riscv64.patch b/packages/g/ghc/cabal-riscv64.patch
deleted file mode 100644
index c8e8c1b440b..00000000000
--- a/packages/g/ghc/cabal-riscv64.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Index: ghc-9.4.5/libraries/Cabal/Cabal-syntax/src/Distribution/System.hs
-===================================================================
---- ghc-9.4.5.orig/libraries/Cabal/Cabal-syntax/src/Distribution/System.hs
-+++ ghc-9.4.5/libraries/Cabal/Cabal-syntax/src/Distribution/System.hs
-@@ -159,7 +159,7 @@ buildOS = classifyOS Permissive System.I
-
- -- | These are the known Arches: I386, X86_64, PPC, PPC64, Sparc,
- -- Arm, AArch64, Mips, SH, IA64, S390, S390X, Alpha, Hppa, Rs6000,
---- M68k, Vax, JavaScript and Wasm32.
-+-- M68k, Vax, RISCV64, JavaScript and Wasm32.
- --
- -- The following aliases can also be used:
- -- * PPC alias: powerpc
-@@ -174,6 +174,7 @@ data Arch = I386 | X86_64 | PPC | PPC
- | IA64 | S390 | S390X
- | Alpha | Hppa | Rs6000
- | M68k | Vax
-+ | RISCV64
- | JavaScript
- | Wasm32
- | OtherArch String
-@@ -189,6 +190,7 @@ knownArches = [I386, X86_64, PPC, PPC64,
- ,IA64, S390, S390X
- ,Alpha, Hppa, Rs6000
- ,M68k, Vax
-+ ,RISCV64
- ,JavaScript
- ,Wasm32]
-
-Index: ghc-9.4.5/libraries/Cabal/Cabal/src/Distribution/Simple/PreProcess.hs
-===================================================================
---- ghc-9.4.5.orig/libraries/Cabal/Cabal/src/Distribution/Simple/PreProcess.hs
-+++ ghc-9.4.5/libraries/Cabal/Cabal/src/Distribution/Simple/PreProcess.hs
-@@ -729,6 +729,7 @@ platformDefines lbi =
- Rs6000 -> ["rs6000"]
- M68k -> ["m68k"]
- Vax -> ["vax"]
-+ RISCV64 -> ["riscv64"]
- JavaScript -> ["javascript"]
- Wasm32 -> ["wasm32"]
- OtherArch _ -> []
diff --git a/packages/g/ghc/ghc-9.10.1-src.tar.xz b/packages/g/ghc/ghc-9.10.1-src.tar.xz
new file mode 120000
index 00000000000..063878f180f
--- /dev/null
+++ b/packages/g/ghc/ghc-9.10.1-src.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeig26bsienak3iroahs6if7ewpd3gen6dt54lp4wfp33bm2ygx7nee
\ No newline at end of file
diff --git a/packages/g/ghc/ghc-9.8.3-src.tar.xz b/packages/g/ghc/ghc-9.8.3-src.tar.xz
deleted file mode 120000
index 992b8f20d75..00000000000
--- a/packages/g/ghc/ghc-9.8.3-src.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiaow6kxwokhkfvll5gsn5j2pkidv3yftyblmand24pdb3u53vz4he
\ No newline at end of file
diff --git a/packages/g/ghc/ghc-Cabal-install-PATH-warning.patch b/packages/g/ghc/ghc-Cabal-install-PATH-warning.patch
index fa7ced59253..8c2b9c913c5 100644
--- a/packages/g/ghc/ghc-Cabal-install-PATH-warning.patch
+++ b/packages/g/ghc/ghc-Cabal-install-PATH-warning.patch
@@ -1,14 +1,18 @@
-Index: ghc-9.2.0.20210331/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs
+Index: ghc-9.10.1/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs
===================================================================
---- ghc-9.2.0.20210331.orig/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs
-+++ ghc-9.2.0.20210331/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs
-@@ -206,8 +206,7 @@ copyComponent verbosity pkg_descr lbi (C
- ++ " in " ++ binPref)
- inPath <- isInSearchPath binPref
- when (not inPath) $
-- warn verbosity ("The directory " ++ binPref
-- ++ " is not in the system search path.")
-+ warn verbosity ("Executable installed in " ++ binPref)
- case compilerFlavor (compiler lbi) of
- GHC -> GHC.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
- GHCJS -> GHCJS.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
+--- ghc-9.10.1.orig/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs
++++ ghc-9.10.1/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs
+@@ -261,12 +261,7 @@ copyComponent verbosity pkg_descr lbi (C
+ )
+ inPath <- isInSearchPath binPref
+ when (not inPath) $
+- warn
+- verbosity
+- ( "The directory "
+- ++ binPref
+- ++ " is not in the system search path."
+- )
++ warn verbosity ("Executable installed in " ++ binPref)
+ case compilerFlavor (compiler lbi) of
+ GHC -> GHC.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
+ GHCJS -> GHCJS.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
diff --git a/packages/g/ghc/ghc-with-interpreter.patch b/packages/g/ghc/ghc-with-interpreter.patch
deleted file mode 100644
index 1455d4f32e8..00000000000
--- a/packages/g/ghc/ghc-with-interpreter.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: ghc-9.4.5/hadrian/src/Oracles/Setting.hs
-===================================================================
---- ghc-9.4.5.orig/hadrian/src/Oracles/Setting.hs
-+++ ghc-9.4.5/hadrian/src/Oracles/Setting.hs
-@@ -292,7 +292,8 @@ ghcWithInterpreter = do
- , "darwin", "kfreebsdgnu" ]
- goodArch <- anyTargetArch [ "i386", "x86_64", "powerpc"
- , "arm", "aarch64", "s390x"
-- , "powerpc64", "powerpc64le" ]
-+ , "powerpc64", "powerpc64le"
-+ , "riscv64" ]
- return $ goodOs && goodArch
-
- -- | Variants of the ARM architecture.
diff --git a/packages/g/ghc/ghc.changes b/packages/g/ghc/ghc.changes
index dccefe1e31e..3afaf890678 100644
--- a/packages/g/ghc/ghc.changes
+++ b/packages/g/ghc/ghc.changes
@@ -1,3 +1,26 @@
+-------------------------------------------------------------------
+Mon Nov 25 14:46:09 UTC 2024 - Andreas Schwab
+
+- riscv64-ncg.patch: Backport of MR 13105, NCG for RISCV64
+- Don't require on llvm on riscv64
+
+-------------------------------------------------------------------
+Fri Nov 22 14:54:22 UTC 2024 - Ondřej Súkup
+
+- Update to version 9.10.1. The change log for this release is at:
+ https://downloads.haskell.org/~ghc/9.10.1/docs/users_guide/9.10.1-notes.html
+- use ghc-bootstrap 9.8.2
+- enable numa on all architectures
+- cleanup dead parts of specfile
+- patch changes:
+ * added:
+ - hadrian-9.10-deps.patch
+ - os-string-be.patch
+ - ppc64le-miscompilation.patch
+ * dropped:
+ - cabal-riscv64.patch
+ - ghc-with-interpreter.patch
+
-------------------------------------------------------------------
Mon Oct 21 10:36:19 UTC 2024 - Ondřej Súkup
diff --git a/packages/g/ghc/ghc.spec b/packages/g/ghc/ghc.spec
index add384b44e7..4de1025f51f 100644
--- a/packages/g/ghc/ghc.spec
+++ b/packages/g/ghc/ghc.spec
@@ -1,7 +1,7 @@
#
# spec file for package ghc
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -11,31 +11,19 @@
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+%define full_version 9.10.1
+%define short_version 9.10.1
-%define full_version 9.8.3
-%define short_version 9.8.3
-
-%ifnarch s390x
-%define with_libnuma 1
-%else
-%define with_libnuma 0
-%endif
-
-%global llvm_major 14
+%global llvm_major 15
# conditionals
-
# disable prof, docs, perf build
# bcond_with for production builds: disable quick build
%bcond_with quickbuild
-# make sure ghc libraries' ABI hashes unchanged (ghcX.Y not supported yet)
-%bcond_with abicheck
-
# bcond_without for production builds: use Hadrian buildsystem
%bcond_without hadrian
@@ -70,14 +58,15 @@
%{?with_haddock:%bcond_without manual}
%endif
-%global ghc_llvm_archs s390x riscv64
+%global ghc_llvm_archs s390x
%global ghc_unregisterized_arches noarch
-%global base_ver 4.19.2.0
+%global base_ver 4.20.0.0
%global ghc_compact_ver 0.1.0.0
-%global hpc_ver 0.7.0.0
+%global hpc_ver 0.7.0.1
%global hsc2hs_ver 0.68.8
%global ghc_bignum_ver 1.3
+%global xhtml_ver 3000.2.2.1
Name: ghc
Version: %{short_version}
@@ -87,24 +76,31 @@ License: BSD-3-Clause
URL: https://www.haskell.org/ghc/
Source: https://downloads.haskell.org/~ghc/%{full_version}/ghc-%{version}-src.tar.xz
Source2: ghc-rpmlintrc
-Source4: 9_4_4-bootstrap-sources.tar.gz
+Source4: 9_8_2-bootstrap-sources.tar.gz
Source5: ghc-pkg.man
Source6: haddock.man
Source7: runghc.man
+
Patch1: ghc-gen_contents_index-haddock-path.patch
# https://ghc.haskell.org/trac/ghc/ticket/15689
Patch2: ghc-Cabal-install-PATH-warning.patch
+
# PATCH-FIX-UPSTREAM Disable-unboxed-arrays.patch ptrommler@icloud.com -- Do not use unboxed arrays on big-endian platforms. See Haskell Trac #15411.
Patch3: Disable-unboxed-arrays.patch
-# PATCH-FIX-UPSTREAM Hadrian: enable GHCi support on riscv64 (dd38aca95a)
-Patch100: ghc-with-interpreter.patch
-# PATCH-FIX-UPSTREAM libraries/Cabal: Add support for the 64-bit RISC-V architecture (d89526f98)
-Patch101: cabal-riscv64.patch
+
+Patch5: ppc64le-miscompilation.patch
+
+Patch100: os-string-be.patch
Patch200: ghc-hadrian-s390x-rts--qg.patch
+Patch300: hadrian-9.10-deps.patch
+
+# Backport of MR 13105 (NCG for RISCV64)
+Patch243: riscv64-ncg.patch
+
BuildRequires: binutils-devel
BuildRequires: gcc-PIE
BuildRequires: gcc-c++
-BuildRequires: ghc-bootstrap >= 9.4
+BuildRequires: ghc-bootstrap >= 9.8
BuildRequires: ghc-bootstrap-helpers >= 1.3
BuildRequires: ghc-rpm-macros-extra => 2.6.1
BuildRequires: glibc-devel
@@ -112,6 +108,7 @@ BuildRequires: gmp-devel
BuildRequires: libdw-devel
BuildRequires: libelf-devel
BuildRequires: libffi-devel
+BuildRequires: libdwarf-devel
BuildRequires: libtool
%ifarch %{ghc_llvm_archs}
BuildRequires: clang%{llvm_major}
@@ -138,9 +135,7 @@ Recommends: %{name}-compiler-default = %{version}-%{release}
%if %{with manual}
BuildRequires: python3-Sphinx
%endif
-%if %{with_libnuma}
BuildRequires: libnuma-devel
-%endif
%if %{with haddock}
Suggests: %{name}-doc = %{version}-%{release}
Suggests: %{name}-doc-index = %{version}-%{release}
@@ -172,11 +167,11 @@ Haskell home page at .
%package compiler
Summary: GHC compiler and utilities
License: BSD-3-Clause
-Requires: %{name}-filesystem = %{version}-%{release}
Requires: gcc
Requires: ghc-base-devel = %{base_ver}-%{release}
+Requires: %{name}-filesystem = %{version}-%{release}
Provides: hsc2hs = %{hsc2hs_ver}-%{release}
-%ifarch riscv64 s390x
+%ifarch %{ghc_llvm_archs}
Requires: clang%{llvm_major}
Requires: llvm%{llvm_major}
%endif
@@ -216,6 +211,7 @@ This package provides some common directories used for
Haskell libraries documentation.
%endif
+
%if %{with manual}
%package manual
Summary: GHC manual
@@ -227,48 +223,51 @@ BuildArch: noarch
This package provides the User Guide and Haddock manual.
%endif
+
%global ghc_version_override %{version}
%global ghc_pkg_c_deps ghc-compiler = %{ghc_version_override}-%{release}
%global version %{ghc_version_override}
-%if %{with_libnuma}
-%define libnuma_dep ,libnuma-devel
-%else
-%define libnuma_dep %{nil}
-%endif
#!ForceMultiversion
-%ghc_lib_subpackage -d Cabal-3.10.3.0
-%ghc_lib_subpackage -d Cabal-syntax-3.10.3.0
-%ghc_lib_subpackage -d array-0.5.8.0
-%ghc_lib_subpackage -d -c gmp-devel,libffi-devel,libdw-devel,libelf-devel%{libnuma_dep} base-%{base_ver}
-%ghc_lib_subpackage -d binary-0.8.9.1
-%ghc_lib_subpackage -d -x ghc-bignum-%{ghc_bignum_ver}
+%ghc_lib_subpackage -d Cabal-3.12.0.0
+%ghc_lib_subpackage -d Cabal-syntax-3.12.0.0
+%ghc_lib_subpackage -d array-0.5.7.0
+%ghc_lib_subpackage -d -c gmp-devel,libffi-devel,libdw-devel,libelf-devel,libnuma-devel base-%{base_ver}
+%ghc_lib_subpackage -d binary-0.8.9.2
%ghc_lib_subpackage -d bytestring-0.12.1.0
-%ghc_lib_subpackage -d containers-0.6.8
-%ghc_lib_subpackage -d deepseq-1.5.1.0
-%ghc_lib_subpackage -d directory-1.3.8.5
+%ghc_lib_subpackage -d containers-0.7
+%ghc_lib_subpackage -d deepseq-1.5.0.0
+%ghc_lib_subpackage -d directory-1.3.8.3
%ghc_lib_subpackage -d exceptions-0.10.7
-%ghc_lib_subpackage -d filepath-1.4.200.1
+%ghc_lib_subpackage -d filepath-1.5.2.0
%ghc_lib_subpackage -d -x ghc-%{ghc_version_override}
+%ghc_lib_subpackage -d -x ghc-bignum-%{ghc_bignum_ver}
%ghc_lib_subpackage -d -x ghc-boot-%{ghc_version_override}
%ghc_lib_subpackage -d ghc-boot-th-%{ghc_version_override}
%ghc_lib_subpackage -d -x ghc-compact-%{ghc_compact_ver}
+%ghc_lib_subpackage -d ghc-experimental-0.1.0.0
%ghc_lib_subpackage -d -x ghc-heap-%{ghc_version_override}
+%ghc_lib_subpackage -d ghc-internal-9.1001.0
%ghc_lib_subpackage -d -x ghci-%{ghc_version_override}
%ghc_lib_subpackage -d haskeline-0.8.2.1
%ghc_lib_subpackage -d -x hpc-%{hpc_ver}
%ghc_lib_subpackage -d mtl-2.3.1
%ghc_lib_subpackage -d parsec-3.1.17.0
%ghc_lib_subpackage -d pretty-1.1.3.6
-%ghc_lib_subpackage -d process-1.6.25.0
-%ghc_lib_subpackage -d semaphore-compat-1.0.0
+%ghc_lib_subpackage -d process-1.6.19.0
%ghc_lib_subpackage -d stm-2.5.3.1
-%ghc_lib_subpackage -d template-haskell-2.21.0.0
+%ghc_lib_subpackage -d semaphore-compat-1.0.0
+%ghc_lib_subpackage -d template-haskell-2.22.0.0
%ghc_lib_subpackage -d -c ncurses-devel terminfo-0.4.1.6
%ghc_lib_subpackage -d text-2.1.1
%ghc_lib_subpackage -d time-1.12.2
-%ghc_lib_subpackage -d transformers-0.6.1.0
-%ghc_lib_subpackage -d unix-2.8.4.0
-%ghc_lib_subpackage -d xhtml-3000.2.2.1
+%ghc_lib_subpackage -d transformers-0.6.1.1
+%ghc_lib_subpackage -d unix-2.8.5.1
+%ghc_lib_subpackage -d xhtml-%{xhtml_ver}
+
+# new in 9.10
+%ghc_lib_subpackage -d os-string-2.0.2
+%ghc_lib_subpackage -d ghc-toolchain-0.1.0.0
+%ghc_lib_subpackage -d ghc-platform-0.1.0.0
%global version %{ghc_version_override}
@@ -301,17 +300,24 @@ Installing this package causes %{name}-*-prof packages corresponding to
%ifarch s390x
%patch -P 3 -p1
%endif
+
+%patch -P 5 -p1
+
%patch -P 100 -p1
-%patch -P 101 -p1
+
%ifarch ppc64le s390x riscv64
%patch -P 200 -p1
%endif
+%patch -P 300 -p1
+
+%patch -P 243 -p1
+
rm libffi-tarballs/libffi-*.tar.gz
%build
cp %{SOURCE4} ./
-hadrian/bootstrap/bootstrap.py --bootstrap-sources 9_4_4-bootstrap-sources.tar.gz
+hadrian/bootstrap/bootstrap.py --bootstrap-sources 9_8_2-bootstrap-sources.tar.gz
%global hadrian _build/bin/hadrian
@@ -352,7 +358,7 @@ python3 boot.source --hadrian
%endif
%global jobs_nr %{?_smp_mflags}
%else
-%global jobs_nr -j1
+%global jobs_nr -j1
%endif
%{hadrian} %{jobs_nr} --flavour=%{?with_quickbuild:quick+no_profiled_libs}%{!?with_quickbuild:perf%{!?with_ghc_prof:+no_profiled_libs}}%{?hadrian_llvm} %{hadrian_docs} binary-dist-dir --hash-unit-ids
@@ -371,21 +377,25 @@ for i in $(find %{buildroot} -type f -executable -exec sh -c "file {} | grep -q
chrpath -d $i
done
+
%if %{with haddock}
# remove short hashes
for d in %{buildroot}%{ghc_html_libraries_dir}/*/; do
mv $d $(echo $d | sed -e "s/\(.*\)-.*/\\1/")
done
%endif
-
+
# containers src moved to a subdir
cp -p libraries/containers/containers/LICENSE libraries/containers/LICENSE
# hack for Cabal-syntax/LICENSE
mkdir -p libraries/Cabal-syntax
cp -p libraries/Cabal/Cabal-syntax/LICENSE libraries/Cabal-syntax
-
+# hack for ghc-toolchain
+mkdir -p libraries/ghc-toolchain
+cp -p LICENSE libraries/ghc-toolchain
rm -f %{name}-*.files
+
# FIXME replace with ghc_subpackages_list
for i in %{ghc_packages_list}; do
name=$(echo $i | sed -e "s/\(.*\)-.*/\1/")
@@ -397,8 +407,8 @@ done
echo "%%dir %{ghclibdir}" >> %{name}-base%{?_ghcdynlibdir:-devel}.files
%ghc_gen_filelists ghc %{ghc_version_override}
-%ghc_gen_filelists ghc-boot %{ghc_version_override}
%ghc_gen_filelists ghc-bignum %{ghc_bignum_ver}
+%ghc_gen_filelists ghc-boot %{ghc_version_override}
%ghc_gen_filelists ghc-compact %{ghc_compact_ver}
%ghc_gen_filelists ghc-heap %{ghc_version_override}
%ghc_gen_filelists ghci %{ghc_version_override}
@@ -423,13 +433,13 @@ fi
%if %{with ghc_prof}
ls %{buildroot}%{ghclibdir}/bin/ghc-iserv-prof* >> %{name}-base-prof.files
-ls %{buildroot}%{ghclibdir}/lib/bin/ghc-iserv-prof >> %{name}-base-prof.files
echo "%%dir %{ghcliblib}/bin"
%endif
sed -i -e "s|^%{buildroot}||g" %{name}-base*.files
sed -i -e "s|%{buildroot}||g" %{buildroot}%{_bindir}/*
+
%if %{with haddock}
rm %{buildroot}%{_docdir}/ghc-%{version}/archives/libraries.html.tar.xz
%endif
@@ -438,25 +448,27 @@ rm %{buildroot}%{_docdir}/ghc-%{version}/archives/Haddock.html.tar.xz
rm %{buildroot}%{_docdir}/ghc-%{version}/archives/users_guide.html.tar.xz
%endif
+
mkdir -p %{buildroot}%{_mandir}/man1
install -p -m 0644 %{SOURCE5} %{buildroot}%{_mandir}/man1/ghc-pkg.1
install -p -m 0644 %{SOURCE6} %{buildroot}%{_mandir}/man1/haddock.1
install -p -m 0644 %{SOURCE7} %{buildroot}%{_mandir}/man1/runghc.1
+
rm %{buildroot}%{ghclibdir}/lib/package.conf.d/.stamp
rm %{buildroot}%{ghclibdir}/lib/package.conf.d/*.conf.copy
# https://gitlab.haskell.org/ghc/ghc/-/issues/24121
rm %{buildroot}%{ghclibdir}/share/doc/%{ghcplatform}/*/LICENSE
-(
-cd %{buildroot}%{ghclibdir}/lib/bin
-for i in *; do
- if [ -f %{buildroot}%{ghclibdir}/bin/$i ]; then
- ln -sf ../../bin/$i
- fi
-done
-)
+#(
+#cd %{buildroot}%{ghclibdir}/lib/bin
+#for i in *; do
+# if [ -f %{buildroot}%{ghclibdir}/bin/$i ]; then
+# ln -sf ../../bin/$i
+# fi
+#done
+#)
%check
# Actually, I took this from Jens Petersen's Fedora package
@@ -518,17 +530,18 @@ $GHC --info
%dir %{ghcliblib}
%dir %{ghcliblib}/%{ghcplatform}
%dir %{ghclibdir}/bin
-%dir %{ghcliblib}/bin
%{ghclibdir}/bin/ghc
%{ghclibdir}/bin/ghc-iserv
%{ghclibdir}/bin/ghc-iserv-dyn
%{ghclibdir}/bin/ghc-pkg
+%{ghclibdir}/bin/ghc-toolchain-bin
%{ghclibdir}/bin/hpc
%{ghclibdir}/bin/hsc2hs
%{ghclibdir}/bin/runghc
%{ghclibdir}/bin/hp2ps
%{ghclibdir}/bin/unlit
%{ghclibdir}/bin/ghc-%{version}
+%{ghclibdir}/bin/ghc-toolchain-bin-ghc-%{version}
%{ghclibdir}/bin/ghc-iserv-ghc-%{version}
%{ghclibdir}/bin/ghc-iserv-dyn-ghc-%{version}
%{ghclibdir}/bin/ghc-pkg-%{version}
@@ -541,14 +554,13 @@ $GHC --info
%{ghclibdir}/bin/runhaskell
%{ghclibdir}/bin/runhaskell-%{version}
%{ghclibdir}/bin/unlit-ghc-%{version}
-%{ghclibdir}/lib/bin/ghc-iserv
-%{ghclibdir}/lib/bin/ghc-iserv-dyn
-%{ghclibdir}/lib/bin/unlit
%{ghcliblib}/ghc-interp.js
%{ghcliblib}/ghc-usage.txt
%{ghcliblib}/ghci-usage.txt
%{ghcliblib}/llvm-passes
%{ghcliblib}/llvm-targets
+%{ghcliblib}/post-link.mjs
+%{ghcliblib}/prelude.js
%dir %{ghcliblib}/package.conf.d
%ghost %{ghcliblib}/package.conf.d/package.cache
%{ghcliblib}/package.conf.d/package.cache.lock
diff --git a/packages/g/ghc/hadrian-9.10-deps.patch b/packages/g/ghc/hadrian-9.10-deps.patch
new file mode 100644
index 00000000000..92c987c99c6
--- /dev/null
+++ b/packages/g/ghc/hadrian-9.10-deps.patch
@@ -0,0 +1,74 @@
+--- ghc-9.10.0.20240313/hadrian/hadrian.cabal.orig 2024-03-13 21:23:13.000000000 +0800
++++ ghc-9.10.0.20240313/hadrian/hadrian.cabal 2024-03-14 21:53:00.180444498 +0800
+@@ -36,6 +36,8 @@
+ main-is: Main.hs
+ hs-source-dirs: .
+ , src
++ , ../libraries/ghc-platform/src
++ , ../utils/ghc-toolchain/src
+ other-modules: Base
+ , Builder
+ , CommandLine
+@@ -152,6 +154,7 @@
+ , directory >= 1.3.1.0 && < 1.4
+ , extra >= 1.4.7
+ , filepath
++ , process
+ , time
+ , mtl >= 2.2 && < 2.4
+ , parsec >= 3.1 && < 3.2
+@@ -168,8 +171,6 @@
+ , text >= 1.2 && < 3
+ , cryptohash-sha256 >= 0.11 && < 0.12
+ , base16-bytestring >= 0.1.1 && < 1.1.0.0
+- , ghc-platform
+- , ghc-toolchain
+ ghc-options: -Wall
+ -Wincomplete-record-updates
+ -Wredundant-constraints
+--- ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Program.hs.orig 2024-03-13 21:23:14.000000000 +0800
++++ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Program.hs 2024-03-14 22:06:00.298622371 +0800
+@@ -1,3 +1,5 @@
++{-# LANGUAGE NoImplicitPrelude #-}
++
+ module GHC.Toolchain.Program
+ ( Program(..)
+ , shProgram
+--- ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Cc.hs~ 2024-03-13 21:23:14.000000000 +0800
++++ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Cc.hs 2024-03-14 22:06:23.356740644 +0800
+@@ -1,3 +1,4 @@
++{-# LANGUAGE NoImplicitPrelude #-}
+ {-# LANGUAGE NamedFieldPuns #-}
+ {-# LANGUAGE ViewPatterns #-}
+
+diff -up ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Ar.hs~ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Ar.hs
+--- ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Ar.hs~ 2024-03-13 21:23:14.000000000 +0800
++++ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Ar.hs 2024-03-14 22:09:48.872794751 +0800
+@@ -1,3 +1,4 @@
++{-# LANGUAGE NoImplicitPrelude #-}
+ {-# LANGUAGE NamedFieldPuns #-}
+ {-# LANGUAGE RecordWildCards #-}
+
+diff -up ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Cpp.hs~ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Cpp.hs
+--- ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Cpp.hs~ 2024-03-13 21:23:14.000000000 +0800
++++ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Cpp.hs 2024-03-14 22:10:18.872948622 +0800
+@@ -1,3 +1,4 @@
++{-# LANGUAGE NoImplicitPrelude #-}
+ {-# LANGUAGE NamedFieldPuns #-}
+
+ module GHC.Toolchain.Tools.Cpp (HsCpp(..), findHsCpp, Cpp(..), findCpp) where
+diff -up ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Link.hs~ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Link.hs
+--- ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Link.hs~ 2024-03-13 21:23:14.000000000 +0800
++++ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/Link.hs 2024-03-14 22:10:12.954918270 +0800
+@@ -1,3 +1,4 @@
++{-# LANGUAGE NoImplicitPrelude #-}
+ {-# OPTIONS_GHC -Wno-name-shadowing #-}
+ {-# LANGUAGE NamedFieldPuns #-}
+ {-# LANGUAGE RecordWildCards #-}
+--- ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/MergeObjs.hs~ 2024-03-13 21:23:14.000000000 +0800
++++ ghc-9.10.0.20240313/utils/ghc-toolchain/src/GHC/Toolchain/Tools/MergeObjs.hs 2024-03-14 22:13:08.399807784 +0800
+@@ -1,3 +1,4 @@
++{-# LANGUAGE NoImplicitPrelude #-}
+ {-# LANGUAGE NamedFieldPuns #-}
+ {-# LANGUAGE CPP #-}
+
diff --git a/packages/g/ghc/os-string-be.patch b/packages/g/ghc/os-string-be.patch
new file mode 100644
index 00000000000..30457e266de
--- /dev/null
+++ b/packages/g/ghc/os-string-be.patch
@@ -0,0 +1,25 @@
+From bafe87d871399b58ce4a50592b980c990a3eac39 Mon Sep 17 00:00:00 2001
+From: Bodigrim
+Date: Thu, 9 May 2024 01:02:44 +0100
+Subject: [PATCH] Fix compilation on big-endian arches
+
+---
+ libraries/os-string/System/OsString/Data/ByteString/Short/Internal.hs | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libraries/os-string/System/OsString/Data/ByteString/Short/Internal.hs b/libraries/os-string/System/OsString/Data/ByteString/Short/Internal.hs
+index fedc199..f7ddcd8 100644
+--- a/libraries/os-string/System/OsString/Data/ByteString/Short/Internal.hs
++++ b/libraries/os-string/System/OsString/Data/ByteString/Short/Internal.hs
+@@ -311,7 +311,11 @@ word16ToLE#, word16FromLE# :: Word16# -> Word16#
+ word16ToLE#, word16FromLE# :: Word# -> Word#
+ #endif
+ #ifdef WORDS_BIGENDIAN
++#if MIN_VERSION_base(4,16,0)
++word16ToLE# w = wordToWord16# (byteSwap16# (word16ToWord# w))
++#else
+ word16ToLE# = byteSwap16#
++#endif
+ #else
+ word16ToLE# w# = w#
+ #endif
diff --git a/packages/g/ghc/ppc64le-miscompilation.patch b/packages/g/ghc/ppc64le-miscompilation.patch
new file mode 100644
index 00000000000..fbb1da1355e
--- /dev/null
+++ b/packages/g/ghc/ppc64le-miscompilation.patch
@@ -0,0 +1,25 @@
+From 3f128c7d6c145985e3e12fda173e7e9a5a9c03f7 Mon Sep 17 00:00:00 2001
+From: Peter Trommler
+Date: Sat, 15 Jun 2024 08:55:30 +0200
+Subject: [PATCH 4/4] PPC NCG: Fix sign hints in C calls
+
+---
+ compiler/GHC/CmmToAsm/PPC/CodeGen.hs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/compiler/GHC/CmmToAsm/PPC/CodeGen.hs b/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
+index cca47f7bac2..060bd7159eb 100644
+--- a/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
++++ b/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
+@@ -1770,7 +1770,7 @@ genCCall' config gcp target dest_regs args
+ _ -> panic "genCall': unknown calling conv."
+
+ argReps = map (cmmExprType platform) args
+- (argHints, _) = foreignTargetHints target
++ (_, argHints) = foreignTargetHints target
+
+ roundTo a x | x `mod` a == 0 = x
+ | otherwise = x + a - (x `mod` a)
+--
+GitLab
+
diff --git a/packages/g/ghc/riscv64-ncg.patch b/packages/g/ghc/riscv64-ncg.patch
new file mode 100644
index 00000000000..61af7559190
--- /dev/null
+++ b/packages/g/ghc/riscv64-ncg.patch
@@ -0,0 +1,6217 @@
+Index: ghc-9.10.1/CODEOWNERS
+===================================================================
+--- ghc-9.10.1.orig/CODEOWNERS
++++ ghc-9.10.1/CODEOWNERS
+@@ -40,6 +40,7 @@
+ /compiler/GHC/HsToCore/Foreign/Wasm.hs @TerrorJack
+ /compiler/GHC/Tc/Deriv/ @RyanGlScott
+ /compiler/GHC/CmmToAsm/ @simonmar @bgamari @AndreasK
++/compiler/GHC/CmmToAsm/RV64/ @supersven @angerman
+ /compiler/GHC/CmmToAsm/Wasm/ @TerrorJack
+ /compiler/GHC/CmmToLlvm/ @angerman
+ /compiler/GHC/StgToCmm/ @simonmar @osa1
+Index: ghc-9.10.1/compiler/CodeGen.Platform.h
+===================================================================
+--- ghc-9.10.1.orig/compiler/CodeGen.Platform.h
++++ ghc-9.10.1/compiler/CodeGen.Platform.h
+@@ -1,7 +1,8 @@
+
+ import GHC.Cmm.Expr
+ #if !(defined(MACHREGS_i386) || defined(MACHREGS_x86_64) \
+- || defined(MACHREGS_powerpc) || defined(MACHREGS_aarch64))
++ || defined(MACHREGS_powerpc) || defined(MACHREGS_aarch64) \
++ || defined(MACHREGS_riscv64))
+ import GHC.Utils.Panic.Plain
+ #endif
+ import GHC.Platform.Reg
+@@ -1041,6 +1042,105 @@ freeReg 18 = False
+
+ # if defined(REG_Base)
+ freeReg REG_Base = False
++# endif
++# if defined(REG_Sp)
++freeReg REG_Sp = False
++# endif
++# if defined(REG_SpLim)
++freeReg REG_SpLim = False
++# endif
++# if defined(REG_Hp)
++freeReg REG_Hp = False
++# endif
++# if defined(REG_HpLim)
++freeReg REG_HpLim = False
++# endif
++
++# if defined(REG_R1)
++freeReg REG_R1 = False
++# endif
++# if defined(REG_R2)
++freeReg REG_R2 = False
++# endif
++# if defined(REG_R3)
++freeReg REG_R3 = False
++# endif
++# if defined(REG_R4)
++freeReg REG_R4 = False
++# endif
++# if defined(REG_R5)
++freeReg REG_R5 = False
++# endif
++# if defined(REG_R6)
++freeReg REG_R6 = False
++# endif
++# if defined(REG_R7)
++freeReg REG_R7 = False
++# endif
++# if defined(REG_R8)
++freeReg REG_R8 = False
++# endif
++
++# if defined(REG_F1)
++freeReg REG_F1 = False
++# endif
++# if defined(REG_F2)
++freeReg REG_F2 = False
++# endif
++# if defined(REG_F3)
++freeReg REG_F3 = False
++# endif
++# if defined(REG_F4)
++freeReg REG_F4 = False
++# endif
++# if defined(REG_F5)
++freeReg REG_F5 = False
++# endif
++# if defined(REG_F6)
++freeReg REG_F6 = False
++# endif
++
++# if defined(REG_D1)
++freeReg REG_D1 = False
++# endif
++# if defined(REG_D2)
++freeReg REG_D2 = False
++# endif
++# if defined(REG_D3)
++freeReg REG_D3 = False
++# endif
++# if defined(REG_D4)
++freeReg REG_D4 = False
++# endif
++# if defined(REG_D5)
++freeReg REG_D5 = False
++# endif
++# if defined(REG_D6)
++freeReg REG_D6 = False
++# endif
++
++freeReg _ = True
++
++#elif defined(MACHREGS_riscv64)
++
++-- zero reg
++freeReg 0 = False
++-- link register
++freeReg 1 = False
++-- stack pointer
++freeReg 2 = False
++-- global pointer
++freeReg 3 = False
++-- thread pointer
++freeReg 4 = False
++-- frame pointer
++freeReg 8 = False
++-- made-up inter-procedural (ip) register
++-- See Note [The made-up RISCV64 TMP (IP) register]
++freeReg 31 = False
++
++# if defined(REG_Base)
++freeReg REG_Base = False
+ # endif
+ # if defined(REG_Sp)
+ freeReg REG_Sp = False
+Index: ghc-9.10.1/compiler/GHC/Cmm/CLabel.hs
+===================================================================
+--- ghc-9.10.1.orig/compiler/GHC/Cmm/CLabel.hs
++++ ghc-9.10.1/compiler/GHC/Cmm/CLabel.hs
+@@ -1720,6 +1720,8 @@ pprDynamicLinkerAsmLabel !platform dllIn
+ | platformArch platform == ArchAArch64
+ = ppLbl
+
++ | platformArch platform == ArchRISCV64
++ = ppLbl
+
+ | platformArch platform == ArchX86_64
+ = case dllInfo of
+Index: ghc-9.10.1/compiler/GHC/CmmToAsm.hs
+===================================================================
+--- ghc-9.10.1.orig/compiler/GHC/CmmToAsm.hs
++++ ghc-9.10.1/compiler/GHC/CmmToAsm.hs
+@@ -67,6 +67,7 @@ import qualified GHC.CmmToAsm.X86 as X
+ import qualified GHC.CmmToAsm.PPC as PPC
+ import qualified GHC.CmmToAsm.AArch64 as AArch64
+ import qualified GHC.CmmToAsm.Wasm as Wasm32
++import qualified GHC.CmmToAsm.RV64 as RV64
+
+ import GHC.CmmToAsm.Reg.Liveness
+ import qualified GHC.CmmToAsm.Reg.Linear as Linear
+@@ -148,7 +149,7 @@ nativeCodeGen logger ts config modLoc h
+ ArchAlpha -> panic "nativeCodeGen: No NCG for Alpha"
+ ArchMipseb -> panic "nativeCodeGen: No NCG for mipseb"
+ ArchMipsel -> panic "nativeCodeGen: No NCG for mipsel"
+- ArchRISCV64 -> panic "nativeCodeGen: No NCG for RISCV64"
++ ArchRISCV64 -> nCG' (RV64.ncgRV64 config)
+ ArchLoongArch64->panic "nativeCodeGen: No NCG for LoongArch64"
+ ArchUnknown -> panic "nativeCodeGen: No NCG for unknown arch"
+ ArchJavaScript-> panic "nativeCodeGen: No NCG for JavaScript"
+Index: ghc-9.10.1/compiler/GHC/CmmToAsm/Dwarf/Constants.hs
+===================================================================
+--- ghc-9.10.1.orig/compiler/GHC/CmmToAsm/Dwarf/Constants.hs
++++ ghc-9.10.1/compiler/GHC/CmmToAsm/Dwarf/Constants.hs
+@@ -240,6 +240,7 @@ dwarfRegNo p r = case platformArch p of
+ | r == xmm15 -> 32
+ ArchPPC_64 _ -> fromIntegral $ toRegNo r
+ ArchAArch64 -> fromIntegral $ toRegNo r
++ ArchRISCV64 -> fromIntegral $ toRegNo r
+ _other -> error "dwarfRegNo: Unsupported platform or unknown register!"
+
+ -- | Virtual register number to use for return address.
+@@ -252,5 +253,6 @@ dwarfReturnRegNo p
+ ArchX86 -> 8 -- eip
+ ArchX86_64 -> 16 -- rip
+ ArchPPC_64 ELF_V2 -> 65 -- lr (link register)
+- ArchAArch64-> 30
++ ArchAArch64 -> 30
++ ArchRISCV64 -> 1 -- ra (return address)
+ _other -> error "dwarfReturnRegNo: Unsupported platform!"
+Index: ghc-9.10.1/compiler/GHC/CmmToAsm/PIC.hs
+===================================================================
+--- ghc-9.10.1.orig/compiler/GHC/CmmToAsm/PIC.hs
++++ ghc-9.10.1/compiler/GHC/CmmToAsm/PIC.hs
+@@ -132,6 +132,11 @@ cmmMakeDynamicReference config reference
+ addImport symbolPtr
+ return $ cmmMakePicReference config symbolPtr
+
++ AccessViaSymbolPtr | ArchRISCV64 <- platformArch platform -> do
++ let symbolPtr = mkDynamicLinkerLabel SymbolPtr lbl
++ addImport symbolPtr
++ return $ cmmMakePicReference config symbolPtr
++
+ AccessViaSymbolPtr -> do
+ let symbolPtr = mkDynamicLinkerLabel SymbolPtr lbl
+ addImport symbolPtr
+@@ -164,6 +169,10 @@ cmmMakePicReference config lbl
+ | ArchAArch64 <- platformArch platform
+ = CmmLit $ CmmLabel lbl
+
++ -- as on AArch64, there's no pic base register.
++ | ArchRISCV64 <- platformArch platform
++ = CmmLit $ CmmLabel lbl
++
+ | OSAIX <- platformOS platform
+ = CmmMachOp (MO_Add W32)
+ [ CmmReg (CmmGlobal $ GlobalRegUse PicBaseReg (bWord platform))
+Index: ghc-9.10.1/compiler/GHC/CmmToAsm/RV64.hs
+===================================================================
+--- /dev/null
++++ ghc-9.10.1/compiler/GHC/CmmToAsm/RV64.hs
+@@ -0,0 +1,57 @@
++{-# OPTIONS_GHC -fno-warn-orphans #-}
++
++-- | Native code generator for RiscV64 architectures
++module GHC.CmmToAsm.RV64 (ncgRV64) where
++
++import GHC.CmmToAsm.Config
++import GHC.CmmToAsm.Instr
++import GHC.CmmToAsm.Monad
++import GHC.CmmToAsm.RV64.CodeGen qualified as RV64
++import GHC.CmmToAsm.RV64.Instr qualified as RV64
++import GHC.CmmToAsm.RV64.Ppr qualified as RV64
++import GHC.CmmToAsm.RV64.RegInfo qualified as RV64
++import GHC.CmmToAsm.RV64.Regs qualified as RV64
++import GHC.CmmToAsm.Types
++import GHC.Prelude
++import GHC.Utils.Outputable (ftext)
++
++ncgRV64 :: NCGConfig -> NcgImpl RawCmmStatics RV64.Instr RV64.JumpDest
++ncgRV64 config =
++ NcgImpl
++ { ncgConfig = config,
++ cmmTopCodeGen = RV64.cmmTopCodeGen,
++ generateJumpTableForInstr = RV64.generateJumpTableForInstr config,
++ getJumpDestBlockId = RV64.getJumpDestBlockId,
++ canShortcut = RV64.canShortcut,
++ shortcutStatics = RV64.shortcutStatics,
++ shortcutJump = RV64.shortcutJump,
++ pprNatCmmDeclS = RV64.pprNatCmmDecl config,
++ pprNatCmmDeclH = RV64.pprNatCmmDecl config,
++ maxSpillSlots = RV64.maxSpillSlots config,
++ allocatableRegs = RV64.allocatableRegs platform,
++ ncgAllocMoreStack = RV64.allocMoreStack platform,
++ ncgMakeFarBranches = RV64.makeFarBranches,
++ extractUnwindPoints = const [],
++ invertCondBranches = \_ _ -> id
++ }
++ where
++ platform = ncgPlatform config
++
++-- | `Instruction` instance for RV64
++instance Instruction RV64.Instr where
++ regUsageOfInstr = RV64.regUsageOfInstr
++ patchRegsOfInstr = RV64.patchRegsOfInstr
++ isJumpishInstr = RV64.isJumpishInstr
++ jumpDestsOfInstr = RV64.jumpDestsOfInstr
++ patchJumpInstr = RV64.patchJumpInstr
++ mkSpillInstr = RV64.mkSpillInstr
++ mkLoadInstr = RV64.mkLoadInstr
++ takeDeltaInstr = RV64.takeDeltaInstr
++ isMetaInstr = RV64.isMetaInstr
++ mkRegRegMoveInstr _ = RV64.mkRegRegMoveInstr
++ takeRegRegMoveInstr = RV64.takeRegRegMoveInstr
++ mkJumpInstr = RV64.mkJumpInstr
++ mkStackAllocInstr = RV64.mkStackAllocInstr
++ mkStackDeallocInstr = RV64.mkStackDeallocInstr
++ mkComment = pure . RV64.COMMENT . ftext
++ pprInstr = RV64.pprInstr
+Index: ghc-9.10.1/compiler/GHC/CmmToAsm/RV64/CodeGen.hs
+===================================================================
+--- /dev/null
++++ ghc-9.10.1/compiler/GHC/CmmToAsm/RV64/CodeGen.hs
+@@ -0,0 +1,2207 @@
++{-# LANGUAGE BangPatterns #-}
++{-# LANGUAGE BinaryLiterals #-}
++{-# LANGUAGE GADTs #-}
++{-# LANGUAGE OverloadedStrings #-}
++
++module GHC.CmmToAsm.RV64.CodeGen
++ ( cmmTopCodeGen,
++ generateJumpTableForInstr,
++ makeFarBranches,
++ )
++where
++
++import Control.Monad
++import Data.Maybe
++import Data.Word
++import GHC.Cmm
++import GHC.Cmm.BlockId
++import GHC.Cmm.CLabel
++import GHC.Cmm.Dataflow.Block
++import GHC.Cmm.Dataflow.Graph
++import GHC.Cmm.Dataflow.Label
++import GHC.Cmm.DebugBlock
++import GHC.Cmm.Switch
++import GHC.Cmm.Utils
++import GHC.CmmToAsm.CPrim
++import GHC.CmmToAsm.Config
++import GHC.CmmToAsm.Format
++import GHC.CmmToAsm.Monad
++ ( NatM,
++ getBlockIdNat,
++ getConfig,
++ getDebugBlock,
++ getFileId,
++ getNewLabelNat,
++ getNewRegNat,
++ getPicBaseMaybeNat,
++ getPlatform,
++ )
++import GHC.CmmToAsm.PIC
++import GHC.CmmToAsm.RV64.Cond
++import GHC.CmmToAsm.RV64.Instr
++import GHC.CmmToAsm.RV64.Regs
++import GHC.CmmToAsm.Types
++import GHC.Data.FastString
++import GHC.Data.OrdList
++import GHC.Float
++import GHC.Platform
++import GHC.Platform.Reg
++import GHC.Platform.Regs
++import GHC.Prelude hiding (EQ)
++import GHC.Types.Basic
++import GHC.Types.ForeignCall
++import GHC.Types.SrcLoc (srcSpanFile, srcSpanStartCol, srcSpanStartLine)
++import GHC.Types.Tickish (GenTickish (..))
++import GHC.Types.Unique.Supply
++import GHC.Utils.Constants (debugIsOn)
++import GHC.Utils.Misc
++import GHC.Utils.Monad
++import GHC.Utils.Outputable
++import GHC.Utils.Panic
++
++-- For an overview of an NCG's structure, see Note [General layout of an NCG]
++
++cmmTopCodeGen ::
++ RawCmmDecl ->
++ NatM [NatCmmDecl RawCmmStatics Instr]
++-- Thus we'll have to deal with either CmmProc ...
++cmmTopCodeGen _cmm@(CmmProc info lab live graph) = do
++ picBaseMb <- getPicBaseMaybeNat
++ when (isJust picBaseMb) $ panic "RV64.cmmTopCodeGen: Unexpected PIC base register (RISCV ISA does not define one)"
++
++ let blocks = toBlockListEntryFirst graph
++ (nat_blocks, statics) <- mapAndUnzipM basicBlockCodeGen blocks
++
++ let proc = CmmProc info lab live (ListGraph $ concat nat_blocks)
++ tops = proc : concat statics
++
++ pure tops
++
++-- ... or CmmData.
++cmmTopCodeGen (CmmData sec dat) = pure [CmmData sec dat] -- no translation, we just use CmmStatic
++
++basicBlockCodeGen ::
++ Block CmmNode C C ->
++ NatM
++ ( [NatBasicBlock Instr],
++ [NatCmmDecl RawCmmStatics Instr]
++ )
++basicBlockCodeGen block = do
++ config <- getConfig
++ let (_, nodes, tail) = blockSplit block
++ id = entryLabel block
++ stmts = blockToList nodes
++
++ header_comment_instr
++ | debugIsOn =
++ unitOL
++ $ MULTILINE_COMMENT
++ ( text "-- --------------------------- basicBlockCodeGen --------------------------- --\n"
++ $+$ withPprStyle defaultDumpStyle (pdoc (ncgPlatform config) block)
++ )
++ | otherwise = nilOL
++
++ -- Generate location directive `.loc` (DWARF debug location info)
++ loc_instrs <- genLocInstrs
++
++ -- Generate other instructions
++ mid_instrs <- stmtsToInstrs stmts
++ (!tail_instrs) <- stmtToInstrs tail
++
++ let instrs = header_comment_instr `appOL` loc_instrs `appOL` mid_instrs `appOL` tail_instrs
++
++ -- TODO: Then x86 backend runs @verifyBasicBlock@ here. How important it is to
++ -- have a valid CFG is an open question: This and the AArch64 and PPC NCGs
++ -- work fine without it.
++
++ -- Code generation may introduce new basic block boundaries, which are
++ -- indicated by the NEWBLOCK instruction. We must split up the instruction
++ -- stream into basic blocks again. Also, we extract LDATAs here too.
++ (top, other_blocks, statics) = foldrOL mkBlocks ([], [], []) instrs
++
++ return (BasicBlock id top : other_blocks, statics)
++ where
++ genLocInstrs :: NatM (OrdList Instr)
++ genLocInstrs = do
++ dbg <- getDebugBlock (entryLabel block)
++ case dblSourceTick =<< dbg of
++ Just (SourceNote span name) ->
++ do
++ fileId <- getFileId (srcSpanFile span)
++ let line = srcSpanStartLine span; col = srcSpanStartCol span
++ pure $ unitOL $ LOCATION fileId line col name
++ _ -> pure nilOL
++
++mkBlocks ::
++ Instr ->
++ ([Instr], [GenBasicBlock Instr], [GenCmmDecl RawCmmStatics h g]) ->
++ ([Instr], [GenBasicBlock Instr], [GenCmmDecl RawCmmStatics h g])
++mkBlocks (NEWBLOCK id) (instrs, blocks, statics) =
++ ([], BasicBlock id instrs : blocks, statics)
++mkBlocks (LDATA sec dat) (instrs, blocks, statics) =
++ (instrs, blocks, CmmData sec dat : statics)
++mkBlocks instr (instrs, blocks, statics) =
++ (instr : instrs, blocks, statics)
++
++-- -----------------------------------------------------------------------------
++
++-- | Utilities
++
++-- | Annotate an `Instr` with a `SDoc` comment
++ann :: SDoc -> Instr -> Instr
++ann doc instr {- debugIsOn -} = ANN doc instr
++{-# INLINE ann #-}
++
++-- Using pprExpr will hide the AST, @ANN@ will end up in the assembly with
++-- -dppr-debug. The idea is that we can trivially see how a cmm expression
++-- ended up producing the assembly we see. By having the verbatim AST printed
++-- we can simply check the patterns that were matched to arrive at the assembly
++-- we generated.
++--
++-- pprExpr will hide a lot of noise of the underlying data structure and print
++-- the expression into something that can be easily read by a human. However
++-- going back to the exact CmmExpr representation can be laborious and adds
++-- indirections to find the matches that lead to the assembly.
++--
++-- An improvement could be to have
++--
++-- (pprExpr genericPlatform e) <> parens (text. show e)
++--
++-- to have the best of both worlds.
++--
++-- Note: debugIsOn is too restrictive, it only works for debug compilers.
++-- However, we do not only want to inspect this for debug compilers. Ideally
++-- we'd have a check for -dppr-debug here already, such that we don't even
++-- generate the ANN expressions. However, as they are lazy, they shouldn't be
++-- forced until we actually force them, and without -dppr-debug they should
++-- never end up being forced.
++annExpr :: CmmExpr -> Instr -> Instr
++annExpr e {- debugIsOn -} = ANN (text . show $ e)
++-- annExpr e instr {- debugIsOn -} = ANN (pprExpr genericPlatform e) instr
++-- annExpr _ instr = instr
++{-# INLINE annExpr #-}
++
++-- -----------------------------------------------------------------------------
++-- Generating a table-branch
++
++-- Note [RISCV64 Jump Tables]
++-- ~~~~~~~~~~~~~~~~~~~~~~~~~~
++--
++-- Jump tables are implemented by generating a table of relative addresses,
++-- where each entry is the relative offset to the target block from the first
++-- entry / table label (`generateJumpTableForInstr`). Using the jump table means
++-- loading the entry's value and jumping to the calculated absolute address
++-- (`genSwitch`).
++--
++-- For example, this Cmm switch
++--
++-- switch [1 .. 10] _s2wn::I64 {
++-- case 1 : goto c347;
++-- case 2 : goto c348;
++-- case 3 : goto c349;
++-- case 4 : goto c34a;
++-- case 5 : goto c34b;
++-- case 6 : goto c34c;
++-- case 7 : goto c34d;
++-- case 8 : goto c34e;
++-- case 9 : goto c34f;
++-- case 10 : goto c34g;
++-- } // CmmSwitch
++--
++-- leads to this jump table in Assembly
++--
++-- .section .rodata
++-- .balign 8
++-- .Ln34G:
++-- .quad 0
++-- .quad .Lc347-(.Ln34G)+0
++-- .quad .Lc348-(.Ln34G)+0
++-- .quad .Lc349-(.Ln34G)+0
++-- .quad .Lc34a-(.Ln34G)+0
++-- .quad .Lc34b-(.Ln34G)+0
++-- .quad .Lc34c-(.Ln34G)+0
++-- .quad .Lc34d-(.Ln34G)+0
++-- .quad .Lc34e-(.Ln34G)+0
++-- .quad .Lc34f-(.Ln34G)+0
++-- .quad .Lc34g-(.Ln34G)+0
++--
++-- and this indexing code where the jump should be done (register t0 contains
++-- the index)
++--
++-- addi t0, t0, 0 // silly move (ignore it)
++-- la t1, .Ln34G // load the table's address
++-- sll t0, t0, 3 // index * 8 -> offset in bytes
++-- add t0, t0, t1 // address of the table's entry
++-- ld t0, 0(t0) // load entry
++-- add t0, t0, t1 // relative to absolute address
++-- jalr zero, t0, 0 // jump to the block
++--
++-- In object code (disassembled) the table looks like
++--
++-- 0000000000000000 <.Ln34G>:
++-- ...
++-- 8: R_RISCV_ADD64 .Lc347
++-- 8: R_RISCV_SUB64 .Ln34G
++-- 10: R_RISCV_ADD64 .Lc348
++-- 10: R_RISCV_SUB64 .Ln34G
++-- 18: R_RISCV_ADD64 .Lc349
++-- 18: R_RISCV_SUB64 .Ln34G
++-- 20: R_RISCV_ADD64 .Lc34a
++-- 20: R_RISCV_SUB64 .Ln34G
++-- 28: R_RISCV_ADD64 .Lc34b
++-- 28: R_RISCV_SUB64 .Ln34G
++-- 30: R_RISCV_ADD64 .Lc34c
++-- 30: R_RISCV_SUB64 .Ln34G
++-- 38: R_RISCV_ADD64 .Lc34d
++-- 38: R_RISCV_SUB64 .Ln34G
++-- 40: R_RISCV_ADD64 .Lc34e
++-- 40: R_RISCV_SUB64 .Ln34G
++-- 48: R_RISCV_ADD64 .Lc34f
++-- 48: R_RISCV_SUB64 .Ln34G
++-- 50: R_RISCV_ADD64 .Lc34g
++-- 50: R_RISCV_SUB64 .Ln34G
++--
++-- I.e. the relative offset calculations are done by the linker via relocations.
++-- This seems to be PIC compatible; at least `scanelf` (pax-utils) does not
++-- complain.
++
++
++-- | Generate jump to jump table target
++--
++-- The index into the jump table is calulated by evaluating @expr@. The
++-- corresponding table entry contains the relative address to jump to (relative
++-- to the jump table's first entry / the table's own label).
++genSwitch :: NCGConfig -> CmmExpr -> SwitchTargets -> NatM InstrBlock
++genSwitch config expr targets = do
++ (reg, fmt1, e_code) <- getSomeReg indexExpr
++ let fmt = II64
++ targetReg <- getNewRegNat fmt
++ lbl <- getNewLabelNat
++ dynRef <- cmmMakeDynamicReference config DataReference lbl
++ (tableReg, fmt2, t_code) <- getSomeReg dynRef
++ let code =
++ toOL
++ [ COMMENT (text "indexExpr" <+> (text . show) indexExpr),
++ COMMENT (text "dynRef" <+> (text . show) dynRef)
++ ]
++ `appOL` e_code
++ `appOL` t_code
++ `appOL` toOL
++ [ COMMENT (ftext "Jump table for switch"),
++ -- index to offset into the table (relative to tableReg)
++ annExpr expr (SLL (OpReg (formatToWidth fmt1) reg) (OpReg (formatToWidth fmt1) reg) (OpImm (ImmInt 3))),
++ -- calculate table entry address
++ ADD (OpReg W64 targetReg) (OpReg (formatToWidth fmt1) reg) (OpReg (formatToWidth fmt2) tableReg),
++ -- load table entry (relative offset from tableReg (first entry) to target label)
++ LDRU II64 (OpReg W64 targetReg) (OpAddr (AddrRegImm targetReg (ImmInt 0))),
++ -- calculate absolute address of the target label
++ ADD (OpReg W64 targetReg) (OpReg W64 targetReg) (OpReg W64 tableReg),
++ -- prepare jump to target label
++ J_TBL ids (Just lbl) targetReg
++ ]
++ return code
++ where
++ -- See Note [Sub-word subtlety during jump-table indexing] in
++ -- GHC.CmmToAsm.X86.CodeGen for why we must first offset, then widen.
++ indexExpr0 = cmmOffset platform expr offset
++ -- We widen to a native-width register to sanitize the high bits
++ indexExpr =
++ CmmMachOp
++ (MO_UU_Conv expr_w (platformWordWidth platform))
++ [indexExpr0]
++ expr_w = cmmExprWidth platform expr
++ (offset, ids) = switchTargetsToTable targets
++ platform = ncgPlatform config
++
++-- | Generate jump table data (if required)
++--
++-- The idea is to emit one table entry per case. The entry is the relative
++-- address of the block to jump to (relative to the table's first entry /
++-- table's own label.) The calculation itself is done by the linker.
++generateJumpTableForInstr ::
++ NCGConfig ->
++ Instr ->
++ Maybe (NatCmmDecl RawCmmStatics Instr)
++generateJumpTableForInstr config (J_TBL ids (Just lbl) _) =
++ let jumpTable =
++ map jumpTableEntryRel ids
++ where
++ jumpTableEntryRel Nothing =
++ CmmStaticLit (CmmInt 0 (ncgWordWidth config))
++ jumpTableEntryRel (Just blockid) =
++ CmmStaticLit
++ ( CmmLabelDiffOff
++ blockLabel
++ lbl
++ 0
++ (ncgWordWidth config)
++ )
++ where
++ blockLabel = blockLbl blockid
++ in Just (CmmData (Section ReadOnlyData lbl) (CmmStaticsRaw lbl jumpTable))
++generateJumpTableForInstr _ _ = Nothing
++
++-- -----------------------------------------------------------------------------
++-- Top-level of the instruction selector
++
++stmtsToInstrs ::
++ -- | Cmm Statements
++ [CmmNode O O] ->
++ -- | Resulting instruction
++ NatM InstrBlock
++stmtsToInstrs stmts = concatOL <$> mapM stmtToInstrs stmts
++
++stmtToInstrs ::
++ CmmNode e x ->
++ -- | Resulting instructions
++ NatM InstrBlock
++stmtToInstrs stmt = do
++ config <- getConfig
++ platform <- getPlatform
++ case stmt of
++ CmmUnsafeForeignCall target result_regs args ->
++ genCCall target result_regs args
++ CmmComment s -> pure (unitOL (COMMENT (ftext s)))
++ CmmTick {} -> pure nilOL
++ CmmAssign reg src
++ | isFloatType ty -> assignReg_FltCode format reg src
++ | otherwise -> assignReg_IntCode format reg src
++ where
++ ty = cmmRegType reg
++ format = cmmTypeFormat ty
++ CmmStore addr src _alignment
++ | isFloatType ty -> assignMem_FltCode format addr src
++ | otherwise -> assignMem_IntCode format addr src
++ where
++ ty = cmmExprType platform src
++ format = cmmTypeFormat ty
++ CmmBranch id -> genBranch id
++ -- We try to arrange blocks such that the likely branch is the fallthrough
++ -- in GHC.Cmm.ContFlowOpt. So we can assume the condition is likely false here.
++ CmmCondBranch arg true false _prediction ->
++ genCondBranch true false arg
++ CmmSwitch arg ids -> genSwitch config arg ids
++ CmmCall {cml_target = arg} -> genJump arg
++ CmmUnwind _regs -> pure nilOL
++ -- Intentionally not have a default case here: If anybody adds a
++ -- constructor, the compiler should force them to think about this here.
++ CmmForeignCall {} -> pprPanic "stmtToInstrs: statement should have been cps'd away" (pdoc platform stmt)
++ CmmEntry {} -> pprPanic "stmtToInstrs: statement should have been cps'd away" (pdoc platform stmt)
++
++--------------------------------------------------------------------------------
++
++-- | 'InstrBlock's are the insn sequences generated by the insn selectors.
++--
++-- They are really trees of insns to facilitate fast appending, where a
++-- left-to-right traversal yields the insns in the correct order.
++type InstrBlock =
++ OrdList Instr
++
++-- | Register's passed up the tree.
++--
++-- If the stix code forces the register to live in a pre-decided machine
++-- register, it comes out as @Fixed@; otherwise, it comes out as @Any@, and the
++-- parent can decide which register to put it in.
++data Register
++ = Fixed Format Reg InstrBlock
++ | Any Format (Reg -> InstrBlock)
++
++-- | Sometimes we need to change the Format of a register. Primarily during
++-- conversion.
++swizzleRegisterRep :: Format -> Register -> Register
++swizzleRegisterRep format' (Fixed _format reg code) = Fixed format' reg code
++swizzleRegisterRep format' (Any _format codefn) = Any format' codefn
++
++-- | Grab a `Reg` for a `CmmReg`
++--
++-- `LocalReg`s are assigned virtual registers (`RegVirtual`), `GlobalReg`s are
++-- assigned real registers (`RegReal`). It is an error if a `GlobalReg` is not a
++-- STG register.
++getRegisterReg :: Platform -> CmmReg -> Reg
++getRegisterReg _ (CmmLocal (LocalReg u pk)) =
++ RegVirtual $ mkVirtualReg u (cmmTypeFormat pk)
++getRegisterReg platform (CmmGlobal mid) =
++ case globalRegMaybe platform (globalRegUseGlobalReg mid) of
++ Just reg -> RegReal reg
++ Nothing -> pprPanic "getRegisterReg-memory" (ppr $ CmmGlobal mid)
++
++-- -----------------------------------------------------------------------------
++-- General things for putting together code sequences
++
++-- | Compute an expression into any register
++getSomeReg :: CmmExpr -> NatM (Reg, Format, InstrBlock)
++getSomeReg expr = do
++ r <- getRegister expr
++ case r of
++ Any rep code -> do
++ newReg <- getNewRegNat rep
++ return (newReg, rep, code newReg)
++ Fixed rep reg code ->
++ return (reg, rep, code)
++
++-- | Compute an expression into any floating-point register
++--
++-- If the initial expression is not a floating-point expression, finally move
++-- the result into a floating-point register.
++getFloatReg :: (HasCallStack) => CmmExpr -> NatM (Reg, Format, InstrBlock)
++getFloatReg expr = do
++ r <- getRegister expr
++ case r of
++ Any rep code | isFloatFormat rep -> do
++ newReg <- getNewRegNat rep
++ return (newReg, rep, code newReg)
++ Any II32 code -> do
++ newReg <- getNewRegNat FF32
++ return (newReg, FF32, code newReg)
++ Any II64 code -> do
++ newReg <- getNewRegNat FF64
++ return (newReg, FF64, code newReg)
++ Any _w _code -> do
++ config <- getConfig
++ pprPanic "can't do getFloatReg on" (pdoc (ncgPlatform config) expr)
++ -- can't do much for fixed.
++ Fixed rep reg code ->
++ return (reg, rep, code)
++
++-- | Map `CmmLit` to `OpImm`
++--
++-- N.B. this is a partial function, because not all `CmmLit`s have an immediate
++-- representation.
++litToImm' :: CmmLit -> Operand
++litToImm' = OpImm . litToImm
++
++-- | Compute a `CmmExpr` into a `Register`
++getRegister :: CmmExpr -> NatM Register
++getRegister e = do
++ config <- getConfig
++ getRegister' config (ncgPlatform config) e
++
++-- | The register width to be used for an operation on the given width
++-- operand.
++opRegWidth :: Width -> Width
++opRegWidth W64 = W64
++opRegWidth W32 = W32
++opRegWidth W16 = W32
++opRegWidth W8 = W32
++opRegWidth w = pprPanic "opRegWidth" (text "Unsupported width" <+> ppr w)
++
++-- Note [Signed arithmetic on RISCV64]
++-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++-- Handling signed arithmetic on sub-word-size values on RISCV64 is a bit
++-- tricky as Cmm's type system does not capture signedness. While 32-bit values
++-- are fairly easy to handle due to RISCV64's 32-bit instruction variants
++-- (denoted by use of %wN registers), 16- and 8-bit values require quite some
++-- care.
++--
++-- We handle 16-and 8-bit values by using the 32-bit operations and
++-- sign-/zero-extending operands and truncate results as necessary. For
++-- simplicity we maintain the invariant that a register containing a
++-- sub-word-size value always contains the zero-extended form of that value
++-- in between operations.
++--
++-- For instance, consider the program,
++--
++-- test(bits64 buffer)
++-- bits8 a = bits8[buffer];
++-- bits8 b = %mul(a, 42);
++-- bits8 c = %not(b);
++-- bits8 d = %shrl(c, 4::bits8);
++-- return (d);
++-- }
++--
++-- This program begins by loading `a` from memory, for which we use a
++-- zero-extended byte-size load. We next sign-extend `a` to 32-bits, and use a
++-- 32-bit multiplication to compute `b`, and truncate the result back down to
++-- 8-bits.
++--
++-- Next we compute `c`: The `%not` requires no extension of its operands, but
++-- we must still truncate the result back down to 8-bits. Finally the `%shrl`
++-- requires no extension and no truncate since we can assume that
++-- `c` is zero-extended.
++--
++-- The "RISC-V Sign Extension Optimizations" LLVM tech talk presentation by
++-- Craig Topper covers possible future improvements
++-- (https://llvm.org/devmtg/2022-11/slides/TechTalk21-RISC-VSignExtensionOptimizations.pdf)
++--
++--
++-- Note [Handling PIC on RV64]
++-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++-- RV64 does not have a special PIC register, the general approach is to simply
++-- do PC-relative addressing or go through the GOT. There is assembly support
++-- for both.
++--
++-- rv64 assembly has a `la` (load address) pseudo-instruction, that allows
++-- loading a label's address into a register. The instruction is desugared into
++-- different addressing modes, e.g. PC-relative addressing:
++--
++-- 1: lui rd1, %pcrel_hi(label)
++-- addi rd1, %pcrel_lo(1b)
++--
++-- See https://sourceware.org/binutils/docs/as/RISC_002dV_002dModifiers.html,
++-- PIC can be enabled/disabled through
++--
++-- .option pic
++--
++-- See https://sourceware.org/binutils/docs/as/RISC_002dV_002dDirectives.html#RISC_002dV_002dDirectives
++--
++-- CmmGlobal @PicBaseReg@'s are generated in @GHC.CmmToAsm.PIC@ in the
++-- @cmmMakePicReference@. This is in turn called from @cmmMakeDynamicReference@
++-- also in @Cmm.CmmToAsm.PIC@ from where it is also exported. There are two
++-- callsites for this. One is in this module to produce the @target@ in @genCCall@
++-- the other is in @GHC.CmmToAsm@ in @cmmExprNative@.
++--
++-- Conceptually we do not want any special PicBaseReg to be used on RV64. If
++-- we want to distinguish between symbol loading, we need to address this through
++-- the way we load it, not through a register.
++--
++
++getRegister' :: NCGConfig -> Platform -> CmmExpr -> NatM Register
++-- OPTIMIZATION WARNING: CmmExpr rewrites
++-- 1. Rewrite: Reg + (-n) => Reg - n
++-- TODO: this expression shouldn't even be generated to begin with.
++getRegister' config plat (CmmMachOp (MO_Add w0) [x, CmmLit (CmmInt i w1)])
++ | i < 0 =
++ getRegister' config plat (CmmMachOp (MO_Sub w0) [x, CmmLit (CmmInt (-i) w1)])
++getRegister' config plat (CmmMachOp (MO_Sub w0) [x, CmmLit (CmmInt i w1)])
++ | i < 0 =
++ getRegister' config plat (CmmMachOp (MO_Add w0) [x, CmmLit (CmmInt (-i) w1)])
++-- Generic case.
++getRegister' config plat expr =
++ case expr of
++ CmmReg (CmmGlobal (GlobalRegUse PicBaseReg _)) ->
++ -- See Note [Handling PIC on RV64]
++ pprPanic "getRegister': There's no PIC base register on RISCV" (ppr PicBaseReg)
++ CmmLit lit ->
++ case lit of
++ CmmInt 0 w -> pure $ Fixed (intFormat w) zeroReg nilOL
++ CmmInt i w ->
++ -- narrowU is important: Negative immediates may be
++ -- sign-extended on load!
++ let imm = OpImm . ImmInteger $ narrowU w i
++ in pure (Any (intFormat w) (\dst -> unitOL $ annExpr expr (MOV (OpReg w dst) imm)))
++ CmmFloat 0 w -> do
++ let op = litToImm' lit
++ pure (Any (floatFormat w) (\dst -> unitOL $ annExpr expr (MOV (OpReg w dst) op)))
++ CmmFloat _f W8 -> pprPanic "getRegister' (CmmLit:CmmFloat), no support for bytes" (pdoc plat expr)
++ CmmFloat _f W16 -> pprPanic "getRegister' (CmmLit:CmmFloat), no support for halfs" (pdoc plat expr)
++ CmmFloat f W32 -> do
++ let word = castFloatToWord32 (fromRational f) :: Word32
++ intReg <- getNewRegNat (intFormat W32)
++ return
++ ( Any
++ (floatFormat W32)
++ ( \dst ->
++ toOL
++ [ annExpr expr
++ $ MOV (OpReg W32 intReg) (OpImm (ImmInteger (fromIntegral word))),
++ MOV (OpReg W32 dst) (OpReg W32 intReg)
++ ]
++ )
++ )
++ CmmFloat f W64 -> do
++ let word = castDoubleToWord64 (fromRational f) :: Word64
++ intReg <- getNewRegNat (intFormat W64)
++ return
++ ( Any
++ (floatFormat W64)
++ ( \dst ->
++ toOL
++ [ annExpr expr
++ $ MOV (OpReg W64 intReg) (OpImm (ImmInteger (fromIntegral word))),
++ MOV (OpReg W64 dst) (OpReg W64 intReg)
++ ]
++ )
++ )
++ CmmFloat _f _w -> pprPanic "getRegister' (CmmLit:CmmFloat), unsupported float lit" (pdoc plat expr)
++ CmmVec _lits -> pprPanic "getRegister' (CmmLit:CmmVec): " (pdoc plat expr)
++ CmmLabel lbl -> do
++ let op = OpImm (ImmCLbl lbl)
++ rep = cmmLitType plat lit
++ format = cmmTypeFormat rep
++ return (Any format (\dst -> unitOL $ annExpr expr (LDR format (OpReg (formatToWidth format) dst) op)))
++ CmmLabelOff lbl off | isNbitEncodeable 12 (fromIntegral off) -> do
++ let op = OpImm (ImmIndex lbl off)
++ rep = cmmLitType plat lit
++ format = cmmTypeFormat rep
++ return (Any format (\dst -> unitOL $ LDR format (OpReg (formatToWidth format) dst) op))
++ CmmLabelOff lbl off -> do
++ let op = litToImm' (CmmLabel lbl)
++ rep = cmmLitType plat lit
++ format = cmmTypeFormat rep
++ width = typeWidth rep
++ (off_r, _off_format, off_code) <- getSomeReg $ CmmLit (CmmInt (fromIntegral off) width)
++ return
++ ( Any
++ format
++ ( \dst ->
++ off_code
++ `snocOL` LDR format (OpReg (formatToWidth format) dst) op
++ `snocOL` ADD (OpReg width dst) (OpReg width dst) (OpReg width off_r)
++ )
++ )
++ CmmLabelDiffOff {} -> pprPanic "getRegister' (CmmLit:CmmLabelOff): " (pdoc plat expr)
++ CmmBlock _ -> pprPanic "getRegister' (CmmLit:CmmLabelOff): " (pdoc plat expr)
++ CmmHighStackMark -> pprPanic "getRegister' (CmmLit:CmmLabelOff): " (pdoc plat expr)
++ CmmLoad mem rep _ -> do
++ let format = cmmTypeFormat rep
++ width = typeWidth rep
++ Amode addr addr_code <- getAmode plat width mem
++ case width of
++ w
++ | w <= W64 ->
++ -- Load without sign-extension. See Note [Signed arithmetic on RISCV64]
++ pure
++ ( Any
++ format
++ ( \dst ->
++ addr_code
++ `snocOL` LDRU format (OpReg width dst) (OpAddr addr)
++ )
++ )
++ _ ->
++ pprPanic ("Width too big! Cannot load: " ++ show width) (pdoc plat expr)
++ CmmStackSlot _ _ ->
++ pprPanic "getRegister' (CmmStackSlot): " (pdoc plat expr)
++ CmmReg reg ->
++ return
++ ( Fixed
++ (cmmTypeFormat (cmmRegType reg))
++ (getRegisterReg plat reg)
++ nilOL
++ )
++ CmmRegOff reg off | isNbitEncodeable 12 (fromIntegral off) -> do
++ getRegister' config plat
++ $ CmmMachOp (MO_Add width) [CmmReg reg, CmmLit (CmmInt (fromIntegral off) width)]
++ where
++ width = typeWidth (cmmRegType reg)
++ CmmRegOff reg off -> do
++ (off_r, _off_format, off_code) <- getSomeReg $ CmmLit (CmmInt (fromIntegral off) width)
++ (reg, _format, code) <- getSomeReg $ CmmReg reg
++ return
++ $ Any
++ (intFormat width)
++ ( \dst ->
++ off_code
++ `appOL` code
++ `snocOL` ADD (OpReg width dst) (OpReg width reg) (OpReg width off_r)
++ )
++ where
++ width = typeWidth (cmmRegType reg)
++
++ -- Handle MO_RelaxedRead as a normal CmmLoad, to allow
++ -- non-trivial addressing modes to be used.
++ CmmMachOp (MO_RelaxedRead w) [e] ->
++ getRegister (CmmLoad e (cmmBits w) NaturallyAligned)
++ -- for MachOps, see GHC.Cmm.MachOp
++ -- For CmmMachOp, see GHC.Cmm.Expr
++ CmmMachOp op [e] -> do
++ (reg, _format, code) <- getSomeReg e
++ case op of
++ MO_Not w -> return $ Any (intFormat w) $ \dst ->
++ let w' = opRegWidth w
++ in code
++ `snocOL`
++ -- pseudo instruction `not` is `xori rd, rs, -1`
++ ann (text "not") (XORI (OpReg w' dst) (OpReg w' reg) (OpImm (ImmInt (-1))))
++ `appOL` truncateReg w' w dst -- See Note [Signed arithmetic on RISCV64]
++ MO_S_Neg w -> negate code w reg
++ MO_F_Neg w ->
++ return
++ $ Any
++ (floatFormat w)
++ ( \dst ->
++ code
++ `snocOL` NEG (OpReg w dst) (OpReg w reg)
++ )
++ -- TODO: Can this case happen?
++ MO_SF_Conv from to | from < W32 -> do
++ -- extend to the smallest available representation
++ (reg_x, code_x) <- signExtendReg from W32 reg
++ pure
++ $ Any
++ (floatFormat to)
++ ( \dst ->
++ code
++ `appOL` code_x
++ `snocOL` annExpr expr (FCVT IntToFloat (OpReg to dst) (OpReg from reg_x)) -- (Signed ConVerT Float)
++ )
++ MO_SF_Conv from to ->
++ pure
++ $ Any
++ (floatFormat to)
++ ( \dst ->
++ code
++ `snocOL` annExpr expr (FCVT IntToFloat (OpReg to dst) (OpReg from reg)) -- (Signed ConVerT Float)
++ )
++ MO_FS_Conv from to
++ | to < W32 ->
++ pure
++ $ Any
++ (intFormat to)
++ ( \dst ->
++ code
++ `snocOL`
++ -- W32 is the smallest width to convert to. Decrease width afterwards.
++ annExpr expr (FCVT FloatToInt (OpReg W32 dst) (OpReg from reg))
++ `appOL` signExtendAdjustPrecission W32 to dst dst -- (float convert (-> zero) signed)
++ )
++ MO_FS_Conv from to ->
++ pure
++ $ Any
++ (intFormat to)
++ ( \dst ->
++ code
++ `snocOL` annExpr expr (FCVT FloatToInt (OpReg to dst) (OpReg from reg))
++ `appOL` truncateReg from to dst -- (float convert (-> zero) signed)
++ )
++ MO_UU_Conv from to
++ | from <= to ->
++ pure
++ $ Any
++ (intFormat to)
++ ( \dst ->
++ code
++ `snocOL` annExpr e (MOV (OpReg to dst) (OpReg from reg))
++ )
++ MO_UU_Conv from to ->
++ pure
++ $ Any
++ (intFormat to)
++ ( \dst ->
++ code
++ `snocOL` annExpr e (MOV (OpReg from dst) (OpReg from reg))
++ `appOL` truncateReg from to dst
++ )
++ MO_SS_Conv from to -> ss_conv from to reg code
++ MO_FF_Conv from to -> return $ Any (floatFormat to) (\dst -> code `snocOL` annExpr e (FCVT FloatToFloat (OpReg to dst) (OpReg from reg)))
++ -- Conversions
++ -- TODO: Duplication with MO_UU_Conv
++ MO_XX_Conv from to
++ | to < from ->
++ pure
++ $ Any
++ (intFormat to)
++ ( \dst ->
++ code
++ `snocOL` annExpr e (MOV (OpReg from dst) (OpReg from reg))
++ `appOL` truncateReg from to dst
++ )
++ MO_XX_Conv _from to -> swizzleRegisterRep (intFormat to) <$> getRegister e
++ MO_AlignmentCheck align wordWidth -> do
++ reg <- getRegister' config plat e
++ addAlignmentCheck align wordWidth reg
++ x -> pprPanic ("getRegister' (monadic CmmMachOp): " ++ show x) (pdoc plat expr)
++ where
++ -- In the case of 16- or 8-bit values we need to sign-extend to 32-bits
++ -- See Note [Signed arithmetic on RISCV64].
++ negate code w reg = do
++ let w' = opRegWidth w
++ (reg', code_sx) <- signExtendReg w w' reg
++ return $ Any (intFormat w) $ \dst ->
++ code
++ `appOL` code_sx
++ `snocOL` NEG (OpReg w' dst) (OpReg w' reg')
++ `appOL` truncateReg w' w dst
++
++ ss_conv from to reg code
++ | from < to = do
++ pure $ Any (intFormat to) $ \dst ->
++ code
++ `appOL` signExtend from to reg dst
++ `appOL` truncateReg from to dst
++ | from > to =
++ pure $ Any (intFormat to) $ \dst ->
++ code
++ `appOL` toOL
++ [ ann
++ (text "MO_SS_Conv: narrow register signed" <+> ppr reg <+> ppr from <> text "->" <> ppr to)
++ (SLL (OpReg to dst) (OpReg from reg) (OpImm (ImmInt shift))),
++ -- signed right shift
++ SRA (OpReg to dst) (OpReg to dst) (OpImm (ImmInt shift))
++ ]
++ `appOL` truncateReg from to dst
++ | otherwise =
++ -- No conversion necessary: Just copy.
++ pure $ Any (intFormat from) $ \dst ->
++ code `snocOL` MOV (OpReg from dst) (OpReg from reg)
++ where
++ shift = 64 - (widthInBits from - widthInBits to)
++
++ -- Dyadic machops:
++ --
++ -- The general idea is:
++ -- compute x <- x
++ -- compute x <- y
++ -- OP x, x, x
++ --
++ -- TODO: for now we'll only implement the 64bit versions. And rely on the
++ -- fallthrough to alert us if things go wrong!
++ -- OPTIMIZATION WARNING: Dyadic CmmMachOp destructuring
++ -- 0. TODO This should not exist! Rewrite: Reg +- 0 -> Reg
++ CmmMachOp (MO_Add _) [expr'@(CmmReg (CmmGlobal _r)), CmmLit (CmmInt 0 _)] -> getRegister' config plat expr'
++ CmmMachOp (MO_Sub _) [expr'@(CmmReg (CmmGlobal _r)), CmmLit (CmmInt 0 _)] -> getRegister' config plat expr'
++ -- 1. Compute Reg +/- n directly.
++ -- For Add/Sub we can directly encode 12bits, or 12bits lsl #12.
++ CmmMachOp (MO_Add w) [CmmReg reg, CmmLit (CmmInt n _)]
++ | fitsIn12bitImm n -> return $ Any (intFormat w) (\d -> unitOL $ annExpr expr (ADD (OpReg w d) (OpReg w' r') (OpImm (ImmInteger n))))
++ where
++ -- TODO: 12bits lsl #12; e.g. lower 12 bits of n are 0; shift n >> 12, and set lsl to #12.
++ w' = formatToWidth (cmmTypeFormat (cmmRegType reg))
++ r' = getRegisterReg plat reg
++ CmmMachOp (MO_Sub w) [CmmReg reg, CmmLit (CmmInt n _)]
++ | fitsIn12bitImm n -> return $ Any (intFormat w) (\d -> unitOL $ annExpr expr (SUB (OpReg w d) (OpReg w' r') (OpImm (ImmInteger n))))
++ where
++ -- TODO: 12bits lsl #12; e.g. lower 12 bits of n are 0; shift n >> 12, and set lsl to #12.
++ w' = formatToWidth (cmmTypeFormat (cmmRegType reg))
++ r' = getRegisterReg plat reg
++ CmmMachOp (MO_U_Quot w) [x, y] | w == W8 || w == W16 -> do
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, format_y, code_y) <- getSomeReg y
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` truncateReg (formatToWidth format_x) w reg_x
++ `appOL` code_y
++ `appOL` truncateReg (formatToWidth format_y) w reg_y
++ `snocOL` annExpr expr (DIVU (OpReg w dst) (OpReg w reg_x) (OpReg w reg_y))
++ )
++
++ -- 2. Shifts. x << n, x >> n.
++ CmmMachOp (MO_Shl w) [x, CmmLit (CmmInt n _)]
++ | w == W32,
++ 0 <= n,
++ n < 32 -> do
++ (reg_x, _format_x, code_x) <- getSomeReg x
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `snocOL` annExpr expr (SLL (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)))
++ `appOL` truncateReg w w dst
++ )
++ CmmMachOp (MO_Shl w) [x, CmmLit (CmmInt n _)]
++ | w == W64,
++ 0 <= n,
++ n < 64 -> do
++ (reg_x, _format_x, code_x) <- getSomeReg x
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `snocOL` annExpr expr (SLL (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)))
++ `appOL` truncateReg w w dst
++ )
++ CmmMachOp (MO_S_Shr w) [x, CmmLit (CmmInt n _)] | fitsIn12bitImm n -> do
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_x', code_x') <- signExtendReg (formatToWidth format_x) w reg_x
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` code_x'
++ `snocOL` annExpr expr (SRA (OpReg w dst) (OpReg w reg_x') (OpImm (ImmInteger n)))
++ )
++ CmmMachOp (MO_S_Shr w) [x, y] -> do
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, _format_y, code_y) <- getSomeReg y
++ (reg_x', code_x') <- signExtendReg (formatToWidth format_x) w reg_x
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` code_x'
++ `appOL` code_y
++ `snocOL` annExpr expr (SRA (OpReg w dst) (OpReg w reg_x') (OpReg w reg_y))
++ )
++ CmmMachOp (MO_U_Shr w) [x, CmmLit (CmmInt n _)]
++ | w == W8,
++ 0 <= n,
++ n < 8 -> do
++ (reg_x, format_x, code_x) <- getSomeReg x
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` truncateReg (formatToWidth format_x) w reg_x
++ `snocOL` annExpr expr (SRL (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)))
++ )
++ CmmMachOp (MO_U_Shr w) [x, CmmLit (CmmInt n _)]
++ | w == W16,
++ 0 <= n,
++ n < 16 -> do
++ (reg_x, format_x, code_x) <- getSomeReg x
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` truncateReg (formatToWidth format_x) w reg_x
++ `snocOL` annExpr expr (SRL (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)))
++ )
++ CmmMachOp (MO_U_Shr w) [x, y] | w == W8 || w == W16 -> do
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, _format_y, code_y) <- getSomeReg y
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` code_y
++ `appOL` truncateReg (formatToWidth format_x) w reg_x
++ `snocOL` annExpr expr (SRL (OpReg w dst) (OpReg w reg_x) (OpReg w reg_y))
++ )
++ CmmMachOp (MO_U_Shr w) [x, CmmLit (CmmInt n _)]
++ | w == W32,
++ 0 <= n,
++ n < 32 -> do
++ (reg_x, _format_x, code_x) <- getSomeReg x
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `snocOL` annExpr expr (SRL (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)))
++ )
++ CmmMachOp (MO_U_Shr w) [x, CmmLit (CmmInt n _)]
++ | w == W64,
++ 0 <= n,
++ n < 64 -> do
++ (reg_x, _format_x, code_x) <- getSomeReg x
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `snocOL` annExpr expr (SRL (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)))
++ )
++
++ -- 3. Logic &&, ||
++ CmmMachOp (MO_And w) [CmmReg reg, CmmLit (CmmInt n _)]
++ | fitsIn12bitImm n ->
++ return $ Any (intFormat w) (\d -> unitOL $ annExpr expr (AND (OpReg w d) (OpReg w' r') (OpImm (ImmInteger n))))
++ where
++ w' = formatToWidth (cmmTypeFormat (cmmRegType reg))
++ r' = getRegisterReg plat reg
++ CmmMachOp (MO_Or w) [CmmReg reg, CmmLit (CmmInt n _)]
++ | fitsIn12bitImm n ->
++ return $ Any (intFormat w) (\d -> unitOL $ annExpr expr (ORI (OpReg w d) (OpReg w' r') (OpImm (ImmInteger n))))
++ where
++ w' = formatToWidth (cmmTypeFormat (cmmRegType reg))
++ r' = getRegisterReg plat reg
++
++ -- Generic binary case.
++ CmmMachOp op [x, y] -> do
++ let -- A "plain" operation.
++ bitOp w op = do
++ -- compute x <- x
++ -- compute x <- y
++ -- x, x, x
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, format_y, code_y) <- getSomeReg y
++ massertPpr (isIntFormat format_x == isIntFormat format_y) $ text "bitOp: incompatible"
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` code_y
++ `appOL` op (OpReg w dst) (OpReg w reg_x) (OpReg w reg_y)
++ )
++
++ -- A (potentially signed) integer operation.
++ -- In the case of 8- and 16-bit signed arithmetic we must first
++ -- sign-extend both arguments to 32-bits.
++ -- See Note [Signed arithmetic on RISCV64].
++ intOp is_signed w op = do
++ -- compute x <- x
++ -- compute x <- y
++ -- x, x, x
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, format_y, code_y) <- getSomeReg y
++ massertPpr (isIntFormat format_x && isIntFormat format_y) $ text "intOp: non-int"
++ -- This is the width of the registers on which the operation
++ -- should be performed.
++ let w' = opRegWidth w
++ signExt r
++ | not is_signed = return (r, nilOL)
++ | otherwise = signExtendReg w w' r
++ (reg_x_sx, code_x_sx) <- signExt reg_x
++ (reg_y_sx, code_y_sx) <- signExt reg_y
++ return $ Any (intFormat w) $ \dst ->
++ code_x
++ `appOL` code_y
++ `appOL`
++ -- sign-extend both operands
++ code_x_sx
++ `appOL` code_y_sx
++ `appOL` op (OpReg w' dst) (OpReg w' reg_x_sx) (OpReg w' reg_y_sx)
++ `appOL` truncateReg w' w dst -- truncate back to the operand's original width
++ floatOp w op = do
++ (reg_fx, format_x, code_fx) <- getFloatReg x
++ (reg_fy, format_y, code_fy) <- getFloatReg y
++ massertPpr (isFloatFormat format_x && isFloatFormat format_y) $ text "floatOp: non-float"
++ return
++ $ Any
++ (floatFormat w)
++ ( \dst ->
++ code_fx
++ `appOL` code_fy
++ `appOL` op (OpReg w dst) (OpReg w reg_fx) (OpReg w reg_fy)
++ )
++
++ -- need a special one for conditionals, as they return ints
++ floatCond w op = do
++ (reg_fx, format_x, code_fx) <- getFloatReg x
++ (reg_fy, format_y, code_fy) <- getFloatReg y
++ massertPpr (isFloatFormat format_x && isFloatFormat format_y) $ text "floatCond: non-float"
++ return
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_fx
++ `appOL` code_fy
++ `appOL` op (OpReg w dst) (OpReg w reg_fx) (OpReg w reg_fy)
++ )
++
++ case op of
++ -- Integer operations
++ -- Add/Sub should only be Integer Options.
++ MO_Add w -> intOp False w (\d x y -> unitOL $ annExpr expr (ADD d x y))
++ -- TODO: Handle sub-word case
++ MO_Sub w -> intOp False w (\d x y -> unitOL $ annExpr expr (SUB d x y))
++ -- N.B. We needn't sign-extend sub-word size (in)equality comparisons
++ -- since we don't care about ordering.
++ MO_Eq w -> bitOp w (\d x y -> unitOL $ annExpr expr (CSET d x y EQ))
++ MO_Ne w -> bitOp w (\d x y -> unitOL $ annExpr expr (CSET d x y NE))
++ -- Signed multiply/divide
++ MO_Mul w -> intOp True w (\d x y -> unitOL $ annExpr expr (MUL d x y))
++ MO_S_MulMayOflo w -> do_mul_may_oflo w x y
++ MO_S_Quot w -> intOp True w (\d x y -> unitOL $ annExpr expr (DIV d x y))
++ MO_S_Rem w -> intOp True w (\d x y -> unitOL $ annExpr expr (REM d x y))
++ -- Unsigned multiply/divide
++ MO_U_Quot w -> intOp False w (\d x y -> unitOL $ annExpr expr (DIVU d x y))
++ MO_U_Rem w -> intOp False w (\d x y -> unitOL $ annExpr expr (REMU d x y))
++ -- Signed comparisons
++ MO_S_Ge w -> intOp True w (\d x y -> unitOL $ annExpr expr (CSET d x y SGE))
++ MO_S_Le w -> intOp True w (\d x y -> unitOL $ annExpr expr (CSET d x y SLE))
++ MO_S_Gt w -> intOp True w (\d x y -> unitOL $ annExpr expr (CSET d x y SGT))
++ MO_S_Lt w -> intOp True w (\d x y -> unitOL $ annExpr expr (CSET d x y SLT))
++ -- Unsigned comparisons
++ MO_U_Ge w -> intOp False w (\d x y -> unitOL $ annExpr expr (CSET d x y UGE))
++ MO_U_Le w -> intOp False w (\d x y -> unitOL $ annExpr expr (CSET d x y ULE))
++ MO_U_Gt w -> intOp False w (\d x y -> unitOL $ annExpr expr (CSET d x y UGT))
++ MO_U_Lt w -> intOp False w (\d x y -> unitOL $ annExpr expr (CSET d x y ULT))
++ -- Floating point arithmetic
++ MO_F_Add w -> floatOp w (\d x y -> unitOL $ annExpr expr (ADD d x y))
++ MO_F_Sub w -> floatOp w (\d x y -> unitOL $ annExpr expr (SUB d x y))
++ MO_F_Mul w -> floatOp w (\d x y -> unitOL $ annExpr expr (MUL d x y))
++ MO_F_Quot w -> floatOp w (\d x y -> unitOL $ annExpr expr (DIV d x y))
++ -- Floating point comparison
++ MO_F_Eq w -> floatCond w (\d x y -> unitOL $ annExpr expr (CSET d x y EQ))
++ MO_F_Ne w -> floatCond w (\d x y -> unitOL $ annExpr expr (CSET d x y NE))
++ MO_F_Ge w -> floatCond w (\d x y -> unitOL $ annExpr expr (CSET d x y FGE))
++ MO_F_Le w -> floatCond w (\d x y -> unitOL $ annExpr expr (CSET d x y FLE)) -- x <= y <=> y > x
++ MO_F_Gt w -> floatCond w (\d x y -> unitOL $ annExpr expr (CSET d x y FGT))
++ MO_F_Lt w -> floatCond w (\d x y -> unitOL $ annExpr expr (CSET d x y FLT)) -- x < y <=> y >= x
++
++ -- Bitwise operations
++ MO_And w -> bitOp w (\d x y -> unitOL $ annExpr expr (AND d x y))
++ MO_Or w -> bitOp w (\d x y -> unitOL $ annExpr expr (OR d x y))
++ MO_Xor w -> bitOp w (\d x y -> unitOL $ annExpr expr (XOR d x y))
++ MO_Shl w -> intOp False w (\d x y -> unitOL $ annExpr expr (SLL d x y))
++ MO_U_Shr w -> intOp False w (\d x y -> unitOL $ annExpr expr (SRL d x y))
++ MO_S_Shr w -> intOp True w (\d x y -> unitOL $ annExpr expr (SRA d x y))
++ op -> pprPanic "getRegister' (unhandled dyadic CmmMachOp): " $ pprMachOp op <+> text "in" <+> pdoc plat expr
++
++ -- Generic ternary case.
++ CmmMachOp op [x, y, z] ->
++ case op of
++ -- Floating-point fused multiply-add operations
++ --
++ -- x86 fmadd x * y + z <=> RISCV64 fmadd : d = r1 * r2 + r3
++ -- x86 fmsub x * y - z <=> RISCV64 fnmsub: d = r1 * r2 - r3
++ -- x86 fnmadd - x * y + z <=> RISCV64 fmsub : d = - r1 * r2 + r3
++ -- x86 fnmsub - x * y - z <=> RISCV64 fnmadd: d = - r1 * r2 - r3
++ MO_FMA var w -> case var of
++ FMAdd -> float3Op w (\d n m a -> unitOL $ FMA FMAdd d n m a)
++ FMSub -> float3Op w (\d n m a -> unitOL $ FMA FMSub d n m a)
++ FNMAdd -> float3Op w (\d n m a -> unitOL $ FMA FNMSub d n m a)
++ FNMSub -> float3Op w (\d n m a -> unitOL $ FMA FNMAdd d n m a)
++ _ ->
++ pprPanic "getRegister' (unhandled ternary CmmMachOp): "
++ $ pprMachOp op
++ <+> text "in"
++ <+> pdoc plat expr
++ where
++ float3Op w op = do
++ (reg_fx, format_x, code_fx) <- getFloatReg x
++ (reg_fy, format_y, code_fy) <- getFloatReg y
++ (reg_fz, format_z, code_fz) <- getFloatReg z
++ massertPpr (isFloatFormat format_x && isFloatFormat format_y && isFloatFormat format_z)
++ $ text "float3Op: non-float"
++ pure
++ $ Any (floatFormat w)
++ $ \dst ->
++ code_fx
++ `appOL` code_fy
++ `appOL` code_fz
++ `appOL` op (OpReg w dst) (OpReg w reg_fx) (OpReg w reg_fy) (OpReg w reg_fz)
++ CmmMachOp _op _xs ->
++ pprPanic "getRegister' (variadic CmmMachOp): " (pdoc plat expr)
++ where
++ isNbitEncodeable :: Int -> Integer -> Bool
++ isNbitEncodeable n i = let shift = n - 1 in (-1 `shiftL` shift) <= i && i < (1 `shiftL` shift)
++ -- N.B. MUL does not set the overflow flag.
++ -- Return 0 when the operation cannot overflow, /= 0 otherwise
++ do_mul_may_oflo :: Width -> CmmExpr -> CmmExpr -> NatM Register
++ do_mul_may_oflo w _x _y | w > W64 = pprPanic "Cannot multiply larger than 64bit" (ppr w)
++ do_mul_may_oflo w@W64 x y = do
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, format_y, code_y) <- getSomeReg y
++ -- TODO: Can't we clobber reg_x and reg_y to save registers?
++ lo <- getNewRegNat II64
++ hi <- getNewRegNat II64
++ -- TODO: Overhaul CSET: 3rd operand isn't needed for SNEZ
++ let nonSense = OpImm (ImmInt 0)
++ pure
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` signExtend (formatToWidth format_x) W64 reg_x reg_x
++ `appOL` code_y
++ `appOL` signExtend (formatToWidth format_y) W64 reg_y reg_y
++ `appOL` toOL
++ [ annExpr expr (MULH (OpReg w hi) (OpReg w reg_x) (OpReg w reg_y)),
++ MUL (OpReg w lo) (OpReg w reg_x) (OpReg w reg_y),
++ SRA (OpReg w lo) (OpReg w lo) (OpImm (ImmInt (widthInBits W64 - 1))),
++ ann
++ (text "Set flag if result of MULH contains more than sign bits.")
++ (XOR (OpReg w hi) (OpReg w hi) (OpReg w lo)),
++ CSET (OpReg w dst) (OpReg w hi) nonSense NE
++ ]
++ )
++ do_mul_may_oflo w x y = do
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, format_y, code_y) <- getSomeReg y
++ let width_x = formatToWidth format_x
++ width_y = formatToWidth format_y
++ if w > width_x && w > width_y
++ then
++ pure
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ -- 8bit * 8bit cannot overflow 16bit
++ -- 16bit * 16bit cannot overflow 32bit
++ -- 32bit * 32bit cannot overflow 64bit
++ unitOL $ annExpr expr (ADD (OpReg w dst) zero (OpImm (ImmInt 0)))
++ )
++ else do
++ let use32BitMul = w <= W32 && width_x <= W32 && width_y <= W32
++ nonSense = OpImm (ImmInt 0)
++ if use32BitMul
++ then do
++ narrowedReg <- getNewRegNat II64
++ pure
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ code_x
++ `appOL` signExtend (formatToWidth format_x) W32 reg_x reg_x
++ `appOL` code_y
++ `appOL` signExtend (formatToWidth format_y) W32 reg_y reg_y
++ `snocOL` annExpr expr (MUL (OpReg W32 dst) (OpReg W32 reg_x) (OpReg W32 reg_y))
++ `appOL` signExtendAdjustPrecission W32 w dst narrowedReg
++ `appOL` toOL
++ [ ann
++ (text "Check if the multiplied value fits in the narrowed register")
++ (SUB (OpReg w dst) (OpReg w dst) (OpReg w narrowedReg)),
++ CSET (OpReg w dst) (OpReg w dst) nonSense NE
++ ]
++ )
++ else
++ pure
++ $ Any
++ (intFormat w)
++ ( \dst ->
++ -- Do not handle this unlikely case. Just tell that it may overflow.
++ unitOL $ annExpr expr (ADD (OpReg w dst) zero (OpImm (ImmInt 1)))
++ )
++
++-- | Instructions to sign-extend the value in the given register from width @w@
++-- up to width @w'@.
++signExtendReg :: Width -> Width -> Reg -> NatM (Reg, OrdList Instr)
++signExtendReg w _w' r | w == W64 = pure (r, nilOL)
++signExtendReg w w' r = do
++ r' <- getNewRegNat (intFormat w')
++ let instrs = signExtend w w' r r'
++ pure (r', instrs)
++
++-- | Sign extends to 64bit, if needed
++--
++-- Source `Reg` @r@ stays untouched, while the conversion happens on destination
++-- `Reg` @r'@.
++signExtend :: Width -> Width -> Reg -> Reg -> OrdList Instr
++signExtend w w' _r _r' | w > w' = pprPanic "This is not a sign extension, but a truncation." $ ppr w <> text "->" <+> ppr w'
++signExtend w w' _r _r' | w > W64 || w' > W64 = pprPanic "Unexpected width (max is 64bit):" $ ppr w <> text "->" <+> ppr w'
++signExtend w w' r r' | w == W64 && w' == W64 && r == r' = nilOL
++signExtend w w' r r' | w == W64 && w' == W64 = unitOL $ MOV (OpReg w' r') (OpReg w r)
++signExtend w w' r r'
++ | w == W32 && w' == W64 =
++ unitOL
++ $ ann
++ (text "sign-extend register (SEXT.W)" <+> ppr r <+> ppr w <> text "->" <> ppr w')
++ -- `ADDIW r r 0` is the pseudo-op SEXT.W
++ (ADD (OpReg w' r') (OpReg w r) (OpImm (ImmInt 0)))
++signExtend w w' r r' =
++ toOL
++ [ ann
++ (text "narrow register signed" <+> ppr r <> char ':' <> ppr w <> text "->" <> ppr r <> char ':' <> ppr w')
++ (SLL (OpReg w' r') (OpReg w r) (OpImm (ImmInt shift))),
++ -- signed (arithmetic) right shift
++ SRA (OpReg w' r') (OpReg w' r') (OpImm (ImmInt shift))
++ ]
++ where
++ shift = 64 - widthInBits w
++
++-- | Sign extends to 64bit, if needed and reduces the precission to the target `Width` (@w'@)
++--
++-- Source `Reg` @r@ stays untouched, while the conversion happens on destination
++-- `Reg` @r'@.
++signExtendAdjustPrecission :: Width -> Width -> Reg -> Reg -> OrdList Instr
++signExtendAdjustPrecission w w' _r _r' | w > W64 || w' > W64 = pprPanic "Unexpected width (max is 64bit):" $ ppr w <> text "->" <+> ppr w'
++signExtendAdjustPrecission w w' r r' | w == W64 && w' == W64 && r == r' = nilOL
++signExtendAdjustPrecission w w' r r' | w == W64 && w' == W64 = unitOL $ MOV (OpReg w' r') (OpReg w r)
++signExtendAdjustPrecission w w' r r'
++ | w == W32 && w' == W64 =
++ unitOL
++ $ ann
++ (text "sign-extend register (SEXT.W)" <+> ppr r <+> ppr w <> text "->" <> ppr w')
++ -- `ADDIW r r 0` is the pseudo-op SEXT.W
++ (ADD (OpReg w' r') (OpReg w r) (OpImm (ImmInt 0)))
++signExtendAdjustPrecission w w' r r'
++ | w > w' =
++ toOL
++ [ ann
++ (text "narrow register signed" <+> ppr r <> char ':' <> ppr w <> text "->" <> ppr r <> char ':' <> ppr w')
++ (SLL (OpReg w' r') (OpReg w r) (OpImm (ImmInt shift))),
++ -- signed (arithmetic) right shift
++ SRA (OpReg w' r') (OpReg w' r') (OpImm (ImmInt shift))
++ ]
++ where
++ shift = 64 - widthInBits w'
++signExtendAdjustPrecission w w' r r' =
++ toOL
++ [ ann
++ (text "sign extend register" <+> ppr r <> char ':' <> ppr w <> text "->" <> ppr r <> char ':' <> ppr w')
++ (SLL (OpReg w' r') (OpReg w r) (OpImm (ImmInt shift))),
++ -- signed (arithmetic) right shift
++ SRA (OpReg w' r') (OpReg w' r') (OpImm (ImmInt shift))
++ ]
++ where
++ shift = 64 - widthInBits w
++
++-- | Instructions to truncate the value in the given register from width @w@
++-- to width @w'@.
++--
++-- In other words, it just cuts the width out of the register. N.B.: This
++-- ignores signedness (no sign extension takes place)!
++truncateReg :: Width -> Width -> Reg -> OrdList Instr
++truncateReg _w w' _r | w' == W64 = nilOL
++truncateReg _w w' r | w' > W64 = pprPanic "Cannot truncate to width bigger than register size (max is 64bit):" $ text (show r) <> char ':' <+> ppr w'
++truncateReg w _w' r | w > W64 = pprPanic "Unexpected register size (max is 64bit):" $ text (show r) <> char ':' <+> ppr w
++truncateReg w w' r =
++ toOL
++ [ ann
++ (text "truncate register" <+> ppr r <+> ppr w <> text "->" <> ppr w')
++ (SLL (OpReg w' r) (OpReg w r) (OpImm (ImmInt shift))),
++ -- SHL ignores signedness!
++ SRL (OpReg w' r) (OpReg w r) (OpImm (ImmInt shift))
++ ]
++ where
++ shift = 64 - widthInBits w'
++
++-- | Given a 'Register', produce a new 'Register' with an instruction block
++-- which will check the value for alignment. Used for @-falignment-sanitisation@.
++addAlignmentCheck :: Int -> Width -> Register -> NatM Register
++addAlignmentCheck align wordWidth reg = do
++ jumpReg <- getNewRegNat II64
++ cmpReg <- getNewRegNat II64
++ okayLblId <- getBlockIdNat
++
++ pure $ case reg of
++ Fixed fmt reg code -> Fixed fmt reg (code `appOL` check fmt jumpReg cmpReg okayLblId reg)
++ Any fmt f -> Any fmt (\reg -> f reg `appOL` check fmt jumpReg cmpReg okayLblId reg)
++ where
++ check :: Format -> Reg -> Reg -> BlockId -> Reg -> InstrBlock
++ check fmt jumpReg cmpReg okayLblId reg =
++ let width = formatToWidth fmt
++ in assert (not $ isFloatFormat fmt)
++ $ toOL
++ [ ann
++ (text "Alignment check - alignment: " <> int align <> text ", word width: " <> text (show wordWidth))
++ (AND (OpReg width cmpReg) (OpReg width reg) (OpImm $ ImmInt $ align - 1)),
++ BCOND EQ (OpReg width cmpReg) zero (TBlock okayLblId),
++ COMMENT (text "Alignment check failed"),
++ LDR II64 (OpReg W64 jumpReg) (OpImm $ ImmCLbl mkBadAlignmentLabel),
++ B (TReg jumpReg),
++ NEWBLOCK okayLblId
++ ]
++
++-- -----------------------------------------------------------------------------
++-- The 'Amode' type: Memory addressing modes passed up the tree.
++data Amode = Amode AddrMode InstrBlock
++
++-- | Provide the value of a `CmmExpr` with an `Amode`
++--
++-- N.B. this function should be used to provide operands to load and store
++-- instructions with signed 12bit wide immediates (S & I types). For other
++-- immediate sizes and formats (e.g. B type uses multiples of 2) this function
++-- would need to be adjusted.
++getAmode ::
++ Platform ->
++ -- | width of loaded value
++ Width ->
++ CmmExpr ->
++ NatM Amode
++-- TODO: Specialize stuff we can destructure here.
++
++-- LDR/STR: Immediate can be represented with 12bits
++getAmode platform w (CmmRegOff reg off)
++ | w <= W64,
++ fitsIn12bitImm off =
++ return $ Amode (AddrRegImm reg' off') nilOL
++ where
++ reg' = getRegisterReg platform reg
++ off' = ImmInt off
++
++-- For Stores we often see something like this:
++-- CmmStore (CmmMachOp (MO_Add w) [CmmLoad expr, CmmLit (CmmInt n w')]) (expr2)
++-- E.g. a CmmStoreOff really. This can be translated to `str $expr2, [$expr, #n ]
++-- for `n` in range.
++getAmode _platform _ (CmmMachOp (MO_Add _w) [expr, CmmLit (CmmInt off _w')])
++ | fitsIn12bitImm off =
++ do
++ (reg, _format, code) <- getSomeReg expr
++ return $ Amode (AddrRegImm reg (ImmInteger off)) code
++getAmode _platform _ (CmmMachOp (MO_Sub _w) [expr, CmmLit (CmmInt off _w')])
++ | fitsIn12bitImm (-off) =
++ do
++ (reg, _format, code) <- getSomeReg expr
++ return $ Amode (AddrRegImm reg (ImmInteger (-off))) code
++
++-- Generic case
++getAmode _platform _ expr =
++ do
++ (reg, _format, code) <- getSomeReg expr
++ return $ Amode (AddrReg reg) code
++
++-- -----------------------------------------------------------------------------
++-- Generating assignments
++
++-- Assignments are really at the heart of the whole code generation
++-- business. Almost all top-level nodes of any real importance are
++-- assignments, which correspond to loads, stores, or register
++-- transfers. If we're really lucky, some of the register transfers
++-- will go away, because we can use the destination register to
++-- complete the code generation for the right hand side. This only
++-- fails when the right hand side is forced into a fixed register
++-- (e.g. the result of a call).
++
++assignMem_IntCode :: Format -> CmmExpr -> CmmExpr -> NatM InstrBlock
++assignReg_IntCode :: Format -> CmmReg -> CmmExpr -> NatM InstrBlock
++assignMem_FltCode :: Format -> CmmExpr -> CmmExpr -> NatM InstrBlock
++assignReg_FltCode :: Format -> CmmReg -> CmmExpr -> NatM InstrBlock
++assignMem_IntCode rep addrE srcE =
++ do
++ (src_reg, _format, code) <- getSomeReg srcE
++ platform <- getPlatform
++ let w = formatToWidth rep
++ Amode addr addr_code <- getAmode platform w addrE
++ return $ COMMENT (text "CmmStore" <+> parens (text (show addrE)) <+> parens (text (show srcE)))
++ `consOL` ( code
++ `appOL` addr_code
++ `snocOL` STR rep (OpReg w src_reg) (OpAddr addr)
++ )
++
++assignReg_IntCode _ reg src =
++ do
++ platform <- getPlatform
++ let dst = getRegisterReg platform reg
++ r <- getRegister src
++ return $ case r of
++ Any _ code ->
++ COMMENT (text "CmmAssign" <+> parens (text (show reg)) <+> parens (text (show src)))
++ `consOL` code dst
++ Fixed format freg fcode ->
++ COMMENT (text "CmmAssign" <+> parens (text (show reg)) <+> parens (text (show src)))
++ `consOL` ( fcode
++ `snocOL` MOV (OpReg (formatToWidth format) dst) (OpReg (formatToWidth format) freg)
++ )
++
++-- Let's treat Floating point stuff
++-- as integer code for now. Opaque.
++assignMem_FltCode = assignMem_IntCode
++
++assignReg_FltCode = assignReg_IntCode
++
++-- -----------------------------------------------------------------------------
++-- Jumps
++-- AArch64 has 26bits for targets, whereas RiscV only has 20.
++-- Thus we need to distinguish between far (outside of the)
++-- current compilation unit. And regular branches.
++-- RiscV has ±2MB of displacement, whereas AArch64 has ±128MB.
++-- Thus for most branches we can get away with encoding it
++-- directly in the instruction rather than always loading the
++-- address into a register and then using that to jump.
++-- Under the assumption that our linked build product is less than
++-- ~2*128MB of TEXT, and there are no jump that span the whole
++-- TEXT segment.
++-- Something where riscv's compressed instruction might come in
++-- handy.
++genJump :: CmmExpr {-the branch target-} -> NatM InstrBlock
++genJump expr = do
++ (target, _format, code) <- getSomeReg expr
++ return (code `appOL` unitOL (annExpr expr (B (TReg target))))
++
++-- -----------------------------------------------------------------------------
++-- Unconditional branches
++genBranch :: BlockId -> NatM InstrBlock
++genBranch = return . toOL . mkJumpInstr
++
++-- -----------------------------------------------------------------------------
++-- Conditional branches
++genCondJump ::
++ BlockId ->
++ CmmExpr ->
++ NatM InstrBlock
++genCondJump bid expr = do
++ case expr of
++ -- Optimized == 0 case.
++ CmmMachOp (MO_Eq w) [x, CmmLit (CmmInt 0 _)] -> do
++ (reg_x, _format_x, code_x) <- getSomeReg x
++ return $ code_x `snocOL` annExpr expr (BCOND EQ zero (OpReg w reg_x) (TBlock bid))
++
++ -- Optimized /= 0 case.
++ CmmMachOp (MO_Ne w) [x, CmmLit (CmmInt 0 _)] -> do
++ (reg_x, _format_x, code_x) <- getSomeReg x
++ return $ code_x `snocOL` annExpr expr (BCOND NE zero (OpReg w reg_x) (TBlock bid))
++
++ -- Generic case.
++ CmmMachOp mop [x, y] -> do
++ let ubcond w cmp = do
++ -- compute both sides.
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, format_y, code_y) <- getSomeReg y
++ let x' = OpReg w reg_x
++ y' = OpReg w reg_y
++ return $ case w of
++ w
++ | w == W8 || w == W16 ->
++ code_x
++ `appOL` truncateReg (formatToWidth format_x) w reg_x
++ `appOL` code_y
++ `appOL` truncateReg (formatToWidth format_y) w reg_y
++ `appOL` code_y
++ `snocOL` annExpr expr (BCOND cmp x' y' (TBlock bid))
++ _ ->
++ code_x
++ `appOL` code_y
++ `snocOL` annExpr expr (BCOND cmp x' y' (TBlock bid))
++
++ sbcond w cmp = do
++ -- compute both sides.
++ (reg_x, format_x, code_x) <- getSomeReg x
++ (reg_y, format_y, code_y) <- getSomeReg y
++ let x' = OpReg w reg_x
++ y' = OpReg w reg_y
++ return $ case w of
++ w
++ | w `elem` [W8, W16, W32] ->
++ code_x
++ `appOL` signExtend (formatToWidth format_x) W64 reg_x reg_x
++ `appOL` code_y
++ `appOL` signExtend (formatToWidth format_y) W64 reg_y reg_y
++ `appOL` unitOL (annExpr expr (BCOND cmp x' y' (TBlock bid)))
++ _ -> code_x `appOL` code_y `appOL` unitOL (annExpr expr (BCOND cmp x' y' (TBlock bid)))
++
++ fbcond w cmp = do
++ -- ensure we get float regs
++ (reg_fx, _format_fx, code_fx) <- getFloatReg x
++ (reg_fy, _format_fy, code_fy) <- getFloatReg y
++ condOpReg <- OpReg W64 <$> getNewRegNat II64
++ oneReg <- getNewRegNat II64
++ return $ code_fx
++ `appOL` code_fy
++ `snocOL` annExpr expr (CSET condOpReg (OpReg w reg_fx) (OpReg w reg_fy) cmp)
++ `snocOL` MOV (OpReg W64 oneReg) (OpImm (ImmInt 1))
++ `snocOL` BCOND EQ condOpReg (OpReg w oneReg) (TBlock bid)
++
++ case mop of
++ MO_F_Eq w -> fbcond w EQ
++ MO_F_Ne w -> fbcond w NE
++ MO_F_Gt w -> fbcond w FGT
++ MO_F_Ge w -> fbcond w FGE
++ MO_F_Lt w -> fbcond w FLT
++ MO_F_Le w -> fbcond w FLE
++ MO_Eq w -> sbcond w EQ
++ MO_Ne w -> sbcond w NE
++ MO_S_Gt w -> sbcond w SGT
++ MO_S_Ge w -> sbcond w SGE
++ MO_S_Lt w -> sbcond w SLT
++ MO_S_Le w -> sbcond w SLE
++ MO_U_Gt w -> ubcond w UGT
++ MO_U_Ge w -> ubcond w UGE
++ MO_U_Lt w -> ubcond w ULT
++ MO_U_Le w -> ubcond w ULE
++ _ -> pprPanic "RV64.genCondJump:case mop: " (text $ show expr)
++ _ -> pprPanic "RV64.genCondJump: " (text $ show expr)
++
++-- | Generate conditional branching instructions
++--
++-- This is basically an "if with else" statement.
++genCondBranch ::
++ -- | the true branch target
++ BlockId ->
++ -- | the false branch target
++ BlockId ->
++ -- | the condition on which to branch
++ CmmExpr ->
++ -- | Instructions
++ NatM InstrBlock
++genCondBranch true false expr =
++ appOL
++ <$> genCondJump true expr
++ <*> genBranch false
++
++-- -----------------------------------------------------------------------------
++-- Generating C calls
++
++-- | Generate a call to a C function.
++--
++-- - Integer values are passed in GP registers a0-a7.
++-- - Floating point values are passed in FP registers fa0-fa7.
++-- - If there are no free floating point registers, the FP values are passed in GP registers.
++-- - If all GP registers are taken, the values are spilled as whole words (!) onto the stack.
++-- - For integers/words, the return value is in a0.
++-- - The return value is in fa0 if the return type is a floating point value.
++genCCall ::
++ ForeignTarget -> -- function to call
++ [CmmFormal] -> -- where to put the result
++ [CmmActual] -> -- arguments (of mixed type)
++ NatM InstrBlock
++-- TODO: Specialize where we can.
++-- Generic impl
++genCCall target@(ForeignTarget expr _cconv) dest_regs arg_regs = do
++ -- we want to pass arg_regs into allArgRegs
++ -- The target :: ForeignTarget call can either
++ -- be a foreign procedure with an address expr
++ -- and a calling convention.
++ (call_target_reg, call_target_code) <-
++ -- Compute the address of the call target into a register. This
++ -- addressing enables us to jump through the whole address space
++ -- without further ado. PC-relative addressing would involve
++ -- instructions to do similar, though.
++ do
++ (reg, _format, reg_code) <- getSomeReg expr
++ pure (reg, reg_code)
++ -- compute the code and register logic for all arg_regs.
++ -- this will give us the format information to match on.
++ arg_regs' <- mapM getSomeReg arg_regs
++
++ -- Now this is stupid. Our Cmm expressions doesn't carry the proper sizes
++ -- so while in Cmm we might get W64 incorrectly for an int, that is W32 in
++ -- STG; this then breaks packing of stack arguments, if we need to pack
++ -- for the pcs, e.g. darwinpcs. Option one would be to fix the Int type
++ -- in Cmm proper. Option two, which we choose here is to use extended Hint
++ -- information to contain the size information and use that when packing
++ -- arguments, spilled onto the stack.
++ let (_res_hints, arg_hints) = foreignTargetHints target
++ arg_regs'' = zipWith (\(r, f, c) h -> (r, f, h, c)) arg_regs' arg_hints
++
++ (stackSpaceWords, passRegs, passArgumentsCode) <- passArguments allGpArgRegs allFpArgRegs arg_regs'' 0 [] nilOL
++
++ readResultsCode <- readResults allGpArgRegs allFpArgRegs dest_regs [] nilOL
++
++ let moveStackDown 0 =
++ toOL
++ [ PUSH_STACK_FRAME,
++ DELTA (-16)
++ ]
++ moveStackDown i | odd i = moveStackDown (i + 1)
++ moveStackDown i =
++ toOL
++ [ PUSH_STACK_FRAME,
++ SUB (OpReg W64 spMachReg) (OpReg W64 spMachReg) (OpImm (ImmInt (8 * i))),
++ DELTA (-8 * i - 16)
++ ]
++ moveStackUp 0 =
++ toOL
++ [ POP_STACK_FRAME,
++ DELTA 0
++ ]
++ moveStackUp i | odd i = moveStackUp (i + 1)
++ moveStackUp i =
++ toOL
++ [ ADD (OpReg W64 spMachReg) (OpReg W64 spMachReg) (OpImm (ImmInt (8 * i))),
++ POP_STACK_FRAME,
++ DELTA 0
++ ]
++
++ let code =
++ call_target_code -- compute the label (possibly into a register)
++ `appOL` moveStackDown stackSpaceWords
++ `appOL` passArgumentsCode -- put the arguments into x0, ...
++ `snocOL` BL call_target_reg passRegs -- branch and link (C calls aren't tail calls, but return)
++ `appOL` readResultsCode -- parse the results into registers
++ `appOL` moveStackUp stackSpaceWords
++ return code
++ where
++ -- Implementiation of the RISCV ABI calling convention.
++ -- https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/948463cd5dbebea7c1869e20146b17a2cc8fda2f/riscv-cc.adoc#integer-calling-convention
++ passArguments :: [Reg] -> [Reg] -> [(Reg, Format, ForeignHint, InstrBlock)] -> Int -> [Reg] -> InstrBlock -> NatM (Int, [Reg], InstrBlock)
++ -- Base case: no more arguments to pass (left)
++ passArguments _ _ [] stackSpaceWords accumRegs accumCode = return (stackSpaceWords, accumRegs, accumCode)
++ -- Still have GP regs, and we want to pass an GP argument.
++ passArguments (gpReg : gpRegs) fpRegs ((r, format, hint, code_r) : args) stackSpaceWords accumRegs accumCode | isIntFormat format = do
++ -- RISCV64 Integer Calling Convention: "When passed in registers or on the
++ -- stack, integer scalars narrower than XLEN bits are widened according to
++ -- the sign of their type up to 32 bits, then sign-extended to XLEN bits."
++ let w = formatToWidth format
++ assignArg =
++ if hint == SignedHint
++ then
++ COMMENT (text "Pass gp argument sign-extended (SignedHint): " <> ppr r)
++ `consOL` signExtend w W64 r gpReg
++ else
++ toOL
++ [ COMMENT (text "Pass gp argument sign-extended (SignedHint): " <> ppr r),
++ MOV (OpReg w gpReg) (OpReg w r)
++ ]
++ accumCode' =
++ accumCode
++ `appOL` code_r
++ `appOL` assignArg
++ passArguments gpRegs fpRegs args stackSpaceWords (gpReg : accumRegs) accumCode'
++
++ -- Still have FP regs, and we want to pass an FP argument.
++ passArguments gpRegs (fpReg : fpRegs) ((r, format, _hint, code_r) : args) stackSpaceWords accumRegs accumCode | isFloatFormat format = do
++ let w = formatToWidth format
++ mov = MOV (OpReg w fpReg) (OpReg w r)
++ accumCode' =
++ accumCode
++ `appOL` code_r
++ `snocOL` ann (text "Pass fp argument: " <> ppr r) mov
++ passArguments gpRegs fpRegs args stackSpaceWords (fpReg : accumRegs) accumCode'
++
++ -- No mor regs left to pass. Must pass on stack.
++ passArguments [] [] ((r, format, hint, code_r) : args) stackSpaceWords accumRegs accumCode = do
++ let w = formatToWidth format
++ spOffet = 8 * stackSpaceWords
++ str = STR format (OpReg w r) (OpAddr (AddrRegImm spMachReg (ImmInt spOffet)))
++ stackCode =
++ if hint == SignedHint
++ then
++ code_r
++ `appOL` signExtend w W64 r tmpReg
++ `snocOL` ann (text "Pass signed argument (size " <> ppr w <> text ") on the stack: " <> ppr tmpReg) str
++ else
++ code_r
++ `snocOL` ann (text "Pass unsigned argument (size " <> ppr w <> text ") on the stack: " <> ppr r) str
++ passArguments [] [] args (stackSpaceWords + 1) accumRegs (stackCode `appOL` accumCode)
++
++ -- Still have fpRegs left, but want to pass a GP argument. Must be passed on the stack then.
++ passArguments [] fpRegs ((r, format, _hint, code_r) : args) stackSpaceWords accumRegs accumCode | isIntFormat format = do
++ let w = formatToWidth format
++ spOffet = 8 * stackSpaceWords
++ str = STR format (OpReg w r) (OpAddr (AddrRegImm spMachReg (ImmInt spOffet)))
++ stackCode =
++ code_r
++ `snocOL` ann (text "Pass argument (size " <> ppr w <> text ") on the stack: " <> ppr r) str
++ passArguments [] fpRegs args (stackSpaceWords + 1) accumRegs (stackCode `appOL` accumCode)
++
++ -- Still have gpRegs left, but want to pass a FP argument. Must be passed in gpReg then.
++ passArguments (gpReg : gpRegs) [] ((r, format, _hint, code_r) : args) stackSpaceWords accumRegs accumCode | isFloatFormat format = do
++ let w = formatToWidth format
++ mov = MOV (OpReg w gpReg) (OpReg w r)
++ accumCode' =
++ accumCode
++ `appOL` code_r
++ `snocOL` ann (text "Pass fp argument in gpReg: " <> ppr r) mov
++ passArguments gpRegs [] args stackSpaceWords (gpReg : accumRegs) accumCode'
++ passArguments _ _ _ _ _ _ = pprPanic "passArguments" (text "invalid state")
++
++ readResults :: [Reg] -> [Reg] -> [LocalReg] -> [Reg] -> InstrBlock -> NatM InstrBlock
++ readResults _ _ [] _ accumCode = return accumCode
++ readResults [] _ _ _ _ = do
++ platform <- getPlatform
++ pprPanic "genCCall, out of gp registers when reading results" (pdoc platform target)
++ readResults _ [] _ _ _ = do
++ platform <- getPlatform
++ pprPanic "genCCall, out of fp registers when reading results" (pdoc platform target)
++ readResults (gpReg : gpRegs) (fpReg : fpRegs) (dst : dsts) accumRegs accumCode = do
++ -- gp/fp reg -> dst
++ platform <- getPlatform
++ let rep = cmmRegType (CmmLocal dst)
++ format = cmmTypeFormat rep
++ w = cmmRegWidth (CmmLocal dst)
++ r_dst = getRegisterReg platform (CmmLocal dst)
++ if isFloatFormat format
++ then readResults (gpReg : gpRegs) fpRegs dsts (fpReg : accumRegs) (accumCode `snocOL` MOV (OpReg w r_dst) (OpReg w fpReg))
++ else
++ readResults gpRegs (fpReg : fpRegs) dsts (gpReg : accumRegs)
++ $ accumCode
++ `snocOL` MOV (OpReg w r_dst) (OpReg w gpReg)
++ `appOL`
++ -- truncate, otherwise an unexpectedly big value might be used in upfollowing calculations
++ truncateReg W64 w r_dst
++genCCall (PrimTarget mop) dest_regs arg_regs = do
++ case mop of
++ MO_F32_Fabs
++ | [arg_reg] <- arg_regs,
++ [dest_reg] <- dest_regs ->
++ unaryFloatOp W32 (\d x -> unitOL $ FABS d x) arg_reg dest_reg
++ MO_F64_Fabs
++ | [arg_reg] <- arg_regs,
++ [dest_reg] <- dest_regs ->
++ unaryFloatOp W64 (\d x -> unitOL $ FABS d x) arg_reg dest_reg
++ -- 64 bit float ops
++ MO_F64_Pwr -> mkCCall "pow"
++ MO_F64_Sin -> mkCCall "sin"
++ MO_F64_Cos -> mkCCall "cos"
++ MO_F64_Tan -> mkCCall "tan"
++ MO_F64_Sinh -> mkCCall "sinh"
++ MO_F64_Cosh -> mkCCall "cosh"
++ MO_F64_Tanh -> mkCCall "tanh"
++ MO_F64_Asin -> mkCCall "asin"
++ MO_F64_Acos -> mkCCall "acos"
++ MO_F64_Atan -> mkCCall "atan"
++ MO_F64_Asinh -> mkCCall "asinh"
++ MO_F64_Acosh -> mkCCall "acosh"
++ MO_F64_Atanh -> mkCCall "atanh"
++ MO_F64_Log -> mkCCall "log"
++ MO_F64_Log1P -> mkCCall "log1p"
++ MO_F64_Exp -> mkCCall "exp"
++ MO_F64_ExpM1 -> mkCCall "expm1"
++ MO_F64_Fabs -> mkCCall "fabs"
++ MO_F64_Sqrt -> mkCCall "sqrt"
++ -- 32 bit float ops
++ MO_F32_Pwr -> mkCCall "powf"
++ MO_F32_Sin -> mkCCall "sinf"
++ MO_F32_Cos -> mkCCall "cosf"
++ MO_F32_Tan -> mkCCall "tanf"
++ MO_F32_Sinh -> mkCCall "sinhf"
++ MO_F32_Cosh -> mkCCall "coshf"
++ MO_F32_Tanh -> mkCCall "tanhf"
++ MO_F32_Asin -> mkCCall "asinf"
++ MO_F32_Acos -> mkCCall "acosf"
++ MO_F32_Atan -> mkCCall "atanf"
++ MO_F32_Asinh -> mkCCall "asinhf"
++ MO_F32_Acosh -> mkCCall "acoshf"
++ MO_F32_Atanh -> mkCCall "atanhf"
++ MO_F32_Log -> mkCCall "logf"
++ MO_F32_Log1P -> mkCCall "log1pf"
++ MO_F32_Exp -> mkCCall "expf"
++ MO_F32_ExpM1 -> mkCCall "expm1f"
++ MO_F32_Fabs -> mkCCall "fabsf"
++ MO_F32_Sqrt -> mkCCall "sqrtf"
++ -- 64-bit primops
++ MO_I64_ToI -> mkCCall "hs_int64ToInt"
++ MO_I64_FromI -> mkCCall "hs_intToInt64"
++ MO_W64_ToW -> mkCCall "hs_word64ToWord"
++ MO_W64_FromW -> mkCCall "hs_wordToWord64"
++ MO_x64_Neg -> mkCCall "hs_neg64"
++ MO_x64_Add -> mkCCall "hs_add64"
++ MO_x64_Sub -> mkCCall "hs_sub64"
++ MO_x64_Mul -> mkCCall "hs_mul64"
++ MO_I64_Quot -> mkCCall "hs_quotInt64"
++ MO_I64_Rem -> mkCCall "hs_remInt64"
++ MO_W64_Quot -> mkCCall "hs_quotWord64"
++ MO_W64_Rem -> mkCCall "hs_remWord64"
++ MO_x64_And -> mkCCall "hs_and64"
++ MO_x64_Or -> mkCCall "hs_or64"
++ MO_x64_Xor -> mkCCall "hs_xor64"
++ MO_x64_Not -> mkCCall "hs_not64"
++ MO_x64_Shl -> mkCCall "hs_uncheckedShiftL64"
++ MO_I64_Shr -> mkCCall "hs_uncheckedIShiftRA64"
++ MO_W64_Shr -> mkCCall "hs_uncheckedShiftRL64"
++ MO_x64_Eq -> mkCCall "hs_eq64"
++ MO_x64_Ne -> mkCCall "hs_ne64"
++ MO_I64_Ge -> mkCCall "hs_geInt64"
++ MO_I64_Gt -> mkCCall "hs_gtInt64"
++ MO_I64_Le -> mkCCall "hs_leInt64"
++ MO_I64_Lt -> mkCCall "hs_ltInt64"
++ MO_W64_Ge -> mkCCall "hs_geWord64"
++ MO_W64_Gt -> mkCCall "hs_gtWord64"
++ MO_W64_Le -> mkCCall "hs_leWord64"
++ MO_W64_Lt -> mkCCall "hs_ltWord64"
++ -- Conversion
++ MO_UF_Conv w -> mkCCall (word2FloatLabel w)
++ -- Optional MachOps
++ -- These are enabled/disabled by backend flags: GHC.StgToCmm.Config
++ MO_S_Mul2 _w -> unsupported mop
++ MO_S_QuotRem _w -> unsupported mop
++ MO_U_QuotRem _w -> unsupported mop
++ MO_U_QuotRem2 _w -> unsupported mop
++ MO_Add2 _w -> unsupported mop
++ MO_AddWordC _w -> unsupported mop
++ MO_SubWordC _w -> unsupported mop
++ MO_AddIntC _w -> unsupported mop
++ MO_SubIntC _w -> unsupported mop
++ MO_U_Mul2 _w -> unsupported mop
++ -- Memory Ordering
++ -- The related C functions are:
++ -- #include
++ -- atomic_thread_fence(memory_order_acquire);
++ -- atomic_thread_fence(memory_order_release);
++ -- atomic_thread_fence(memory_order_seq_cst);
++ MO_AcquireFence -> pure (unitOL (FENCE FenceRead FenceReadWrite))
++ MO_ReleaseFence -> pure (unitOL (FENCE FenceReadWrite FenceWrite))
++ MO_SeqCstFence -> pure (unitOL (FENCE FenceReadWrite FenceReadWrite))
++ MO_Touch -> pure nilOL -- Keep variables live (when using interior pointers)
++ -- Prefetch
++ MO_Prefetch_Data _n -> pure nilOL -- Prefetch hint.
++
++ -- Memory copy/set/move/cmp, with alignment for optimization
++ MO_Memcpy _align -> mkCCall "memcpy"
++ MO_Memset _align -> mkCCall "memset"
++ MO_Memmove _align -> mkCCall "memmove"
++ MO_Memcmp _align -> mkCCall "memcmp"
++ MO_SuspendThread -> mkCCall "suspendThread"
++ MO_ResumeThread -> mkCCall "resumeThread"
++ MO_PopCnt w -> mkCCall (popCntLabel w)
++ MO_Pdep w -> mkCCall (pdepLabel w)
++ MO_Pext w -> mkCCall (pextLabel w)
++ MO_Clz w -> mkCCall (clzLabel w)
++ MO_Ctz w -> mkCCall (ctzLabel w)
++ MO_BSwap w -> mkCCall (bSwapLabel w)
++ MO_BRev w -> mkCCall (bRevLabel w)
++ -- Atomic read-modify-write.
++ mo@(MO_AtomicRead w ord)
++ | [p_reg] <- arg_regs,
++ [dst_reg] <- dest_regs -> do
++ (p, _fmt_p, code_p) <- getSomeReg p_reg
++ platform <- getPlatform
++ -- Analog to the related MachOps (above)
++ -- The related C functions are:
++ -- #include
++ -- __atomic_load_n(&a, __ATOMIC_ACQUIRE);
++ -- __atomic_load_n(&a, __ATOMIC_SEQ_CST);
++ let instrs = case ord of
++ MemOrderRelaxed -> unitOL $ ann moDescr (LDR (intFormat w) (OpReg w dst) (OpAddr $ AddrReg p))
++ MemOrderAcquire ->
++ toOL
++ [ ann moDescr (LDR (intFormat w) (OpReg w dst) (OpAddr $ AddrReg p)),
++ FENCE FenceRead FenceReadWrite
++ ]
++ MemOrderSeqCst ->
++ toOL
++ [ ann moDescr (FENCE FenceReadWrite FenceReadWrite),
++ LDR (intFormat w) (OpReg w dst) (OpAddr $ AddrReg p),
++ FENCE FenceRead FenceReadWrite
++ ]
++ MemOrderRelease -> panic $ "Unexpected MemOrderRelease on an AtomicRead: " ++ show mo
++ dst = getRegisterReg platform (CmmLocal dst_reg)
++ moDescr = (text . show) mo
++ code = code_p `appOL` instrs
++ return code
++ | otherwise -> panic "mal-formed AtomicRead"
++ mo@(MO_AtomicWrite w ord)
++ | [p_reg, val_reg] <- arg_regs -> do
++ (p, _fmt_p, code_p) <- getSomeReg p_reg
++ (val, fmt_val, code_val) <- getSomeReg val_reg
++ -- Analog to the related MachOps (above)
++ -- The related C functions are:
++ -- #include
++ -- __atomic_store_n(&a, 23, __ATOMIC_SEQ_CST);
++ -- __atomic_store_n(&a, 23, __ATOMIC_RELEASE);
++ let instrs = case ord of
++ MemOrderRelaxed -> unitOL $ ann moDescr (STR fmt_val (OpReg w val) (OpAddr $ AddrReg p))
++ MemOrderSeqCst ->
++ toOL
++ [ ann moDescr (FENCE FenceReadWrite FenceWrite),
++ STR fmt_val (OpReg w val) (OpAddr $ AddrReg p),
++ FENCE FenceReadWrite FenceReadWrite
++ ]
++ MemOrderRelease ->
++ toOL
++ [ ann moDescr (FENCE FenceReadWrite FenceWrite),
++ STR fmt_val (OpReg w val) (OpAddr $ AddrReg p)
++ ]
++ MemOrderAcquire -> panic $ "Unexpected MemOrderAcquire on an AtomicWrite" ++ show mo
++ moDescr = (text . show) mo
++ code =
++ code_p
++ `appOL` code_val
++ `appOL` instrs
++ pure code
++ | otherwise -> panic "mal-formed AtomicWrite"
++ MO_AtomicRMW w amop -> mkCCall (atomicRMWLabel w amop)
++ MO_Cmpxchg w -> mkCCall (cmpxchgLabel w)
++ -- -- Should be an AtomicRMW variant eventually.
++ -- -- Sequential consistent.
++ -- TODO: this should be implemented properly!
++ MO_Xchg w -> mkCCall (xchgLabel w)
++ where
++ unsupported :: (Show a) => a -> b
++ unsupported mop =
++ panic
++ ( "outOfLineCmmOp: "
++ ++ show mop
++ ++ " not supported here"
++ )
++ mkCCall :: FastString -> NatM InstrBlock
++ mkCCall name = do
++ config <- getConfig
++ target <-
++ cmmMakeDynamicReference config CallReference
++ $ mkForeignLabel name Nothing ForeignLabelInThisPackage IsFunction
++ let cconv = ForeignConvention CCallConv [NoHint] [NoHint] CmmMayReturn
++ genCCall (ForeignTarget target cconv) dest_regs arg_regs
++
++ unaryFloatOp w op arg_reg dest_reg = do
++ platform <- getPlatform
++ (reg_fx, _format_x, code_fx) <- getFloatReg arg_reg
++ let dst = getRegisterReg platform (CmmLocal dest_reg)
++ let code = code_fx `appOL` op (OpReg w dst) (OpReg w reg_fx)
++ pure code
++
++{- Note [RISCV64 far jumps]
++~~~~~~~~~~~~~~~~~~~~~~~~~~~
++
++RISCV64 conditional jump instructions can only encode an offset of +/-4KiB
++(12bits) which is usually enough but can be exceeded in edge cases. In these
++cases we will replace:
++
++ b.cond foo
++
++with the sequence:
++
++ b.cond
++ b
++ :
++ la reg foo
++ b reg
++ :
++
++and
++
++ b foo
++
++with the sequence:
++
++ la reg foo
++ b reg
++
++Compared to AArch64 the target label is loaded to a register, because
++unconditional jump instructions can only address +/-1MiB. The LA
++pseudo-instruction will be replaced by up to two real instructions, ensuring
++correct addressing.
++
++One could surely find more efficient replacements, taking PC-relative addressing
++into account. This could be a future improvement. (As far branches are pretty
++rare, one might question and measure the value of such improvement.)
++
++RISCV has many pseudo-instructions which emit more than one real instructions.
++Thus, we count the real instructions after the Assembler has seen them.
++
++We make some simplifications in the name of performance which can result in
++overestimating jump <-> label offsets:
++
++\* To avoid having to recalculate the label offsets once we replaced a jump we simply
++ assume all label jumps will be expanded to a three instruction far jump sequence.
++\* For labels associated with a info table we assume the info table is 64byte large.
++ Most info tables are smaller than that but it means we don't have to distinguish
++ between multiple types of info tables.
++
++In terms of implementation we walk the instruction stream at least once calculating
++label offsets, and if we determine during this that the functions body is big enough
++to potentially contain out of range jumps we walk the instructions a second time, replacing
++out of range jumps with the sequence of instructions described above.
++
++-}
++
++-- | A conditional jump to a far target
++--
++-- By loading the far target into a register for the jump, we can address the
++-- whole memory range.
++genCondFarJump :: (MonadUnique m) => Cond -> Operand -> Operand -> BlockId -> m InstrBlock
++genCondFarJump cond op1 op2 far_target = do
++ skip_lbl_id <- newBlockId
++ jmp_lbl_id <- newBlockId
++
++ -- TODO: We can improve this by inverting the condition
++ -- but it's not quite trivial since we don't know if we
++ -- need to consider float orderings.
++ -- So we take the hit of the additional jump in the false
++ -- case for now.
++ return
++ $ toOL
++ [ ann (text "Conditional far jump to: " <> ppr far_target)
++ $ BCOND cond op1 op2 (TBlock jmp_lbl_id),
++ B (TBlock skip_lbl_id),
++ NEWBLOCK jmp_lbl_id,
++ LDR II64 (OpReg W64 tmpReg) (OpImm (ImmCLbl (blockLbl far_target))),
++ B (TReg tmpReg),
++ NEWBLOCK skip_lbl_id
++ ]
++
++-- | An unconditional jump to a far target
++--
++-- By loading the far target into a register for the jump, we can address the
++-- whole memory range.
++genFarJump :: (MonadUnique m) => BlockId -> m InstrBlock
++genFarJump far_target =
++ return
++ $ toOL
++ [ ann (text "Unconditional far jump to: " <> ppr far_target)
++ $ LDR II64 (OpReg W64 tmpReg) (OpImm (ImmCLbl (blockLbl far_target))),
++ B (TReg tmpReg)
++ ]
++
++-- See Note [RISCV64 far jumps]
++data BlockInRange = InRange | NotInRange BlockId
++
++-- See Note [RISCV64 far jumps]
++makeFarBranches ::
++ Platform ->
++ LabelMap RawCmmStatics ->
++ [NatBasicBlock Instr] ->
++ UniqSM [NatBasicBlock Instr]
++makeFarBranches {- only used when debugging -} _platform statics basic_blocks = do
++ -- All offsets/positions are counted in multiples of 4 bytes (the size of RISCV64 instructions)
++ -- That is an offset of 1 represents a 4-byte/one instruction offset.
++ let (func_size, lblMap) = foldl' calc_lbl_positions (0, mapEmpty) basic_blocks
++ if func_size < max_jump_dist
++ then pure basic_blocks
++ else do
++ (_, blocks) <- mapAccumLM (replace_blk lblMap) 0 basic_blocks
++ pure $ concat blocks
++ where
++ -- pprTrace "lblMap" (ppr lblMap) $ basic_blocks
++
++ -- 2^11, 12 bit immediate with one bit is reserved for the sign
++ max_jump_dist = 2 ^ (11 :: Int) - 1 :: Int
++ -- Currently all inline info tables fit into 64 bytes.
++ max_info_size = 16 :: Int
++ long_bc_jump_size = 5 :: Int
++ long_b_jump_size = 2 :: Int
++
++ -- Replace out of range conditional jumps with unconditional jumps.
++ replace_blk :: LabelMap Int -> Int -> GenBasicBlock Instr -> UniqSM (Int, [GenBasicBlock Instr])
++ replace_blk !m !pos (BasicBlock lbl instrs) = do
++ -- Account for a potential info table before the label.
++ let !block_pos = pos + infoTblSize_maybe lbl
++ (!pos', instrs') <- mapAccumLM (replace_jump m) block_pos instrs
++ let instrs'' = concat instrs'
++ -- We might have introduced new labels, so split the instructions into basic blocks again if neccesary.
++ let (top, split_blocks, no_data) = foldr mkBlocks ([], [], []) instrs''
++ -- There should be no data in the instruction stream at this point
++ massert (null no_data)
++
++ let final_blocks = BasicBlock lbl top : split_blocks
++ pure (pos', final_blocks)
++
++ replace_jump :: LabelMap Int -> Int -> Instr -> UniqSM (Int, [Instr])
++ replace_jump !m !pos instr = do
++ case instr of
++ ANN ann instr -> do
++ (idx, instr' : instrs') <- replace_jump m pos instr
++ pure (idx, ANN ann instr' : instrs')
++ BCOND cond op1 op2 t ->
++ case target_in_range m t pos of
++ InRange -> pure (pos + instr_size instr, [instr])
++ NotInRange far_target -> do
++ jmp_code <- genCondFarJump cond op1 op2 far_target
++ pure (pos + instr_size instr, fromOL jmp_code)
++ B t ->
++ case target_in_range m t pos of
++ InRange -> pure (pos + instr_size instr, [instr])
++ NotInRange far_target -> do
++ jmp_code <- genFarJump far_target
++ pure (pos + instr_size instr, fromOL jmp_code)
++ _ -> pure (pos + instr_size instr, [instr])
++
++ target_in_range :: LabelMap Int -> Target -> Int -> BlockInRange
++ target_in_range m target src =
++ case target of
++ (TReg {}) -> InRange
++ (TBlock bid) -> block_in_range m src bid
++
++ block_in_range :: LabelMap Int -> Int -> BlockId -> BlockInRange
++ block_in_range m src_pos dest_lbl =
++ case mapLookup dest_lbl m of
++ Nothing ->
++ pprTrace "not in range" (ppr dest_lbl)
++ $ NotInRange dest_lbl
++ Just dest_pos ->
++ if abs (dest_pos - src_pos) < max_jump_dist
++ then InRange
++ else NotInRange dest_lbl
++
++ calc_lbl_positions :: (Int, LabelMap Int) -> GenBasicBlock Instr -> (Int, LabelMap Int)
++ calc_lbl_positions (pos, m) (BasicBlock lbl instrs) =
++ let !pos' = pos + infoTblSize_maybe lbl
++ in foldl' instr_pos (pos', mapInsert lbl pos' m) instrs
++
++ instr_pos :: (Int, LabelMap Int) -> Instr -> (Int, LabelMap Int)
++ instr_pos (pos, m) instr = (pos + instr_size instr, m)
++
++ infoTblSize_maybe bid =
++ case mapLookup bid statics of
++ Nothing -> 0 :: Int
++ Just _info_static -> max_info_size
++
++ instr_size :: Instr -> Int
++ instr_size i = case i of
++ COMMENT {} -> 0
++ MULTILINE_COMMENT {} -> 0
++ ANN _ instr -> instr_size instr
++ LOCATION {} -> 0
++ DELTA {} -> 0
++ -- At this point there should be no NEWBLOCK in the instruction stream (pos, mapInsert bid pos m)
++ NEWBLOCK {} -> panic "mkFarBranched - Unexpected"
++ LDATA {} -> panic "mkFarBranched - Unexpected"
++ PUSH_STACK_FRAME -> 4
++ POP_STACK_FRAME -> 4
++ ADD {} -> 1
++ MUL {} -> 1
++ MULH {} -> 1
++ NEG {} -> 1
++ DIV {} -> 1
++ REM {} -> 1
++ REMU {} -> 1
++ SUB {} -> 1
++ DIVU {} -> 1
++ AND {} -> 1
++ OR {} -> 1
++ SRA {} -> 1
++ XOR {} -> 1
++ SLL {} -> 1
++ SRL {} -> 1
++ MOV {} -> 2
++ ORI {} -> 1
++ XORI {} -> 1
++ CSET {} -> 2
++ STR {} -> 1
++ LDR {} -> 3
++ LDRU {} -> 1
++ FENCE {} -> 1
++ FCVT {} -> 1
++ FABS {} -> 1
++ FMA {} -> 1
++ -- estimate the subsituted size for jumps to lables
++ -- jumps to registers have size 1
++ BCOND {} -> long_bc_jump_size
++ B (TBlock _) -> long_b_jump_size
++ B (TReg _) -> 1
++ BL _ _ -> 1
++ J_TBL {} -> 1
+Index: ghc-9.10.1/compiler/GHC/CmmToAsm/RV64/Cond.hs
+===================================================================
+--- /dev/null
++++ ghc-9.10.1/compiler/GHC/CmmToAsm/RV64/Cond.hs
+@@ -0,0 +1,42 @@
++module GHC.CmmToAsm.RV64.Cond
++ ( Cond (..),
++ )
++where
++
++import GHC.Prelude hiding (EQ)
++
++-- | Condition codes.
++--
++-- Used in conditional branches and bit setters. According to the available
++-- instruction set, some conditions are encoded as their negated opposites. I.e.
++-- these are logical things that don't necessarily map 1:1 to hardware/ISA.
++data Cond
++ = -- | int and float
++ EQ
++ | -- | int and float
++ NE
++ | -- | signed less than
++ SLT
++ | -- | signed less than or equal
++ SLE
++ | -- | signed greater than or equal
++ SGE
++ | -- | signed greater than
++ SGT
++ | -- | unsigned less than
++ ULT
++ | -- | unsigned less than or equal
++ ULE
++ | -- | unsigned greater than or equal
++ UGE
++ | -- | unsigned greater than
++ UGT
++ | -- | floating point instruction @flt@
++ FLT
++ | -- | floating point instruction @fle@
++ FLE
++ | -- | floating point instruction @fge@
++ FGE
++ | -- | floating point instruction @fgt@
++ FGT
++ deriving (Eq, Show)
+Index: ghc-9.10.1/compiler/GHC/CmmToAsm/RV64/Instr.hs
+===================================================================
+--- /dev/null
++++ ghc-9.10.1/compiler/GHC/CmmToAsm/RV64/Instr.hs
+@@ -0,0 +1,823 @@
++-- All instructions will be rendered eventually. Thus, there's no benefit in
++-- being lazy in data types.
++{-# LANGUAGE StrictData #-}
++{-# OPTIONS_GHC -fno-warn-orphans #-}
++
++module GHC.CmmToAsm.RV64.Instr where
++
++import Data.Maybe
++import GHC.Cmm
++import GHC.Cmm.BlockId
++import GHC.Cmm.CLabel
++import GHC.Cmm.Dataflow.Label
++import GHC.CmmToAsm.Config
++import GHC.CmmToAsm.Format
++import GHC.CmmToAsm.Instr (RegUsage (..))
++import GHC.CmmToAsm.RV64.Cond
++import GHC.CmmToAsm.RV64.Regs
++import GHC.CmmToAsm.Types
++import GHC.CmmToAsm.Utils
++import GHC.Data.FastString (LexicalFastString)
++import GHC.Platform
++import GHC.Platform.Reg
++import GHC.Platform.Regs
++import GHC.Prelude
++import GHC.Stack
++import GHC.Types.Unique.Supply
++import GHC.Utils.Outputable
++import GHC.Utils.Panic
++
++-- | Stack frame header size in bytes.
++--
++-- The stack frame header is made of the values that are always saved
++-- (regardless of the context.) It consists of the saved return address and a
++-- pointer to the previous frame. Thus, its size is two stack frame slots which
++-- equals two addresses/words (2 * 8 byte).
++stackFrameHeaderSize :: Int
++stackFrameHeaderSize = 2 * spillSlotSize
++
++-- | All registers are 8 byte wide.
++spillSlotSize :: Int
++spillSlotSize = 8
++
++-- | The number of bytes that the stack pointer should be aligned to.
++stackAlign :: Int
++stackAlign = 16
++
++-- | The number of spill slots available without allocating more.
++maxSpillSlots :: NCGConfig -> Int
++maxSpillSlots config =
++ ( (ncgSpillPreallocSize config - stackFrameHeaderSize)
++ `div` spillSlotSize
++ )
++ - 1
++
++-- | Convert a spill slot number to a *byte* offset.
++spillSlotToOffset :: Int -> Int
++spillSlotToOffset slot =
++ stackFrameHeaderSize + spillSlotSize * slot
++
++instance Outputable RegUsage where
++ ppr (RU reads writes) = text "RegUsage(reads:" <+> ppr reads <> comma <+> text "writes:" <+> ppr writes <> char ')'
++
++-- | Get the registers that are being used by this instruction.
++-- regUsage doesn't need to do any trickery for jumps and such.
++-- Just state precisely the regs read and written by that insn.
++-- The consequences of control flow transfers, as far as register
++-- allocation goes, are taken care of by the register allocator.
++--
++-- RegUsage = RU [] []
++regUsageOfInstr :: Platform -> Instr -> RegUsage
++regUsageOfInstr platform instr = case instr of
++ ANN _ i -> regUsageOfInstr platform i
++ COMMENT {} -> usage ([], [])
++ MULTILINE_COMMENT {} -> usage ([], [])
++ PUSH_STACK_FRAME -> usage ([], [])
++ POP_STACK_FRAME -> usage ([], [])
++ LOCATION {} -> usage ([], [])
++ DELTA {} -> usage ([], [])
++ ADD dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ MUL dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ NEG dst src -> usage (regOp src, regOp dst)
++ MULH dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ DIV dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ REM dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ REMU dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ SUB dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ DIVU dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ AND dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ OR dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ SRA dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ XOR dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ SLL dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ SRL dst src1 src2 -> usage (regOp src1 ++ regOp src2, regOp dst)
++ MOV dst src -> usage (regOp src, regOp dst)
++ -- ORI's third operand is always an immediate
++ ORI dst src1 _ -> usage (regOp src1, regOp dst)
++ XORI dst src1 _ -> usage (regOp src1, regOp dst)
++ J_TBL _ _ t -> usage ([t], [])
++ B t -> usage (regTarget t, [])
++ BCOND _ l r t -> usage (regTarget t ++ regOp l ++ regOp r, [])
++ BL t ps -> usage (t : ps, callerSavedRegisters)
++ CSET dst l r _ -> usage (regOp l ++ regOp r, regOp dst)
++ STR _ src dst -> usage (regOp src ++ regOp dst, [])
++ LDR _ dst src -> usage (regOp src, regOp dst)
++ LDRU _ dst src -> usage (regOp src, regOp dst)
++ FENCE _ _ -> usage ([], [])
++ FCVT _variant dst src -> usage (regOp src, regOp dst)
++ FABS dst src -> usage (regOp src, regOp dst)
++ FMA _ dst src1 src2 src3 ->
++ usage (regOp src1 ++ regOp src2 ++ regOp src3, regOp dst)
++ _ -> panic $ "regUsageOfInstr: " ++ instrCon instr
++ where
++ -- filtering the usage is necessary, otherwise the register
++ -- allocator will try to allocate pre-defined fixed stg
++ -- registers as well, as they show up.
++ usage :: ([Reg], [Reg]) -> RegUsage
++ usage (srcRegs, dstRegs) =
++ RU
++ (filter (interesting platform) srcRegs)
++ (filter (interesting platform) dstRegs)
++
++ regAddr :: AddrMode -> [Reg]
++ regAddr (AddrRegImm r1 _imm) = [r1]
++ regAddr (AddrReg r1) = [r1]
++
++ regOp :: Operand -> [Reg]
++ regOp (OpReg _w r1) = [r1]
++ regOp (OpAddr a) = regAddr a
++ regOp (OpImm _imm) = []
++
++ regTarget :: Target -> [Reg]
++ regTarget (TBlock _bid) = []
++ regTarget (TReg r1) = [r1]
++
++ -- Is this register interesting for the register allocator?
++ interesting :: Platform -> Reg -> Bool
++ interesting _ (RegVirtual _) = True
++ interesting platform (RegReal (RealRegSingle i)) = freeReg platform i
++
++-- | Caller-saved registers (according to calling convention)
++--
++-- These registers may be clobbered after a jump.
++callerSavedRegisters :: [Reg]
++callerSavedRegisters =
++ [regSingle raRegNo]
++ ++ map regSingle [t0RegNo .. t2RegNo]
++ ++ map regSingle [a0RegNo .. a7RegNo]
++ ++ map regSingle [t3RegNo .. t6RegNo]
++ ++ map regSingle [ft0RegNo .. ft7RegNo]
++ ++ map regSingle [fa0RegNo .. fa7RegNo]
++
++-- | Apply a given mapping to all the register references in this instruction.
++patchRegsOfInstr :: Instr -> (Reg -> Reg) -> Instr
++patchRegsOfInstr instr env = case instr of
++ ANN d i -> ANN d (patchRegsOfInstr i env)
++ COMMENT {} -> instr
++ MULTILINE_COMMENT {} -> instr
++ PUSH_STACK_FRAME -> instr
++ POP_STACK_FRAME -> instr
++ LOCATION {} -> instr
++ DELTA {} -> instr
++ ADD o1 o2 o3 -> ADD (patchOp o1) (patchOp o2) (patchOp o3)
++ MUL o1 o2 o3 -> MUL (patchOp o1) (patchOp o2) (patchOp o3)
++ NEG o1 o2 -> NEG (patchOp o1) (patchOp o2)
++ MULH o1 o2 o3 -> MULH (patchOp o1) (patchOp o2) (patchOp o3)
++ DIV o1 o2 o3 -> DIV (patchOp o1) (patchOp o2) (patchOp o3)
++ REM o1 o2 o3 -> REM (patchOp o1) (patchOp o2) (patchOp o3)
++ REMU o1 o2 o3 -> REMU (patchOp o1) (patchOp o2) (patchOp o3)
++ SUB o1 o2 o3 -> SUB (patchOp o1) (patchOp o2) (patchOp o3)
++ DIVU o1 o2 o3 -> DIVU (patchOp o1) (patchOp o2) (patchOp o3)
++ AND o1 o2 o3 -> AND (patchOp o1) (patchOp o2) (patchOp o3)
++ OR o1 o2 o3 -> OR (patchOp o1) (patchOp o2) (patchOp o3)
++ SRA o1 o2 o3 -> SRA (patchOp o1) (patchOp o2) (patchOp o3)
++ XOR o1 o2 o3 -> XOR (patchOp o1) (patchOp o2) (patchOp o3)
++ SLL o1 o2 o3 -> SLL (patchOp o1) (patchOp o2) (patchOp o3)
++ SRL o1 o2 o3 -> SRL (patchOp o1) (patchOp o2) (patchOp o3)
++ MOV o1 o2 -> MOV (patchOp o1) (patchOp o2)
++ -- o3 cannot be a register for ORI (always an immediate)
++ ORI o1 o2 o3 -> ORI (patchOp o1) (patchOp o2) (patchOp o3)
++ XORI o1 o2 o3 -> XORI (patchOp o1) (patchOp o2) (patchOp o3)
++ J_TBL ids mbLbl t -> J_TBL ids mbLbl (env t)
++ B t -> B (patchTarget t)
++ BL t ps -> BL (patchReg t) ps
++ BCOND c o1 o2 t -> BCOND c (patchOp o1) (patchOp o2) (patchTarget t)
++ CSET o l r c -> CSET (patchOp o) (patchOp l) (patchOp r) c
++ STR f o1 o2 -> STR f (patchOp o1) (patchOp o2)
++ LDR f o1 o2 -> LDR f (patchOp o1) (patchOp o2)
++ LDRU f o1 o2 -> LDRU f (patchOp o1) (patchOp o2)
++ FENCE o1 o2 -> FENCE o1 o2
++ FCVT variant o1 o2 -> FCVT variant (patchOp o1) (patchOp o2)
++ FABS o1 o2 -> FABS (patchOp o1) (patchOp o2)
++ FMA s o1 o2 o3 o4 ->
++ FMA s (patchOp o1) (patchOp o2) (patchOp o3) (patchOp o4)
++ _ -> panic $ "patchRegsOfInstr: " ++ instrCon instr
++ where
++ patchOp :: Operand -> Operand
++ patchOp (OpReg w r) = OpReg w (env r)
++ patchOp (OpAddr a) = OpAddr (patchAddr a)
++ patchOp opImm = opImm
++
++ patchTarget :: Target -> Target
++ patchTarget (TReg r) = TReg (env r)
++ patchTarget tBlock = tBlock
++
++ patchAddr :: AddrMode -> AddrMode
++ patchAddr (AddrRegImm r1 imm) = AddrRegImm (env r1) imm
++ patchAddr (AddrReg r) = AddrReg (env r)
++
++ patchReg :: Reg -> Reg
++ patchReg = env
++
++-- | Checks whether this instruction is a jump/branch instruction.
++--
++-- One that can change the flow of control in a way that the
++-- register allocator needs to worry about.
++isJumpishInstr :: Instr -> Bool
++isJumpishInstr instr = case instr of
++ ANN _ i -> isJumpishInstr i
++ J_TBL {} -> True
++ B {} -> True
++ BL {} -> True
++ BCOND {} -> True
++ _ -> False
++
++-- | Get the `BlockId`s of the jump destinations (if any)
++jumpDestsOfInstr :: Instr -> [BlockId]
++jumpDestsOfInstr (ANN _ i) = jumpDestsOfInstr i
++jumpDestsOfInstr (J_TBL ids _mbLbl _r) = catMaybes ids
++jumpDestsOfInstr (B t) = [id | TBlock id <- [t]]
++jumpDestsOfInstr (BCOND _ _ _ t) = [id | TBlock id <- [t]]
++jumpDestsOfInstr _ = []
++
++-- | Change the destination of this (potential) jump instruction.
++--
++-- Used in the linear allocator when adding fixup blocks for join
++-- points.
++patchJumpInstr :: Instr -> (BlockId -> BlockId) -> Instr
++patchJumpInstr instr patchF =
++ case instr of
++ ANN d i -> ANN d (patchJumpInstr i patchF)
++ J_TBL ids mbLbl r -> J_TBL (map (fmap patchF) ids) mbLbl r
++ B (TBlock bid) -> B (TBlock (patchF bid))
++ BCOND c o1 o2 (TBlock bid) -> BCOND c o1 o2 (TBlock (patchF bid))
++ _ -> panic $ "patchJumpInstr: " ++ instrCon instr
++
++-- -----------------------------------------------------------------------------
++-- Note [RISCV64 Spills and Reloads]
++-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++--
++-- We reserve @RESERVED_C_STACK_BYTES@ on the C stack for spilling and reloading
++-- registers. The load and store instructions of RISCV64 address with a signed
++-- 12-bit immediate + a register; machine stackpointer (sp/x2) in this case.
++--
++-- The @RESERVED_C_STACK_BYTES@ is 16k, so we can't always address into it in a
++-- single load/store instruction. There are offsets to sp (not to be confused
++-- with STG's SP!) which need a register to be calculated.
++--
++-- Using sp to compute the offset would violate assumptions about the stack pointer
++-- pointing to the top of the stack during signal handling. As we can't force
++-- every signal to use its own stack, we have to ensure that the stack pointer
++-- always points to the top of the stack, and we can't use it for computation.
++--
++-- So, we reserve one register (TMP) for this purpose (and other, unrelated
++-- intermediate operations.) See Note [The made-up RISCV64 TMP (IP) register]
++
++-- | Generate instructions to spill a register into a spill slot.
++mkSpillInstr ::
++ (HasCallStack) =>
++ NCGConfig ->
++ -- | register to spill
++ Reg ->
++ -- | current stack delta
++ Int ->
++ -- | spill slot to use
++ Int ->
++ [Instr]
++mkSpillInstr _config reg delta slot =
++ case off - delta of
++ imm | fitsIn12bitImm imm -> [mkStrSpImm imm]
++ imm ->
++ [ movImmToTmp imm,
++ addSpToTmp,
++ mkStrTmp
++ ]
++ where
++ fmt = case reg of
++ RegReal (RealRegSingle n) | n < d0RegNo -> II64
++ _ -> FF64
++ mkStrSpImm imm =
++ ANN (text "Spill@" <> int (off - delta))
++ $ STR fmt (OpReg W64 reg) (OpAddr (AddrRegImm spMachReg (ImmInt imm)))
++ movImmToTmp imm =
++ ANN (text "Spill: TMP <- " <> int imm)
++ $ MOV tmp (OpImm (ImmInt imm))
++ addSpToTmp =
++ ANN (text "Spill: TMP <- SP + TMP ")
++ $ ADD tmp tmp sp
++ mkStrTmp =
++ ANN (text "Spill@" <> int (off - delta))
++ $ STR fmt (OpReg W64 reg) (OpAddr (AddrReg tmpReg))
++
++ off = spillSlotToOffset slot
++
++-- | Generate instructions to load a register from a spill slot.
++mkLoadInstr ::
++ NCGConfig ->
++ -- | register to load
++ Reg ->
++ -- | current stack delta
++ Int ->
++ -- | spill slot to use
++ Int ->
++ [Instr]
++mkLoadInstr _config reg delta slot =
++ case off - delta of
++ imm | fitsIn12bitImm imm -> [mkLdrSpImm imm]
++ imm ->
++ [ movImmToTmp imm,
++ addSpToTmp,
++ mkLdrTmp
++ ]
++ where
++ fmt = case reg of
++ RegReal (RealRegSingle n) | n < d0RegNo -> II64
++ _ -> FF64
++ mkLdrSpImm imm =
++ ANN (text "Reload@" <> int (off - delta))
++ $ LDR fmt (OpReg W64 reg) (OpAddr (AddrRegImm spMachReg (ImmInt imm)))
++ movImmToTmp imm =
++ ANN (text "Reload: TMP <- " <> int imm)
++ $ MOV tmp (OpImm (ImmInt imm))
++ addSpToTmp =
++ ANN (text "Reload: TMP <- SP + TMP ")
++ $ ADD tmp tmp sp
++ mkLdrTmp =
++ ANN (text "Reload@" <> int (off - delta))
++ $ LDR fmt (OpReg W64 reg) (OpAddr (AddrReg tmpReg))
++
++ off = spillSlotToOffset slot
++
++-- | See if this instruction is telling us the current C stack delta
++takeDeltaInstr :: Instr -> Maybe Int
++takeDeltaInstr (ANN _ i) = takeDeltaInstr i
++takeDeltaInstr (DELTA i) = Just i
++takeDeltaInstr _ = Nothing
++
++-- | Not real instructions. Just meta data
++isMetaInstr :: Instr -> Bool
++isMetaInstr instr =
++ case instr of
++ ANN _ i -> isMetaInstr i
++ COMMENT {} -> True
++ MULTILINE_COMMENT {} -> True
++ LOCATION {} -> True
++ LDATA {} -> True
++ NEWBLOCK {} -> True
++ DELTA {} -> True
++ PUSH_STACK_FRAME -> True
++ POP_STACK_FRAME -> True
++ _ -> False
++
++-- | Copy the value in a register to another one.
++--
++-- Must work for all register classes.
++mkRegRegMoveInstr :: Reg -> Reg -> Instr
++mkRegRegMoveInstr src dst = ANN desc instr
++ where
++ desc = text "Reg->Reg Move: " <> ppr src <> text " -> " <> ppr dst
++ instr = MOV (operandFromReg dst) (operandFromReg src)
++
++-- | Take the source and destination from this (potential) reg -> reg move instruction
++--
++-- We have to be a bit careful here: A `MOV` can also mean an implicit
++-- conversion. This case is filtered out.
++takeRegRegMoveInstr :: Instr -> Maybe (Reg, Reg)
++takeRegRegMoveInstr (MOV (OpReg width dst) (OpReg width' src))
++ | width == width' && (isFloatReg dst == isFloatReg src) = pure (src, dst)
++takeRegRegMoveInstr _ = Nothing
++
++-- | Make an unconditional jump instruction.
++mkJumpInstr :: BlockId -> [Instr]
++mkJumpInstr = pure . B . TBlock
++
++-- | Decrement @sp@ to allocate stack space.
++--
++-- The stack grows downwards, so we decrement the stack pointer by @n@ (bytes).
++-- This is dual to `mkStackDeallocInstr`. @sp@ is the RISCV stack pointer, not
++-- to be confused with the STG stack pointer.
++mkStackAllocInstr :: Platform -> Int -> [Instr]
++mkStackAllocInstr _platform = moveSp . negate
++
++-- | Increment SP to deallocate stack space.
++--
++-- The stack grows downwards, so we increment the stack pointer by @n@ (bytes).
++-- This is dual to `mkStackAllocInstr`. @sp@ is the RISCV stack pointer, not to
++-- be confused with the STG stack pointer.
++mkStackDeallocInstr :: Platform -> Int -> [Instr]
++mkStackDeallocInstr _platform = moveSp
++
++moveSp :: Int -> [Instr]
++moveSp n
++ | n == 0 = []
++ | n /= 0 && fitsIn12bitImm n = pure . ANN desc $ ADD sp sp (OpImm (ImmInt n))
++ | otherwise =
++ -- This ends up in three effective instructions. We could get away with
++ -- two for intMax12bit < n < 3 * intMax12bit by recursing once. However,
++ -- this way is likely less surprising.
++ [ ANN desc (MOV tmp (OpImm (ImmInt n))),
++ ADD sp sp tmp
++ ]
++ where
++ desc = text "Move SP:" <+> int n
++
++--
++-- See Note [extra spill slots] in X86/Instr.hs
++--
++allocMoreStack ::
++ Platform ->
++ Int ->
++ NatCmmDecl statics GHC.CmmToAsm.RV64.Instr.Instr ->
++ UniqSM (NatCmmDecl statics GHC.CmmToAsm.RV64.Instr.Instr, [(BlockId, BlockId)])
++allocMoreStack _ _ top@(CmmData _ _) = return (top, [])
++allocMoreStack platform slots proc@(CmmProc info lbl live (ListGraph code)) = do
++ let entries = entryBlocks proc
++
++ uniqs <- getUniquesM
++
++ let delta = ((x + stackAlign - 1) `quot` stackAlign) * stackAlign -- round up
++ where
++ x = slots * spillSlotSize -- sp delta
++ alloc = mkStackAllocInstr platform delta
++ dealloc = mkStackDeallocInstr platform delta
++
++ retargetList = zip entries (map mkBlockId uniqs)
++
++ new_blockmap :: LabelMap BlockId
++ new_blockmap = mapFromList retargetList
++
++ insert_stack_insn (BasicBlock id insns)
++ | Just new_blockid <- mapLookup id new_blockmap =
++ [ BasicBlock id $ alloc ++ [B (TBlock new_blockid)],
++ BasicBlock new_blockid block'
++ ]
++ | otherwise =
++ [BasicBlock id block']
++ where
++ block' = foldr insert_dealloc [] insns
++
++ insert_dealloc insn r = case insn of
++ J_TBL {} -> dealloc ++ (insn : r)
++ ANN _ e -> insert_dealloc e r
++ _other
++ | jumpDestsOfInstr insn /= [] ->
++ patchJumpInstr insn retarget : r
++ _other -> insn : r
++ where
++ retarget b = fromMaybe b (mapLookup b new_blockmap)
++
++ new_code = concatMap insert_stack_insn code
++ return (CmmProc info lbl live (ListGraph new_code), retargetList)
++
++data Instr
++ = -- | Comment pseudo-op
++ COMMENT SDoc
++ | -- | Multi-line comment pseudo-op
++ MULTILINE_COMMENT SDoc
++ | -- | Annotated instruction. Should print