diff --git a/ghc-reflection.spec b/ghc-reflection.spec index 0d31437..55caa8b 100644 --- a/ghc-reflection.spec +++ b/ghc-reflection.spec @@ -15,9 +15,11 @@ License: BSD 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 # End cabal-rpm sources # Begin cabal-rpm deps: +BuildRequires: dos2unix BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-base-prof @@ -85,6 +87,7 @@ This package provides the Haskell %{pkg_name} profiling library. %prep # Begin cabal-rpm setup: %setup -q -n %{pkgver} +dos2unix -k -n %{SOURCE1} %{pkg_name}.cabal # End cabal-rpm setup diff --git a/reflection-2.1.6.cabal b/reflection-2.1.6.cabal new file mode 100644 index 0000000..d070ac9 --- /dev/null +++ b/reflection-2.1.6.cabal @@ -0,0 +1,126 @@ +name: reflection +version: 2.1.6 +x-revision: 1 +license: BSD3 +license-file: LICENSE +author: Edward A. Kmett, Elliott Hird, Oleg Kiselyov and Chung-chieh Shan +maintainer: Edward A. Kmett +stability: experimental +homepage: http://github.com/ekmett/reflection +bug-reports: http://github.com/ekmett/reflection/issues +category: Data, Reflection, Dependent Types +synopsis: Reifies arbitrary terms into types that can be reflected back into terms +copyright: 2009-2013 Edward A. Kmett, + 2012 Elliott Hird, + 2004 Oleg Kiselyov and Chung-chieh Shan +build-type: Simple +cabal-version: >= 1.10 +description: + This package addresses the /configuration problem/ which is + propagating configurations that are available at run-time, allowing + multiple configurations to coexist without resorting to mutable + global variables or 'System.IO.Unsafe.unsafePerformIO'. + . + That package is an implementation of the ideas presented in the + paper \"Functional Pearl: Implicit Configurations\" by Oleg Kiselyov + and Chung-chieh Shan (). + However, the API has been streamlined to improve performance. + . + Austin Seipp's tutorial provides a summary of the + approach taken by this library, along with more motivating examples. +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: + examples/reflection-examples.cabal + examples/LICENSE + examples/*.hs + CHANGELOG.markdown + README.markdown + slow/Data/Reflection.hs + fast/Data/Reflection.hs + .travis.yml + +flag slow + description: + If you enable this flag, we use a more portable much much slower implementation. Moreover, the 'Given' API is broken, so this is currently an unsupported configuration. If you feel the need to turn on this flag for any reason, please email the maintainer! + default: False + manual: False + +flag template-haskell + description: + You can disable the use of the `template-haskell` package using `-f-template-haskell`. + . + Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. + default: True + manual: True + +source-repository head + type: git + location: git://github.com/ekmett/reflection.git + +library + ghc-options: -Wall + + if impl(ghc >= 7.2) + default-extensions: Trustworthy + + build-depends: + base >= 2 && < 5 + + if impl(ghc < 7.8) + build-depends: + tagged >= 0.4.4 && < 1 + + if !impl(ghc >= 8.0) + build-depends: + semigroups >= 0.11 && < 0.21 + + default-language: Haskell98 + + if flag(template-haskell) && impl(ghc) + if !impl(ghc >= 8.0) + other-extensions: TemplateHaskell + -- else + -- other-extensions: TemplateHaskellQuotes -- Hackage doesn't know this extension yet + build-depends: template-haskell + + if !flag(slow) && (impl(ghc) || impl(hugs)) + hs-source-dirs: fast + else + other-extensions: ScopedTypeVariables, FlexibleInstances + hs-source-dirs: slow + + other-extensions: + MultiParamTypeClasses, + FunctionalDependencies, + Rank2Types, + CPP + + exposed-modules: Data.Reflection + +test-suite spec + type: exitcode-stdio-1.0 + hs-source-dirs: tests + main-is: Spec.hs + other-modules: ReifyNatSpec + T47Spec + ghc-options: -Wall + default-language: Haskell98 + build-tool-depends: hspec-discover:hspec-discover >= 1.8 + build-depends: + base >= 2 && < 5, + containers >= 0.1 && < 0.7, + hspec >= 2 && < 3, + QuickCheck >= 2 && < 3, + reflection