From ba3092dfa01bdfb051087a03959c44a7c7c54d7b Mon Sep 17 00:00:00 2001 From: Fa1c0n Date: Thu, 28 Aug 2025 10:11:48 +0800 Subject: [PATCH] Update SpecFile for Cabal Revision Update --- LICENSE | 28 +++ ghc-serialise.spec | 7 +- serialise.cabal | 574 +++++++++++++++++++++++---------------------- 3 files changed, 321 insertions(+), 288 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..23d330f --- /dev/null +++ b/LICENSE @@ -0,0 +1,28 @@ +BSD 3-Clause License + +Copyright (c) 2025, Fa1c0n + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/ghc-serialise.spec b/ghc-serialise.spec index f74c98c..5c2c82c 100644 --- a/ghc-serialise.spec +++ b/ghc-serialise.spec @@ -4,12 +4,12 @@ Name: ghc-%{pkg_name} Version: 0.2.6.1 -Release: 1 +Release: 2 Summary: A binary serialisation library for Haskell values 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/3.cabal#/%{pkg_name}.cabal +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/5.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-array-devel BuildRequires: ghc-array-prof @@ -131,5 +131,8 @@ cp -p %{SOURCE1} %{pkg_name}.cabal %files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files %changelog +* Tue Jul 29 2025 ZhaoYu Jiang 0.2.6.1-2 +- Update ghc-serialise Cabal File to Revision 5 (Version 0.2.6.1) + * Sun May 25 2025 Lin Runze 0.2.6.1-1 - Init serialise at version 0.2.6.1 revision 3. diff --git a/serialise.cabal b/serialise.cabal index 7b6612d..c7623d7 100644 --- a/serialise.cabal +++ b/serialise.cabal @@ -1,286 +1,288 @@ -name: serialise -version: 0.2.6.1 -x-revision: 3 -synopsis: A binary serialisation library for Haskell values. -description: - This package (formerly @binary-serialise-cbor@) provides pure, efficient - serialization of Haskell values directly into @ByteString@s for storage or - transmission purposes. By providing a set of type class instances, you can - also serialise any custom data type you have as well. - . - The underlying binary format used is the 'Concise Binary Object - Representation', or CBOR, specified in RFC 7049. As a result, - serialised Haskell values have implicit structure outside of the - Haskell program itself, meaning they can be inspected or analyzed - without custom tools. - . - An implementation of the standard bijection between CBOR and JSON is provided - by the [cborg-json](/package/cborg-json) package. Also see - [cbor-tool](/package/cbor-tool) for a convenient command-line utility for - working with CBOR data. -homepage: https://github.com/well-typed/cborg -license: BSD3 -license-file: LICENSE.txt -author: Duncan Coutts -maintainer: duncan@community.haskell.org, ben@smart-cactus.org -bug-reports: https://github.com/well-typed/cborg/issues -copyright: 2015-2017 Duncan Coutts, - 2015-2017 Well-Typed LLP, - 2015 IRIS Connect Ltd -cabal-version: >=1.10 -category: Codec -build-type: Simple -tested-with: - GHC == 8.4.4, - GHC == 8.6.5, - GHC == 8.8.3, - GHC == 8.10.7, - GHC == 9.0.1, - GHC == 9.2.2, - GHC == 9.4.2 - -extra-source-files: - ChangeLog.md - -source-repository head - type: git - location: https://github.com/well-typed/cborg.git - --------------------------------------------------------------------------------- --- Flags - -flag newtime15 - default: True - manual: False - description: Use the new time 1.5 library - -library - default-language: Haskell2010 - ghc-options: -Wall - hs-source-dirs: src - - exposed-modules: - Codec.Serialise - Codec.Serialise.Class - Codec.Serialise.Decoding - Codec.Serialise.Encoding - Codec.Serialise.IO - Codec.Serialise.Properties - Codec.Serialise.Tutorial - Codec.Serialise.Internal.GeneralisedUTF8 - - build-depends: - base >= 4.11 && < 4.21, - array >= 0.4 && < 0.6, - bytestring >= 0.10.4 && < 0.13, - cborg == 0.2.*, - containers >= 0.5 && < 0.8, - ghc-prim >= 0.3.1.0 && < 0.12, - half >= 0.2.2.3 && < 0.4, - hashable >= 1.2 && < 2.0, - primitive >= 0.5 && < 0.10, - strict >= 0.4 && < 0.6, - text >= 1.1 && < 2.2, - these >= 1.1 && < 2.2, - unordered-containers >= 0.2 && < 0.3, - vector >= 0.10 && < 0.14 - - if flag(newtime15) - build-depends: - time >= 1.5 && < 1.15 - else - build-depends: - time >= 1.4 && < 1.5, - old-locale - - if impl(ghc >= 8.0) - ghc-options: -Wcompat -Wnoncanonical-monad-instances - --------------------------------------------------------------------------------- --- Tests - -test-suite tests - type: exitcode-stdio-1.0 - hs-source-dirs: tests - main-is: Main.hs - - default-language: Haskell2010 - ghc-options: - -Wall -fno-warn-orphans - -threaded -rtsopts "-with-rtsopts=-N2" - - other-modules: - Tests.IO - Tests.Negative - Tests.Orphanage - Tests.Serialise - Tests.Serialise.Canonical - Tests.Regress - Tests.Regress.Issue13 - Tests.Regress.Issue67 - Tests.Regress.Issue80 - Tests.Regress.Issue106 - Tests.Regress.Issue135 - Tests.Deriving - Tests.GeneralisedUTF8 - - build-depends: - base >= 4.11 && < 4.20, - bytestring >= 0.10.4 && < 0.13, - directory >= 1.0 && < 1.4, - filepath >= 1.0 && < 1.6, - text >= 1.1 && < 2.2, - time >= 1.4 && < 1.14, - containers >= 0.5 && < 0.8, - unordered-containers >= 0.2 && < 0.3, - primitive >= 0.5 && < 0.10, - cborg, - serialise, - QuickCheck >= 2.9 && < 2.16, - tasty >= 0.11 && < 1.6, - tasty-hunit >= 0.9 && < 0.11, - tasty-quickcheck >= 0.8 && < 0.11, - quickcheck-instances >= 0.3.12 && < 0.4, - vector >= 0.10 && < 0.14 - --------------------------------------------------------------------------------- --- Benchmarks - -benchmark instances - type: exitcode-stdio-1.0 - hs-source-dirs: bench/instances - main-is: Main.hs - - default-language: Haskell2010 - ghc-options: - -Wall -rtsopts -fno-cse -fno-ignore-asserts -fno-warn-orphans - - other-modules: - Instances.Float - Instances.Integer - Instances.Vector - Instances.Time - - build-depends: - base >= 4.11 && < 4.21, - binary >= 0.7 && < 0.11, - bytestring >= 0.10.4 && < 0.13, - vector >= 0.10 && < 0.14, - cborg, - serialise, - - deepseq >= 1.0 && < 1.6, - criterion >= 1.0 && < 1.7 - - if flag(newtime15) - build-depends: - time >= 1.5 && < 1.15 - else - build-depends: - time >= 1.4 && < 1.5, - old-locale - -benchmark micro - type: exitcode-stdio-1.0 - hs-source-dirs: bench/micro - main-is: Main.hs - - default-language: Haskell2010 - ghc-options: - -Wall -rtsopts -fno-cse -fno-ignore-asserts -fno-warn-orphans - - other-modules: - Micro - Micro.Types - Micro.Load - Micro.DeepSeq - Micro.MemSize - Micro.ReadShow - Micro.PkgAesonGeneric - Micro.PkgAesonTH - Micro.PkgBinary - Micro.PkgCereal - Micro.PkgStore - Micro.CBOR - - SimpleVersus - - build-depends: - base >= 4.11 && < 4.20, - binary >= 0.7 && < 0.11, - bytestring >= 0.10.4 && < 0.13, - ghc-prim >= 0.3.1.0 && < 0.12, - vector >= 0.10 && < 0.14, - cborg, - serialise, - - aeson >= 0.7 && < 2.3, - deepseq >= 1.0 && < 1.6, - criterion >= 1.0 && < 1.7, - cereal >= 0.5.2.0 && < 0.6, - cereal-vector >= 0.2 && < 0.3, - semigroups >= 0.18 && < 0.21, - store >= 0.7.1 && < 0.8 - -benchmark versus - type: exitcode-stdio-1.0 - hs-source-dirs: bench/versus - main-is: Main.hs - - default-language: Haskell2010 - ghc-options: - -Wall -rtsopts -fno-cse -fno-ignore-asserts -fno-warn-orphans - - other-modules: - Utils - - -- Suite #1 - Mini - - -- Suite #2 - Macro - Macro.Types - Macro.Load - Macro.DeepSeq - Macro.MemSize - Macro.ReadShow - Macro.PkgAesonGeneric - Macro.PkgAesonTH - Macro.PkgBinary - Macro.PkgCereal - Macro.PkgStore - Macro.CBOR - - build-depends: - base >= 4.11 && < 4.20, - array >= 0.4 && < 0.6, - binary >= 0.7 && < 0.11, - bytestring >= 0.10.4 && < 0.13, - directory >= 1.0 && < 1.4, - ghc-prim >= 0.3.1.0 && < 0.12, - fail >= 4.9.0.0 && < 4.10, - text >= 1.1 && < 2.2, - vector >= 0.10 && < 0.14, - cborg, - serialise, - - filepath >= 1.0 && < 1.6, - containers >= 0.5 && < 0.8, - deepseq >= 1.0 && < 1.6, - aeson >= 0.7 && < 2.3, - cereal >= 0.5.2.0 && < 0.6, - half >= 0.2.2.3 && < 0.4, - tar >= 0.4 && < 0.7, - zlib >= 0.5 && < 0.8, - pretty >= 1.0 && < 1.2, - criterion >= 1.0 && < 1.7, - store >= 0.7.1 && < 0.8, - semigroups - - if flag(newtime15) - build-depends: - time >= 1.5 && < 1.15 - else - build-depends: - time >= 1.4 && < 1.5, - old-locale +name: serialise +version: 0.2.6.1 +x-revision: 5 +synopsis: A binary serialisation library for Haskell values. +description: + This package (formerly @binary-serialise-cbor@) provides pure, efficient + serialization of Haskell values directly into @ByteString@s for storage or + transmission purposes. By providing a set of type class instances, you can + also serialise any custom data type you have as well. + . + The underlying binary format used is the 'Concise Binary Object + Representation', or CBOR, specified in RFC 7049. As a result, + serialised Haskell values have implicit structure outside of the + Haskell program itself, meaning they can be inspected or analyzed + without custom tools. + . + An implementation of the standard bijection between CBOR and JSON is provided + by the [cborg-json](/package/cborg-json) package. Also see + [cbor-tool](/package/cbor-tool) for a convenient command-line utility for + working with CBOR data. +homepage: https://github.com/well-typed/cborg +license: BSD3 +license-file: LICENSE.txt +author: Duncan Coutts +maintainer: duncan@community.haskell.org, ben@smart-cactus.org +bug-reports: https://github.com/well-typed/cborg/issues +copyright: 2015-2017 Duncan Coutts, + 2015-2017 Well-Typed LLP, + 2015 IRIS Connect Ltd +cabal-version: >=1.10 +category: Codec +build-type: Simple +tested-with: + GHC == 8.8.3, + GHC == 8.10.7, + GHC == 9.0.1, + GHC == 9.2.2, + GHC == 9.4.2, + GHC == 9.6.1, + GHC == 9.8.1, + GHC == 9.10.1, + GHC == 9.12.1 + +extra-source-files: + ChangeLog.md + +source-repository head + type: git + location: https://github.com/well-typed/cborg.git + +-------------------------------------------------------------------------------- +-- Flags + +flag newtime15 + default: True + manual: False + description: Use the new time 1.5 library + +library + default-language: Haskell2010 + ghc-options: -Wall + hs-source-dirs: src + + exposed-modules: + Codec.Serialise + Codec.Serialise.Class + Codec.Serialise.Decoding + Codec.Serialise.Encoding + Codec.Serialise.IO + Codec.Serialise.Properties + Codec.Serialise.Tutorial + Codec.Serialise.Internal.GeneralisedUTF8 + + build-depends: + base >= 4.11 && < 4.22, + array >= 0.4 && < 0.6, + bytestring >= 0.10.4 && < 0.13, + cborg == 0.2.*, + containers >= 0.5 && < 0.8, + ghc-prim >= 0.3.1.0 && < 0.14, + half >= 0.2.2.3 && < 0.4, + hashable >= 1.2 && < 2.0, + primitive >= 0.5 && < 0.10, + strict >= 0.4 && < 0.6, + text >= 1.1 && < 2.2, + these >= 1.1 && < 2.2, + unordered-containers >= 0.2 && < 0.3, + vector >= 0.10 && < 0.14 + + if flag(newtime15) + build-depends: + time >= 1.5 && < 1.15 + else + build-depends: + time >= 1.4 && < 1.6, + old-locale + + if impl(ghc >= 8.0) + ghc-options: -Wcompat -Wnoncanonical-monad-instances + +-------------------------------------------------------------------------------- +-- Tests + +test-suite tests + type: exitcode-stdio-1.0 + hs-source-dirs: tests + main-is: Main.hs + + default-language: Haskell2010 + ghc-options: + -Wall -fno-warn-orphans + -threaded -rtsopts "-with-rtsopts=-N2" + + other-modules: + Tests.IO + Tests.Negative + Tests.Orphanage + Tests.Serialise + Tests.Serialise.Canonical + Tests.Regress + Tests.Regress.Issue13 + Tests.Regress.Issue67 + Tests.Regress.Issue80 + Tests.Regress.Issue106 + Tests.Regress.Issue135 + Tests.Deriving + Tests.GeneralisedUTF8 + + build-depends: + base >= 4.11 && < 4.22, + bytestring >= 0.10.4 && < 0.13, + directory >= 1.0 && < 1.4, + filepath >= 1.0 && < 1.6, + text >= 1.1 && < 2.2, + time >= 1.4 && < 1.15, + containers >= 0.5 && < 0.8, + unordered-containers >= 0.2 && < 0.3, + primitive >= 0.5 && < 0.10, + cborg, + serialise, + QuickCheck >= 2.9 && < 2.17, + tasty >= 0.11 && < 1.6, + tasty-hunit >= 0.9 && < 0.11, + tasty-quickcheck >= 0.8 && < 0.12, + quickcheck-instances >= 0.3.12 && < 0.4, + vector >= 0.10 && < 0.14 + +-------------------------------------------------------------------------------- +-- Benchmarks + +benchmark instances + type: exitcode-stdio-1.0 + hs-source-dirs: bench/instances + main-is: Main.hs + + default-language: Haskell2010 + ghc-options: + -Wall -rtsopts -fno-cse -fno-ignore-asserts -fno-warn-orphans + + other-modules: + Instances.Float + Instances.Integer + Instances.Vector + Instances.Time + + build-depends: + base >= 4.11 && < 4.22, + binary >= 0.7 && < 0.11, + bytestring >= 0.10.4 && < 0.13, + vector >= 0.10 && < 0.14, + cborg, + serialise, + + deepseq >= 1.0 && < 1.6, + criterion >= 1.0 && < 1.7 + + if flag(newtime15) + build-depends: + time >= 1.5 && < 1.15 + else + build-depends: + time >= 1.4 && < 1.5, + old-locale + +benchmark micro + type: exitcode-stdio-1.0 + hs-source-dirs: bench/micro + main-is: Main.hs + + default-language: Haskell2010 + ghc-options: + -Wall -rtsopts -fno-cse -fno-ignore-asserts -fno-warn-orphans + + other-modules: + Micro + Micro.Types + Micro.Load + Micro.DeepSeq + Micro.MemSize + Micro.ReadShow + Micro.PkgAesonGeneric + Micro.PkgAesonTH + Micro.PkgBinary + Micro.PkgCereal + Micro.PkgStore + Micro.CBOR + + SimpleVersus + + build-depends: + base >= 4.11 && < 4.22, + binary >= 0.7 && < 0.11, + bytestring >= 0.10.4 && < 0.13, + ghc-prim >= 0.3.1.0 && < 0.14, + vector >= 0.10 && < 0.14, + cborg, + serialise, + + aeson >= 0.7 && < 2.3, + deepseq >= 1.0 && < 1.6, + criterion >= 1.0 && < 1.7, + cereal >= 0.5.2.0 && < 0.6, + cereal-vector >= 0.2 && < 0.3, + semigroups >= 0.18 && < 0.21, + store >= 0.7.1 && < 0.8 + +benchmark versus + type: exitcode-stdio-1.0 + hs-source-dirs: bench/versus + main-is: Main.hs + + default-language: Haskell2010 + ghc-options: + -Wall -rtsopts -fno-cse -fno-ignore-asserts -fno-warn-orphans + + other-modules: + Utils + + -- Suite #1 + Mini + + -- Suite #2 + Macro + Macro.Types + Macro.Load + Macro.DeepSeq + Macro.MemSize + Macro.ReadShow + Macro.PkgAesonGeneric + Macro.PkgAesonTH + Macro.PkgBinary + Macro.PkgCereal + Macro.PkgStore + Macro.CBOR + + build-depends: + base >= 4.11 && < 4.22, + array >= 0.4 && < 0.6, + binary >= 0.7 && < 0.11, + bytestring >= 0.10.4 && < 0.13, + directory >= 1.0 && < 1.4, + ghc-prim >= 0.3.1.0 && < 0.14, + fail >= 4.9.0.0 && < 4.10, + text >= 1.1 && < 2.2, + vector >= 0.10 && < 0.14, + cborg, + serialise, + + filepath >= 1.0 && < 1.6, + containers >= 0.5 && < 0.8, + deepseq >= 1.0 && < 1.6, + aeson >= 0.7 && < 2.3, + cereal >= 0.5.2.0 && < 0.6, + half >= 0.2.2.3 && < 0.4, + tar >= 0.4 && < 0.7, + zlib >= 0.5 && < 0.8, + pretty >= 1.0 && < 1.2, + criterion >= 1.0 && < 1.7, + store >= 0.7.1 && < 0.8, + semigroups + + if flag(newtime15) + build-depends: + time >= 1.5 && < 1.15 + else + build-depends: + time >= 1.4 && < 1.5, + old-locale -- Gitee