openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2017
- 1 participants
- 2097 discussions
Hello community,
here is the log from the commit of package ghc-bytes for openSUSE:Factory checked in at 2017-08-31 20:46:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-bytes (Old)
and /work/SRC/openSUSE:Factory/.ghc-bytes.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-bytes"
Thu Aug 31 20:46:28 2017 rev:3 rq:513217 version:0.15.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-bytes/ghc-bytes.changes 2017-06-04 01:52:19.951746037 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-bytes.new/ghc-bytes.changes 2017-08-31 20:46:30.351312729 +0200
@@ -1,0 +2,5 @@
+Sat Jul 29 03:02:07 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.15.3 revision 1.
+
+-------------------------------------------------------------------
New:
----
bytes.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-bytes.spec ++++++
--- /var/tmp/diff_new_pack.Oms7io/_old 2017-08-31 20:46:31.759115124 +0200
+++ /var/tmp/diff_new_pack.Oms7io/_new 2017-08-31 20:46:31.779112317 +0200
@@ -26,6 +26,7 @@
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-binary-devel
BuildRequires: ghc-bytestring-devel
@@ -65,6 +66,7 @@
%prep
%setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ bytes.cabal ++++++
name: bytes
category: Data, Serialization
version: 0.15.3
x-revision: 1
license: BSD3
cabal-version: >= 1.8
license-file: LICENSE
author: Edward A. Kmett
maintainer: Edward A. Kmett <ekmett(a)gmail.com>
stability: experimental
homepage: https://github.com/ekmett/bytes
bug-reports: https://github.com/ekmett/bytes/issues
copyright: Copyright (C) 2013-2015 Edward A. Kmett
build-type: Custom
tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1
synopsis: Sharing code for serialization between binary and cereal
description: Sharing code for serialization between binary and cereal
extra-source-files:
.travis.yml
.ghci
.gitignore
.vim.custom
travis/cabal-apt-install
travis/config
AUTHORS.markdown
README.markdown
CHANGELOG.markdown
source-repository head
type: git
location: git://github.com/ekmett/bytes.git
-- You can disable the doctests test suite with -f-test-doctests
flag test-doctests
description: Enable (or disable via f-test-doctests) the doctest suite when
using the enable-tests option for cabal.
default: True
manual: True
custom-setup
-- any should do
setup-depends:
base >= 4.5 && <5,
Cabal >= 1.14,
cabal-doctest >= 1 && <1.1
library
build-depends:
base >= 4.5 && < 5,
binary >= 0.5.1 && < 0.9,
bytestring >= 0.9 && < 0.11,
cereal >= 0.3.5 && < 0.6,
containers >= 0.3 && < 1,
hashable >= 1.0.1.1 && < 1.4,
mtl >= 2.0 && < 2.3,
text >= 0.2 && < 1.3,
time >= 1.2 && < 1.9,
transformers >= 0.2 && < 0.6,
transformers-compat >= 0.3 && < 1,
unordered-containers >= 0.2 && < 0.3,
scientific >= 0.0 && < 1,
void >= 0.6 && < 1
if impl(ghc >= 7.4 && < 7.6)
build-depends: ghc-prim
exposed-modules:
Data.Bytes.Get
Data.Bytes.Put
Data.Bytes.Serial
Data.Bytes.Signed
Data.Bytes.VarInt
ghc-options: -Wall -fwarn-tabs -O2
c-sources: cbits/i2d.c
hs-source-dirs: src
test-suite doctests
type: exitcode-stdio-1.0
main-is: doctests.hs
ghc-options: -Wall -threaded
hs-source-dirs: tests
if !flag(test-doctests)
buildable: False
else
build-depends:
base,
bytes,
directory >= 1.0,
doctest >= 0.11.1 && <0.13,
filepath >= 1.2
1
0
Hello community,
here is the log from the commit of package ghc-bits for openSUSE:Factory checked in at 2017-08-31 20:46:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-bits (Old)
and /work/SRC/openSUSE:Factory/.ghc-bits.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-bits"
Thu Aug 31 20:46:26 2017 rev:4 rq:513212 version:0.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-bits/ghc-bits.changes 2017-06-04 01:52:14.224555201 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-bits.new/ghc-bits.changes 2017-08-31 20:46:28.635553559 +0200
@@ -1,0 +2,5 @@
+Sat Jul 29 03:02:01 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.5.1 revision 1.
+
+-------------------------------------------------------------------
New:
----
bits.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-bits.spec ++++++
--- /var/tmp/diff_new_pack.paYTRD/_old 2017-08-31 20:46:29.939370550 +0200
+++ /var/tmp/diff_new_pack.paYTRD/_new 2017-08-31 20:46:29.955368305 +0200
@@ -26,6 +26,7 @@
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-bytes-devel
BuildRequires: ghc-cabal-doctest-devel
@@ -53,6 +54,7 @@
%prep
%setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ bits.cabal ++++++
name: bits
category: Data, Serialization
version: 0.5.1
x-revision: 1
license: BSD3
cabal-version: >= 1.8
license-file: LICENSE
author: Edward A. Kmett
maintainer: Edward A. Kmett <ekmett(a)gmail.com>
stability: experimental
homepage: http://github.com/ekmett/bits
bug-reports: http://github.com/ekmett/bits/issues
copyright: Copyright (C) 2013 Edward A. Kmett
build-type: Custom
tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1
synopsis: Various bit twiddling and bitwise serialization primitives
description: Various bit twiddling and bitwise serialization primitives
extra-source-files:
.travis.yml
.ghci
.gitignore
.vim.custom
travis/cabal-apt-install
travis/config
AUTHORS.markdown
README.markdown
CHANGELOG.markdown
source-repository head
type: git
location: git://github.com/ekmett/bits.git
custom-setup
setup-depends:
base >= 4 && < 5,
Cabal,
cabal-doctest >= 1 && < 1.1
-- You can disable the doctests test suite with -f-test-doctests
flag test-doctests
default: True
manual: True
library
build-depends:
base >= 4.7 && < 5,
bytes >= 0.11 && < 1,
mtl >= 2.0 && < 2.3,
transformers >= 0.2 && < 0.6
exposed-modules:
Data.Bits.Coding
Data.Bits.Coded
Data.Bits.Extras
c-sources: cbits/debruijn.c
ghc-options: -Wall -fwarn-tabs -O2
hs-source-dirs: src
test-suite doctests
type: exitcode-stdio-1.0
main-is: doctests.hs
ghc-options: -Wall -threaded
hs-source-dirs: tests
c-sources: cbits/debruijn.c
if !flag(test-doctests)
buildable: False
else
build-depends:
base,
bits,
doctest >= 0.11.1 && < 0.13
1
0
Hello community,
here is the log from the commit of package ghc-binary-parser for openSUSE:Factory checked in at 2017-08-31 20:46:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-binary-parser (Old)
and /work/SRC/openSUSE:Factory/.ghc-binary-parser.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-binary-parser"
Thu Aug 31 20:46:24 2017 rev:2 rq:513211 version:0.5.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-binary-parser/ghc-binary-parser.changes 2017-02-28 23:47:24.420055769 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-binary-parser.new/ghc-binary-parser.changes 2017-08-31 20:46:25.723962241 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:06:03 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.5.5 revision 3.
+
+-------------------------------------------------------------------
Old:
----
binary-parser-0.5.2.tar.gz
New:
----
binary-parser-0.5.5.tar.gz
binary-parser.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-binary-parser.spec ++++++
--- /var/tmp/diff_new_pack.mQGf1o/_old 2017-08-31 20:46:27.431722533 +0200
+++ /var/tmp/diff_new_pack.mQGf1o/_new 2017-08-31 20:46:27.443720850 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-binary-parser
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,24 +17,31 @@
%global pkg_name binary-parser
+%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.5.2
+Version: 0.5.5
Release: 0
Summary: A highly-efficient but limited parser API specialised for bytestrings
License: MIT
-Group: System/Libraries
+Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal…
BuildRequires: ghc-Cabal-devel
-# Begin cabal-rpm deps:
BuildRequires: ghc-base-prelude-devel
BuildRequires: ghc-bytestring-devel
+BuildRequires: ghc-mtl-devel
BuildRequires: ghc-rpm-macros
-BuildRequires: ghc-success-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-transformers-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# End cabal-rpm deps
+%if %{with tests}
+BuildRequires: ghc-quickcheck-instances-devel
+BuildRequires: ghc-rerebase-devel
+BuildRequires: ghc-tasty-devel
+BuildRequires: ghc-tasty-hunit-devel
+BuildRequires: ghc-tasty-quickcheck-devel
+%endif
%description
A highly-efficient but limited parser API specialised for bytestrings.
@@ -52,15 +59,16 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
-
%install
%ghc_lib_install
+%check
+%cabal_test
%post devel
%ghc_pkg_recache
++++++ binary-parser-0.5.2.tar.gz -> binary-parser-0.5.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/binary-parser-0.5.2/binary-parser.cabal new/binary-parser-0.5.5/binary-parser.cabal
--- old/binary-parser-0.5.2/binary-parser.cabal 2016-02-12 09:00:10.000000000 +0100
+++ new/binary-parser-0.5.5/binary-parser.cabal 2017-04-08 21:51:54.000000000 +0200
@@ -1,15 +1,15 @@
name:
binary-parser
version:
- 0.5.2
+ 0.5.5
synopsis:
A highly-efficient but limited parser API specialised for bytestrings
category:
Parser, Binary
homepage:
- https://github.com/nikita-volkov/binary-parser
+ https://github.com/nikita-volkov/binary-parser
bug-reports:
- https://github.com/nikita-volkov/binary-parser/issues
+ https://github.com/nikita-volkov/binary-parser/issues
author:
Nikita Volkov <nikita.y.volkov(a)mail.ru>
maintainer:
@@ -25,19 +25,17 @@
cabal-version:
>=1.10
-
source-repository head
type:
git
location:
git://github.com/nikita-volkov/binary-parser.git
-
library
hs-source-dirs:
library
default-extensions:
- Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
+ Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
default-language:
Haskell2010
other-modules:
@@ -46,10 +44,31 @@
BinaryParser
build-depends:
-- data:
- success >= 0.2 && < 0.3,
bytestring >= 0.10 && < 0.11,
text >= 1 && < 2,
-- general:
- transformers >= 0.3 && < 0.6,
- base-prelude < 2
+ mtl == 2.*,
+ transformers >= 0.4 && < 0.6,
+ base-prelude < 2,
+ base >= 4.7 && < 5
+test-suite tests
+ type:
+ exitcode-stdio-1.0
+ hs-source-dirs:
+ tests
+ main-is:
+ Main.hs
+ default-extensions:
+ Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
+ default-language:
+ Haskell2010
+ build-depends:
+ binary-parser,
+ -- testing:
+ tasty == 0.11.*,
+ tasty-quickcheck == 0.8.*,
+ tasty-hunit == 0.9.*,
+ quickcheck-instances >= 0.3.11 && < 0.4,
+ -- general:
+ rerebase == 1.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/binary-parser-0.5.2/library/BinaryParser/Prelude.hs new/binary-parser-0.5.5/library/BinaryParser/Prelude.hs
--- old/binary-parser-0.5.2/library/BinaryParser/Prelude.hs 2016-02-12 09:00:10.000000000 +0100
+++ new/binary-parser-0.5.5/library/BinaryParser/Prelude.hs 2017-04-08 21:51:54.000000000 +0200
@@ -13,9 +13,22 @@
-- transformers
-------------------------
-import Control.Monad.Trans.State.Strict as Exports hiding (liftCallCC, liftCatch)
-import Control.Monad.Trans.Reader as Exports hiding (liftCallCC, liftCatch)
+import Control.Monad.IO.Class as Exports
import Control.Monad.Trans.Class as Exports
+import Control.Monad.Trans.Cont as Exports hiding (shift, callCC)
+import Control.Monad.Trans.Except as Exports (ExceptT(ExceptT), Except, except, runExcept, runExceptT, mapExcept, mapExceptT, withExcept, withExceptT, throwE, catchE)
+import Control.Monad.Trans.Maybe as Exports
+import Control.Monad.Trans.Reader as Exports (Reader, runReader, mapReader, withReader, ReaderT(ReaderT), runReaderT, mapReaderT, withReaderT)
+import Control.Monad.Trans.State.Strict as Exports (State, runState, evalState, execState, mapState, withState, StateT(StateT), runStateT, evalStateT, execStateT, mapStateT, withStateT)
+import Control.Monad.Trans.Writer.Strict as Exports (Writer, runWriter, execWriter, mapWriter, WriterT(..), execWriterT, mapWriterT)
+
+-- mtl
+-------------------------
+import Control.Monad.Cont.Class as Exports
+import Control.Monad.Error.Class as Exports hiding (Error(..))
+import Control.Monad.Reader.Class as Exports
+import Control.Monad.State.Class as Exports
+import Control.Monad.Writer.Class as Exports
-- bytestring
-------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/binary-parser-0.5.2/library/BinaryParser.hs new/binary-parser-0.5.5/library/BinaryParser.hs
--- old/binary-parser-0.5.2/library/BinaryParser.hs 2016-02-12 09:00:10.000000000 +0100
+++ new/binary-parser-0.5.5/library/BinaryParser.hs 2017-04-08 21:51:54.000000000 +0200
@@ -1,22 +1,37 @@
+{-# LANGUAGE CPP #-}
module BinaryParser
(
BinaryParser,
run,
failure,
byte,
+ matchingByte,
bytesOfSize,
+ bytesWhile,
unitOfSize,
unitOfBytes,
+ unitWhile,
remainders,
+ fold,
endOfInput,
sized,
+ -- * Extras
+ storableOfSize,
+ beWord16,
+ leWord16,
+ beWord32,
+ leWord32,
+ beWord64,
+ leWord64,
+ asciiIntegral,
)
where
-import BinaryParser.Prelude
+import BinaryParser.Prelude hiding (fold)
import qualified Data.ByteString as ByteString
import qualified Data.ByteString.Unsafe as ByteString
-import qualified Success.Pure as Success
+import qualified Data.ByteString.Internal as A
+import qualified BinaryParser.Prelude as B
-- |
@@ -28,22 +43,22 @@
-- Does not generate fancy error-messages,
-- which contributes to its efficiency.
newtype BinaryParser a =
- BinaryParser ( StateT ByteString ( Success.Success Text ) a )
- deriving ( Functor , Applicative , Alternative , Monad , MonadPlus )
+ BinaryParser ( StateT ByteString ( Except Text ) a )
+ deriving ( Functor , Applicative , Alternative , Monad , MonadPlus , MonadError Text )
-- |
-- Apply a parser to bytes.
{-# INLINE run #-}
run :: BinaryParser a -> ByteString -> Either Text a
run (BinaryParser parser) input =
- mapLeft fold (Success.asEither (evalStateT parser input))
+ runExcept (evalStateT parser input)
-- |
-- Fail with a message.
{-# INLINE failure #-}
failure :: Text -> BinaryParser a
failure text =
- BinaryParser (lift (Success.failure text))
+ BinaryParser (lift (throwE text))
-- |
-- Consume a single byte.
@@ -52,10 +67,36 @@
byte =
BinaryParser $ StateT $ \remainders ->
if ByteString.null remainders
- then Success.failure "End of input"
+ then throwE "End of input"
else pure (ByteString.unsafeHead remainders, ByteString.unsafeDrop 1 remainders)
-- |
+-- Consume a single byte, which satisfies the predicate.
+{-# INLINE satisfyingByte #-}
+satisfyingByte :: (Word8 -> Bool) -> BinaryParser Word8
+satisfyingByte predicate =
+ BinaryParser $ StateT $ \remainders ->
+ case ByteString.uncons remainders of
+ Nothing -> throwE "End of input"
+ Just (head, tail) ->
+ if predicate head
+ then pure (head, tail)
+ else throwE "Byte doesn't satisfy a predicate"
+
+-- |
+-- Consume a single byte, which satisfies the predicate.
+{-# INLINE matchingByte #-}
+matchingByte :: (Word8 -> Either Text a) -> BinaryParser a
+matchingByte matcher =
+ BinaryParser $ StateT $ \remainders ->
+ case ByteString.uncons remainders of
+ Nothing -> throwE "End of input"
+ Just (head, tail) ->
+ case matcher head of
+ Right result -> pure (result, tail)
+ Left error -> throwE error
+
+-- |
-- Consume an amount of bytes.
{-# INLINE bytesOfSize #-}
bytesOfSize :: Int -> BinaryParser ByteString
@@ -63,7 +104,15 @@
BinaryParser $ StateT $ \remainders ->
if ByteString.length remainders >= size
then return (ByteString.unsafeTake size remainders, ByteString.unsafeDrop size remainders)
- else Success.failure "End of input"
+ else throwE "End of input"
+
+-- |
+-- Consume multiple bytes, which satisfy the predicate.
+{-# INLINE bytesWhile #-}
+bytesWhile :: (Word8 -> Bool) -> BinaryParser ByteString
+bytesWhile predicate =
+ BinaryParser $ StateT $ \remainders ->
+ pure (ByteString.span predicate remainders)
-- |
-- Skip an amount of bytes.
@@ -73,7 +122,7 @@
BinaryParser $ StateT $ \remainders ->
if ByteString.length remainders >= size
then return ((), ByteString.unsafeDrop size remainders)
- else Success.failure "End of input"
+ else throwE "End of input"
-- |
-- Skip specific bytes, while failing if they don't match.
@@ -83,7 +132,15 @@
BinaryParser $ StateT $ \remainders ->
if ByteString.isPrefixOf bytes remainders
then return ((), ByteString.unsafeDrop (ByteString.length bytes) remainders)
- else Success.failure "Bytes don't match"
+ else throwE "Bytes don't match"
+
+-- |
+-- Skip bytes, which satisfy the predicate.
+{-# INLINE unitWhile #-}
+unitWhile :: (Word8 -> Bool) -> BinaryParser ()
+unitWhile predicate =
+ BinaryParser $ StateT $ \remainders ->
+ pure ((), ByteString.dropWhile predicate remainders)
-- |
-- Consume all the remaining bytes.
@@ -99,7 +156,24 @@
endOfInput =
BinaryParser $ StateT $ \case
"" -> return ((), ByteString.empty)
- _ -> Success.failure "Not the end of input"
+ _ -> throwE "Not the end of input"
+
+-- |
+-- Left-fold the bytes, terminating before the byte,
+-- on which the step function returns Nothing.
+{-# INLINE fold #-}
+fold :: (a -> Word8 -> Maybe a) -> a -> BinaryParser a
+fold step init =
+ BinaryParser $ StateT $ return . loop init
+ where
+ loop !accumulator remainders =
+ case ByteString.uncons remainders of
+ Nothing -> (accumulator, remainders)
+ Just (head, tail) ->
+ case step accumulator head of
+ Just newAccumulator ->
+ loop newAccumulator tail
+ Nothing -> (accumulator, remainders)
-- |
-- Run a subparser passing it a chunk of the current input of the specified size.
@@ -111,4 +185,104 @@
then
evalStateT stateT (ByteString.unsafeTake size remainders) &
fmap (\result -> (result, ByteString.unsafeDrop size remainders))
- else Success.failure "End of input"
+ else throwE "End of input"
+
+-- |
+-- Storable value of the given amount of bytes.
+{-# INLINE storableOfSize #-}
+storableOfSize :: Storable a => Int -> BinaryParser a
+storableOfSize size =
+ BinaryParser $ StateT $ \(A.PS payloadFP offset length) ->
+ if length >= size
+ then let result =
+ unsafeDupablePerformIO $ withForeignPtr payloadFP $ \ptr -> peekByteOff (castPtr ptr) offset
+ newRemainder =
+ A.PS payloadFP (offset + size) (length - size)
+ in return (result, newRemainder)
+ else throwE "End of input"
+
+-- | Big-endian word of 2 bytes.
+{-# INLINE beWord16 #-}
+beWord16 :: BinaryParser Word16
+#ifdef WORDS_BIGENDIAN
+beWord16 =
+ storableOfSize 2
+#else
+beWord16 =
+ byteSwap16 <$> storableOfSize 2
+#endif
+
+-- | Little-endian word of 2 bytes.
+{-# INLINE leWord16 #-}
+leWord16 :: BinaryParser Word16
+#ifdef WORDS_BIGENDIAN
+leWord16 =
+ byteSwap16 <$> storableOfSize 2
+#else
+leWord16 =
+ storableOfSize 2
+#endif
+
+-- | Big-endian word of 4 bytes.
+{-# INLINE beWord32 #-}
+beWord32 :: BinaryParser Word32
+#ifdef WORDS_BIGENDIAN
+beWord32 =
+ storableOfSize 4
+#else
+beWord32 =
+ byteSwap32 <$> storableOfSize 4
+#endif
+
+-- | Little-endian word of 4 bytes.
+{-# INLINE leWord32 #-}
+leWord32 :: BinaryParser Word32
+#ifdef WORDS_BIGENDIAN
+leWord32 =
+ byteSwap32 <$> storableOfSize 4
+#else
+leWord32 =
+ storableOfSize 4
+#endif
+
+-- | Big-endian word of 8 bytes.
+{-# INLINE beWord64 #-}
+beWord64 :: BinaryParser Word64
+#ifdef WORDS_BIGENDIAN
+beWord64 =
+ storableOfSize 8
+#else
+beWord64 =
+ byteSwap64 <$> storableOfSize 8
+#endif
+
+-- | Little-endian word of 8 bytes.
+{-# INLINE leWord64 #-}
+leWord64 :: BinaryParser Word64
+#ifdef WORDS_BIGENDIAN
+leWord64 =
+ byteSwap64 <$> storableOfSize 8
+#else
+leWord64 =
+ storableOfSize 8
+#endif
+
+-- |
+-- Integral number encoded in ASCII.
+{-# INLINE asciiIntegral #-}
+asciiIntegral :: Integral a => BinaryParser a
+asciiIntegral =
+ do
+ firstDigit <- matchingByte byteDigit
+ fold step firstDigit
+ where
+ byteDigit byte =
+ case byte - 48 of
+ subtracted ->
+ if subtracted <= 9
+ then Right (fromIntegral subtracted)
+ else Left "Not an ASCII decimal byte"
+ step state byte =
+ case byteDigit byte of
+ Right digit -> Just (state * 10 + digit)
+ _ -> Nothing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/binary-parser-0.5.2/tests/Main.hs new/binary-parser-0.5.5/tests/Main.hs
--- old/binary-parser-0.5.2/tests/Main.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/binary-parser-0.5.5/tests/Main.hs 2017-04-08 21:51:54.000000000 +0200
@@ -0,0 +1,49 @@
+module Main where
+
+import Prelude
+import Test.QuickCheck.Instances
+import Test.Tasty
+import Test.Tasty.HUnit
+import Test.Tasty.QuickCheck
+import qualified Data.ByteString as A
+import qualified Data.ByteString.Builder as C
+import qualified Data.ByteString.Lazy as D
+import qualified BinaryParser as B
+
+
+main =
+ defaultMain $
+ testGroup "All tests" $
+ [
+ builderIsomporhismProperty "byte" B.byte C.word8
+ ,
+ builderIsomporhismProperty "beWord16" B.beWord16 C.word16BE
+ ,
+ builderIsomporhismProperty "beWord32" B.beWord32 C.word32BE
+ ,
+ expectedResultTest "byte consumes" ((,) <$> B.byte <*> B.beWord32) (49, 4) "1\NUL\NUL\NUL\EOT"
+ ,
+ expectedResultTest "Applicative composition" ((,) <$> B.beWord16 <*> B.beWord16) (1, 2) "\NUL\SOH\NUL\STX"
+ ,
+ let parser =
+ do
+ a <- B.beWord16
+ b <- B.beWord16
+ return (a, b)
+ in expectedResultTest "Monadic composition" parser (1, 2) "\NUL\SOH\NUL\STX"
+ ]
+
+builderIsomporhismProperty details parser valueToBuilder =
+ testProperty name $ \value ->
+ B.run parser (D.toStrict (C.toLazyByteString (valueToBuilder value))) ===
+ Right value
+ where
+ name =
+ "builderIsomporhismProperty: " <> details
+
+expectedResultTest details parser expectedValue input =
+ testCase name $ do
+ assertEqual "" (Right expectedValue) (B.run parser input)
+ where
+ name =
+ "expectedResultTest: " <> details
++++++ binary-parser.cabal ++++++
name:
binary-parser
version:
0.5.5
x-revision: 3
synopsis:
A highly-efficient but limited parser API specialised for bytestrings
category:
Parser, Binary
homepage:
https://github.com/nikita-volkov/binary-parser
bug-reports:
https://github.com/nikita-volkov/binary-parser/issues
author:
Nikita Volkov <nikita.y.volkov(a)mail.ru>
maintainer:
Nikita Volkov <nikita.y.volkov(a)mail.ru>
copyright:
(c) 2015, Nikita Volkov
license:
MIT
license-file:
LICENSE
build-type:
Simple
cabal-version:
>=1.10
source-repository head
type:
git
location:
git://github.com/nikita-volkov/binary-parser.git
library
hs-source-dirs:
library
default-extensions:
Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
default-language:
Haskell2010
other-modules:
BinaryParser.Prelude
exposed-modules:
BinaryParser
build-depends:
-- data:
bytestring >= 0.10 && < 0.11,
text >= 1 && < 2,
-- general:
mtl == 2.*,
transformers >= 0.4 && < 0.6,
base-prelude >= 1.2 && < 2,
base >= 4.7 && < 5
test-suite tests
type:
exitcode-stdio-1.0
hs-source-dirs:
tests
main-is:
Main.hs
default-extensions:
Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
default-language:
Haskell2010
build-depends:
binary-parser,
-- testing:
tasty == 0.11.*,
tasty-quickcheck == 0.8.*,
tasty-hunit == 0.9.*,
quickcheck-instances >= 0.3.11 && < 0.4,
-- general:
rerebase == 1.*
1
0
Hello community,
here is the log from the commit of package ghc-base-orphans for openSUSE:Factory checked in at 2017-08-31 20:46:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base-orphans (Old)
and /work/SRC/openSUSE:Factory/.ghc-base-orphans.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base-orphans"
Thu Aug 31 20:46:22 2017 rev:9 rq:513209 version:0.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-base-orphans/ghc-base-orphans.changes 2016-07-21 08:00:32.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-base-orphans.new/ghc-base-orphans.changes 2017-08-31 20:46:23.668250788 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:06:31 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.6.
+
+-------------------------------------------------------------------
Old:
----
base-orphans-0.5.4.tar.gz
New:
----
base-orphans-0.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-base-orphans.spec ++++++
--- /var/tmp/diff_new_pack.bNNy0H/_old 2017-08-31 20:46:24.908076762 +0200
+++ /var/tmp/diff_new_pack.bNNy0H/_new 2017-08-31 20:46:24.912076200 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-base-orphans
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,22 +19,20 @@
%global pkg_name base-orphans
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.5.4
+Version: 0.6
Release: 0
Summary: Backwards-compatible orphan instances for base
License: MIT
-Group: System/Libraries
+Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# Begin cabal-rpm deps:
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-hspec-devel
%endif
-# End cabal-rpm deps
%description
'base-orphans' defines orphan instances that mimic instances available in later
@@ -60,20 +58,14 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-
%build
%ghc_lib_build
-
%install
%ghc_lib_install
-
%check
-%if %{with tests}
-%{cabal} test
-%endif
-
+%cabal_test
%post devel
%ghc_pkg_recache
@@ -87,6 +79,6 @@
%files devel -f %{name}-devel.files
%defattr(-,root,root,-)
-%doc README.markdown
+%doc CHANGES.markdown README.markdown
%changelog
++++++ base-orphans-0.5.4.tar.gz -> base-orphans-0.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/CHANGES.markdown new/base-orphans-0.6/CHANGES.markdown
--- old/base-orphans-0.5.4/CHANGES.markdown 2016-04-11 16:06:11.000000000 +0200
+++ new/base-orphans-0.6/CHANGES.markdown 2017-04-10 15:10:19.000000000 +0200
@@ -1,3 +1,15 @@
+## Changes in 0.6 [2017.04.10]
+ - Backported new instances from GHC 8.2/`base-4.10`
+ (see https://github.com/haskell-compat/base-orphans/issues/39)
+ * `Data` instance for `Const`
+ * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `NonEmpty`
+ * `Semigroup` instances for `IO`, `Event`, and `Lifetime`
+ - Backported `Typeable` instances for `(:+:)`, `(:*:)`, `(:.:)`, `M1`, `Rec1`,
+ `ArrowMonad`, `Kleisli`, `WrappedArrow`, `WrappedMonad`, and `Any` on GHC
+ 7.6 and earlier
+ - Backported `Data` instances for `(:+:)`, `(:*:)`, `(:.:)`, `M1`, and `Rec1`
+ on GHC 7.6 and earlier
+
## Changes in 0.5.4
- Backported `Bits`, `FiniteBits`, `Floating`, `Fractional`, `Integral`,
`IsString`, `Num`, `Real`, `RealFloat`, and `RealFrac` instances for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/LICENSE new/base-orphans-0.6/LICENSE
--- old/base-orphans-0.5.4/LICENSE 2016-04-11 16:06:11.000000000 +0200
+++ new/base-orphans-0.6/LICENSE 2017-04-10 15:10:19.000000000 +0200
@@ -1,4 +1,4 @@
-Copyright (c) 2015-2016 Simon Hengel <sol(a)typeful.net>, João Cristóvão <jmacristovao(a)gmail.com>, Ryan Scott <ryan.gl.scott(a)gmail.com>
+Copyright (c) 2015-2017 Simon Hengel <sol(a)typeful.net>, João Cristóvão <jmacristovao(a)gmail.com>, Ryan Scott <ryan.gl.scott(a)gmail.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/README.markdown new/base-orphans-0.6/README.markdown
--- old/base-orphans-0.5.4/README.markdown 2016-04-11 16:06:11.000000000 +0200
+++ new/base-orphans-0.6/README.markdown 2017-04-10 15:10:19.000000000 +0200
@@ -40,13 +40,14 @@
* `Bits` instance for `Bool`
* `Bits`, `Bounded`, and `Integral` instances for `CDev`
* `Bits`, `Bounded`, `Enum`, `FiniteBits`, `Floating`, `Fractional`, `Integral`, `IsString`, `Ix`, `Num`, `Real`, `RealFloat`, `RealFrac`, and `Storable` instances for `Const` and `Identity`
- * `Data` instances for `All` and `Any`
+ * `Data` instances for `All`, `Any`, and `Const`
* `Data`, `MonadFix` and `MonadZip` instances for `Alt`, `Dual`, `First`, `Last`,
`Product`, and `Sum`
* `Data` and `IsList` instances for `Version`
* `Eq` and `Ord` instances for `Control.Exception.ErrorCall`
* `Eq`, `Ord`, `Read`, and `Show` instances for data types in `GHC.Generics`
* `Eq`, `Ord`, `Read`, `Show`, `Foldable`, and `Traversable` instances for `ZipList`
+ * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `NonEmpty`
* `Foldable` instance for `Either`, `(,)` and `Const`
* `Functor` instance for `Handler`, `ArgOrder`, `OptDescr`, and `ArgDescr`
* `Functor`, `Applicative`, `Alternative`, and `MonadPlus` instances for `ArrowMonad`
@@ -58,6 +59,7 @@
* `Num` instance for `Sum` and `Product`
* `Read` instance for `Fixed`
* `Read` and `Show` instances for `Down`
+ * `Semigroup` instances for `IO`, `Event` and `Lifetime`
* `Show` instance for `Fingerprint`
* `Storable` instance for `()`, `Complex`, and `Ratio`
* `Traversable` instance for `Either`, `(,)` and `Const`
@@ -76,6 +78,8 @@
## Supported versions of GHC/`base`
+ * `ghc-8.2.1` / `base-4.10.0.0`
+ * `ghc-8.0.2` / `base-4.9.1.0`
* `ghc-8.0.1` / `base-4.9.0.0`
* `ghc-7.10.3` / `base-4.8.2.0`
* `ghc-7.10.2` / `base-4.8.1.0`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/base-orphans.cabal new/base-orphans-0.6/base-orphans.cabal
--- old/base-orphans-0.5.4/base-orphans.cabal 2016-04-11 16:06:11.000000000 +0200
+++ new/base-orphans-0.6/base-orphans.cabal 2017-04-10 15:10:19.000000000 +0200
@@ -1,9 +1,9 @@
--- This file has been generated from package.yaml by hpack version 0.12.0.
+-- This file has been generated from package.yaml by hpack version 0.17.0.
--
-- see: https://github.com/sol/hpack
name: base-orphans
-version: 0.5.4
+version: 0.6
synopsis: Backwards-compatible orphan instances for base
description: @base-orphans@ defines orphan instances that mimic instances available in later versions of @base@ to a wider (older) range of compilers. @base-orphans@ does not export anything except the orphan instances themselves and complements @<http://hackage.haskell.org/package/base-compat base-compat>@.
See the README for what instances are covered: <https://github.com/haskell-compat/base-orphans#readme>. See also the <https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not covered> section.
@@ -16,9 +16,9 @@
maintainer: Simon Hengel <sol(a)typeful.net>,
João Cristóvão <jmacristovao(a)gmail.com>,
Ryan Scott <ryan.gl.scott(a)gmail.com>
-copyright: (c) 2012-2016 Simon Hengel,
- (c) 2014-2016 João Cristóvão,
- (c) 2015-2016 Ryan Scott
+copyright: (c) 2012-2017 Simon Hengel,
+ (c) 2014-2017 João Cristóvão,
+ (c) 2015-2017 Ryan Scott
license: MIT
license-file: LICENSE
build-type: Simple
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/src/Data/Orphans/Prelude.hs new/base-orphans-0.6/src/Data/Orphans/Prelude.hs
--- old/base-orphans-0.5.4/src/Data/Orphans/Prelude.hs 2016-04-11 16:06:11.000000000 +0200
+++ new/base-orphans-0.6/src/Data/Orphans/Prelude.hs 2017-04-10 15:10:19.000000000 +0200
@@ -1,4 +1,9 @@
{-# LANGUAGE CPP #-}
+
+#if __GLASGOW_HASKELL__ >= 706
+{-# LANGUAGE ExplicitNamespaces #-}
+#endif
+
{-# OPTIONS_GHC -fno-warn-deprecations #-}
{-|
@@ -10,7 +15,7 @@
Note that this module does not export any modules that could introduce name clashes.
-}
module Data.Orphans.Prelude
-#if MIN_VERSION_base(4,9,0)
+#if MIN_VERSION_base(4,10,0)
() where
#else
(module OrphansPrelude, realPart, imagPart) where
@@ -25,6 +30,7 @@
import Data.Bits as OrphansPrelude
import Data.Char as OrphansPrelude
import Data.Complex as OrphansPrelude (Complex(..))
+import Data.Data as OrphansPrelude (Data)
import Data.Fixed as OrphansPrelude
import Data.Int as OrphansPrelude
import Data.Ix as OrphansPrelude
@@ -85,7 +91,7 @@
# if MIN_VERSION_base(4,6,0)
import GHC.GHCi as OrphansPrelude
-import GHC.TypeLits as OrphansPrelude
+import GHC.TypeLits as OrphansPrelude hiding (type (*))
# endif
# if MIN_VERSION_base(4,6,0) && !(MIN_VERSION_base(4,8,2))
@@ -106,6 +112,12 @@
import Data.Functor.Identity as OrphansPrelude
# endif
+# if MIN_VERSION_base(4,9,0)
+import Data.Functor.Classes as OrphansPrelude
+import Data.List.NonEmpty as OrphansPrelude (NonEmpty(..))
+import Data.Semigroup as OrphansPrelude (Semigroup(..), stimesMonoid)
+# endif
+
# if MIN_VERSION_base(4,4,0)
realPart, imagPart :: Complex a -> a
#else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/src/Data/Orphans.hs new/base-orphans-0.6/src/Data/Orphans.hs
--- old/base-orphans-0.5.4/src/Data/Orphans.hs 2016-04-11 16:06:11.000000000 +0200
+++ new/base-orphans-0.6/src/Data/Orphans.hs 2017-04-10 15:10:19.000000000 +0200
@@ -24,6 +24,10 @@
{-# LANGUAGE NullaryTypeClasses #-}
#endif
+#if __GLASGOW_HASKELL__ >= 800
+{-# LANGUAGE TypeInType #-}
+#endif
+
{-# OPTIONS_GHC -fno-warn-deprecations #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-|
@@ -65,7 +69,7 @@
# endif
#endif
-#if !(MIN_VERSION_base(4,9,0))
+#if !(MIN_VERSION_base(4,10,0))
import Data.Orphans.Prelude
#endif
@@ -877,17 +881,15 @@
empty = Comp1 empty
Comp1 x <|> Comp1 y = Comp1 (x <|> y)
-# if MIN_VERSION_base(4,7,0)
-deriving instance (Data (f p), Typeable f, Data p) => Data (Rec1 f p)
-deriving instance (Data p, Data (f p), Typeable c, Typeable i, Typeable f)
+deriving instance (Data (f p), Typeable1 f, Data p) => Data (Rec1 f p)
+deriving instance (Data p, Data (f p), Typeable c, Typeable i, Typeable1 f)
=> Data (M1 i c f p)
-deriving instance (Typeable f, Typeable g, Data p, Data (f p), Data (g p))
+deriving instance (Typeable1 f, Typeable1 g, Data p, Data (f p), Data (g p))
=> Data ((f :+: g) p)
-deriving instance (Typeable f, Typeable g, Data p, Data (f p), Data (g p))
+deriving instance (Typeable1 f, Typeable1 g, Data p, Data (f p), Data (g p))
=> Data ((f :*: g) p)
-deriving instance (Typeable f, Typeable g, Data p, Data (f (g p)))
+deriving instance (Typeable1 f, Typeable1 g, Data p, Data (f (g p)))
=> Data ((f :.: g) p)
-# endif
# if MIN_VERSION_base(4,8,0)
instance Bifunctor (K1 i) where
@@ -896,6 +898,46 @@
# endif
#endif
+#if !(MIN_VERSION_base(4,10,0))
+# if MIN_VERSION_base(4,9,0)
+deriving instance (Typeable k, Data a, Typeable (b :: k)) => Data (Const a b)
+# else
+deriving instance (Data a, Data b) => Data (Const a b)
+# endif
+
+# if MIN_VERSION_base(4,9,0)
+instance Eq1 NonEmpty where
+ liftEq eq (a :| as) (b :| bs) = eq a b && liftEq eq as bs
+
+instance Ord1 NonEmpty where
+ liftCompare cmp (a :| as) (b :| bs) = cmp a b <> liftCompare cmp as bs
+
+instance Read1 NonEmpty where
+ liftReadsPrec rdP rdL p s = readParen (p > 5) (\s' -> do
+ (a, s'') <- rdP 6 s'
+ (":|", s''') <- lex s''
+ (as, s'''') <- rdL s'''
+ return (a :| as, s'''')) s
+
+instance Show1 NonEmpty where
+ liftShowsPrec shwP shwL p (a :| as) = showParen (p > 5) $
+ shwP 6 a . showString " :| " . shwL as
+
+instance Semigroup a => Semigroup (IO a) where
+ (<>) = liftA2 (<>)
+
+# if !defined(mingw32_HOST_OS) && !defined(ghcjs_HOST_OS)
+instance Semigroup Event where
+ (<>) = mappend
+ stimes = stimesMonoid
+
+instance Semigroup Lifetime where
+ (<>) = mappend
+ stimes = stimesMonoid
+# endif
+# endif
+#endif
+
#if __GLASGOW_HASKELL__ < 710
deriving instance Typeable All
deriving instance Typeable AnnotationWrapper
@@ -984,6 +1026,83 @@
deriving instance Typeable S
deriving instance Typeable1 U1
deriving instance Typeable1 V1
+
+# if __GLASGOW_HASKELL__ >= 708
+-- Data types which use poly-kinded Typeable...
+deriving instance Typeable (:+:)
+deriving instance Typeable (:*:)
+deriving instance Typeable (:.:)
+deriving instance Typeable M1
+deriving instance Typeable Rec1
+# else
+-- ...but we can hack around that if need be.
+instance (Typeable1 f, Typeable1 g) => Typeable1 (f :+: g) where
+ typeOf1 t = mkTyConApp conSumTyCon [typeOf1 (f t), typeOf1 (g t)]
+ where
+ f :: (f :+: g) p -> f p
+ f = undefined
+
+ g :: (f :+: g) p -> g p
+ g = undefined
+
+conSumTyCon :: TyCon
+conSumTyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" ":+:"
+
+instance (Typeable1 f, Typeable1 g) => Typeable1 (f :*: g) where
+ typeOf1 t = mkTyConApp conProductTyCon [typeOf1 (f t), typeOf1 (g t)]
+ where
+ f :: (f :*: g) p -> f p
+ f = undefined
+
+ g :: (f :*: g) p -> g p
+ g = undefined
+
+conProductTyCon :: TyCon
+conProductTyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" ":*:"
+
+instance (Typeable1 f, Typeable1 g) => Typeable1 (f :.: g) where
+ typeOf1 t = mkTyConApp conComposeTyCon [typeOf1 (f t), typeOf1 (g t)]
+ where
+ f :: (f :.: g) p -> f p
+ f = undefined
+
+ g :: (f :.: g) p -> g p
+ g = undefined
+
+conComposeTyCon :: TyCon
+conComposeTyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" ":.:"
+
+instance (Typeable i, Typeable c, Typeable1 f) => Typeable1 (M1 i c f) where
+ typeOf1 t = mkTyConApp m1TyCon [typeOf (i t), typeOf (c t), typeOf1 (f t)]
+ where
+ i :: M1 i c f p -> i
+ i = undefined
+
+ c :: M1 i c f p -> c
+ c = undefined
+
+ f :: M1 i c f p -> f p
+ f = undefined
+
+m1TyCon :: TyCon
+m1TyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" "M1"
+
+instance Typeable1 f => Typeable1 (Rec1 f) where
+ typeOf1 t = mkTyConApp rec1TyCon [typeOf1 (f t)]
+ where
+ f :: Rec1 f a -> f a
+ f = undefined
+
+rec1TyCon :: TyCon
+rec1TyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" "Rec1"
+
+ghcGenericsPackage :: String
+# if MIN_VERSION_base(4,6,0)
+ghcGenericsPackage = "base"
+# else
+ghcGenericsPackage = "ghc-prim"
+# endif
+# endif
# endif
# if MIN_VERSION_base(4,5,0)
@@ -1019,6 +1138,80 @@
# endif
# if __GLASGOW_HASKELL__ >= 708
+-- Data types which use poly-kinded Typeable...
+deriving instance Typeable ArrowMonad
+deriving instance Typeable Kleisli
+deriving instance Typeable WrappedArrow
+deriving instance Typeable WrappedMonad
+deriving instance Typeable Exts.Any
+# else
+-- ...but we can hack around that if need be.
+instance Typeable2 a => Typeable1 (ArrowMonad a) where
+ typeOf1 t = mkTyConApp arrowMonadTyCon [typeOf2 (a t)]
+ where
+ a :: ArrowMonad a b -> a () b
+ a = undefined
+
+arrowMonadTyCon :: TyCon
+# if MIN_VERSION_base(4,4,0)
+arrowMonadTyCon = mkTyCon3 "base" "Control.Arrow" "ArrowMonad"
+# else
+arrowMonadTyCon = mkTyCon "Control.Arrow.ArrowMonad"
+# endif
+
+instance Typeable1 m => Typeable2 (Kleisli m) where
+ typeOf2 t = mkTyConApp kleisliTyCon [typeOf1 (m t)]
+ where
+ m :: Kleisli m a b -> m b
+ m = undefined
+
+kleisliTyCon :: TyCon
+# if MIN_VERSION_base(4,4,0)
+kleisliTyCon = mkTyCon3 "base" "Control.Arrow" "Kleisli"
+# else
+kleisliTyCon = mkTyCon "Control.Arrow.Kleisli"
+# endif
+
+instance Typeable2 a => Typeable2 (WrappedArrow a) where
+ typeOf2 t = mkTyConApp wrappedArrowTyCon [typeOf2 (a t)]
+ where
+ a :: WrappedArrow a b c -> a b c
+ a = undefined
+
+wrappedArrowTyCon :: TyCon
+# if MIN_VERSION_base(4,4,0)
+wrappedArrowTyCon = mkTyCon3 "base" "Control.Applicative" "WrappedArrow"
+# else
+wrappedArrowTyCon = mkTyCon "Control.Applicative.WrappedArrow"
+# endif
+
+instance Typeable1 m => Typeable1 (WrappedMonad m) where
+ typeOf1 t = mkTyConApp wrappedMonadTyCon [typeOf1 (m t)]
+ where
+ m :: WrappedMonad m a -> m a
+ m = undefined
+
+wrappedMonadTyCon :: TyCon
+# if MIN_VERSION_base(4,4,0)
+wrappedMonadTyCon = mkTyCon3 "base" "Control.Applicative" "WrappedMonad"
+# else
+wrappedMonadTyCon = mkTyCon "Control.Applicative.WrappedMonad"
+# endif
+
+-- GHC will get confused if you try deriving a Typeable instance for Any
+-- prior to GHC 7.8, sadly
+instance Typeable Exts.Any where
+ typeOf _ = mkTyConApp anyTyCon []
+
+anyTyCon :: TyCon
+# if MIN_VERSION_base(4,4,0)
+anyTyCon = mkTyCon3 "ghc-prim" "GHC.Prim" "Any"
+# else
+anyTyCon = mkTyCon "GHC.Prim.Any"
+# endif
+# endif
+
+# if __GLASGOW_HASKELL__ >= 708
-- Data types which have more than seven type arguments
deriving instance Typeable (,,,,,,,)
deriving instance Typeable (,,,,,,,,)
@@ -1076,18 +1269,6 @@
deriving instance Typeable (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
deriving instance Typeable (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
--- Data types which require PolyKinds
-deriving instance Typeable (:+:)
-deriving instance Typeable (:*:)
-deriving instance Typeable (:.:)
-deriving instance Typeable Exts.Any
-deriving instance Typeable ArrowMonad
-deriving instance Typeable Kleisli
-deriving instance Typeable M1
-deriving instance Typeable Rec1
-deriving instance Typeable WrappedArrow
-deriving instance Typeable WrappedMonad
-
-- Typeclasses
deriving instance Typeable Arrow
deriving instance Typeable ArrowApply
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/test/Data/Version/OrphansSpec.hs new/base-orphans-0.6/test/Data/Version/OrphansSpec.hs
--- old/base-orphans-0.5.4/test/Data/Version/OrphansSpec.hs 2016-04-11 16:06:11.000000000 +0200
+++ new/base-orphans-0.6/test/Data/Version/OrphansSpec.hs 2017-04-10 15:10:19.000000000 +0200
@@ -17,7 +17,12 @@
spec = do
describe "Data Version instance" $
it "allows obtaining a Version constructor" $
- dataTypeName (dataTypeOf (Version [1,2,3] [])) `shouldBe` "Data.Version.Version"
+ dataTypeName (dataTypeOf (Version [1,2,3] [])) `shouldBe`
+#if __GLASGOW_HASKELL__ >= 801
+ "Version"
+#else
+ "Data.Version.Version"
+#endif
#if MIN_VERSION_base(4,7,0)
describe "IsList Version instance" $
1
0
Hello community,
here is the log from the commit of package ghc-avers-server for openSUSE:Factory checked in at 2017-08-31 20:46:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-avers-server (Old)
and /work/SRC/openSUSE:Factory/.ghc-avers-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-avers-server"
Thu Aug 31 20:46:20 2017 rev:2 rq:513208 version:0.0.19.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-avers-server/ghc-avers-server.changes 2017-05-17 10:49:43.085958752 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-avers-server.new/ghc-avers-server.changes 2017-08-31 20:46:21.804512389 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:08:12 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.0.19.0.
+
+-------------------------------------------------------------------
Old:
----
avers-server-0.0.18.0.tar.gz
avers-server.cabal
New:
----
avers-server-0.0.19.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-avers-server.spec ++++++
--- /var/tmp/diff_new_pack.IpwynZ/_old 2017-08-31 20:46:22.932354081 +0200
+++ /var/tmp/diff_new_pack.IpwynZ/_new 2017-08-31 20:46:22.952351274 +0200
@@ -18,14 +18,13 @@
%global pkg_name avers-server
Name: ghc-%{pkg_name}
-Version: 0.0.18.0
+Version: 0.0.19.0
Release: 0
Summary: Server implementation of the Avers API
License: MIT
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-avers-api-devel
@@ -70,7 +69,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ avers-server-0.0.18.0.tar.gz -> avers-server-0.0.19.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/avers-server-0.0.18.0/avers-server.cabal new/avers-server-0.0.19.0/avers-server.cabal
--- old/avers-server-0.0.18.0/avers-server.cabal 2017-02-06 19:05:06.000000000 +0100
+++ new/avers-server-0.0.19.0/avers-server.cabal 2017-06-26 11:11:10.000000000 +0200
@@ -1,7 +1,7 @@
name: avers-server
-version: 0.0.18.0
+version: 0.0.19.0
synopsis: Server implementation of the Avers API
-description: See README.md
+description: Server implementation of the Avers API
homepage: http://github.com/wereHamster/avers-server
license: MIT
license-file: LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/avers-server-0.0.18.0/src/Avers/Server.hs new/avers-server-0.0.19.0/src/Avers/Server.hs
--- old/avers-server-0.0.18.0/src/Avers/Server.hs 2017-02-06 18:57:38.000000000 +0100
+++ new/avers-server-0.0.19.0/src/Avers/Server.hs 2017-06-26 11:08:50.000000000 +0200
@@ -218,7 +218,7 @@
----------------------------------------------------------------------------
serveObjectChanges :: Server ObjectChanges
- serveObjectChanges objId _cred req respond = respond $
+ serveObjectChanges objId _cred = Tagged $ \req respond -> respond $
case websocketsApp WS.defaultConnectionOptions wsApp req of
Nothing -> responseLBS status500 [] "Failed"
Just res -> res
@@ -260,7 +260,7 @@
----------------------------------------------------------------------------
serveFeed :: Server Feed
- serveFeed _cred req respond = respond $
+ serveFeed _cred = Tagged $ \req respond -> respond $
case websocketsApp WS.defaultConnectionOptions wsApp req of
Nothing -> responseLBS status500 [] "This is a WebSocket endpoint"
Just res -> res
@@ -293,8 +293,12 @@
----------------------------------------------------------------------------
serveChangeSecret :: Server ChangeSecret
- serveChangeSecret _ _ = do
- throwError err501
+ serveChangeSecret cred ChangeSecretBody{..} = do
+ reqAvers aversH $ do
+ Session{..} <- case cred of
+ SessionIdCredential sId -> lookupSession sId
+
+ updateSecret (SecretId $ unObjId sessionObjId) csbNewSecret
----------------------------------------------------------------------------
1
0
Hello community,
here is the log from the commit of package ghc-avers for openSUSE:Factory checked in at 2017-08-31 20:46:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-avers (Old)
and /work/SRC/openSUSE:Factory/.ghc-avers.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-avers"
Thu Aug 31 20:46:18 2017 rev:5 rq:513207 version:0.0.17.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-avers/ghc-avers.changes 2017-07-23 12:14:16.360822687 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-avers.new/ghc-avers.changes 2017-08-31 20:46:19.304863248 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 08:26:17 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.0.17.1 revision 14.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-avers.spec ++++++
--- /var/tmp/diff_new_pack.Vk2m8H/_old 2017-08-31 20:46:20.320720659 +0200
+++ /var/tmp/diff_new_pack.Vk2m8H/_new 2017-08-31 20:46:20.328719536 +0200
@@ -26,7 +26,7 @@
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/12.caba…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/14.caba…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-MonadRandom-devel
BuildRequires: ghc-aeson-devel
++++++ avers.cabal ++++++
--- /var/tmp/diff_new_pack.Vk2m8H/_old 2017-08-31 20:46:20.416707186 +0200
+++ /var/tmp/diff_new_pack.Vk2m8H/_new 2017-08-31 20:46:20.416707186 +0200
@@ -1,6 +1,6 @@
name: avers
version: 0.0.17.1
-x-revision: 12
+x-revision: 14
cabal-version: >=1.10
build-type: Simple
license: GPL-3
@@ -42,7 +42,7 @@
build-depends:
aeson >=1.0.2.1 && <1.3,
attoparsec >=0.13.1.0 && <0.14,
- base >=4.9.0.0 && <4.10,
+ base >=4.9.0.0 && <4.11,
bytestring >=0.10.8.1 && <0.11,
clock >=0.7.2 && <0.8,
containers >=0.5.7.1 && <0.6,
@@ -54,7 +54,7 @@
stm >=2.4.4.1 && <2.5,
template-haskell >=2.11.0.0 && <2.12,
text >=1.2.2.1 && <1.3,
- time >=1.6.0.1 && <1.7,
+ time >=1.6.0.1 && <1.9,
unordered-containers >=0.2.7.2 && <0.3,
vector >=0.11.0.0 && <0.13,
MonadRandom >=0.4.2.3 && <0.6,
@@ -76,7 +76,7 @@
aeson >=1.0.2.1 && <1.3,
attoparsec >=0.13.1.0 && <0.14,
avers >=0.0.17.1 && <0.1,
- base >=4.9.0.0 && <4.10,
+ base >=4.9.0.0 && <4.11,
base16-bytestring >=0.1.1.6 && <0.2,
bytestring >=0.10.8.1 && <0.11,
containers >=0.5.7.1 && <0.6,
@@ -89,7 +89,7 @@
scrypt >=0.5.0 && <0.6,
stm >=2.4.4.1 && <2.5,
text >=1.2.2.1 && <1.3,
- time >=1.6.0.1 && <1.7,
+ time >=1.6.0.1 && <1.9,
unordered-containers >=0.2.7.2 && <0.3,
vector >=0.11.0.0 && <0.13
default-language: Haskell2010
@@ -101,7 +101,7 @@
build-depends:
aeson >=1.0.2.1 && <1.3,
avers >=0.0.17.1 && <0.1,
- base >=4.9.0.0 && <4.10,
+ base >=4.9.0.0 && <4.11,
mtl >=2.2.1 && <2.3,
criterion >=1.1.4.0 && <1.3,
resource-pool >=0.2.3.2 && <0.3,
1
0
Hello community,
here is the log from the commit of package ghc-autoexporter for openSUSE:Factory checked in at 2017-08-31 20:46:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-autoexporter (Old)
and /work/SRC/openSUSE:Factory/.ghc-autoexporter.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-autoexporter"
Thu Aug 31 20:46:15 2017 rev:2 rq:513205 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-autoexporter/ghc-autoexporter.changes 2017-05-09 18:15:46.837800817 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-autoexporter.new/ghc-autoexporter.changes 2017-08-31 20:46:17.293145620 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:04:55 UTC 2017 - psimons(a)suse.com
+
+- Update to version 1.1.1 revision 1.
+
+-------------------------------------------------------------------
Old:
----
autoexporter-1.0.0.tar.gz
New:
----
autoexporter-1.1.1.tar.gz
autoexporter.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-autoexporter.spec ++++++
--- /var/tmp/diff_new_pack.k6X2iG/_old 2017-08-31 20:46:18.680950823 +0200
+++ /var/tmp/diff_new_pack.k6X2iG/_new 2017-08-31 20:46:18.684950261 +0200
@@ -18,13 +18,14 @@
%global pkg_name autoexporter
Name: ghc-%{pkg_name}
-Version: 1.0.0
+Version: 1.1.1
Release: 0
Summary: Automatically re-export modules
License: MIT
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: chrpath
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-directory-devel
@@ -48,6 +49,7 @@
%prep
%setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ autoexporter-1.0.0.tar.gz -> autoexporter-1.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoexporter-1.0.0/README.markdown new/autoexporter-1.1.1/README.markdown
--- old/autoexporter-1.0.0/README.markdown 2016-12-30 16:53:13.000000000 +0100
+++ new/autoexporter-1.1.1/README.markdown 2017-07-22 21:36:12.000000000 +0200
@@ -54,11 +54,16 @@
Autoexporter will generally behave as you'd expect, but there are a couple
things to look out for:
-- Only immediate children will be re-exported. If you use this in some module
- `M`, it won't pull in `M.A.B`.
-
- You cannot selectively include or exclude any modules.
+- By default, only immediate children will be re-exported. If you use this in
+ some module `M`, it won't pull in `M.A.B`. If you need deep re-exporting,
+ please pass `--deep` to Autoexporter like this:
+
+```haskell
+{-# OPTIONS_GHC -F -pgmF autoexporter -optF --deep #-}
+```
+
[Autoexporter]: https://github.com/tfausak/autoexporter
[Version badge]: https://www.stackage.org/package/autoexporter/badge/nightly?label=version
[version]: https://www.stackage.org/nightly/package/autoexporter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoexporter-1.0.0/autoexporter.cabal new/autoexporter-1.1.1/autoexporter.cabal
--- old/autoexporter-1.0.0/autoexporter.cabal 2016-12-30 16:55:06.000000000 +0100
+++ new/autoexporter-1.1.1/autoexporter.cabal 2017-07-22 21:37:03.000000000 +0200
@@ -1,9 +1,9 @@
--- This file has been generated from package.yaml by hpack version 0.15.0.
+-- This file has been generated from package.yaml by hpack version 0.17.0.
--
-- see: https://github.com/sol/hpack
name: autoexporter
-version: 1.0.0
+version: 1.1.1
synopsis: Automatically re-export modules.
description: Autoexporter automatically re-exports modules.
category: Utility
@@ -32,7 +32,7 @@
build-depends:
base >=4.7 && <4.10
, Cabal >=1.22 && <1.25
- , directory >=1.2 && <1.4
+ , directory >=1.2.5 && <1.4
, filepath >=1.3 && <1.5
exposed-modules:
Autoexporter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoexporter-1.0.0/package.yaml new/autoexporter-1.1.1/package.yaml
--- old/autoexporter-1.0.0/package.yaml 2016-12-30 16:54:52.000000000 +0100
+++ new/autoexporter-1.1.1/package.yaml 2017-07-22 21:36:12.000000000 +0200
@@ -19,7 +19,7 @@
dependencies:
- base >=4.7 && <4.10
- Cabal >=1.22 && <1.25
- - directory >=1.2 && <1.4
+ - directory >=1.2.5 && <1.4
- filepath >=1.3 && <1.5
source-dirs: source/library
license: MIT
@@ -27,4 +27,4 @@
maintainer: Taylor Fausak
name: autoexporter
synopsis: Automatically re-export modules.
-version: '1.0.0'
+version: '1.1.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoexporter-1.0.0/source/library/Autoexporter.hs new/autoexporter-1.1.1/source/library/Autoexporter.hs
--- old/autoexporter-1.0.0/source/library/Autoexporter.hs 2016-12-30 16:48:05.000000000 +0100
+++ new/autoexporter-1.1.1/source/library/Autoexporter.hs 2017-07-22 21:36:12.000000000 +0200
@@ -2,12 +2,16 @@
import qualified Data.List as List
import qualified Data.Maybe as Maybe
+import qualified Data.Traversable as Traversable
import qualified Distribution.ModuleName as ModuleName
import qualified Distribution.Text as Text
import qualified System.Directory as Directory
import qualified System.Environment as Environment
import qualified System.FilePath as FilePath
+data ExportScope = ExportScopeShallow
+ | ExportScopeDeep
+
main :: IO ()
main = do
args <- Environment.getArgs
@@ -16,17 +20,39 @@
mainWithArgs :: [String] -> IO ()
mainWithArgs args =
case args of
- [name, inputFile, outputFile] -> autoexport name inputFile outputFile
+ [name, inputFile, outputFile, "--deep"] ->
+ autoexport ExportScopeDeep name inputFile outputFile
+ [name, inputFile, outputFile] ->
+ autoexport ExportScopeShallow name inputFile outputFile
_ -> fail ("unexpected arguments: " ++ show args)
-autoexport :: String -> FilePath -> FilePath -> IO ()
-autoexport name inputFile outputFile = do
+autoexport :: ExportScope -> String -> FilePath -> FilePath -> IO ()
+autoexport exportScope name inputFile outputFile = do
let moduleName = makeModuleName name
let directory = FilePath.dropExtension inputFile
- files <- Directory.getDirectoryContents directory
+ files <- findFiles exportScope directory
let output = makeOutput moduleName directory files
writeFile outputFile output
+findFiles :: ExportScope -> FilePath -> IO [FilePath]
+findFiles exportScope dir =
+ case exportScope of
+ ExportScopeShallow ->
+ fmap (filter isHaskellFile) (Directory.listDirectory dir)
+ ExportScopeDeep ->
+ findFilesDeep dir
+
+findFilesDeep :: FilePath -> IO [FilePath]
+findFilesDeep dir = do
+ rootItems <- Directory.listDirectory dir
+ childItems <- Traversable.for rootItems $ \item -> do
+ let path = dir FilePath.</> item
+ dirExists <- Directory.doesDirectoryExist path
+ if dirExists
+ then fmap (fmap (item FilePath.</>)) (findFilesDeep path)
+ else pure []
+ pure $ mconcat (filter isHaskellFile rootItems : childItems)
+
makeModuleName :: FilePath -> String
makeModuleName name =
let path = FilePath.dropExtension name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoexporter-1.0.0/stack.yaml new/autoexporter-1.1.1/stack.yaml
--- old/autoexporter-1.0.0/stack.yaml 2016-12-30 17:08:53.000000000 +0100
+++ new/autoexporter-1.1.1/stack.yaml 2017-07-22 21:36:12.000000000 +0200
@@ -1 +1 @@
-resolver: lts-7.14
+resolver: lts-8.0
++++++ autoexporter.cabal ++++++
-- This file has been generated from package.yaml by hpack version 0.17.0.
--
-- see: https://github.com/sol/hpack
name: autoexporter
version: 1.1.1
x-revision: 1
synopsis: Automatically re-export modules.
description: Autoexporter automatically re-exports modules.
category: Utility
homepage: https://github.com/tfausak/autoexporter#readme
bug-reports: https://github.com/tfausak/autoexporter/issues
maintainer: Taylor Fausak
license: MIT
license-file: LICENSE.markdown
build-type: Simple
cabal-version: >= 1.10
extra-source-files:
CHANGELOG.markdown
package.yaml
README.markdown
stack.yaml
source-repository head
type: git
location: https://github.com/tfausak/autoexporter
library
hs-source-dirs:
source/library
ghc-options: -Wall
build-depends:
base >=4.8 && <4.10
, Cabal >=1.22 && <1.25
, directory >=1.2.5 && <1.4
, filepath >=1.3 && <1.5
exposed-modules:
Autoexporter
default-language: Haskell2010
executable autoexporter
main-is: Main.hs
hs-source-dirs:
source/executable
ghc-options: -Wall
build-depends:
base
, autoexporter
default-language: Haskell2010
1
0
Hello community,
here is the log from the commit of package ghc-aeson for openSUSE:Factory checked in at 2017-08-31 20:46:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-aeson (Old)
and /work/SRC/openSUSE:Factory/.ghc-aeson.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-aeson"
Thu Aug 31 20:46:12 2017 rev:15 rq:513199 version:1.1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-aeson/ghc-aeson.changes 2017-04-14 13:41:19.984761920 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-aeson.new/ghc-aeson.changes 2017-08-31 20:46:14.337560475 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:07:48 UTC 2017 - psimons(a)suse.com
+
+- Update to version 1.1.2.0 revision 1.
+
+-------------------------------------------------------------------
Old:
----
aeson-1.0.2.1.tar.gz
New:
----
aeson-1.1.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-aeson.spec ++++++
--- /var/tmp/diff_new_pack.GmhusH/_old 2017-08-31 20:46:15.685371292 +0200
+++ /var/tmp/diff_new_pack.GmhusH/_new 2017-08-31 20:46:15.689370731 +0200
@@ -19,7 +19,7 @@
%global pkg_name aeson
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.0.2.1
+Version: 1.1.2.0
Release: 0
Summary: Fast JSON parsing and encoding
License: BSD-3-Clause
@@ -43,6 +43,7 @@
BuildRequires: ghc-time-devel
BuildRequires: ghc-time-locale-compat-devel
BuildRequires: ghc-unordered-containers-devel
+BuildRequires: ghc-uuid-types-devel
BuildRequires: ghc-vector-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with tests}
@@ -50,8 +51,11 @@
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-base-orphans-devel
BuildRequires: ghc-base16-bytestring-devel
+BuildRequires: ghc-directory-devel
+BuildRequires: ghc-filepath-devel
BuildRequires: ghc-generic-deriving-devel
BuildRequires: ghc-hashable-time-devel
+BuildRequires: ghc-integer-logarithms-devel
BuildRequires: ghc-quickcheck-instances-devel
BuildRequires: ghc-test-framework-devel
BuildRequires: ghc-test-framework-hunit-devel
++++++ aeson-1.0.2.1.tar.gz -> aeson-1.1.2.0.tar.gz ++++++
++++ 5147 lines of diff (skipped)
++++++ aeson.cabal ++++++
--- /var/tmp/diff_new_pack.GmhusH/_old 2017-08-31 20:46:16.113311225 +0200
+++ /var/tmp/diff_new_pack.GmhusH/_new 2017-08-31 20:46:16.113311225 +0200
@@ -1,227 +1,252 @@
-name: aeson
-version: 1.0.2.1
-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 <bos(a)serpentine.com>
-maintainer: Adam Bergmark <adam(a)bergmark.nl>
-stability: experimental
-tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
-synopsis: Fast JSON parsing and encoding
-cabal-version: >= 1.10
-homepage: https://github.com/bos/aeson
-bug-reports: https://github.com/bos/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.
- .
- Parsing performance on a late 2013 MacBook Pro (2.6GHz Core i7),
- running 64-bit GHC 7.10.1, for mostly-English tweets from Twitter's
- JSON search API:
- .
- * 6.4 KB payloads, English: 7570 msg\/sec (47.6 MB\/sec)
- .
- * 14.6 KB payloads, Japanese: 3261 msg\/sec (46.6 MB\/sec)
- .
- Encoding performance on the same machine and data:
- .
- * 6.4 KB payloads, English: 22738 msg\/sec (142.9 MB\/sec)
- .
- * 14.6 KB payloads, Japanese: 15911 msg\/sec (227.4 MB\/sec)
- .
- (A note on naming: in Greek mythology, Aeson was the father of Jason.)
-
-extra-source-files:
- README.markdown
- benchmarks/*.cabal
- benchmarks/*.hs
- benchmarks/*.py
- benchmarks/Compare/*.hs
- benchmarks/Makefile
- benchmarks/Typed/*.hs
- benchmarks/json-data/*.json
- include/overlapping-compat.h
- include/incoherent-compat.h
- changelog.md
- examples/*.cabal
- examples/*.hs
- examples/Twitter/*.hs
- include/*.h
- cbits/*.c
-
-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
-
-library
- default-language: Haskell2010
-
- exposed-modules:
- Data.Aeson
- Data.Aeson.Encoding
- Data.Aeson.Parser
- Data.Aeson.Text
- Data.Aeson.Types
- Data.Aeson.TH
-
- Data.Aeson.Encoding.Internal
- Data.Aeson.Internal
- Data.Aeson.Internal.Time
-
- -- Deprecated modules
- exposed-modules:
- Data.Aeson.Encode
-
- other-modules:
- Data.Aeson.Encoding.Builder
- Data.Aeson.Internal.Functions
- Data.Aeson.Parser.Internal
- 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
-
- build-depends:
- attoparsec >= 0.13.0.1 && < 0.14,
- base >= 4.5 && < 5,
- base-compat >= 0.9.1 && < 0.10,
- containers >= 0.4.2 && < 0.6,
- deepseq >= 1.3 && < 1.5,
- dlist >= 0.6 && < 0.9,
- ghc-prim >= 0.2,
- hashable >= 1.1.2.0 && < 1.3,
- scientific >= 0.3.4.7 && < 0.4,
- tagged >=0.8.3 && <0.9,
- template-haskell >= 2.7 && < 2.12,
- text >= 1.1.1.0 && < 1.3,
- time >= 1.1.1.4 && < 1.7,
- time-locale-compat >= 0.1.1 && < 0.2,
- unordered-containers >= 0.2.5.0 && < 0.3,
- vector >= 0.8 && < 0.13
-
- 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 && < 0.11
-
- 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.2 && < 0.19,
- transformers >= 0.2.2.0 && < 0.6,
- transformers-compat >= 0.3 && < 0.6,
- 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.2
-
- 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
- c-sources: cbits/unescape_string.c
-
-test-suite tests
- default-language: Haskell2010
- type: exitcode-stdio-1.0
- hs-source-dirs: tests
- main-is: Tests.hs
- other-modules:
- DataFamilies.Properties
- DataFamilies.Instances
- DataFamilies.Encoders
- DataFamilies.Types
- Encoders
- Functions
- Instances
- Options
- Properties
- Types
- UnitTests
- UnitTests.NullaryConstructors
-
- ghc-options: -Wall -threaded -rtsopts
-
- build-depends:
- HUnit,
- QuickCheck >= 2.7 && <2.9.3,
- aeson,
- attoparsec,
- base,
- base-compat,
- base-orphans >= 0.5.3 && <0.6,
- base16-bytestring,
- containers,
- dlist,
- generic-deriving >= 1.10 && < 1.12,
- ghc-prim >= 0.2,
- hashable >= 1.2.4.0,
- scientific,
- tagged,
- template-haskell,
- test-framework,
- test-framework-hunit,
- test-framework-quickcheck2,
- text,
- time,
- time-locale-compat,
- unordered-containers,
- vector,
- quickcheck-instances >=0.3.12
-
- 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.19,
- transformers >= 0.2.2.0,
- transformers-compat >= 0.3
-
- if !impl(ghc >= 7.10)
- build-depends: nats >=1 && <1.2
-
- if impl(ghc >= 7.8)
- build-depends: hashable-time >= 0.2 && <0.3
-
-source-repository head
- type: git
- location: git://github.com/bos/aeson.git
-
-source-repository head
- type: mercurial
- location: https://bitbucket.org/bos/aeson
+name: aeson
+version: 1.1.2.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 <bos(a)serpentine.com>
+maintainer: Adam Bergmark <adam(a)bergmark.nl>
+stability: experimental
+tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
+synopsis: Fast JSON parsing and encoding
+cabal-version: >= 1.10
+homepage: https://github.com/bos/aeson
+bug-reports: https://github.com/bos/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.
+ .
+ Parsing performance on a late 2013 MacBook Pro (2.6GHz Core i7),
+ running 64-bit GHC 7.10.1, for mostly-English tweets from Twitter's
+ JSON search API:
+ .
+ * 6.4 KB payloads, English: 7570 msg\/sec (47.6 MB\/sec)
+ .
+ * 14.6 KB payloads, Japanese: 3261 msg\/sec (46.6 MB\/sec)
+ .
+ Encoding performance on the same machine and data:
+ .
+ * 6.4 KB payloads, English: 22738 msg\/sec (142.9 MB\/sec)
+ .
+ * 14.6 KB payloads, Japanese: 15911 msg\/sec (227.4 MB\/sec)
+ .
+ (A note on naming: in Greek mythology, Aeson was the father of Jason.)
+
+extra-source-files:
+ *.yaml
+ README.markdown
+ benchmarks/*.cabal
+ benchmarks/*.hs
+ benchmarks/*.py
+ benchmarks/Compare/*.hs
+ benchmarks/Makefile
+ benchmarks/Typed/*.hs
+ benchmarks/json-data/*.json
+ cbits/*.c
+ changelog.md
+ examples/*.cabal
+ examples/*.hs
+ examples/Twitter/*.hs
+ ffi/Data/Aeson/Parser/*.hs
+ include/*.h
+ tests/JSONTestSuite/test_parsing/*.json
+ tests/JSONTestSuite/test_transform/*.json
+ pure/Data/Aeson/Parser/*.hs
+
+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: True
+ manual: True
+
+library
+ default-language: Haskell2010
+ hs-source-dirs: .
+
+ exposed-modules:
+ Data.Aeson
+ Data.Aeson.Encoding
+ Data.Aeson.Parser
+ Data.Aeson.Text
+ Data.Aeson.Types
+ Data.Aeson.TH
+
+ Data.Aeson.Encoding.Internal
+ Data.Aeson.Internal
+ Data.Aeson.Internal.Time
+
+ -- Deprecated modules
+ exposed-modules:
+ Data.Aeson.Encode
+
+ other-modules:
+ Data.Aeson.Encoding.Builder
+ Data.Aeson.Internal.Functions
+ Data.Aeson.Parser.Internal
+ 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
+
+ build-depends:
+ attoparsec >= 0.13.0.1,
+ base >= 4.5 && < 5,
+ base-compat >= 0.9.1 && < 0.10,
+ containers >= 0.2.4.1,
+ deepseq >= 1.3,
+ dlist >= 0.2,
+ ghc-prim >= 0.2,
+ hashable >= 1.1.2.0,
+ scientific >= 0.3.4.7 && < 0.4,
+ tagged >=0.8.3 && <0.9,
+ template-haskell >= 2.7,
+ text >= 1.1.1.0,
+ time >= 1.1.1.4,
+ time-locale-compat >= 0.1.1 && < 0.2,
+ unordered-containers >= 0.2.5.0,
+ uuid-types >= 1.0.3 && <1.1,
+ vector >= 0.8
+
+ 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)
+ -- `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.2 && < 0.19,
+ transformers >= 0.2.2.0,
+ transformers-compat >= 0.3,
+ 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.2
+
+ 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: pure
+ other-modules: Data.Aeson.Parser.UnescapePure
+ else
+ c-sources: cbits/unescape_string.c
+ cpp-options: -DCFFI
+ hs-source-dirs: ffi
+ other-modules: Data.Aeson.Parser.UnescapeFFI
+
+test-suite tests
+ default-language: Haskell2010
+ type: exitcode-stdio-1.0
+ hs-source-dirs: tests ffi 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
+ Properties
+ SerializationFormatSpec
+ Types
+ UnitTests
+ UnitTests.NullaryConstructors
+
+ build-depends:
+ HUnit,
+ QuickCheck >= 2.8 && <2.9.3,
+ aeson,
+ integer-logarithms >= 1 && <1.1,
+ attoparsec,
+ base,
+ base-compat,
+ base-orphans >= 0.5.3 && <0.7,
+ base16-bytestring,
+ containers,
+ directory,
+ dlist,
+ filepath,
+ generic-deriving >= 1.10 && < 1.12,
+ ghc-prim >= 0.2,
+ hashable >= 1.2.4.0,
+ scientific,
+ tagged,
+ template-haskell,
+ test-framework,
+ test-framework-hunit,
+ test-framework-quickcheck2,
+ text,
+ time,
+ time-locale-compat,
+ unordered-containers,
+ uuid-types,
+ vector,
+ quickcheck-instances >=0.3.12
+
+ 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.19,
+ transformers >= 0.2.2.0,
+ transformers-compat >= 0.3
+
+ if !impl(ghc >= 7.10)
+ build-depends: nats >=1 && <1.2
+
+ if impl(ghc >= 7.8)
+ build-depends: hashable-time >= 0.2 && <0.3
+
+ if flag(fast)
+ ghc-options: -fno-enable-rewrite-rules
+
+source-repository head
+ type: git
+ location: git://github.com/bos/aeson.git
1
0
Hello community,
here is the log from the commit of package ghc-accelerate for openSUSE:Factory checked in at 2017-08-31 20:46:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-accelerate (Old)
and /work/SRC/openSUSE:Factory/.ghc-accelerate.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-accelerate"
Thu Aug 31 20:46:10 2017 rev:2 rq:513198 version:1.0.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-accelerate/ghc-accelerate.changes 2016-09-25 14:30:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-accelerate.new/ghc-accelerate.changes 2017-08-31 20:46:12.337841163 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:07:20 UTC 2017 - psimons(a)suse.com
+
+- Update to version 1.0.0.0 revision 1.
+
+-------------------------------------------------------------------
Old:
----
1.cabal
accelerate-0.15.1.0.tar.gz
New:
----
accelerate-1.0.0.0.tar.gz
accelerate.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-accelerate.spec ++++++
--- /var/tmp/diff_new_pack.5YgF4u/_old 2017-08-31 20:46:13.809634577 +0200
+++ /var/tmp/diff_new_pack.5YgF4u/_new 2017-08-31 20:46:13.813634016 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-accelerate
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,27 +18,34 @@
%global pkg_name accelerate
Name: ghc-%{pkg_name}
-Version: 0.15.1.0
+Version: 1.0.0.0
Release: 0
Summary: An embedded language for accelerated array processing
License: BSD-3-Clause
-Group: System/Libraries
+Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: ghc-Cabal-devel
-# Begin cabal-rpm deps:
-BuildRequires: ghc-array-devel
+BuildRequires: ghc-base-orphans-devel
BuildRequires: ghc-containers-devel
+BuildRequires: ghc-deepseq-devel
+BuildRequires: ghc-directory-devel
+BuildRequires: ghc-exceptions-devel
BuildRequires: ghc-fclabels-devel
+BuildRequires: ghc-filepath-devel
BuildRequires: ghc-hashable-devel
BuildRequires: ghc-hashtables-devel
+BuildRequires: ghc-mtl-devel
BuildRequires: ghc-pretty-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-template-haskell-devel
+BuildRequires: ghc-time-devel
+BuildRequires: ghc-transformers-devel
+BuildRequires: ghc-unique-devel
+BuildRequires: ghc-unix-devel
BuildRequires: ghc-unordered-containers-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# End cabal-rpm deps
%description
'Data.Array.Accelerate' defines an embedded array language for computations for
@@ -58,58 +65,55 @@
Except for the type, this code is almost the same as the corresponding Haskell
code on lists of floats. The types indicate that the computation may be
online-compiled for performance - for example, using
-'Data.Array.Accelerate.CUDA' it may be on-the-fly off-loaded to the GPU.
+'Data.Array.Accelerate.LLVM.PTX' it may be on-the-fly off-loaded to the GPU.
-[/Available backends/]
+[/Additional components/]
-Currently, there are two backends:
+The following supported add-ons are available as separate packages.
+Install them from Hackage with 'cabal install <package>'
-1. An interpreter that serves as a reference implementation of the intended
-semantics of the language, which is included in this package.
+* 'accelerate-llvm-native': Backend supporting parallel execution on multicore
+CPUs.
-2. A CUDA backend generating code for CUDA-capable NVIDIA GPUs:
-<http://hackage.haskell.org/package/accelerate-cuda>
+* 'accelerate-llvm-ptx': Backend supporting parallel execution on CUDA-capable
+NVIDIA GPUs. Requires a GPU with compute capability 2.0 or greater.
+See the following table for supported GPUs:
+<http://en.wikipedia.org/wiki/CUDA#Supported_GPUs>
-Several experimental and/or incomplete backends also exist. If you are
-particularly interested in any of these, especially with helping to finish
-them, please contact us.
+* 'accelerate-cuda': Backend targeting CUDA-enabled NVIDIA GPUs.
+Requires a GPU with compute compatibility 1.2 or greater. /NOTE: This backend
+is being deprecated in favour of 'accelerate-llvm-ptx'./
-1. Cilk/ICC and OpenCL:
-<https://github.com/AccelerateHS/accelerate-backend-kit>
+* 'accelerate-examples': Computational kernels and applications showcasing the
+use of Accelerate as well as a regression test suite, supporting function and
+performance testing.
-2. Another OpenCL backend: <https://github.com/HIPERFIT/accelerate-opencl>
+* 'accelerate-io': Fast conversions between Accelerate arrays and other array
+formats (including vector and repa).
-3. A backend to the Repa array library:
-<https://github.com/blambo/accelerate-repa>
+* 'accelerate-fft': Discrete Fourier transforms, with FFI bindings to optimised
+implementations.
-4. An infrastructure for generating LLVM code, with backends targeting
-multicore CPUs and NVIDIA GPUs:
-<https://github.com/AccelerateHS/accelerate-llvm/>
+* 'accelerate-bignum': Fixed-width large integer arithmetic.
-[/Additional components/]
+* 'colour-accelerate': Colour representations in Accelerate (RGB, sRGB, HSV,
+and HSL).
-The following support packages are available:
-
-1. 'accelerate-cuda': A high-performance parallel backend targeting
-CUDA-enabled NVIDIA GPUs. Requires the NVIDIA CUDA SDK and, for full
-functionality, hardware with compute capability 1.1 or greater. See the table
-on Wikipedia for supported GPUs:
-<http://en.wikipedia.org/wiki/CUDA#Supported_GPUs>
+* 'gloss-accelerate': Generate gloss pictures from Accelerate.
-2. 'accelerate-examples': Computational kernels and applications showcasing
-/Accelerate/, as well as performance and regression tests.
+* 'gloss-raster-accelerate': Parallel rendering of raster images and
+animations.
-3. 'accelerate-io': Fast conversion between /Accelerate/ arrays and other
-formats, including 'vector' and 'repa'.
+* 'lens-accelerate': Lens operators for Accelerate types.
-4. 'accelerate-fft': Computation of Discrete Fourier Transforms.
+* 'linear-accelerate': Linear vector spaces in Accelerate.
-Install them from Hackage with 'cabal install PACKAGE'
+* 'mwc-random-accelerate': Generate Accelerate arrays filled with high quality
+pseudorandom numbers.
[/Examples and documentation/]
-Haddock documentation is included in the package, and a tutorial is available
-on the GitHub wiki: <https://github.com/AccelerateHS/accelerate/wiki>
+Haddock documentation is included in the package
The 'accelerate-examples' package demonstrates a range of computational kernels
and several complete applications, including:
@@ -122,11 +126,20 @@
* An /n/-body simulation of gravitational attraction between solid particles
+* An implementation of the PageRank algorithm
+
+* A simple interactive ray tracer
+
+* A particle based simulation of stable fluid flows
+
* A cellular automata simulation
* A "password recovery" tool, for dictionary lookup of MD5 hashes
-* A simple interactive ray tracer
+'lulesh-accelerate' is an implementation of the Livermore Unstructured
+Lagrangian Explicit Shock Hydrodynamics (LULESH) mini-app. LULESH represents a
+typical hydrodynamics code such as ALE3D, but is highly simplified and
+hard-coded to solve the Sedov blast problem on an unstructured hexahedron mesh.
[/Mailing list and contacts/]
@@ -137,18 +150,7 @@
<http://groups.google.com/group/accelerate-haskell>
* Bug reports and issue tracking:
-<https://github.com/AccelerateHS/accelerate/issues>
-
-[/Hackage note/]
-
-The module documentation list generated by Hackage is incorrect. The only
-exposed modules should be:
-
-* "Data.Array.Accelerate"
-
-* "Data.Array.Accelerate.Interpreter"
-
-* "Data.Array.Accelerate.Data.Complex" .
+<https://github.com/AccelerateHS/accelerate/issues> .
%package devel
Summary: Haskell %{pkg_name} library development files
@@ -165,15 +167,12 @@
%setup -q -n %{pkg_name}-%{version}
cp -p %{SOURCE1} %{pkg_name}.cabal
-
%build
%ghc_lib_build
-
%install
%ghc_lib_install
-
%post devel
%ghc_pkg_recache
++++++ accelerate-0.15.1.0.tar.gz -> accelerate-1.0.0.0.tar.gz ++++++
++++ 29240 lines of diff (skipped)
++++++ accelerate.cabal ++++++
Name: accelerate
Version: 1.0.0.0
x-revision: 1
Cabal-version: >= 1.8
Tested-with: GHC >= 7.8
Build-type: Simple
Synopsis: An embedded language for accelerated array processing
Description:
@Data.Array.Accelerate@ defines an embedded array language for computations
for high-performance computing in Haskell. Computations on multi-dimensional,
regular arrays are expressed in the form of parameterised collective
operations, such as maps, reductions, and permutations. These computations may
then be online compiled and executed on a range of architectures.
.
[/A simple example/]
.
As a simple example, consider the computation of a dot product of two vectors
of floating point numbers:
.
> dotp :: Acc (Vector Float) -> Acc (Vector Float) -> Acc (Scalar Float)
> dotp xs ys = fold (+) 0 (zipWith (*) xs ys)
.
Except for the type, this code is almost the same as the corresponding Haskell
code on lists of floats. The types indicate that the computation may be
online-compiled for performance - for example, using
@Data.Array.Accelerate.LLVM.PTX@ it may be on-the-fly off-loaded to the GPU.
.
[/Additional components/]
.
The following supported add-ons are available as separate packages. Install
them from Hackage with @cabal install \<package\>@
.
* @accelerate-llvm-native@: Backend supporting parallel execution on
multicore CPUs.
.
* @accelerate-llvm-ptx@: Backend supporting parallel execution on
CUDA-capable NVIDIA GPUs. Requires a GPU with compute capability 2.0 or
greater. See the following table for supported GPUs:
<http://en.wikipedia.org/wiki/CUDA#Supported_GPUs>
.
* @accelerate-cuda@: Backend targeting CUDA-enabled NVIDIA GPUs. Requires
a GPU with compute compatibility 1.2 or greater. /NOTE: This backend is
being deprecated in favour of @accelerate-llvm-ptx@./
.
* @accelerate-examples@: Computational kernels and applications showcasing
the use of Accelerate as well as a regression test suite, supporting
function and performance testing.
.
* @accelerate-io@: Fast conversions between Accelerate arrays and other
array formats (including vector and repa).
.
* @accelerate-fft@: Discrete Fourier transforms, with FFI bindings to
optimised implementations.
.
* @accelerate-bignum@: Fixed-width large integer arithmetic.
.
* @colour-accelerate@: Colour representations in Accelerate (RGB, sRGB, HSV,
and HSL).
.
* @gloss-accelerate@: Generate gloss pictures from Accelerate.
.
* @gloss-raster-accelerate@: Parallel rendering of raster images and
animations.
.
* @lens-accelerate@: Lens operators for Accelerate types.
.
* @linear-accelerate@: Linear vector spaces in Accelerate.
.
* @mwc-random-accelerate@: Generate Accelerate arrays filled with high
quality pseudorandom numbers.
.
[/Examples and documentation/]
.
Haddock documentation is included in the package
.
The @accelerate-examples@ package demonstrates a range of computational
kernels and several complete applications, including:
.
* An implementation of the Canny edge detection algorithm
.
* An interactive Mandelbrot set generator
.
* A particle-based simulation of stable fluid flows
.
* An /n/-body simulation of gravitational attraction between solid particles
.
* An implementation of the PageRank algorithm
.
* A simple interactive ray tracer
.
* A particle based simulation of stable fluid flows
.
* A cellular automata simulation
.
* A \"password recovery\" tool, for dictionary lookup of MD5 hashes
.
@lulesh-accelerate@ is an implementation of the Livermore Unstructured
Lagrangian Explicit Shock Hydrodynamics (LULESH) mini-app. LULESH represents a
typical hydrodynamics code such as ALE3D, but is highly simplified and
hard-coded to solve the Sedov blast problem on an unstructured hexahedron
mesh.
.
[/Mailing list and contacts/]
.
* Mailing list: <accelerate-haskell(a)googlegroups.com> (discussion of both
use and development welcome).
.
* Sign up for the mailing list here:
<http://groups.google.com/group/accelerate-haskell>
.
* Bug reports and issue tracking:
<https://github.com/AccelerateHS/accelerate/issues>
.
License: BSD3
License-file: LICENSE
Author: Manuel M T Chakravarty,
Robert Clifton-Everest,
Gabriele Keller,
Ben Lever,
Trevor L. McDonell,
Ryan Newtown,
Sean Seefried
Maintainer: Trevor L. McDonell <tmcdonell(a)cse.unsw.edu.au>
Homepage: https://github.com/AccelerateHS/accelerate/
Bug-reports: https://github.com/AccelerateHS/accelerate/issues
Category: Compilers/Interpreters, Concurrency, Data, Parallelism
Stability: Experimental
Extra-source-files: changelog.md
Flag debug
Default: False
Description:
Enable debug tracing messages. The following options are read from the
environment variable @ACCELERATE_FLAGS@, and via the command-line as:
.
> ./program +ACC ... -ACC
.
Note that a backend may not implement (or be applicable to) all options.
.
The following flags control phases of the compiler. The are enabled with
@-f\<flag\>@ and can be reveresed with @-fno-\<flag\>@:
.
* @acc-sharing@: Enable sharing recovery of array expressions (True).
.
* @exp-sharing@: Enable sharing recovery of scalar expressions (True).
.
* @fusion@: Enable array fusion (True).
.
* @simplify@: Enable program simplification phase (True).
.
* @flush-cache@: Clear any persistent caches on program startup (False).
.
* @fast-math@: Allow algebraically equivalent transformations which may
change floating point results (e.g., reassociate) (True).
.
The following options control debug message output, and are enabled with
@-d\<flag\>@.
.
* @verbose@: Be extra chatty.
.
* @dump-phases@: Print timing information about each phase of the compiler.
Enable GC stats (@+RTS -t@ or otherwise) for memory usage information.
.
* @dump-sharing@: Print information related to sharing recovery.
.
* @dump-simpl-stats@: Print statistics related to fusion & simplification.
.
* @dump-simpl-iterations@: Print a summary after each simplifier iteration.
.
* @dump-vectorisation@: Print information related to the vectoriser.
.
* @dump-dot@: Generate a representation of the program graph in Graphviz
DOT format.
.
* @dump-simpl-dot@: Generate a more compact representation of the program
graph in Graphviz DOT format. In particular, scalar expressions are
elided.
.
* @dump-gc@: Print information related to the Accelerate garbage
collector.
.
* @dump-gc-stats@: Print aggregate garbage collection information at the
end of program execution.
.
* @dubug-cc@: Include debug symbols in the generated and compiled kernels.
.
* @dump-cc@: Print information related to kernel code
generation/compilation. Print the generated code if @verbose@.
.
* @dump-ld@: Print information related to runtime linking.
.
* @dump-asm@: Print information related to kernel assembly. Print the
assembled code if @verbose@.
.
* @dump-exec@: Print information related to program execution.
.
* @dump-sched@: Print information related to execution scheduling.
.
Flag ekg
Default: False
Description:
Enable hooks for monitoring the running application using EKG. Implies
@debug@ mode. In order to view the metrics, your application will need to
initialise the EKG server like so:
.
> import Data.Array.Accelerate.Debug
>
> import System.Metrics
> import System.Remote.Monitoring
>
> main :: IO ()
> main = do
> store <- initAccMetrics
> registerGcMetrics store -- optional
>
> server <- forkServerWith store "localhost" 8000
>
> ...
.
Note that, as with any program utilising EKG, in order to collect Haskell GC
statistics collection, you must either run the program with:
.
> +RTS -T -RTS
.
or compile it with:
.
> -with-rtsopts=-T
.
Flag bounds-checks
Description: Enable bounds checking
Default: True
Flag unsafe-checks
Description: Enable bounds checking in unsafe operations
Default: False
Flag internal-checks
Description: Enable internal consistency checks
Default: False
Library
Build-depends:
base >= 4.7 && < 4.11
, base-orphans >= 0.3
, containers >= 0.3
, deepseq >= 1.3
, directory >= 1.0
, exceptions >= 0.6
, fclabels >= 2.0
, filepath >= 1.0
, ghc-prim
, hashable >= 1.1
, hashtables >= 1.0
, mtl >= 2.0
, pretty >= 1.0
, template-haskell
, time >= 1.4
, transformers >= 0.3
, unique
, unordered-containers >= 0.2
Exposed-modules:
-- The core language and reference implementation
Data.Array.Accelerate
Data.Array.Accelerate.Interpreter
-- Prelude-like
Data.Array.Accelerate.Data.Bits
Data.Array.Accelerate.Data.Complex
Data.Array.Accelerate.Data.Fold
Data.Array.Accelerate.Data.Monoid
-- For backend development
Data.Array.Accelerate.AST
Data.Array.Accelerate.Analysis.Match
Data.Array.Accelerate.Analysis.Shape
Data.Array.Accelerate.Analysis.Stencil
Data.Array.Accelerate.Analysis.Type
Data.Array.Accelerate.Array.Data
Data.Array.Accelerate.Array.Remote
Data.Array.Accelerate.Array.Remote.Class
Data.Array.Accelerate.Array.Remote.LRU
Data.Array.Accelerate.Array.Remote.Table
Data.Array.Accelerate.Array.Representation
Data.Array.Accelerate.Array.Sugar
Data.Array.Accelerate.Array.Unique
Data.Array.Accelerate.Async
Data.Array.Accelerate.Debug
Data.Array.Accelerate.Error
Data.Array.Accelerate.FullList
Data.Array.Accelerate.Lifetime
Data.Array.Accelerate.Pretty
Data.Array.Accelerate.Product
Data.Array.Accelerate.Smart
Data.Array.Accelerate.Trafo
Data.Array.Accelerate.Type
Other-modules:
Data.Atomic
Data.Array.Accelerate.Array.Lifted
Data.Array.Accelerate.Array.Remote.Nursery
Data.Array.Accelerate.Classes
Data.Array.Accelerate.Classes.Bounded
Data.Array.Accelerate.Classes.Enum
Data.Array.Accelerate.Classes.Eq
Data.Array.Accelerate.Classes.Floating
Data.Array.Accelerate.Classes.Fractional
Data.Array.Accelerate.Classes.FromIntegral
Data.Array.Accelerate.Classes.Integral
Data.Array.Accelerate.Classes.Num
Data.Array.Accelerate.Classes.Ord
Data.Array.Accelerate.Classes.Real
Data.Array.Accelerate.Classes.RealFloat
Data.Array.Accelerate.Classes.RealFrac
Data.Array.Accelerate.Classes.ToFloating
Data.Array.Accelerate.Debug.Flags
Data.Array.Accelerate.Debug.Monitoring
Data.Array.Accelerate.Debug.Stats
Data.Array.Accelerate.Debug.Timed
Data.Array.Accelerate.Debug.Trace
Data.Array.Accelerate.Language
Data.Array.Accelerate.Lift
Data.Array.Accelerate.Prelude
Data.Array.Accelerate.Pretty.Graphviz
Data.Array.Accelerate.Pretty.Graphviz.Monad
Data.Array.Accelerate.Pretty.Graphviz.Type
Data.Array.Accelerate.Pretty.Print
Data.Array.Accelerate.Trafo.Algebra
Data.Array.Accelerate.Trafo.Base
Data.Array.Accelerate.Trafo.Fusion
Data.Array.Accelerate.Trafo.Rewrite
Data.Array.Accelerate.Trafo.Sharing
Data.Array.Accelerate.Trafo.Shrink
Data.Array.Accelerate.Trafo.Simplify
Data.Array.Accelerate.Trafo.Substitution
-- Data.Array.Accelerate.Trafo.Vectorise
c-sources: cbits/atomic.c
if flag(debug) || flag(ekg)
cpp-options: -DACCELERATE_DEBUG
if flag(ekg)
cpp-options: -DACCELERATE_MONITORING
build-depends:
async >= 2.0
, ekg >= 0.1
, ekg-core >= 0.1
, text >= 1.0
, time >= 1.4
if flag(bounds-checks)
cpp-options: -DACCELERATE_BOUNDS_CHECKS
if flag(unsafe-checks)
cpp-options: -DACCELERATE_UNSAFE_CHECKS
if flag(internal-checks)
cpp-options: -DACCELERATE_INTERNAL_CHECKS
if os(windows)
cpp-options: -DWIN32
build-depends: Win32
else
cpp-options: -DUNIX
build-depends: unix
ghc-options: -O2 -Wall -funbox-strict-fields -fno-warn-name-shadowing
ghc-prof-options: -caf-all -auto-all
if impl(ghc >= 7.0)
ghc-options: -fspec-constr-count=25
if impl(ghc == 7.*)
ghc-options: -fcontext-stack=35
if impl(ghc >= 8.0)
ghc-options: -freduction-depth=35
-- Don't add the extensions list here. Instead, place individual LANGUAGE
-- pragmas in the files that require a specific extension. This means the
-- project loads in GHCi, and avoids extension clashes.
--
-- Extensions:
source-repository head
Type: git
Location: git://github.com/AccelerateHS/accelerate.git
source-repository this
Type: git
Tag: 1.0.0.0
Location: git://github.com/AccelerateHS/accelerate.git
-- vim: nospell
1
0
31 Aug '17
Hello community,
here is the log from the commit of package ghc-Strafunski-StrategyLib for openSUSE:Factory checked in at 2017-08-31 20:46:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-Strafunski-StrategyLib (Old)
and /work/SRC/openSUSE:Factory/.ghc-Strafunski-StrategyLib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-Strafunski-StrategyLib"
Thu Aug 31 20:46:08 2017 rev:3 rq:513197 version:5.0.0.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-Strafunski-StrategyLib/ghc-Strafunski-StrategyLib.changes 2017-02-03 17:37:48.195833705 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-Strafunski-StrategyLib.new/ghc-Strafunski-StrategyLib.changes 2017-08-31 20:46:09.806196512 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 03:01:23 UTC 2017 - psimons(a)suse.com
+
+- Update to version 5.0.0.10 revision 1.
+
+-------------------------------------------------------------------
New:
----
Strafunski-StrategyLib.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-Strafunski-StrategyLib.spec ++++++
--- /var/tmp/diff_new_pack.yWnp3m/_old 2017-08-31 20:46:10.906042134 +0200
+++ /var/tmp/diff_new_pack.yWnp3m/_new 2017-08-31 20:46:10.910041573 +0200
@@ -25,6 +25,7 @@
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-mtl-devel
@@ -53,6 +54,7 @@
%prep
%setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ Strafunski-StrategyLib.cabal ++++++
name: Strafunski-StrategyLib
version: 5.0.0.10
x-revision: 1
synopsis: Library for strategic programming
description: This is a version of the StrategyLib library originally shipped with Strafunski, Cabalized and updated to newer versions of GHC. A description of much of StrategyLib can be found in the paper "Design Patterns for Functional Strategic Programming."
license: BSD3
license-file: LICENSE
author: Ralf Laemmel, Joost Visser
maintainer: darmanithird@gmail.com,alan.zimm@gmail.com
category: Generics
build-type: Simple
cabal-version: >=1.8
source-repository head
type: git
location: https://github.com/jkoppel/Strafunski-StrategyLib
library
Extensions:
OverlappingInstances,
FlexibleInstances,
FlexibleContexts,
UndecidableInstances,
MultiParamTypeClasses,
FunctionalDependencies,
Rank2Types
exposed-modules:
Control.Monad.Run,
Data.Generics.Strafunski.StrategyLib.ChaseImports,
Data.Generics.Strafunski.StrategyLib.ContainerTheme,
Data.Generics.Strafunski.StrategyLib.EffectTheme,
Data.Generics.Strafunski.StrategyLib.FixpointTheme,
Data.Generics.Strafunski.StrategyLib.FlowTheme,
Data.Generics.Strafunski.StrategyLib.KeyholeTheme,
Data.Generics.Strafunski.StrategyLib.MetricsTheme,
Data.Generics.Strafunski.StrategyLib.MonadicFunctions,
Data.Generics.Strafunski.StrategyLib.MoreMonoids,
Data.Generics.Strafunski.StrategyLib.NameTheme,
Data.Generics.Strafunski.StrategyLib.OverloadingTheme,
Data.Generics.Strafunski.StrategyLib.PathTheme,
Data.Generics.Strafunski.StrategyLib.RefactoringTheme,
Data.Generics.Strafunski.StrategyLib.StrategyInfix,
Data.Generics.Strafunski.StrategyLib.StrategyLib,
Data.Generics.Strafunski.StrategyLib.StrategyPrelude,
Data.Generics.Strafunski.StrategyLib.TraversalTheme,
Data.Generics.Strafunski.StrategyLib.Models.Deriving.StrategyPrimitives,
Data.Generics.Strafunski.StrategyLib.Models.Deriving.TermRep
-- other-modules:
build-depends:
base > 4.4 && < 4.11,
mtl > 2.2,
syb > 0.3 && < 4.1,
directory > 1.1 && < 1.4,
transformers >= 0.2
1
0