4 Commits

5 changed files with 141 additions and 5 deletions

View File

@@ -1,3 +1,16 @@
-------------------------------------------------------------------
Mon Mar 3 10:14:09 UTC 2025 - Peter Simons <psimons@suse.com>
- Update reflection to version 2.1.9 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Wed Dec 4 12:05:19 UTC 2024 - Peter Simons <psimons@suse.com>
- 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 <psimons@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package ghc-reflection
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,12 +20,13 @@
%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
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
@@ -92,6 +93,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

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:922e9ff67958ed1bca19000a9d59153ed3152ef775e9018d5853488e4f4189cd
size 18331

3
reflection-2.1.9.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c6a7d5e41ad0ee1a05c660acf4fd34b21f38330eec165d246b7fffb398e59fb3
size 17560

121
reflection.cabal Normal file
View File

@@ -0,0 +1,121 @@
name: reflection
version: 2.1.9
x-revision: 1
license: BSD3
license-file: LICENSE
author: Edward A. Kmett, Elliott Hird, Oleg Kiselyov and Chung-chieh Shan
maintainer: Edward A. Kmett <ekmett@gmail.com>
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 (<http://okmij.org/ftp/Haskell/tr-15-04.pdf original paper>).
However, the API has been streamlined to improve performance.
.
There are a handful of tutorials on how to use this library:
.
* Austin Seipp's tutorial <https://www.schoolofhaskell.com/user/thoughtpolice/using-reflection Reflecting values to types and back> provides a summary of the
approach taken by this library, along with more motivating examples.
.
* Arnaud Spiwack's tutorial <https://www.tweag.io/posts/2017-12-21-reflection-tutorial.html All about reflection> explains how to use this library.
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.6
, GHC == 9.8.4
, GHC == 9.10.1
, GHC == 9.12.1
extra-source-files:
.hlint.yaml
examples/reflection-examples.cabal
examples/LICENSE
examples/*.hs
CHANGELOG.markdown
README.markdown
slow/Data/Reflection.hs
fast/Data/Reflection.hs
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 >= 8.6)
ghc-options: -Wno-star-is-type
default-extensions: Trustworthy
build-depends:
base >= 4.9 && < 5
default-language: Haskell98
if flag(template-haskell) && impl(ghc)
-- 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 >= 4.9 && < 5,
containers >= 0.1 && < 0.9,
hspec >= 2 && < 3,
QuickCheck >= 2 && < 3,
reflection