Hello community, here is the log from the commit of package ghc-plan-b for openSUSE:Factory checked in at 2017-06-22 10:38:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-plan-b (Old) and /work/SRC/openSUSE:Factory/.ghc-plan-b.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-plan-b" Thu Jun 22 10:38:31 2017 rev:2 rq:504093 version:0.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-plan-b/ghc-plan-b.changes 2016-10-22 13:17:07.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-plan-b.new/ghc-plan-b.changes 2017-06-22 10:38:32.361302933 +0200 @@ -1,0 +2,5 @@ +Wed May 31 14:05:41 UTC 2017 - psim...@suse.com + +- Update to version 0.2.1. + +------------------------------------------------------------------- Old: ---- plan-b-0.2.0.tar.gz New: ---- plan-b-0.2.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-plan-b.spec ++++++ --- /var/tmp/diff_new_pack.Tjaeyy/_old 2017-06-22 10:38:32.825237527 +0200 +++ /var/tmp/diff_new_pack.Tjaeyy/_new 2017-06-22 10:38:32.825237527 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-plan-b # -# 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,15 +19,14 @@ %global pkg_name plan-b %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.2.0 +Version: 0.2.1 Release: 0 Summary: Failure-tolerant file and directory editing 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}-%{version}.tar.gz BuildRequires: ghc-Cabal-devel -# Begin cabal-rpm deps: BuildRequires: ghc-exceptions-devel BuildRequires: ghc-path-devel BuildRequires: ghc-path-io-devel @@ -37,7 +36,6 @@ %if %{with tests} BuildRequires: ghc-hspec-devel %endif -# End cabal-rpm deps %description Failure-tolerant file and directory editing. @@ -56,20 +54,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 ++++++ plan-b-0.2.0.tar.gz -> plan-b-0.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plan-b-0.2.0/CHANGELOG.md new/plan-b-0.2.1/CHANGELOG.md --- old/plan-b-0.2.0/CHANGELOG.md 2016-02-27 08:21:51.000000000 +0100 +++ new/plan-b-0.2.1/CHANGELOG.md 2017-05-23 12:30:36.000000000 +0200 @@ -1,3 +1,9 @@ +## Plan B 0.2.1 + +* Implement `Semigroup` instance for the `PgConfig` type. + +* Improved documentation and metadata. + ## Plan B 0.2.0 * Added `moveByRenaming` option to allow move files and directories by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plan-b-0.2.0/LICENSE.md new/plan-b-0.2.1/LICENSE.md --- old/plan-b-0.2.0/LICENSE.md 2016-01-03 14:37:56.000000000 +0100 +++ new/plan-b-0.2.1/LICENSE.md 2017-01-27 21:19:27.000000000 +0100 @@ -1,4 +1,4 @@ -Copyright © 2016 Mark Karpov +Copyright © 2016–2017 Mark Karpov All rights reserved. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plan-b-0.2.0/README.md new/plan-b-0.2.1/README.md --- old/plan-b-0.2.0/README.md 2016-02-27 08:28:31.000000000 +0100 +++ new/plan-b-0.2.1/README.md 2017-05-23 10:54:20.000000000 +0200 @@ -3,6 +3,7 @@ [![License BSD3](https://img.shields.io/badge/license-BSD3-brightgreen.svg)](http://opensource.org/licenses/BSD-3-Clause) [![Hackage](https://img.shields.io/hackage/v/plan-b.svg?style=flat)](https://hackage.haskell.org/package/plan-b) [![Stackage Nightly](http://stackage.org/package/plan-b/badge/nightly)](http://stackage.org/nightly/package/plan-b) +[![Stackage LTS](http://stackage.org/package/plan-b/badge/lts)](http://stackage.org/lts/package/plan-b) [![Build Status](https://travis-ci.org/mrkkrp/plan-b.svg?branch=master)](https://travis-ci.org/mrkkrp/plan-b) [![Coverage Status](https://coveralls.io/repos/mrkkrp/plan-b/badge.svg?branch=master&service=github)](https://coveralls.io/github/mrkkrp/plan-b?branch=master) @@ -11,10 +12,9 @@ ## Quick start -The library allows to create and/or edit files, directories, and -containers. By “container” we mean archive-like object that can contain -representation of a directory inside it. Consequently, we have six functions -available: +The library allows to create and/or edit files, directories, and containers. +By “container” we mean archive-like object that can contain representation +of a directory inside it. Consequently, we have six functions available: * `withNewFile` * `withExstingFile` @@ -23,16 +23,17 @@ * `withNewContainer` * `withExistingContainer` -You specify name of object to edit or create, options (more on them below), -and action that is passed `Path` argument with the same type as object you -intend to edit (we use type-safe file paths from -[`path`](https://hackage.haskell.org/package/path) package here to prevent a -certain class of potential bugs). Then, having that path, you can do all -actions you want to and if at some point during this editing an exception is -thrown, state of file system is rolled back — you get no corrupted files, -half-way edited directories, everything is intact as if nothing happened at -all. If, however, the action is executed successfully (i.e. no exceptions -thrown), all your manipulations are reflected in the file system. +You specify name of an object to edit or create, options (more on them +below), and an action that gets a `Path` argument with the same type as +object you intend to edit (we use type-safe file paths +from [`path`](https://hackage.haskell.org/package/path) package here to +prevent a certain class of potential bugs). Then, having that path, you can +perform all actions you want to and if at some point during this editing an +exception is thrown, state of file system is rolled back—you get no +corrupted files, half-way edited directories, everything is intact as if +nothing happened at all. If, however, the action is executed successfully +(i.e. no exceptions thrown), all your manipulations are reflected in the +file system. This is a lightweight solution that makes it harder to corrupt sensitive information. And since file system exists in the real world, all sorts of @@ -43,12 +44,12 @@ used with every function, but wrong combinations won't type-check, so it's OK. -Collection of options is a monoid. `mempty` corresponds to default behavior, -while non-standard behavioral deviations can be `mappend`ed to it. +Collection of options is a monoid. `mempty` corresponds to the default +behavior, while non-standard behavioral deviations can be `mappend`ed to it. -By default, when we want to create new object and it already exists, we get -an exception, two alternative options exist (only work when you create new -object): +By default, when we want to create a new object and it already exists, we +get an exception, two alternative options exist (only work when you create a +new object): * `overrideIfExist` * `useIfExist` @@ -59,26 +60,28 @@ All functions make use of temporary directories. You can control certain aspects of this business: -* `tempDir dir` — will tell the library to create temporary directories and - files inside `dir`. By default system's standard temporary directory - (e.g. `/tmp/` on Unix-like systems) is used. +* `tempDir dir`—tells the library to create temporary directories and files + inside `dir`. By default system's standard temporary directory (e.g. + `/tmp/` on Unix-like systems) is used. -* `nameTemplate template` — specifies template to use for generation of - unique file and directory names. By default `"plan-b"` is used. +* `nameTemplate template`—specifies template to use for generation of unique + file and directory names. By default `"plan-b"` is used. -* `preserveCorpse` — if you add this to options, in case of failure +* `preserveCorpse`—if you add this to options, in case of failure (exception), temporary directory is not automatically deleted and can be inspected. However, if operation succeeds, temporary directory is *always* deleted. -* `moveByRenaming` — by default files and directories are moved by copying, - this option enables moving by renaming. +* `moveByRenaming`—by default files and directories are moved by copying, + this option enables moving by renaming. If you also specify `tempDir` that + is on the same disk/partition as the final file you're generating, this + may speed up things considerably. That should be enough for a quick intro, for more information regarding concrete functions, consult Haddocks. ## License -Copyright © 2016 Mark Karpov +Copyright © 2016–2017 Mark Karpov Distributed under BSD 3 clause license. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plan-b-0.2.0/System/PlanB/Type.hs new/plan-b-0.2.1/System/PlanB/Type.hs --- old/plan-b-0.2.0/System/PlanB/Type.hs 2016-02-27 08:12:24.000000000 +0100 +++ new/plan-b-0.2.1/System/PlanB/Type.hs 2017-05-23 12:28:37.000000000 +0200 @@ -1,15 +1,14 @@ -- | -- Module : System.PlanB.Type --- Copyright : © 2016 Mark Karpov +-- Copyright : © 2016–2017 Mark Karpov -- License : BSD 3 clause -- --- Maintainer : Mark Karpov <markkar...@openmailbox.org> +-- Maintainer : Mark Karpov <markkarpo...@gmail.com> -- Stability : experimental -- Portability : portable -- --- Types and type classes for “Plan B” library. You usually don't need to --- import this module because "System.PlanB" already exports everything you --- need. +-- Types and type classes. You usually don't need to import this module +-- because "System.PlanB" already exports everything you need. {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} @@ -25,11 +24,11 @@ where import Control.Applicative -import Data.Monoid +import Data.Semigroup import Path --- | We use this as named kind with two promoted constructors. The --- constructors are used as phantom types to index 'PbConfig'. +-- | We use this as a kind with two promoted constructors. The constructors +-- are used as phantom types to index 'PbConfig'. data Subject = New | Existing @@ -40,9 +39,9 @@ | AebUse -- ^ Continue to work with that object instead deriving (Eq, Enum, Bounded) --- | The configuration allows to control behavior of the library in --- details. It's a 'Monoid' and so various configuration settings can be --- combined using 'mappend' while 'mempty' represents default behavior. +-- | The configuration allows to control behavior of the library in details. +-- It's a 'Monoid' and so various configuration settings can be combined +-- using 'mappend' while 'mempty' represents default behavior. -- -- When combining conflicting configuration settings, the value on the left -- side of 'mappend' wins: @@ -58,28 +57,31 @@ , pbcAlreadyExists :: Maybe AlreadyExistsBehavior } -> PbConfig k -instance Monoid (PbConfig k) where - mempty = PbConfig empty empty mempty mempty empty - x `mappend` y = PbConfig +instance Semigroup (PbConfig k) where + x <> y = PbConfig { pbcTempDir = pbcTempDir x <|> pbcTempDir y , pbcNameTemplate = pbcNameTemplate x <|> pbcNameTemplate y , pbcPreserveCorpse = pbcPreserveCorpse x <> pbcPreserveCorpse y , pbcMoveByRenaming = pbcMoveByRenaming x <> pbcMoveByRenaming y , pbcAlreadyExists = pbcAlreadyExists x <|> pbcAlreadyExists y } --- | The type class is for data types that include information specifying --- how to create temporary files and directories and whether to delete them --- automatically or not. +instance Monoid (PbConfig k) where + mempty = PbConfig empty empty mempty mempty empty + mappend = (<>) + +-- | The type class is for the data types that include information +-- specifying how to create temporary files and directories and whether to +-- delete them automatically or not. class HasTemp c where - -- | Specifies name of temporary directory to use. Default is the system + -- | Specify name of temporary directory to use. The default is the system -- temporary directory. If the directory does not exist, it will be - -- created, but not deleted. + -- created, but won't be deleted. tempDir :: Path Abs Dir -> c - -- | Specify template to use to name temporary directory, see + -- | Specify the template string to use to name temporary directory, see -- 'System.Directory.openTempFile', default is @\"plan-b\"@. nameTemplate :: String -> c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plan-b-0.2.0/System/PlanB.hs new/plan-b-0.2.1/System/PlanB.hs --- old/plan-b-0.2.0/System/PlanB.hs 2016-02-27 08:20:07.000000000 +0100 +++ new/plan-b-0.2.1/System/PlanB.hs 2017-05-23 12:18:35.000000000 +0200 @@ -1,16 +1,16 @@ -- | -- Module : System.PlanB --- Copyright : © 2016 Mark Karpov +-- Copyright : © 2016–2017 Mark Karpov -- License : BSD 3 clause -- --- Maintainer : Mark Karpov <markkar...@openmailbox.org> +-- Maintainer : Mark Karpov <markkarpo...@gmail.com> -- Stability : experimental -- Portability : portable -- -- Failure-tolerant file and directory editing. All functions here can --- recover from exceptions thrown while they work. They bring file-system to --- the state it was in before specific function was called. Temporary files --- and backups are handled automatically. +-- recover from exceptions thrown while they work. They bring file-system +-- into the state it was in before specific function was called. Temporary +-- files and backups are handled automatically. {-# LANGUAGE DataKinds #-} @@ -46,10 +46,10 @@ ---------------------------------------------------------------------------- -- Operations on files --- | Create new file. Name of the file is taken as the second argument. The --- third argument allows to perform actions (in simplest case just creation --- of file), result of those actions should be new file with given file --- name. +-- | Create a new file. Name of the file is taken as the second argument. +-- The third argument allows to perform actions (in simplest case just +-- creation of file), result of those actions should be new file with the +-- given file name. -- -- This action throws 'alreadyExistsErrorType' by default instead of -- silently overwriting already existing file, use 'overrideIfExists' and @@ -65,9 +65,9 @@ checkExistenceOfFile pbc apath fpath liftM2 const (action apath) (moveFile pbc apath fpath) --- | Edit existing file. Name of the file is taken as the second +-- | Edit an existing file. Name of the file is taken as the second -- argument. The third argument allows to perform actions on temporary copy --- of specified file. +-- of the specified file. -- -- This action throws 'doesNotExistErrorType' exception if target file does -- not exist. @@ -85,9 +85,9 @@ ---------------------------------------------------------------------------- -- Operations on directories --- | Create new directory. Name of the directory is specified as the second --- argument. The third argument allows to perform actions in “sandboxed” --- version of new directory. +-- | Create a new directory. Name of the directory is specified as the +-- second argument. The third argument allows to perform actions in +-- “sandboxed” version of new directory. -- -- This action throws 'alreadyExistsErrorType' by default instead of -- silently overwriting already existing directory, use 'overrideIfExists' @@ -102,7 +102,7 @@ checkExistenceOfDir pbc tdir dpath liftM2 const (action tdir) (moveDir pbc tdir dpath) --- | Edit existing directory. Name of the directory is specified as the +-- | Edit an existing directory. Name of the directory is specified as the -- second argument. The third argument allows to perform actions in -- “sandboxed” copy of target directory. -- @@ -121,11 +121,11 @@ ---------------------------------------------------------------------------- -- Operations on containers --- | Create new container file. This is suitable for processing of all sorts --- of archive-like objects. The first and second arguments specify how to --- unpack directory from file and pack it back. The fourth argument names --- new file. The fifth argument allows to perform actions knowing name of --- temporary directory. +-- | Create a new container file. This is suitable for processing of all +-- sorts of archive-like objects. The first and second arguments specify how +-- to unpack directory from file and pack it back. The fourth argument names +-- the new file. The fifth argument allows to perform actions knowing name +-- of temporary directory. -- -- This action throws 'alreadyExistsErrorType' by default instead of -- silently overwriting already existing file, use 'overrideIfExists' and @@ -149,11 +149,11 @@ when using (unpack apath tdir) liftM2 const (action tdir) (pack tdir fpath) --- | Edit existing container file. This is suitable for processing of all +-- | Edit an existing container file. This is suitable for processing of all -- sorts of archive-like objects. The first and second arguments specify how --- to unpack directory from file and pack it back (overwriting old --- version). Fourth argument names container file to edit. The last argument --- allows to perform actions knowing name of temporary directory. +-- to unpack directory from file and pack it back (overwriting old version). +-- Fourth argument names container file to edit. The last argument allows to +-- perform actions knowing name of temporary directory. -- -- This action throws 'doesNotExistErrorType' exception if target file does -- not exist. @@ -175,7 +175,7 @@ ---------------------------------------------------------------------------- -- Helpers --- | Use temporary directory. This action is controlled by supplied +-- | Use a temporary directory. This action is controlled by the supplied -- configuration, see 'HasTemp'. The temporary directory is removed -- automatically when given action finishes, although this can be changed -- via the mentioned configuration value too. If given action finishes @@ -206,14 +206,14 @@ -> Path Abs File -- ^ Resulting path constructFilePath dir file = dir </> filename file --- | Check existence of file and perform actions according to given --- configuration. By default we throw 'alreadyExistsErrorType' unless user --- has specified different 'AlreadyExistsBehavior'. If it's 'AebOverride', --- then we don't need to do anything, file will be overwritten --- automatically, if we have 'AebUse', then we should copy it into given --- directory. +-- | Check existence of file and perform actions according to the given +-- configuration. By default we throw 'alreadyExistsErrorType' unless the +-- user has specified different 'AlreadyExistsBehavior'. If it's +-- 'AebOverride', then we don't need to do anything, file will be +-- overwritten automatically, if we have 'AebUse', then we should copy it +-- into given directory. -checkExistenceOfFile :: (CanHandleExisting c, MonadIO m, MonadThrow m) +checkExistenceOfFile :: (CanHandleExisting c, MonadIO m) => c -- ^ Configuration -> Path Abs File -- ^ Where to copy file (when we have 'AebUse') -> Path b File -- ^ File to check @@ -229,10 +229,10 @@ Just AebOverride -> return () Just AebUse -> copyFile fpath apath --- | Check existence of directory and perform actions according to given +-- | Check existence of directory and perform actions according to the given -- configuration. See 'checkExistenceOfFile', overall behavior is the same. -checkExistenceOfDir :: (CanHandleExisting c, MonadIO m, MonadThrow m) +checkExistenceOfDir :: (CanHandleExisting c, MonadIO m) => c -- ^ Configuration -> Path Abs Dir -- ^ Where to copy directory (when we have 'AebUse') -> Path b Dir -- ^ Directory to check @@ -248,8 +248,8 @@ Just AebOverride -> return () Just AebUse -> copyDir dpath apath --- | Move specified file to another location. File can be moved either by --- copying or by renaming, exact method is determined by supplied +-- | Move a specified file to another location. File can be moved either by +-- copying or by renaming, exact method is determined by the supplied -- configuration. moveFile :: (HasTemp c, MonadIO m) @@ -259,10 +259,10 @@ -> m () moveFile pbc = bool P.copyFile P.renameFile (getMoveByRenaming pbc) --- | Move specified directory to another location. If destination location +-- | Move a specified directory to another location. If destination location -- is already occupied, delete that object first. Directory can be moved --- either by copying or by renaming, exact method is determined by supplied --- configuration. +-- either by copying or by renaming, exact method is determined by the +-- supplied configuration. moveDir :: (HasTemp c, MonadIO m, MonadCatch m) => c -- ^ Configuration @@ -274,10 +274,10 @@ when exists (P.removeDirRecur dest) bool P.copyDirRecur P.renameDir (getMoveByRenaming pbc) src dest --- | Copy file to new location. Throw 'doesNotExistErrorType' if it does not --- exist. +-- | Copy a file to a new location. Throw 'doesNotExistErrorType' if it does +-- not exist. -copyFile :: (MonadIO m, MonadThrow m) +copyFile :: MonadIO m => Path b0 File -- ^ Original location -> Path b1 File -- ^ Where to put copy of the file -> m () @@ -291,8 +291,8 @@ mkIOError doesNotExistErrorType location Nothing (Just fsrc) -- | Copy contents of one directory into another (recursively). Source --- directory must exist, otherwise 'doesNotExistErrorType' is --- thrown. Destination directory will be created if it doesn't exist. +-- directory must exist, otherwise 'doesNotExistErrorType' is thrown. +-- Destination directory will be created if it doesn't exist. copyDir :: (MonadIO m, MonadCatch m) => Path b0 Dir -- ^ Original location @@ -307,7 +307,7 @@ else throwM $ mkIOError doesNotExistErrorType location Nothing (Just fsrc) --- | Perform specified action ignoring IO exceptions it may throw. +-- | Perform an action ignoring IO exceptions it may throw. ignoringIOErrors :: MonadCatch m => m () -> m () ignoringIOErrors ioe = ioe `catch` handler diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plan-b-0.2.0/plan-b.cabal new/plan-b-0.2.1/plan-b.cabal --- old/plan-b-0.2.0/plan-b.cabal 2016-02-27 08:30:48.000000000 +0100 +++ new/plan-b-0.2.1/plan-b.cabal 2017-05-23 13:10:10.000000000 +0200 @@ -1,49 +1,18 @@ --- --- Cabal configuration for ‘plan-b’. --- --- Copyright © 2016 Mark Karpov --- --- Redistribution and use in source and binary forms, with or without --- modification, are permitted provided that the following conditions are --- met: --- --- * Redistributions of source code must retain the above copyright notice, --- this list of conditions and the following disclaimer. --- --- * Redistributions in binary form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in the --- documentation and/or other materials provided with the distribution. --- --- * Neither the name Mark Karpov nor the names of contributors may be used --- to endorse or promote products derived from this software without --- specific prior written permission. --- --- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY --- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED --- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE --- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY --- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL --- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS --- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) --- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, --- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN --- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- POSSIBILITY OF SUCH DAMAGE. - name: plan-b -version: 0.2.0 +version: 0.2.1 cabal-version: >= 1.10 +tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1 license: BSD3 license-file: LICENSE.md -author: Mark Karpov <markkar...@opmbx.org> -maintainer: Mark Karpov <markkar...@opmbx.org> +author: Mark Karpov <markkarpo...@gmail.com> +maintainer: Mark Karpov <markkarpo...@gmail.com> homepage: https://github.com/mrkkrp/plan-b bug-reports: https://github.com/mrkkrp/plan-b/issues category: System, Filesystem synopsis: Failure-tolerant file and directory editing build-type: Simple description: Failure-tolerant file and directory editing. -extra-source-files: CHANGELOG.md +extra-doc-files: CHANGELOG.md , README.md flag dev @@ -52,11 +21,13 @@ default: False library - build-depends: base >= 4.7 && < 5 - , exceptions >= 0.8 - , path >= 0.5 - , path-io >= 1.0.1 - , transformers >= 0.3 + build-depends: base >= 4.7 && < 5.0 + , exceptions >= 0.8 && < 0.9 + , path >= 0.5 && < 0.6 + , path-io >= 1.0.1 && < 2.0 + , transformers >= 0.3 && < 0.6 + if !impl(ghc >= 8.0) + build-depends: semigroups == 0.18.* exposed-modules: System.PlanB , System.PlanB.Type if flag(dev) @@ -73,11 +44,11 @@ ghc-options: -Wall -Werror else ghc-options: -O2 -Wall - build-depends: base >= 4.7 && < 5 - , hspec >= 2.0 - , path >= 0.5 - , path-io >= 1.0.1 - , plan-b >= 0.2.0 + build-depends: base >= 4.7 && < 5.0 + , hspec >= 2.0 && < 3.0 + , path >= 0.5 && < 0.6 + , path-io >= 1.0.1 && < 2.0 + , plan-b default-language: Haskell2010 source-repository head diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plan-b-0.2.0/tests/Main.hs new/plan-b-0.2.1/tests/Main.hs --- old/plan-b-0.2.0/tests/Main.hs 2016-02-27 08:28:41.000000000 +0100 +++ new/plan-b-0.2.1/tests/Main.hs 2017-05-23 10:27:29.000000000 +0200 @@ -1,35 +1,3 @@ --- --- Plan B tests. --- --- Copyright © 2016 Mark Karpov --- --- Redistribution and use in source and binary forms, with or without --- modification, are permitted provided that the following conditions are --- met: --- --- * Redistributions of source code must retain the above copyright notice, --- this list of conditions and the following disclaimer. --- --- * Redistributions in binary form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in the --- documentation and/or other materials provided with the distribution. --- --- * Neither the name Mark Karpov nor the names of contributors may be used --- to endorse or promote products derived from this software without --- specific prior written permission. --- --- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY --- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED --- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE --- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY --- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL --- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS --- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) --- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, --- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN --- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- POSSIBILITY OF SUCH DAMAGE. - {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE TemplateHaskell #-}