diff --git a/ghc-servant.spec b/ghc-servant.spec index 3151d6d68212f3d8929e7df2bdf34c18a1c6bf6f..eab56b07c94283839ca4ee05b8d314399eed587e 100644 --- a/ghc-servant.spec +++ b/ghc-servant.spec @@ -3,12 +3,13 @@ %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.20.2 +Version: 0.20.3.0 Release: 1 Summary: A family of combinators for defining webservices APIs 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 @@ -45,6 +46,8 @@ BuildRequires: ghc-network-uri-prof BuildRequires: ghc-rpm-macros BuildRequires: ghc-singleton-bool-devel BuildRequires: ghc-singleton-bool-prof +BuildRequires: ghc-generics-sop-devel +BuildRequires: ghc-generics-sop-prof BuildRequires: ghc-sop-core-devel BuildRequires: ghc-sop-core-prof BuildRequires: ghc-string-conversions-devel @@ -101,6 +104,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 @@ -129,6 +133,11 @@ This package provides the Haskell %{pkg_name} profiling library. %files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files %changelog +* Wed Jul 16 2025 ZhaoYu Jiang - 0.20.3.0-1 +- Update Package to Version 0.20.3.0 +- Remove -XStrictData from servant{,-server}'s cabal files #1780 #1781 +- The addition of -XStrictData to servant.cabal and servant-server.cabal reduced the laziness of routing, which would trigger unimplemented endpoints using error or undefined, despite the fact that these endpoints themselves were not queried. - 0.20.3.0-1 + * Wed Dec 04 2024 caiyuxin - 0.20.2-1 - Update package to version 0.20.2 Use Header' in response headers. diff --git a/servant-0.20.2.tar.gz b/servant-0.20.2.tar.gz deleted file mode 100644 index 94005020956f7d7da8c97f2a499eabd71a8dfefb..0000000000000000000000000000000000000000 Binary files a/servant-0.20.2.tar.gz and /dev/null differ diff --git a/servant-0.20.3.0.tar.gz b/servant-0.20.3.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..366ae5b43ec67c6e64a1aec770c3e74fbc2df0be Binary files /dev/null and b/servant-0.20.3.0.tar.gz differ diff --git a/servant.cabal b/servant.cabal new file mode 100644 index 0000000000000000000000000000000000000000..ec433a482b14f732564d34d74fc9a23f3c9ed6e3 --- /dev/null +++ b/servant.cabal @@ -0,0 +1,198 @@ +cabal-version: 3.0 +name: servant +version: 0.20.3.0 +x-revision: 2 +synopsis: A family of combinators for defining webservices APIs +category: Servant, Web +description: + A family of combinators for defining webservices APIs and serving them + . + You can learn about the basics in the . + . + + +homepage: http://docs.servant.dev/ +bug-reports: http://github.com/haskell-servant/servant/issues +license: BSD-3-Clause +license-file: LICENSE +author: Servant Contributors +maintainer: haskell-servant-maintainers@googlegroups.com +copyright: + 2014-2016 Zalora South East Asia Pte Ltd, 2016-2019 Servant Contributors + +build-type: Simple +tested-with: GHC ==9.2.8 || ==9.4.8 || ==9.6.6 || ==9.8.4 || ==9.10.1 || ==9.12.1 + +extra-source-files: CHANGELOG.md + +source-repository head + type: git + location: http://github.com/haskell-servant/servant.git + +common extensions + default-extensions: + AllowAmbiguousTypes + ConstraintKinds + DataKinds + DeriveAnyClass + DeriveDataTypeable + DeriveFunctor + DeriveGeneric + DerivingStrategies + DerivingVia + DuplicateRecordFields + ExplicitNamespaces + FlexibleContexts + FlexibleInstances + FunctionalDependencies + GADTs + InstanceSigs + KindSignatures + LambdaCase + MultiParamTypeClasses + NoStarIsType + OverloadedLabels + OverloadedStrings + PackageImports + PolyKinds + RankNTypes + RecordWildCards + ScopedTypeVariables + TupleSections + TypeApplications + TypeFamilies + TypeOperators + UndecidableInstances + ViewPatterns + + default-language: Haskell2010 + +common ghc-options + ghc-options: + -Wall -Wcompat -Widentities -Wincomplete-record-updates + -Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints + -fhide-source-paths -Wno-unused-do-bind -fdicts-strict + -Wno-unticked-promoted-constructors -Werror=unused-imports + -Wunused-packages + +library + import: extensions + import: ghc-options + exposed-modules: + Servant.API + Servant.API.Alternative + Servant.API.BasicAuth + Servant.API.Capture + Servant.API.ContentTypes + Servant.API.Description + Servant.API.Empty + Servant.API.Experimental.Auth + Servant.API.Fragment + Servant.API.Generic + Servant.API.Header + Servant.API.Host + Servant.API.HttpVersion + Servant.API.IsSecure + Servant.API.Modifiers + Servant.API.NamedRoutes + Servant.API.QueryParam + Servant.API.QueryString + Servant.API.Range + Servant.API.Raw + Servant.API.RemoteHost + Servant.API.ReqBody + Servant.API.ResponseHeaders + Servant.API.ServerSentEvents + Servant.API.Status + Servant.API.Stream + Servant.API.Sub + Servant.API.TypeErrors + Servant.API.TypeLevel + Servant.API.TypeLevel.List + Servant.API.UVerb + Servant.API.MultiVerb + Servant.API.UVerb.Union + Servant.API.Vault + Servant.API.Verbs + Servant.API.WithNamedContext + Servant.API.WithResource + + -- Types + exposed-modules: + Servant.Types.SourceT + Servant.Types.Internal.Response + + -- Test stuff + exposed-modules: Servant.Test.ComprehensiveAPI + + -- Safe links + exposed-modules: Servant.Links + + -- Bundled with GHC: Lower bound to not force re-installs + -- text and mtl are bundled starting with GHC-8.4 + -- + -- note: mtl lower bound is so low because of GHC-7.8 + build-depends: + , base >= 4.16.4.0 && <4.22 + , bytestring >=0.11 && <0.13 + , constraints >=0.2 + , containers >=0.6.5.1 && <0.9 + , mtl ^>=2.2.2 || ^>=2.3.1 + , sop-core >=0.4.0.0 && <0.6 + , generics-sop ^>=0.5.1 + , text >=1.2.3.0 && <2.2 + , transformers >=0.5.2.0 && <0.7 + + -- We depend (heavily) on the API of these packages: + -- i.e. re-export, or allow using without direct dependency + build-depends: + , http-api-data >=0.4.1 && <0.7 + , singleton-bool >=0.1.4 && <0.2 + + -- Other dependencies: Lower bound around what is in the latest Stackage LTS. + -- Here can be exceptions if we really need features from the newer versions. + build-depends: + , aeson >=1.4.1.0 && <2.3 + , attoparsec >=0.13.2.2 && <0.15 + , bifunctors >=5.5.3 && <5.7 + , case-insensitive >=1.2.0.11 && <1.3 + , deepseq >=1.4.2.0 && <1.6 + , http-media >=0.7.1.3 && <0.9 + , http-types >=0.12.2 && <0.13 + , mmorph >=1.1.2 && <1.3 + , network-uri >=2.6.1.0 && <2.7 + , QuickCheck >=2.12.6.1 && <2.17 + , vault >=0.3.1.2 && <0.4 + + hs-source-dirs: src + +test-suite spec + import: extensions + import: ghc-options + type: exitcode-stdio-1.0 + hs-source-dirs: test + main-is: Spec.hs + other-modules: + Servant.API.ContentTypesSpec + Servant.API.ResponseHeadersSpec + Servant.API.StreamSpec + Servant.LinksSpec + + -- Dependencies inherited from the library. No need to specify bounds. + build-depends: + , aeson + , base + , bytestring + , http-media + , mtl + , network-uri + , servant + , text + + -- Additional dependencies + build-depends: + , hspec >=2.6.0 && <2.12 + , QuickCheck >=2.12.6.1 && <2.17 + , quickcheck-instances >=0.3.19 && <0.4 + + build-tool-depends: hspec-discover:hspec-discover >=2.6.0 && <2.12