Hello community,

here is the log from the commit of package ghc-comonad for openSUSE:Factory 
checked in at 2018-05-30 12:04:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-comonad (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-comonad.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-comonad"

Wed May 30 12:04:56 2018 rev:6 rq:607769 version:5.0.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-comonad/ghc-comonad.changes  2017-06-04 
01:52:36.869355843 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-comonad.new/ghc-comonad.changes     
2018-05-30 12:25:12.446521598 +0200
@@ -1,0 +2,7 @@
+Mon May 14 17:02:11 UTC 2018 - [email protected]
+
+- Update comonad to version 5.0.3 revision 2.
+  * Don't enable `Safe` on GHC 7.2.
+  * Support `doctest-0.12`
+
+-------------------------------------------------------------------

Old:
----
  comonad-5.0.1.tar.gz

New:
----
  comonad-5.0.3.tar.gz
  comonad.cabal

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-comonad.spec ++++++
--- /var/tmp/diff_new_pack.0EYP9x/_old  2018-05-30 12:25:13.082500865 +0200
+++ /var/tmp/diff_new_pack.0EYP9x/_new  2018-05-30 12:25:13.086500734 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-comonad
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 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,13 +19,14 @@
 %global pkg_name comonad
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        5.0.1
+Version:        5.0.3
 Release:        0
 Summary:        Comonads
 License:        BSD-2-Clause
-Group:          Development/Languages/Other
-Url:            https://hackage.haskell.org/package/%{pkg_name}
+Group:          Development/Libraries/Haskell
+URL:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-cabal-doctest-devel
 BuildRequires:  ghc-containers-devel
@@ -36,7 +37,6 @@
 BuildRequires:  ghc-tagged-devel
 BuildRequires:  ghc-transformers-compat-devel
 BuildRequires:  ghc-transformers-devel
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if %{with tests}
 BuildRequires:  ghc-doctest-devel
 %endif
@@ -46,7 +46,7 @@
 
 %package devel
 Summary:        Haskell %{pkg_name} library development files
-Group:          Development/Libraries/Other
+Group:          Development/Libraries/Haskell
 Requires:       %{name} = %{version}-%{release}
 Requires:       ghc-compiler = %{ghc_version}
 Requires(post): ghc-compiler = %{ghc_version}
@@ -57,6 +57,7 @@
 
 %prep
 %setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build
@@ -74,11 +75,9 @@
 %ghc_pkg_recache
 
 %files -f %{name}.files
-%defattr(-,root,root,-)
-%doc LICENSE
+%license LICENSE
 
 %files devel -f %{name}-devel.files
-%defattr(-,root,root,-)
 %doc CHANGELOG.markdown README.markdown examples
 
 %changelog

++++++ comonad-5.0.1.tar.gz -> comonad-5.0.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/.gitignore new/comonad-5.0.3/.gitignore
--- old/comonad-5.0.1/.gitignore        2017-04-19 16:04:01.000000000 +0200
+++ new/comonad-5.0.3/.gitignore        2018-02-06 19:12:37.000000000 +0100
@@ -12,3 +12,21 @@
 *.hi
 *~
 *#
+.stack-work/
+cabal-dev
+*.chi
+*.chs.h
+*.dyn_o
+*.dyn_hi
+.hpc
+.hsenv
+.cabal-sandbox/
+cabal.sandbox.config
+*.prof
+*.aux
+*.hp
+*.eventlog
+cabal.project.local
+cabal.project.local~
+.HTF/
+.ghc.environment.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/.travis.yml 
new/comonad-5.0.3/.travis.yml
--- old/comonad-5.0.1/.travis.yml       2017-04-19 16:04:01.000000000 +0200
+++ new/comonad-5.0.3/.travis.yml       2018-02-06 19:12:37.000000000 +0100
@@ -1,122 +1,157 @@
-# This file has been generated -- see https://github.com/hvr/multi-ghc-travis
+# This Travis job script has been generated by a script via
+#
+#   runghc make_travis_yml_2.hs '-o' '.travis.yml' 
'--irc-channel=irc.freenode.org#haskell-lens' '--no-no-tests-no-bench' 
'--no-installed' 'cabal.project'
+#
+# For more information, see https://github.com/hvr/multi-ghc-travis
+#
 language: c
 sudo: false
 
+git:
+  submodules: false  # whether to recursively clone submodules
+
+notifications:
+  irc:
+    channels:
+      - "irc.freenode.org#haskell-lens"
+    skip_join: true
+    template:
+      - "\x0313comonad\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 
%{build_url} %{message}"
+
 cache:
   directories:
-    - $HOME/.cabsnap
     - $HOME/.cabal/packages
+    - $HOME/.cabal/store
 
 before_cache:
   - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar
+  # remove files that are regenerated by 'cabal update'
+  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.*
+  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/*.json
+  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.cache
+  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar
+  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx
+
+  - rm -rfv $HOME/.cabal/packages/head.hackage
 
 matrix:
   include:
-    - env: CABALVER=1.24 GHCVER=7.0.4
-      compiler: ": #GHC 7.0.4"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-7.0.4], sources: 
[hvr-ghc]}}
-    - env: CABALVER=1.24 GHCVER=7.2.2
-      compiler: ": #GHC 7.2.2"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-7.2.2], sources: 
[hvr-ghc]}}
-    - env: CABALVER=1.24 GHCVER=7.4.2
-      compiler: ": #GHC 7.4.2"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-7.4.2], sources: 
[hvr-ghc]}}
-    - env: CABALVER=1.24 GHCVER=7.6.3
-      compiler: ": #GHC 7.6.3"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-7.6.3], sources: 
[hvr-ghc]}}
-    - env: CABALVER=1.24 GHCVER=7.8.4
-      compiler: ": #GHC 7.8.4"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-7.8.4], sources: 
[hvr-ghc]}}
-    - env: CABALVER=1.24 GHCVER=7.10.3
-      compiler: ": #GHC 7.10.3"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.3], sources: 
[hvr-ghc]}}
-    - env: CABALVER=1.24 GHCVER=8.0.2
-      compiler: ": #GHC 8.0.2"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.2], sources: 
[hvr-ghc]}}
-    - env: CABALVER=1.24 GHCVER=8.2.1
-      compiler: ": #GHC 8.2.1"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-8.2.1], sources: 
[hvr-ghc]}}
-    - env: CABALVER=head GHCVER=head
-      compiler: ": #GHC head"
-      addons: {apt: {packages: [cabal-install-head,ghc-head], sources: 
[hvr-ghc]}}
+    - compiler: "ghc-7.0.4"
+    # env: TEST=--disable-tests BENCH=--disable-benchmarks
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-7.0.4], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-7.2.2"
+    # env: TEST=--disable-tests BENCH=--disable-benchmarks
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-7.2.2], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-7.4.2"
+    # env: TEST=--disable-tests BENCH=--disable-benchmarks
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-7.4.2], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-7.6.3"
+    # env: TEST=--disable-tests BENCH=--disable-benchmarks
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-7.6.3], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-7.8.4"
+    # env: TEST=--disable-tests BENCH=--disable-benchmarks
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-7.8.4], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-7.10.3"
+    # env: TEST=--disable-tests BENCH=--disable-benchmarks
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-7.10.3], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-8.0.2"
+    # env: TEST=--disable-tests BENCH=--disable-benchmarks
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-8.0.2], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-8.2.2"
+    # env: TEST=--disable-tests BENCH=--disable-benchmarks
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-8.2.2], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-8.4.1"
+      env: GHCHEAD=true
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.4.1], 
sources: [hvr-ghc]}}
+    - compiler: "ghc-head"
+      env: GHCHEAD=true
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-head], 
sources: [hvr-ghc]}}
 
   allow_failures:
-    - env: CABALVER=1.24 GHCVER=7.0.4
-    - env: CABALVER=1.24 GHCVER=7.2.2
-    - env: CABALVER=head GHCVER=head
+    - compiler: "ghc-7.0.4"
+    - compiler: "ghc-7.2.2"
+    - compiler: "ghc-8.4.1"
+    - compiler: "ghc-head"
 
 before_install:
- - unset CC
- - export 
PATH=$HOME/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
+  - HC=${CC}
+  - HCPKG=${HC/ghc/ghc-pkg}
+  - unset CC
+  - ROOTDIR=$(pwd)
+  - mkdir -p $HOME/.local/bin
+  - "PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$HOME/local/bin:$PATH"
+  - HCNUMVER=$(( $(${HC} --numeric-version|sed -E 
's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
+  - echo $HCNUMVER
 
 install:
- - cabal --version
- - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || 
echo '?')]"
- - if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];
-   then
-     zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
-          $HOME/.cabal/packages/hackage.haskell.org/00-index.tar;
-   fi
- - travis_retry cabal update -v
- - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
- - cabal install --only-dependencies --enable-tests --dry -v > installplan.txt
- - sed -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt
-
-# check whether current requested install-plan matches cached package-db 
snapshot
- - if diff -u installplan.txt $HOME/.cabsnap/installplan.txt;
-   then
-     echo "cabal build-cache HIT";
-     rm -rfv .ghc;
-     cp -a $HOME/.cabsnap/ghc $HOME/.ghc;
-     cp -a $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin 
$HOME/.cabal/;
-   else
-     echo "cabal build-cache MISS";
-     rm -rf $HOME/.cabsnap;
-     mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;
-     cabal install -j --only-dependencies --enable-tests;
-   fi
-
-# snapshot package-db on cache miss
- - if [ ! -d $HOME/.cabsnap ];
-   then
-      echo "snapshotting package-db to build-cache";
-      mkdir $HOME/.cabsnap;
-      cp -a $HOME/.ghc $HOME/.cabsnap/ghc;
-      cp -a $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin 
installplan.txt $HOME/.cabsnap/;
-   fi
-
-# Here starts the actual work to be performed for the package under
-# test; any command which exits with a non-zero exit code causes the
-# build to fail.
-script:
- # -v2 provides useful information for debugging
- - cabal configure -v2 --enable-tests
-
- # this builds all libraries and executables
- # (including tests/benchmarks)
- - cabal build
- - cabal test
-
- # tests that a source-distribution can be generated
- - cabal sdist
-
- # check that the generated source-distribution can be built & installed
- - export SRC_TGZ=$(cabal info . | awk '{print $2 ".tar.gz";exit}') ;
-   cd dist/;
-   if [ -f "$SRC_TGZ" ]; then
-      cabal install --force-reinstalls "$SRC_TGZ";
-   else
-      echo "expected '$SRC_TGZ' not found";
-      exit 1;
-   fi
+  - cabal --version
+  - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> 
/dev/null || echo '?')]"
+  - BENCH=${BENCH---enable-benchmarks}
+  - TEST=${TEST---enable-tests}
+  - | # Work around https://github.com/haskell/haddock/issues/242
+    if [ "${HC}" != "ghc-7.6.3" ]; then
+      HADDOCK=${HADDOCK-true}
+    else
+      HADDOCK=${HADDOCK-false}
+    fi
+  - INSTALLED=${INSTALLED-true}
+  - GHCHEAD=${GHCHEAD-false}
+  - travis_retry cabal update -v
+  - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
+  - rm -fv cabal.project cabal.project.local
+  # Overlay Hackage Package Index for GHC HEAD: 
https://github.com/hvr/head.hackage
+  - |
+    if $GHCHEAD; then
+      sed -i.bak 's/-- allow-newer:.*/allow-newer: *:base, *:template-haskell, 
*:ghc, *:Cabal/' ${HOME}/.cabal/config
+
+      echo 'repository head.hackage'                                           
             >> ${HOME}/.cabal/config
+      echo '   url: http://head.hackage.haskell.org/'                          
             >> ${HOME}/.cabal/config
+      echo '   secure: True'                                                   
             >> ${HOME}/.cabal/config
+      echo '   root-keys: 
07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740' >> 
${HOME}/.cabal/config
+      echo '              
2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb' >> 
${HOME}/.cabal/config
+      echo '              
8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e' >> 
${HOME}/.cabal/config
+      echo '   key-threshold: 3'                                               
             >> ${HOME}/.cabal.config
+
+      cabal new-update head.hackage -v
+    fi
+  - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
+  - "printf 'packages: \".\" \"./examples\"\\n' > cabal.project"
+  - cat cabal.project
+  - if [ -f "./configure.ac" ]; then
+      (cd "." && autoreconf -i);
+    fi
+  - if [ -f "./examples/configure.ac" ]; then
+      (cd "./examples" && autoreconf -i);
+    fi
+  - rm -f cabal.project.freeze
+  - cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" 
--dep -j2 all
+  - rm -rf "."/.ghc.environment.* "./examples"/.ghc.environment.* "."/dist 
"./examples"/dist
+  - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
 
-notifications:
-  irc:
-    channels:
-      - "irc.freenode.org#haskell-lens"
-    skip_join: true
-    template:
-      - "\x0313comonad\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 
%{build_url} %{message}"
+# Here starts the actual work to be performed for the package under test;
+# any command which exits with a non-zero exit code causes the build to fail.
+script:
+  # test that source-distributions can be generated
+  - (cd "." && cabal sdist)
+  - (cd "./examples" && cabal sdist)
+  - mv "."/dist/comonad-*.tar.gz "./examples"/dist/comonad-examples-*.tar.gz 
${DISTDIR}/
+  - cd ${DISTDIR} || false
+  - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
+  - "printf 'packages: comonad-*/*.cabal comonad-examples-*/*.cabal\\n' > 
cabal.project"
+  - cat cabal.project
+
+
+  # build & run tests, build benchmarks
+  - cabal new-build -w ${HC} ${TEST} ${BENCH} all
+  - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} 
${BENCH} all; fi
+
+  # cabal check
+  - (cd comonad-* && cabal check)
+  - (cd comonad-examples-* && cabal check)
+
+  # haddock
+  - rm -rf ./dist-newstyle
+  - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else 
echo "Skipping haddock generation";fi
 
+# REGENDATA 
["-o",".travis.yml","--irc-channel=irc.freenode.org#haskell-lens","--no-no-tests-no-bench","--no-installed","cabal.project"]
 # EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/CHANGELOG.markdown 
new/comonad-5.0.3/CHANGELOG.markdown
--- old/comonad-5.0.1/CHANGELOG.markdown        2017-04-19 16:04:01.000000000 
+0200
+++ new/comonad-5.0.3/CHANGELOG.markdown        2018-02-06 19:12:37.000000000 
+0100
@@ -1,3 +1,11 @@
+5.0.3 [2018.02.06]
+------------------
+* Don't enable `Safe` on GHC 7.2.
+
+5.0.2
+-----
+* Support `doctest-0.12`
+
 5.0.1
 -----
 * Revamp `Setup.hs` to use `cabal-doctest`. This makes it build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/README.markdown 
new/comonad-5.0.3/README.markdown
--- old/comonad-5.0.1/README.markdown   2017-04-19 16:04:01.000000000 +0200
+++ new/comonad-5.0.3/README.markdown   2018-02-06 19:12:37.000000000 +0100
@@ -1,7 +1,7 @@
 comonad
 =======
 
-[![Hackage](https://img.shields.io/hackage/v/comonad.svg)](https://hackage.haskell.org/package/comonad)
 [![Build 
Status](https://secure.travis-ci.org/ekmett/comonad.png?branch=master)](http://travis-ci.org/ekmett/comonad)
+[![Hackage](https://img.shields.io/hackage/v/comonad.svg)](https://hackage.haskell.org/package/comonad)
 [![Build 
Status](https://secure.travis-ci.org/ekmett/comonad.svg?branch=master)](http://travis-ci.org/ekmett/comonad)
 
 This package provides comonads, the categorical dual of monads. The typeclass
 provides three methods:  `extract`, `duplicate`, and `extend`.
@@ -40,7 +40,7 @@
 In this case, you may not rely on the ability to define `fmap` in
 terms of `liftW`.
 
-You may, of course, choose to define both `duplicate` /and/ `extend`.
+You may, of course, choose to define both `duplicate` _and_ `extend`.
 In that case, you must also satisfy these laws:
 
     extend f  = fmap f . duplicate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/Setup.lhs new/comonad-5.0.3/Setup.lhs
--- old/comonad-5.0.1/Setup.lhs 2017-04-19 16:04:01.000000000 +0200
+++ new/comonad-5.0.3/Setup.lhs 2018-02-06 19:12:37.000000000 +0100
@@ -1,182 +1,34 @@
 \begin{code}
 {-# LANGUAGE CPP #-}
-{-# LANGUAGE OverloadedStrings #-}
+{-# OPTIONS_GHC -Wall #-}
 module Main (main) where
 
 #ifndef MIN_VERSION_cabal_doctest
 #define MIN_VERSION_cabal_doctest(x,y,z) 0
 #endif
 
-
 #if MIN_VERSION_cabal_doctest(1,0,0)
-import Distribution.Extra.Doctest ( defaultMainWithDoctests )
-#else
 
--- Otherwise we provide a shim
-
-#ifndef MIN_VERSION_Cabal
-#define MIN_VERSION_Cabal(x,y,z) 0
-#endif
-#ifndef MIN_VERSION_directory
-#define MIN_VERSION_directory(x,y,z) 0
-#endif
-#if MIN_VERSION_Cabal(1,24,0)
-#define InstalledPackageId UnitId
-#endif
-
-import Control.Monad ( when )
-import Data.List ( nub )
-import Data.String ( fromString )
-import Distribution.Package ( InstalledPackageId )
-import Distribution.Package ( PackageId, Package (..), packageVersion )
-import Distribution.PackageDescription ( PackageDescription(), TestSuite(..) , 
Library (..), BuildInfo (..))
-import Distribution.Simple ( defaultMainWithHooks, UserHooks(..), 
simpleUserHooks )
-import Distribution.Simple.Utils ( rewriteFile, 
createDirectoryIfMissingVerbose )
-import Distribution.Simple.BuildPaths ( autogenModulesDir )
-import Distribution.Simple.Setup ( BuildFlags(buildDistPref, buildVerbosity), 
fromFlag)
-import Distribution.Simple.LocalBuildInfo ( withPackageDB, withLibLBI, 
withTestLBI, LocalBuildInfo(), ComponentLocalBuildInfo(componentPackageDeps), 
compiler )
-import Distribution.Simple.Compiler ( showCompilerId , PackageDB (..))
-import Distribution.Text ( display , simpleParse )
-import System.FilePath ( (</>) )
-
-#if MIN_VERSION_Cabal(1,25,0)
-import Distribution.Simple.BuildPaths ( autogenComponentModulesDir )
-#endif
+import Distribution.Extra.Doctest ( defaultMainWithDoctests )
+main :: IO ()
+main = defaultMainWithDoctests "doctests"
 
-#if MIN_VERSION_directory(1,2,2)
-import System.Directory (makeAbsolute)
 #else
-import System.Directory (getCurrentDirectory)
-import System.FilePath (isAbsolute)
 
-makeAbsolute :: FilePath -> IO FilePath
-makeAbsolute p | isAbsolute p = return p
-               | otherwise    = do
-    cwd <- getCurrentDirectory
-    return $ cwd </> p
+#ifdef MIN_VERSION_Cabal
+-- If the macro is defined, we have new cabal-install,
+-- but for some reason we don't have cabal-doctest in package-db
+--
+-- Probably we are running cabal sdist, when otherwise using new-build
+-- workflow
+import Warning ()
 #endif
 
-generateBuildModule :: String -> BuildFlags -> PackageDescription -> 
LocalBuildInfo -> IO ()
-generateBuildModule testsuiteName flags pkg lbi = do
-  let verbosity = fromFlag (buildVerbosity flags)
-  let distPref = fromFlag (buildDistPref flags)
-
-  -- Package DBs
-  let dbStack = withPackageDB lbi ++ [ SpecificPackageDB $ distPref </> 
"package.conf.inplace" ]
-  let dbFlags = "-hide-all-packages" : packageDbArgs dbStack
-
-  withLibLBI pkg lbi $ \lib libcfg -> do
-    let libBI = libBuildInfo lib
-
-    -- modules
-    let modules = exposedModules lib ++ otherModules libBI
-    -- it seems that doctest is happy to take in module names, not actual 
files!
-    let module_sources = modules
-
-    -- We need the directory with library's cabal_macros.h!
-#if MIN_VERSION_Cabal(1,25,0)
-    let libAutogenDir = autogenComponentModulesDir lbi libcfg
-#else
-    let libAutogenDir = autogenModulesDir lbi
-#endif
+import Distribution.Simple
 
-    -- Lib sources and includes
-    iArgs <- mapM (fmap ("-i"++) . makeAbsolute) $ libAutogenDir : 
hsSourceDirs libBI
-    includeArgs <- mapM (fmap ("-I"++) . makeAbsolute) $ includeDirs libBI
-
-    -- CPP includes, i.e. include cabal_macros.h
-    let cppFlags = map ("-optP"++) $
-            [ "-include", libAutogenDir ++ "/cabal_macros.h" ]
-            ++ cppOptions libBI
-
-    withTestLBI pkg lbi $ \suite suitecfg -> when (testName suite == 
fromString testsuiteName) $ do
-
-      -- get and create autogen dir
-#if MIN_VERSION_Cabal(1,25,0)
-      let testAutogenDir = autogenComponentModulesDir lbi suitecfg
-#else
-      let testAutogenDir = autogenModulesDir lbi
-#endif
-      createDirectoryIfMissingVerbose verbosity True testAutogenDir
-
-      -- write autogen'd file
-      rewriteFile (testAutogenDir </> "Build_doctests.hs") $ unlines
-        [ "module Build_doctests where"
-        , ""
-        -- -package-id etc. flags
-        , "pkgs :: [String]"
-        , "pkgs = " ++ (show $ formatDeps $ testDeps libcfg suitecfg)
-        , ""
-        , "flags :: [String]"
-        , "flags = " ++ show (iArgs ++ includeArgs ++ dbFlags ++ cppFlags)
-        , ""
-        , "module_sources :: [String]"
-        , "module_sources = " ++ show (map display module_sources)
-        ]
-  where
-    -- we do this check in Setup, as then doctests don't need to depend on 
Cabal
-    isOldCompiler = maybe False id $ do
-      a <- simpleParse $ showCompilerId $ compiler lbi
-      b <- simpleParse "7.5"
-      return $ packageVersion (a :: PackageId) < b
-
-    formatDeps = map formatOne
-    formatOne (installedPkgId, pkgId)
-      -- The problem is how different cabal executables handle package 
databases
-      -- when doctests depend on the library
-      | packageId pkg == pkgId = "-package=" ++ display pkgId
-      | otherwise              = "-package-id=" ++ display installedPkgId
-
-    -- From Distribution.Simple.Program.GHC
-    packageDbArgs :: [PackageDB] -> [String]
-    packageDbArgs | isOldCompiler = packageDbArgsConf
-                  | otherwise     = packageDbArgsDb
-
-    -- GHC <7.6 uses '-package-conf' instead of '-package-db'.
-    packageDbArgsConf :: [PackageDB] -> [String]
-    packageDbArgsConf dbstack = case dbstack of
-      (GlobalPackageDB:UserPackageDB:dbs) -> concatMap specific dbs
-      (GlobalPackageDB:dbs)               -> ("-no-user-package-conf")
-                                           : concatMap specific dbs
-      _ -> ierror
-      where
-        specific (SpecificPackageDB db) = [ "-package-conf=" ++ db ]
-        specific _                      = ierror
-        ierror = error $ "internal error: unexpected package db stack: "
-                      ++ show dbstack
-
-    -- GHC >= 7.6 uses the '-package-db' flag. See
-    -- https://ghc.haskell.org/trac/ghc/ticket/5977.
-    packageDbArgsDb :: [PackageDB] -> [String]
-    -- special cases to make arguments prettier in common scenarios
-    packageDbArgsDb dbstack = case dbstack of
-      (GlobalPackageDB:UserPackageDB:dbs)
-        | all isSpecific dbs              -> concatMap single dbs
-      (GlobalPackageDB:dbs)
-        | all isSpecific dbs              -> "-no-user-package-db"
-                                           : concatMap single dbs
-      dbs                                 -> "-clear-package-db"
-                                           : concatMap single dbs
-     where
-       single (SpecificPackageDB db) = [ "-package-db=" ++ db ]
-       single GlobalPackageDB        = [ "-global-package-db" ]
-       single UserPackageDB          = [ "-user-package-db" ]
-       isSpecific (SpecificPackageDB _) = True
-       isSpecific _                     = False
-
-testDeps :: ComponentLocalBuildInfo -> ComponentLocalBuildInfo -> 
[(InstalledPackageId, PackageId)]
-testDeps xs ys = nub $ componentPackageDeps xs ++ componentPackageDeps ys
-
-defaultMainWithDoctests :: String -> IO ()
-defaultMainWithDoctests testSuiteName = defaultMainWithHooks simpleUserHooks
-  { buildHook = \pkg lbi hooks flags -> do
-     generateBuildModule testSuiteName flags pkg lbi
-     buildHook simpleUserHooks pkg lbi hooks flags
-  }
+main :: IO ()
+main = defaultMain
 
 #endif
 
-main :: IO ()
-main = defaultMainWithDoctests "doctests"
-
 \end{code}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/Warning.hs new/comonad-5.0.3/Warning.hs
--- old/comonad-5.0.1/Warning.hs        1970-01-01 01:00:00.000000000 +0100
+++ new/comonad-5.0.3/Warning.hs        2018-02-06 19:12:37.000000000 +0100
@@ -0,0 +1,5 @@
+module Warning
+  {-# WARNING ["You are configuring this package without cabal-doctest 
installed.",
+               "The doctests test-suite will not work as a result.",
+               "To fix this, install cabal-doctest before configuring."] #-}
+  () where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/comonad.cabal 
new/comonad-5.0.3/comonad.cabal
--- old/comonad-5.0.1/comonad.cabal     2017-04-19 16:04:01.000000000 +0200
+++ new/comonad-5.0.3/comonad.cabal     2018-02-06 19:12:37.000000000 +0100
@@ -1,6 +1,6 @@
 name:          comonad
 category:      Control, Comonads
-version:       5.0.1
+version:       5.0.3
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -12,9 +12,9 @@
 copyright:     Copyright (C) 2008-2014 Edward A. Kmett,
                Copyright (C) 2004-2008 Dave Menendez
 synopsis:      Comonads
-description:   Comonads
+description:   Comonads.
 build-type:    Custom
-tested-with:   GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2, GHC == 7.6.3, GHC == 
7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1
+tested-with:   GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2, GHC == 7.6.3, GHC == 
7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1
 extra-source-files:
   .ghci
   .gitignore
@@ -25,6 +25,7 @@
   CHANGELOG.markdown
   examples/History.hs
   HLint.hs
+  Warning.hs
 
 custom-setup
   setup-depends:
@@ -80,7 +81,7 @@
   build-depends:
     base                >= 4       && < 5,
     semigroups          >= 0.8.3.1 && < 1,
-    tagged              >= 0.1     && < 1,
+    tagged              >= 0.7     && < 1,
     transformers        >= 0.2     && < 0.6,
     transformers-compat >= 0.3     && < 1
 
@@ -130,4 +131,5 @@
   else
     build-depends:
       base,
-      doctest >= 0.11.1 && < 0.12
+      comonad,
+      doctest >= 0.11.1 && < 0.14
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/examples/History.hs 
new/comonad-5.0.3/examples/History.hs
--- old/comonad-5.0.1/examples/History.hs       2017-04-19 16:04:01.000000000 
+0200
+++ new/comonad-5.0.3/examples/History.hs       2018-02-06 19:12:37.000000000 
+0100
@@ -2,12 +2,13 @@
 {-# OPTIONS_GHC -Wall #-}
 
 -- http://www.mail-archive.com/[email protected]/msg17244.html
+module History where
 
-import Prelude hiding (id,(.),sum)
 import Control.Category
 import Control.Comonad
 import Data.Foldable hiding (sum)
 import Data.Traversable
+import Prelude hiding (id,(.),sum)
 
 infixl 4 :>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/src/Control/Comonad/Store/Class.hs 
new/comonad-5.0.3/src/Control/Comonad/Store/Class.hs
--- old/comonad-5.0.1/src/Control/Comonad/Store/Class.hs        2017-04-19 
16:04:01.000000000 +0200
+++ new/comonad-5.0.3/src/Control/Comonad/Store/Class.hs        2018-02-06 
19:12:37.000000000 +0100
@@ -3,8 +3,10 @@
 {-# LANGUAGE FunctionalDependencies #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE UndecidableInstances #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/src/Control/Comonad/Traced/Class.hs 
new/comonad-5.0.3/src/Control/Comonad/Traced/Class.hs
--- old/comonad-5.0.1/src/Control/Comonad/Traced/Class.hs       2017-04-19 
16:04:01.000000000 +0200
+++ new/comonad-5.0.3/src/Control/Comonad/Traced/Class.hs       2018-02-06 
19:12:37.000000000 +0100
@@ -3,8 +3,10 @@
 {-# LANGUAGE FunctionalDependencies #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE UndecidableInstances #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/src/Control/Comonad/Trans/Env.hs 
new/comonad-5.0.3/src/Control/Comonad/Trans/Env.hs
--- old/comonad-5.0.1/src/Control/Comonad/Trans/Env.hs  2017-04-19 
16:04:01.000000000 +0200
+++ new/comonad-5.0.3/src/Control/Comonad/Trans/Env.hs  2018-02-06 
19:12:37.000000000 +0100
@@ -73,7 +73,9 @@
 import Data.Traversable
 #endif
 import Data.Functor.Identity
+#if !(MIN_VERSION_base(4,11,0))
 import Data.Semigroup
+#endif
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__ >= 707
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/comonad-5.0.1/src/Control/Comonad/Trans/Store.hs 
new/comonad-5.0.3/src/Control/Comonad/Trans/Store.hs
--- old/comonad-5.0.1/src/Control/Comonad/Trans/Store.hs        2017-04-19 
16:04:01.000000000 +0200
+++ new/comonad-5.0.3/src/Control/Comonad/Trans/Store.hs        2018-02-06 
19:12:37.000000000 +0100
@@ -82,7 +82,9 @@
 import Control.Comonad.Hoist.Class
 import Control.Comonad.Trans.Class
 import Data.Functor.Identity
+#if !(MIN_VERSION_base(4,11,0))
 import Data.Semigroup
+#endif
 
 #ifdef __GLASGOW_HASKELL__
 import Data.Typeable

++++++ comonad.cabal ++++++
name:          comonad
category:      Control, Comonads
version:       5.0.3
x-revision: 2
license:       BSD3
cabal-version: >= 1.10
license-file:  LICENSE
author:        Edward A. Kmett
maintainer:    Edward A. Kmett <[email protected]>
stability:     provisional
homepage:      http://github.com/ekmett/comonad/
bug-reports:   http://github.com/ekmett/comonad/issues
copyright:     Copyright (C) 2008-2014 Edward A. Kmett,
               Copyright (C) 2004-2008 Dave Menendez
synopsis:      Comonads
description:   Comonads.
build-type:    Custom
tested-with:   GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2, GHC == 7.6.3, GHC == 
7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1
extra-source-files:
  .ghci
  .gitignore
  .travis.yml
  .vim.custom
  coq/Store.v
  README.markdown
  CHANGELOG.markdown
  examples/History.hs
  HLint.hs
  Warning.hs

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

flag containers
  description:
    You can disable the use of the `containers` package using `-f-containers`.
    .
    Disabing this is an unsupported configuration, but it may be useful for 
accelerating builds in sandboxes for expert users.
  default: True
  manual: True

flag contravariant
  description:
    You can disable the use of the `contravariant` package using 
`-f-contravariant`.
    .
    Disabling this is an unsupported configuration, but it may be useful for 
accelerating builds in sandboxes for expert users.
    .
    If disabled we will not supply instances of `Contravariant`
    .
  default: True
  manual: True

flag distributive
  description:
    You can disable the use of the `distributive` package using 
`-f-distributive`.
    .
    Disabling this is an unsupported configuration, but it may be useful for 
accelerating builds in sandboxes for expert users.
    .
    If disabled we will not supply instances of `Distributive`
    .
  default: True
  manual: True


source-repository head
  type: git
  location: git://github.com/ekmett/comonad.git

library
  hs-source-dirs: src
  default-language: Haskell2010
  ghc-options: -Wall

  build-depends:
    base                >= 4       && < 5,
    semigroups          >= 0.8.3.1 && < 1,
    tagged              >= 0.7     && < 1,
    transformers        >= 0.2     && < 0.6,
    transformers-compat >= 0.3     && < 1

  if flag(containers)
    build-depends: containers >= 0.3 && < 0.6

  if flag(contravariant)
    build-depends: contravariant >= 0.2.0.1 && < 2

  if flag(distributive)
    build-depends: distributive >= 0.2.2   && < 1

  exposed-modules:
    Control.Comonad
    Control.Comonad.Env
    Control.Comonad.Env.Class
    Control.Comonad.Hoist.Class
    Control.Comonad.Identity
    Control.Comonad.Store
    Control.Comonad.Store.Class
    Control.Comonad.Traced
    Control.Comonad.Traced.Class
    Control.Comonad.Trans.Class
    Control.Comonad.Trans.Env
    Control.Comonad.Trans.Identity
    Control.Comonad.Trans.Store
    Control.Comonad.Trans.Traced
    Data.Functor.Composition

  other-extensions:
    CPP
    RankNTypes
    MultiParamTypeClasses
    FunctionalDependencies
    FlexibleInstances
    UndecidableInstances

test-suite doctests
  type:           exitcode-stdio-1.0
  default-language: Haskell2010
  main-is:        doctests.hs
  ghc-options:    -Wall -threaded
  hs-source-dirs: tests

  if !flag(test-doctests)
    buildable: False
  else
    build-depends:
      base,
      comonad,
      doctest >= 0.11.1 && < 0.16

Reply via email to