From cfbc4c27f99efabb7690dfed82286b725ec6f1de Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Sun, 22 Jan 2023 22:16:05 +0800 Subject: [PATCH] update to 2.0.3.0 refresh to cabal-rpm-2.1.0 with SPDX migration --- .gitignore | 5 + aeson-1.5.6.0.cabal | 258 -------------------------------------------- aeson-2.0.3.0.cabal | 223 ++++++++++++++++++++++++++++++++++++++ ghc-aeson.spec | 105 ++++++++++++++++-- sources | 6 +- 5 files changed, 329 insertions(+), 268 deletions(-) delete mode 100644 aeson-1.5.6.0.cabal create mode 100644 aeson-2.0.3.0.cabal diff --git a/.gitignore b/.gitignore index 45cc6b4..f11c34f 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,8 @@ /aeson-1.4.7.1.tar.gz /aeson-1.5.5.1.tar.gz /aeson-1.5.6.0.tar.gz +/aeson-2.0.3.0.tar.gz +/OneTuple-0.3.1.tar.gz +/semialign-1.2.0.1.tar.gz +/witherable-0.4.2.tar.gz +/indexed-traversable-instances-0.1.1.1.tar.gz diff --git a/aeson-1.5.6.0.cabal b/aeson-1.5.6.0.cabal deleted file mode 100644 index 6840e64..0000000 --- a/aeson-1.5.6.0.cabal +++ /dev/null @@ -1,258 +0,0 @@ -name: aeson -version: 1.5.6.0 -x-revision: 5 -license: BSD3 -license-file: LICENSE -category: Text, Web, JSON -copyright: (c) 2011-2016 Bryan O'Sullivan - (c) 2011 MailRank, Inc. -author: Bryan O'Sullivan -maintainer: Adam Bergmark -stability: experimental -tested-with: 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 -synopsis: Fast JSON parsing and encoding -cabal-version: >= 1.10 -homepage: https://github.com/haskell/aeson -bug-reports: https://github.com/haskell/aeson/issues -build-type: Simple -description: - A JSON parsing and encoding library optimized for ease of use - and high performance. - . - To get started, see the documentation for the @Data.Aeson@ module - below. - . - (A note on naming: in Greek mythology, Aeson was the father of Jason.) - -extra-source-files: - *.yaml - README.markdown - cbits/*.c - changelog.md - include/*.h - tests/JSONTestSuite/test_parsing/*.json - tests/JSONTestSuite/test_transform/*.json - tests/golden/*.expected - src-ffi/Data/Aeson/Parser/*.hs - src-pure/Data/Aeson/Parser/*.hs - benchmarks/json-data/*.json - -flag developer - description: operate in developer mode - default: False - manual: True - -flag fast - description: compile without optimizations - default: False - manual: True - -flag bytestring-builder - description: Depend on the bytestring-builder package for backwards compatibility. - default: False - manual: False - -flag cffi - description: Controls whether to include c-ffi bits or pure haskell. Default to False for security. - default: False - manual: True - -library - default-language: Haskell2010 - hs-source-dirs: src attoparsec-iso8601/src - - exposed-modules: - Data.Aeson - Data.Aeson.Encoding - Data.Aeson.Parser - Data.Aeson.Text - Data.Aeson.Types - Data.Aeson.TH - Data.Aeson.QQ.Simple - - Data.Aeson.Encoding.Internal - Data.Aeson.Internal - Data.Aeson.Internal.Time - Data.Aeson.Parser.Internal - - -- Deprecated modules - exposed-modules: - Data.Aeson.Encode - - other-modules: - Data.Aeson.Encoding.Builder - Data.Aeson.Internal.Functions - Data.Aeson.Parser.Unescape - Data.Aeson.Parser.Time - Data.Aeson.Types.FromJSON - Data.Aeson.Types.Generic - Data.Aeson.Types.ToJSON - Data.Aeson.Types.Class - Data.Aeson.Types.Internal - Data.Attoparsec.Time - Data.Attoparsec.Time.Internal - - -- GHC bundled libs - build-depends: - base >= 4.7.0.0 && < 5, - bytestring >= 0.10.4.0 && < 0.11.2, - containers >= 0.5.5.1 && < 0.7, - deepseq >= 1.3.0.0 && < 1.5, - ghc-prim >= 0.2 && < 0.8, - template-haskell >= 2.9.0.0 && < 2.18, - text >= 1.2.3.0 && < 1.3, - time >= 1.4 && < 1.13 - - if impl(ghc >= 8.0) - build-depends: bytestring >= 0.10.8.1 - - -- Compat - build-depends: - base-compat-batteries >= 0.10.0 && < 0.13, - time-compat >= 1.9.4 && < 1.10 - - if !impl(ghc >= 8.6) - build-depends: - contravariant >=1.4.1 && <1.6 - - if !impl(ghc >= 8.0) - -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9 - build-depends: - semigroups >= 0.18.5 && < 0.21, - transformers >= 0.3.0.0 && < 0.7, - transformers-compat >= 0.6.2 && < 0.8, - fail == 4.9.* - - if !impl(ghc >= 7.10) - -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8 - build-depends: nats >= 1.1.1 && < 1.2, - void >= 0.7.2 && < 0.8 - - -- Other dependencies - build-depends: - attoparsec >= 0.13.2.2 && < 0.15, - data-fix >= 0.3 && < 0.4, - dlist >= 0.8.0.4 && < 1.1, - hashable >= 1.2.7.0 && < 1.4, - primitive >= 0.7.0.1 && < 0.8, - scientific >= 0.3.6.2 && < 0.4, - strict >= 0.4 && < 0.5, - tagged >= 0.8.6 && < 0.9, - th-abstraction >= 0.2.8.0 && < 0.5, - these >= 1.1 && < 1.2, - unordered-containers >= 0.2.10.0 && < 0.3, - uuid-types >= 1.0.3 && < 1.1, - vector >= 0.12.0.1 && < 0.13 - - ghc-options: -Wall - - if flag(developer) - ghc-options: -Werror - ghc-prof-options: -auto-all - - if flag(fast) - ghc-options: -O0 - else - ghc-options: -O2 - - include-dirs: include - if impl(ghcjs) || !flag(cffi) - hs-source-dirs: src-pure - other-modules: Data.Aeson.Parser.UnescapePure - else - c-sources: cbits/unescape_string.c - cpp-options: -DCFFI - hs-source-dirs: src-ffi - other-modules: Data.Aeson.Parser.UnescapeFFI - -test-suite aeson-tests - default-language: Haskell2010 - type: exitcode-stdio-1.0 - hs-source-dirs: tests src-ffi src-pure - main-is: Tests.hs - c-sources: cbits/unescape_string.c - ghc-options: -Wall -threaded -rtsopts - - other-modules: - Data.Aeson.Parser.UnescapeFFI - Data.Aeson.Parser.UnescapePure - DataFamilies.Properties - DataFamilies.Instances - DataFamilies.Encoders - DataFamilies.Types - Encoders - ErrorMessages - Functions - Instances - Options - PropUtils - Properties - PropertyGeneric - PropertyKeys - PropertyRoundTrip - PropertyRTFunctors - PropertyTH - SerializationFormatSpec - Types - UnitTests - UnitTests.NullaryConstructors - - build-depends: - QuickCheck >= 2.14.2 && < 2.15, - aeson, - integer-logarithms >= 1 && <1.1, - attoparsec, - base, - base-compat, - base-orphans >= 0.5.3 && <0.9, - base16-bytestring, - containers, - data-fix, - directory, - dlist, - Diff >= 0.4 && < 0.5, - filepath, - generic-deriving >= 1.10 && < 1.15, - ghc-prim >= 0.2, - hashable >= 1.2.4.0, - hashable-time >= 0.2.1 && <0.3, - scientific, - strict, - tagged, - template-haskell, - tasty, - tasty-golden, - tasty-hunit, - tasty-quickcheck, - text, - these, - time, - time-compat, - unordered-containers, - uuid-types, - vector, - quickcheck-instances >= 0.3.25.2 && <0.4 - - if flag(bytestring-builder) - build-depends: bytestring >= 0.9 && < 0.10.4, - bytestring-builder >= 0.10.4 && < 1 - else - build-depends: bytestring >= 0.10.4 - - if !impl(ghc >= 8.0) - build-depends: - semigroups >= 0.18.2 && < 0.20, - transformers >= 0.2.2.0, - transformers-compat >= 0.3 - - if !impl(ghc >= 7.10) - build-depends: nats >=1 && <1.2, - void >=0.7.2 && <0.8 - - - if flag(fast) - ghc-options: -fno-enable-rewrite-rules - -source-repository head - type: git - location: git://github.com/haskell/aeson.git diff --git a/aeson-2.0.3.0.cabal b/aeson-2.0.3.0.cabal new file mode 100644 index 0000000..1d46d3a --- /dev/null +++ b/aeson-2.0.3.0.cabal @@ -0,0 +1,223 @@ +name: aeson +version: 2.0.3.0 +x-revision: 1 +license: BSD3 +license-file: LICENSE +category: Text, Web, JSON +copyright: + (c) 2011-2016 Bryan O'Sullivan + (c) 2011 MailRank, Inc. + +author: Bryan O'Sullivan +maintainer: Adam Bergmark +stability: experimental +tested-with: + GHC ==8.0.2 + || ==8.2.2 + || ==8.4.4 + || ==8.6.5 + || ==8.8.4 + || ==8.10.4 + || ==9.0.1 + +synopsis: Fast JSON parsing and encoding +cabal-version: >=1.10 +homepage: https://github.com/haskell/aeson +bug-reports: https://github.com/haskell/aeson/issues +build-type: Simple +description: + A JSON parsing and encoding library optimized for ease of use + and high performance. + . + To get started, see the documentation for the @Data.Aeson@ module + below. + . + (A note on naming: in Greek mythology, Aeson was the father of Jason.) + +extra-source-files: + *.yaml + benchmarks/json-data/*.json + cbits/*.c + changelog.md + README.markdown + src-ffi/Data/Aeson/Parser/*.hs + src-pure/Data/Aeson/Parser/*.hs + tests/golden/*.expected + tests/JSONTestSuite/test_parsing/*.json + tests/JSONTestSuite/test_transform/*.json + +flag cffi + description: + Controls whether to include c-ffi bits or pure haskell. Default to False for security. + + default: False + manual: True + +flag ordered-keymap + description: Use ordered @Data.Map.Strict@ for KeyMap implementation. + default: True + manual: True + +library + default-language: Haskell2010 + hs-source-dirs: src attoparsec-iso8601/src + exposed-modules: + Data.Aeson + Data.Aeson.Encoding + Data.Aeson.Encoding.Internal + Data.Aeson.Internal + Data.Aeson.Internal.Time + Data.Aeson.Key + Data.Aeson.KeyMap + Data.Aeson.Parser + Data.Aeson.Parser.Internal + Data.Aeson.QQ.Simple + Data.Aeson.Text + Data.Aeson.TH + Data.Aeson.Types + + other-modules: + Data.Aeson.Encoding.Builder + Data.Aeson.Internal.ByteString + Data.Aeson.Internal.Functions + Data.Aeson.Internal.Text + Data.Aeson.Internal.TH + Data.Aeson.Parser.Time + Data.Aeson.Parser.Unescape + Data.Aeson.Types.Class + Data.Aeson.Types.FromJSON + Data.Aeson.Types.Generic + Data.Aeson.Types.Internal + Data.Aeson.Types.ToJSON + Data.Attoparsec.Time + Data.Attoparsec.Time.Internal + + -- GHC bundled libs + build-depends: + base >=4.9.0.0 && <5 + , bytestring >=0.10.8.1 && <0.12 + , containers >=0.5.7.1 && <0.7 + , deepseq >=1.4.2.0 && <1.5 + , ghc-prim >=0.5.0.0 && <0.9 + , template-haskell >=2.11.0.0 && <2.19 + , text >=1.2.3.0 && <1.3 || >=2.0 && <2.1 + , time >=1.6.0.1 && <1.13 + + -- Compat + build-depends: + base-compat-batteries >=0.10.0 && <0.13 + , time-compat >=1.9.6 && <1.10 + + if !impl(ghc >=8.6) + build-depends: contravariant >=1.4.1 && <1.6 + + -- Other dependencies + build-depends: + attoparsec >=0.14.2 && <0.15 + , data-fix >=0.3.2 && <0.4 + , dlist >=0.8.0.4 && <1.1 + , hashable >=1.3.5.0 && <1.5 + , indexed-traversable >=0.1.2 && <0.2 + , OneTuple >=0.3.1 && <0.4 + , primitive >=0.7.3.0 && <0.8 + , QuickCheck >=2.14.2 && <2.15 + , scientific >=0.3.7.0 && <0.4 + , semialign >=1.2 && <1.3 + , strict >=0.4 && <0.5 + , tagged >=0.8.6 && <0.9 + , text-short >=0.1.5 && <0.2 + , th-abstraction >=0.3.0.0 && <0.5 + , these >=1.1.1.1 && <1.2 + , unordered-containers >=0.2.10.0 && <0.3 + , uuid-types >=1.0.5 && <1.1 + , vector >=0.12.0.1 && <0.14 + , witherable >=0.4.2 && <0.5 + + ghc-options: -Wall + + if (impl(ghcjs) || !flag(cffi)) + hs-source-dirs: src-pure + other-modules: Data.Aeson.Parser.UnescapePure + + else + c-sources: cbits/unescape_string.c + cpp-options: -DCFFI + hs-source-dirs: src-ffi + other-modules: Data.Aeson.Parser.UnescapeFFI + build-depends: text <2.0 + + if flag(ordered-keymap) + cpp-options: -DUSE_ORDEREDMAP=1 + +test-suite aeson-tests + default-language: Haskell2010 + type: exitcode-stdio-1.0 + hs-source-dirs: tests + main-is: Tests.hs + ghc-options: -Wall -threaded -rtsopts + other-modules: + DataFamilies.Encoders + DataFamilies.Instances + DataFamilies.Properties + DataFamilies.Types + Encoders + ErrorMessages + Functions + Instances + Options + Properties + PropertyGeneric + PropertyKeys + PropertyQC + PropertyRoundTrip + PropertyRTFunctors + PropertyTH + PropUtils + SerializationFormatSpec + Types + UnitTests + UnitTests.NullaryConstructors + + build-depends: + aeson + , attoparsec + , base + , base-compat + , base-orphans >=0.5.3 && <0.9 + , base16-bytestring + , bytestring + , containers + , data-fix + , Diff >=0.4 && <0.5 + , directory + , dlist + , filepath + , generic-deriving >=1.10 && <1.15 + , ghc-prim >=0.2 + , hashable + , indexed-traversable + , integer-logarithms >=1 && <1.1 + , OneTuple + , primitive + , QuickCheck >=2.14.2 && <2.15 + , quickcheck-instances >=0.3.26.1 && <0.4 + , scientific + , strict + , tagged + , tasty + , tasty-golden + , tasty-hunit + , tasty-quickcheck + , template-haskell + , text + , text-short + , these + , time + , time-compat + , unordered-containers + , uuid-types + , vector + +source-repository head + type: git + location: git://github.com/haskell/aeson.git diff --git a/ghc-aeson.spec b/ghc-aeson.spec index 0c5373f..fcd634e 100644 --- a/ghc-aeson.spec +++ b/ghc-aeson.spec @@ -1,26 +1,68 @@ -# generated by cabal-rpm-2.0.9 +# generated by cabal-rpm-2.1.0 --subpackage # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global pkg_name aeson %global pkgver %{pkg_name}-%{version} -# testsuite missing deps: hashable-time quickcheck-instances tasty-golden +%global indexedtraversableinstances indexed-traversable-instances-0.1.1.1 +%global OneTuple OneTuple-0.3.1 +%global semialign semialign-1.2.0.1 +%global witherable witherable-0.4.2 +%global subpkgs %{OneTuple} %{indexedtraversableinstances} %{semialign} %{witherable} + +# testsuite missing deps: OneTuple quickcheck-instances tasty-golden Name: ghc-%{pkg_name} -Version: 1.5.6.0 -Release: 4%{?dist} +Version: 2.0.3.0 +# can only be reset when all subpkgs bumped +Release: 1%{?dist} Summary: Fast JSON parsing and encoding -License: BSD +License: BSD-3-Clause Url: https://hackage.haskell.org/package/%{pkg_name} # Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz -Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal +Source1: https://hackage.haskell.org/package/%{OneTuple}/%{OneTuple}.tar.gz +Source2: https://hackage.haskell.org/package/%{semialign}/%{semialign}.tar.gz +Source3: https://hackage.haskell.org/package/%{witherable}/%{witherable}.tar.gz +Source4: https://hackage.haskell.org/package/%{indexedtraversableinstances}/%{indexedtraversableinstances}.tar.gz +Source5: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal # End cabal-rpm sources # Begin cabal-rpm deps: BuildRequires: ghc-Cabal-devel -BuildRequires: ghc-rpm-macros +BuildRequires: ghc-rpm-macros-extra +#BuildRequires: ghc-OneTuple-devel +BuildRequires: ghc-QuickCheck-devel +BuildRequires: ghc-attoparsec-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-compat-batteries-devel +BuildRequires: ghc-bytestring-devel +BuildRequires: ghc-containers-devel +BuildRequires: ghc-data-fix-devel +BuildRequires: ghc-deepseq-devel +BuildRequires: ghc-dlist-devel +BuildRequires: ghc-hashable-devel +BuildRequires: ghc-indexed-traversable-devel +BuildRequires: ghc-primitive-devel +BuildRequires: ghc-scientific-devel +#BuildRequires: ghc-semialign-devel +BuildRequires: ghc-strict-devel +BuildRequires: ghc-tagged-devel +BuildRequires: ghc-template-haskell-devel +BuildRequires: ghc-text-devel +BuildRequires: ghc-text-short-devel +BuildRequires: ghc-th-abstraction-devel +BuildRequires: ghc-these-devel +BuildRequires: ghc-time-devel +BuildRequires: ghc-time-compat-devel +BuildRequires: ghc-unordered-containers-devel +BuildRequires: ghc-uuid-types-devel +BuildRequires: ghc-vector-devel +#BuildRequires: ghc-witherable-devel +%if %{with ghc_prof} +#BuildRequires: ghc-OneTuple-prof +BuildRequires: ghc-QuickCheck-prof BuildRequires: ghc-attoparsec-prof BuildRequires: ghc-base-prof BuildRequires: ghc-base-compat-batteries-prof @@ -30,12 +72,15 @@ BuildRequires: ghc-data-fix-prof BuildRequires: ghc-deepseq-prof BuildRequires: ghc-dlist-prof BuildRequires: ghc-hashable-prof +BuildRequires: ghc-indexed-traversable-prof BuildRequires: ghc-primitive-prof BuildRequires: ghc-scientific-prof +#BuildRequires: ghc-semialign-prof BuildRequires: ghc-strict-prof BuildRequires: ghc-tagged-prof BuildRequires: ghc-template-haskell-prof BuildRequires: ghc-text-prof +BuildRequires: ghc-text-short-prof BuildRequires: ghc-th-abstraction-prof BuildRequires: ghc-these-prof BuildRequires: ghc-time-prof @@ -43,6 +88,26 @@ BuildRequires: ghc-time-compat-prof BuildRequires: ghc-unordered-containers-prof BuildRequires: ghc-uuid-types-prof BuildRequires: ghc-vector-prof +#BuildRequires: ghc-witherable-prof +%endif +# for missing dep 'semialign': +#BuildRequires: ghc-indexed-traversable-instances-devel +BuildRequires: ghc-semigroupoids-devel +BuildRequires: ghc-transformers-devel +%if %{with ghc_prof} +#BuildRequires: ghc-indexed-traversable-instances-prof +BuildRequires: ghc-semigroupoids-prof +BuildRequires: ghc-transformers-prof +%endif +# for missing dep 'witherable': +BuildRequires: ghc-base-orphans-devel +#BuildRequires: ghc-indexed-traversable-instances-devel +BuildRequires: ghc-transformers-devel +%if %{with ghc_prof} +BuildRequires: ghc-base-orphans-prof +#BuildRequires: ghc-indexed-traversable-instances-prof +BuildRequires: ghc-transformers-prof +%endif # End cabal-rpm deps %description @@ -85,21 +150,39 @@ This package provides the Haskell %{pkg_name} profiling library. %endif +%global main_version %{version} + +%if %{defined ghclibdir} +%ghc_lib_subpackage -l BSD-2-Clause %{indexedtraversableinstances} +%ghc_lib_subpackage -l BSD-3-Clause %{OneTuple} +%ghc_lib_subpackage -l BSD-3-Clause %{semialign} +%ghc_lib_subpackage -l BSD-3-Clause %{witherable} +%endif + +%global version %{main_version} + + %prep # Begin cabal-rpm setup: -%setup -q -n %{pkgver} -cp -bp %{SOURCE1} %{pkg_name}.cabal +%setup -q -n %{pkgver} -a1 -a2 -a3 -a4 +cp -bp %{SOURCE5} %{pkg_name}.cabal # End cabal-rpm setup +( +cd %{witherable} +cabal-tweak-dep-ver hashable '<1.4' '<1.5' +) %build # Begin cabal-rpm build: +%ghc_libs_build %{subpkgs} %ghc_lib_build # End cabal-rpm build %install # Begin cabal-rpm install +%ghc_libs_install %{subpkgs} %ghc_lib_install # End cabal-rpm install @@ -126,6 +209,10 @@ cp -bp %{SOURCE1} %{pkg_name}.cabal %changelog +* Sun Jan 22 2023 Jens Petersen - 2.0.3.0-1 +- https://hackage.haskell.org/package/aeson-2.0.3.0/changelog +- refresh to cabal-rpm-2.1.0 with SPDX migration + * Thu Jul 21 2022 Fedora Release Engineering - 1.5.6.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/sources b/sources index 08d99ad..0b00f73 100644 --- a/sources +++ b/sources @@ -1 +1,5 @@ -SHA512 (aeson-1.5.6.0.tar.gz) = 31e0339945aec6d84aec230c09001fe6e7926f008d3444d12264bb323d0a050515303fdc8eeb6563733594209d930cdd2f82eb4dfe4dd4d5c573748aaa71813d +SHA512 (aeson-2.0.3.0.tar.gz) = 546adaaf864ca40012a268d71f442479f0ad7c69e9f943391801570e227a2faa652494766f1f63b77c730e019e83ebdd7511426baa12792a28fbb470eca64552 +SHA512 (OneTuple-0.3.1.tar.gz) = 92678ca3e05c6da7d60e460efa88dbd8c19f8ec6b149dc5a9a493f93bd944b7d0c3ac650a3c1ad9d3742bc2a8bfaef1bab8a6e4ba71ebbb1fc0c9f7a07c0906c +SHA512 (semialign-1.2.0.1.tar.gz) = ba4c680ec2f301c6b76e2198a422bd9c540915fd89a12cbb1787e95c0ccd1bb05abdf59ab1678f46141939673418c650d9624af2ddb7370f2b6bccf704ade83d +SHA512 (witherable-0.4.2.tar.gz) = 14ad590e24b93fc25f16fecaf71d6f9f891a903dd76e052d9f6c21b464f0d28df4f019d33ac36086341a6c5bd20833d7b0c2d19543460d1530899c0c25cea852 +SHA512 (indexed-traversable-instances-0.1.1.1.tar.gz) = a7d0d33cae09e848949d8d3d7d7c4cd118d6b073a30a5bb3f872ebb7ad349dbad808f61e5efe325cdd3717f4969e00012bca81fe1a017daf6ca98e921ef65b35