openSUSE Commits
Threads by month
- ----- 2024 -----
- 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-rawfilepath for openSUSE:Factory checked in at 2017-08-31 20:48:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rawfilepath (Old)
and /work/SRC/openSUSE:Factory/.ghc-rawfilepath.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rawfilepath"
Thu Aug 31 20:48:45 2017 rev:2 rq:513464 version:0.2.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rawfilepath/ghc-rawfilepath.changes 2017-05-10 20:50:49.420255376 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rawfilepath.new/ghc-rawfilepath.changes 2017-08-31 20:48:46.916143716 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:08:11 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.2.4.
+
+-------------------------------------------------------------------
Old:
----
rawfilepath-0.1.1.tar.gz
rawfilepath.cabal
New:
----
rawfilepath-0.2.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rawfilepath.spec ++++++
--- /var/tmp/diff_new_pack.khztBf/_old 2017-08-31 20:48:47.900005613 +0200
+++ /var/tmp/diff_new_pack.khztBf/_new 2017-08-31 20:48:47.920002806 +0200
@@ -19,14 +19,13 @@
%global pkg_name rawfilepath
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.1.1
+Version: 0.2.4
Release: 0
Summary: Use RawFilePath instead of FilePath
License: Apache-2.0
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-bytestring-devel
BuildRequires: ghc-rpm-macros
@@ -51,7 +50,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ rawfilepath-0.1.1.tar.gz -> rawfilepath-0.2.4.tar.gz ++++++
++++ 2173 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-product-profunctors for openSUSE:Factory checked in at 2017-08-31 20:48:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-product-profunctors (Old)
and /work/SRC/openSUSE:Factory/.ghc-product-profunctors.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-product-profunctors"
Thu Aug 31 20:48:44 2017 rev:2 rq:513454 version:0.8.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-product-profunctors/ghc-product-profunctors.changes 2016-11-15 17:56:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-product-profunctors.new/ghc-product-profunctors.changes 2017-08-31 20:48:45.620325606 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:06:27 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.8.0.3.
+
+-------------------------------------------------------------------
Old:
----
1.cabal
product-profunctors-0.7.1.0.tar.gz
New:
----
product-profunctors-0.8.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-product-profunctors.spec ++++++
--- /var/tmp/diff_new_pack.xm01jw/_old 2017-08-31 20:48:46.580190873 +0200
+++ /var/tmp/diff_new_pack.xm01jw/_new 2017-08-31 20:48:46.588189750 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-product-profunctors
#
-# 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,23 +19,20 @@
%global pkg_name product-profunctors
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.7.1.0
+Version: 0.8.0.3
Release: 0
Summary: Product-profunctors
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
BuildRequires: ghc-Cabal-devel
-# Begin cabal-rpm deps:
BuildRequires: ghc-contravariant-devel
BuildRequires: ghc-profunctors-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-tagged-devel
BuildRequires: ghc-template-haskell-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# End cabal-rpm deps
%description
Product profunctors.
@@ -54,22 +51,15 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
-
%build
%ghc_lib_build
-
%install
%ghc_lib_install
-
%check
-%if %{with tests}
-%{cabal} test
-%endif
-
+%cabal_test
%post devel
%ghc_pkg_recache
++++++ product-profunctors-0.7.1.0.tar.gz -> product-profunctors-0.8.0.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Class.hs new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Class.hs
--- old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Class.hs 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Class.hs 2017-02-25 23:59:20.000000000 +0100
@@ -1,12 +1,83 @@
module Data.Profunctor.Product.Class where
-import Data.Profunctor (Profunctor)
+import Data.Profunctor (Profunctor)
+import qualified Data.Profunctor as Profunctor
--- | A 'ProductProfunctor' is a generalization of an 'Applicative'.
--- It has an "input", contravariant type parameter on the left as well
--- as the usual 'Applicative' "output", covariant parameter on teh
--- right.
+-- | 'ProductProfunctor' is a generalization of 'Applicative'.
+--
+-- It has the usual 'Applicative' "output" (covariant) parameter on
+-- the right. Additionally it has an "input" (contravariant) type
+-- parameter on the left.
+--
+-- You will find it easier to see the correspondence between
+-- 'ProductProfunctor' and 'Applicative' if you look at @purePP@,
+-- @(***$)@, and @(****)@, which correspond to @pure@, @(\<$\>)@, and
+-- @(\<*\>)@ respectively.
+--
+-- @
+-- | Correspondence between Applicative and ProductProfunctor
+-- |
+-- | Applicative f ProductProfunctor p
+-- |
+-- | pure purePP
+-- | :: b -> f b :: b -> p a b
+-- |
+-- | (\<$\>) (***$)
+-- | :: (b -> b') :: (b -> b')
+-- | -> f b -> p a b
+-- | -> f b' -> p a b'
+-- |
+-- | (\<*\>) (****)
+-- | :: f (b -> b') :: p a (b -> b')
+-- | -> f b -> p a b
+-- | -> f b' -> p a b'
+-- @
+--
+-- It's easy to make instances of 'ProductProfunctor'. Just make
+-- instances
+--
+-- @
+-- instance Profunctor MyProductProfunctor where
+-- ...
+--
+-- instance Applicative (MyProductProfunctor a) where
+-- ...
+-- @
+--
+-- and then write
+--
+-- @
+-- instance ProductProfunctor MyProductProfunctor where
+-- purePP = pure
+-- (****) = (\<*\>)
+-- @
class Profunctor p => ProductProfunctor p where
- empty :: p () ()
- (***!) :: p a b -> p a' b' -> p (a, a') (b, b')
+ -- | 'purePP' is the generalisation of @Applicative@'s @pure@.
+ --
+ -- Aside from defining 'ProductProfunctor' instances you will
+ -- probably never need to use this; @pure@ should be sufficient (if
+ -- your 'ProductProfunctor' instance also has an @Applicative@
+ -- instance).
+ purePP :: b -> p a b
+ purePP b = Profunctor.dimap (const ()) (const b) empty
+
+ -- | '****' is the generalisation of @Applicative@'s @\<*\>@.
+ --
+ -- Aside from defining 'ProductProfunctor' instances you will you
+ -- will probably never need to use this; @\<*\>@ should be
+ -- sufficient (if your 'ProductProfunctor' instance has also been
+ -- given an @Applicative@ instance).
+ (****) :: p a (b -> c) -> p a b -> p a c
+ (****) f x = Profunctor.dimap dup (uncurry ($)) (f ***! x)
+ where dup y = (y, y)
+ -- | You probably never want to use 'empty' and it may be deprecated
+ -- in a future version.
+ empty :: p () ()
+ empty = purePP ()
+
+ -- | You probably never want to use '***!' and it may be
+ -- deprecated in a future version.
+ (***!) :: p a b -> p a' b' -> p (a, a') (b, b')
+ f ***! g = (,) `Profunctor.rmap` Profunctor.lmap fst f
+ **** Profunctor.lmap snd g
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Default.hs new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Default.hs
--- old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Default.hs 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Default.hs 2017-02-25 23:59:20.000000000 +0100
@@ -17,6 +17,7 @@
import Data.Profunctor.Product.Default.Class
import Data.Profunctor.Product.Tuples.TH (mkDefaultNs, maxTupleSize)
+-- | This will be deprecated in a future version
cdef :: Default (PPOfContravariant u) a a => u a
cdef = unPPOfContravariant def
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Internal/TH.hs new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Internal/TH.hs
--- old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Internal/TH.hs 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Internal/TH.hs 2017-02-25 23:59:20.000000000 +0100
@@ -3,8 +3,8 @@
module Data.Profunctor.Product.Internal.TH where
-import Data.Profunctor (dimap)
-import Data.Profunctor.Product
+import Data.Profunctor (dimap, lmap)
+import Data.Profunctor.Product hiding (constructor, field)
import Data.Profunctor.Product.Default (Default, def)
import qualified Data.Profunctor.Product.Newtype as N
import Language.Haskell.TH (Dec(DataD, SigD, FunD, InstanceD, NewtypeD),
@@ -31,17 +31,27 @@
makeAdaptorAndInstanceE :: Maybe String -> Info -> Either Error (Q [Dec])
makeAdaptorAndInstanceE adaptorNameM info = do
- (tyName, tyVars, conName, conTys) <- dataDecStuffOfInfo info
- let numTyVars = length tyVars
- numConTys = length conTys
+ dataDecStuff <- dataDecStuffOfInfo info
+ let tyName = dTyName dataDecStuff
+ tyVars = dTyVars dataDecStuff
+ conName = dConName dataDecStuff
+ conTys = dConTys dataDecStuff
+
+ numTyVars = length tyVars
+ numConTys = lengthCons conTys
defaultAdaptorName = (mkName . ("p" ++) . nameBase) conName
adaptorNameN = maybe defaultAdaptorName mkName adaptorNameM
adaptorSig' = adaptorSig tyName numTyVars adaptorNameN
- adaptorDefinition' = adaptorDefinition numTyVars conName adaptorNameN
+ adaptorDefinition' =
+ case conTys of ConTys _ ->
+ adaptorDefinition numTyVars conName adaptorNameN
+ FieldTys fieldTys ->
+ adaptorDefinitionFields conName fieldTys adaptorNameN
+
instanceDefinition' = instanceDefinition tyName numTyVars numConTys
adaptorNameN conName
- newtypeInstance' = if length conTys == 1 then
+ newtypeInstance' = if numConTys == 1 then
newtypeInstance conName tyName
else
return []
@@ -63,7 +73,23 @@
return [InstanceD [] (ConT ''N.Newtype `AppT` ConT tyName) body]
#endif
-dataDecStuffOfInfo :: Info -> Either Error (Name, [Name], Name, [Name])
+data ConTysFields = ConTys [Name]
+ -- ^^ The type of each constructor field
+ | FieldTys [(Name, Name)]
+ -- ^^ The fieldname and type of each constructor field
+
+lengthCons :: ConTysFields -> Int
+lengthCons (ConTys l) = length l
+lengthCons (FieldTys l) = length l
+
+data DataDecStuff = DataDecStuff {
+ dTyName :: Name
+ , dTyVars :: [Name]
+ , dConName :: Name
+ , dConTys :: ConTysFields
+ }
+
+dataDecStuffOfInfo :: Info -> Either Error DataDecStuff
#if __GLASGOW_HASKELL__ >= 800
dataDecStuffOfInfo (TyConI (DataD _cxt tyName tyVars _kind constructors _deriving)) =
#else
@@ -72,7 +98,12 @@
do
(conName, conTys) <- extractConstructorStuff constructors
let tyVars' = map varNameOfBinder tyVars
- return (tyName, tyVars', conName, conTys)
+ return DataDecStuff { dTyName = tyName
+ , dTyVars = tyVars'
+ , dConName = conName
+ , dConTys = conTys
+ }
+
#if __GLASGOW_HASKELL__ >= 800
dataDecStuffOfInfo (TyConI (NewtypeD _cxt tyName tyVars _kind constructor _deriving)) =
#else
@@ -81,25 +112,31 @@
do
(conName, conTys) <- extractConstructorStuff [constructor]
let tyVars' = map varNameOfBinder tyVars
- return (tyName, tyVars', conName, conTys)
+ return DataDecStuff { dTyName = tyName
+ , dTyVars = tyVars'
+ , dConName = conName
+ , dConTys = conTys
+ }
dataDecStuffOfInfo _ = Left "That doesn't look like a data or newtype declaration to me"
varNameOfType :: Type -> Either Error Name
varNameOfType (VarT n) = Right n
-varNameOfType x = Left $ "Found a non-variable type" ++ show x
+varNameOfType x = Left $ "Found a non-variable type " ++ show x
varNameOfBinder :: TyVarBndr -> Name
varNameOfBinder (PlainTV n) = n
varNameOfBinder (KindedTV n _) = n
-conStuffOfConstructor :: Con -> Either Error (Name, [Name])
+conStuffOfConstructor :: Con -> Either Error (Name, ConTysFields)
conStuffOfConstructor (NormalC conName st) = do
conTys <- mapM (varNameOfType . snd) st
- return (conName, conTys)
+ return (conName, ConTys conTys)
conStuffOfConstructor (RecC conName vst) = do
- conTys <- mapM (varNameOfType . thrd) vst
- return (conName, conTys)
- where thrd = \(_,_,x) -> x
+ conTys <- mapM nameType vst
+ return (conName, FieldTys conTys)
+ where nameType (n, _, VarT t) = Right (n, t)
+ nameType (_, _, x) = Left ("Found a non-variable type " ++ show x)
+
conStuffOfConstructor _ = Left "I can't deal with your constructor type"
constructorOfConstructors :: [Con] -> Either Error Con
@@ -108,7 +145,7 @@
constructorOfConstructors _many =
Left "I can't deal with more than one constructor"
-extractConstructorStuff :: [Con] -> Either Error (Name, [Name])
+extractConstructorStuff :: [Con] -> Either Error (Name, ConTysFields)
extractConstructorStuff = conStuffOfConstructor <=< constructorOfConstructors
instanceDefinition :: Name -> Int -> Int -> Name -> Name -> Q Dec
@@ -203,6 +240,33 @@
33 -> 'p33
34 -> 'p34
35 -> 'p35
+ 36 -> 'p36
+ 37 -> 'p37
+ 38 -> 'p38
+ 39 -> 'p39
+ 40 -> 'p40
+ 41 -> 'p41
+ 42 -> 'p42
+ 43 -> 'p43
+ 44 -> 'p44
+ 45 -> 'p45
+ 46 -> 'p46
+ 47 -> 'p47
+ 48 -> 'p48
+ 49 -> 'p49
+ 50 -> 'p50
+ 51 -> 'p51
+ 52 -> 'p52
+ 53 -> 'p53
+ 54 -> 'p54
+ 55 -> 'p55
+ 56 -> 'p56
+ 57 -> 'p57
+ 58 -> 'p58
+ 59 -> 'p59
+ 60 -> 'p60
+ 61 -> 'p61
+ 62 -> 'p62
_ -> error errorMsg
where errorMsg = "Data.Profunctor.Product.TH: "
++ show n
@@ -221,6 +285,26 @@
wheres = [toTuple conName (toTupleN, numConVars),
fromTuple conName (fromTupleN, numConVars)]
+adaptorDefinitionFields :: Name -> [(Name, name)] -> Name -> Dec
+adaptorDefinitionFields conName fieldsTys adaptorName =
+ FunD adaptorName [clause]
+ where fields = map fst fieldsTys
+ -- TODO: vv f should be generated in Q
+ fP = VarP (mkName "f")
+ fE = VarE (mkName "f")
+ clause = Clause [fP] (NormalB body) []
+ body = case fields of
+ [] -> error "Can't handle no fields in constructor"
+ field1:fields' -> let first = (VarE '(***$)) `AppE` (ConE conName)
+ `AppE` (theLmap field1)
+ app x y = (VarE '(****)) `AppE` x
+ `AppE` (theLmap y)
+ in foldl app first fields'
+
+ theLmap field = appEAll (VarE 'lmap)
+ [ VarE field
+ , VarE field `AppE` fE ]
+
xTuple :: ([Pat] -> Pat) -> ([Exp] -> Exp) -> (Name, Int) -> Dec
xTuple patCon retCon (funN, numTyVars) = FunD funN [clause]
where clause = Clause [pat] body []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/Data/Profunctor/Product/TH.hs new/product-profunctors-0.8.0.3/Data/Profunctor/Product/TH.hs
--- old/product-profunctors-0.7.1.0/Data/Profunctor/Product/TH.hs 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/Data/Profunctor/Product/TH.hs 2017-02-25 23:59:20.000000000 +0100
@@ -18,7 +18,7 @@
-- \"adaptor\" with the following splice:
--
-- @
--- $(makeAdaptorAndInstance \"pFoo\" ''Foo)
+-- \$(makeAdaptorAndInstance \"pFoo\" ''Foo)
-- @
--
-- The adaptor for a type @Foo@ is by convention called @pFoo@, but in
@@ -26,7 +26,7 @@
-- the name @pFoo@ yourself you can use
--
-- @
--- $(makeAdaptorAndInstance' ''Foo)
+-- \$(makeAdaptorAndInstance' ''Foo)
-- @
--
-- and it will be named @pFoo@ automatically.
@@ -34,8 +34,9 @@
-- @pFoo@ will have the type
--
-- @
--- pFoo :: ProductProfunctor p =>
--- Foo (p a a') (p b b') (p c c') -> p (Foo a b c) (Foo a' b' c')
+-- pFoo :: ProductProfunctor p
+-- => Foo (p a a') (p b b') (p c c')
+-- -> p (Foo a b c) (Foo a' b' c')
-- @
--
-- and the instance generated will be
@@ -50,8 +51,9 @@
-- (its implementation is given below).
--
-- @
--- pFooApplicative :: Applicative f =>
--- Foo (f a) (f b) (f c) -> f (Foo a b c)
+-- pFooApplicative :: Applicative f
+-- => Foo (f a) (f b) (f c)
+-- -> f (Foo a b c)
-- @
--
-- The product-profunctor \"adaptor\" (in this case @pFoo@) is a
@@ -77,7 +79,7 @@
-- @
-- instance 'N.Newtype' Foo where
-- 'N.constructor' = Foo
--- 'N.field' = \(Foo x) -> x
+-- 'N.field' = \\(Foo x) -> x
-- @
--
-- which allows you to use the polymorphic function 'N.pNewtype'
@@ -85,7 +87,7 @@
--
-- If you prefer not to use Template Haskell then the generated code
-- can be written by hand because it is quite simple. It corresponds
--- very closely to what you would do in the more familiar
+-- very closely to what we would do in the more familiar
-- @Applicative@ case. For an @Applicative@ we would write
--
-- @
@@ -126,7 +128,7 @@
-- | For example
--
-- @
--- $(makeAdaptorAndInstance \"pFoo\" ''Foo)
+-- \$(makeAdaptorAndInstance \"pFoo\" ''Foo)
-- @
--
-- generates the 'Default' instance and the adaptor @pFoo@.
@@ -136,7 +138,7 @@
-- | For example
--
-- @
--- $(makeAdaptorAndInstance ''Foo)
+-- \$(makeAdaptorAndInstance ''Foo)
-- @
--
-- generates the 'Default' instance and the adaptor @pFoo@. The name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Tuples/TH.hs new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Tuples/TH.hs
--- old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Tuples/TH.hs 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Tuples/TH.hs 2017-02-25 23:59:20.000000000 +0100
@@ -14,6 +14,7 @@
import Data.Profunctor (Profunctor (dimap))
import Data.Profunctor.Product.Class (ProductProfunctor, (***!), empty)
import Data.Profunctor.Product.Default.Class (Default (def))
+import Control.Applicative (pure)
mkTs :: [Int] -> Q [Dec]
mkTs = mapM mkT
@@ -37,12 +38,18 @@
pTns :: [Int] -> Q [Dec]
pTns = fmap concat . mapM pTn
+productProfunctor :: Name -> Q Pred
+productProfunctor p = classP ''ProductProfunctor [pure (VarT p)]
+
+default_ :: Name -> Name -> Name -> Q Pred
+default_ p a b = classP ''Default (map (pure . VarT) [p, a, b])
+
pTn :: Int -> Q [Dec]
pTn n = sequence [sig, fun]
where
p = mkName "p"
sig = sigD (pT n) (forallT (map PlainTV $ p : take n as ++ take n bs)
- (pure [ConT ''ProductProfunctor `AppT` VarT p])
+ (sequence [productProfunctor p])
(arrowT `appT` mkLeftTy `appT` mkRightTy)
)
mkLeftTy = foldl appT (conT tN)
@@ -115,7 +122,7 @@
pN n = sequence [sig, fun]
where
sig = sigD nm (forallT (map PlainTV $ p : as ++ bs)
- (pure [ConT ''ProductProfunctor `AppT` VarT p])
+ (sequence [productProfunctor p])
(arrowT `appT` mkLeftTy `appT` mkRightTy)
)
mkLeftTy = case n of
@@ -146,11 +153,11 @@
mkDefaultNs = mapM mkDefaultN
mkDefaultN :: Int -> Q Dec
-mkDefaultN n = instanceD (pure (ConT ''ProductProfunctor `AppT` VarT p : mkDefs))
+mkDefaultN n = instanceD (sequence (productProfunctor p : mkDefs))
(conT ''Default `appT` varT p `appT` mkTupT as `appT` mkTupT bs)
[mkFun]
where
- mkDefs = zipWith (\a b -> ConT ''Default `AppT` VarT p `AppT` VarT a `AppT` VarT b) as bs
+ mkDefs = zipWith (\a b -> default_ p a b) as bs
mkTupT = foldl appT (tupleT n) . map varT
mkFun = funD 'def [clause [] bdy []]
bdy = normalB $ case n of
@@ -161,4 +168,4 @@
bs = take n [ mkName $ 'b':show i | i <- [0::Int ..] ]
maxTupleSize :: Int
-maxTupleSize = 35
+maxTupleSize = 62
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Tuples.hs new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Tuples.hs
--- old/product-profunctors-0.7.1.0/Data/Profunctor/Product/Tuples.hs 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/Data/Profunctor/Product/Tuples.hs 2017-02-25 23:59:20.000000000 +0100
@@ -1,6 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
+
+-- | This is old cruft. You should never use this and it will likely
+-- be deprecated in a future version.
+
module Data.Profunctor.Product.Tuples where
import Data.Profunctor.Product.Tuples.TH
-mkTs [0..35]
+mkTs [0..maxTupleSize]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/Data/Profunctor/Product.hs new/product-profunctors-0.8.0.3/Data/Profunctor/Product.hs
--- old/product-profunctors-0.7.1.0/Data/Profunctor/Product.hs 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/Data/Profunctor/Product.hs 2017-02-25 23:59:20.000000000 +0100
@@ -9,7 +9,7 @@
import Data.Functor.Contravariant (Contravariant, contramap)
import Control.Category (id)
import Control.Arrow (Arrow, (***), (<<<), arr, (&&&))
-import Control.Applicative (Applicative, liftA2, pure)
+import Control.Applicative (Applicative, liftA2, pure, (<*>))
import Data.Monoid (Monoid, mempty, (<>))
import Data.Profunctor.Product.Newtype
@@ -63,65 +63,24 @@
-- Still, at least we now have default implementations of the class
-- methods, which makes things simpler.
--- This appears to be just 'Data.Functor.Contravariant.Divisible'
-class Contravariant f => ProductContravariant f where
- point :: f ()
- (***<) :: f a -> f b -> f (a, b)
-
--- | This is exactly the same as @Applicative@'s @\<*\>@, but for a
--- 'ProductProfunctor'.
-(****) :: ProductProfunctor p => p a (b -> c) -> p a b -> p a c
-(****) f x = Profunctor.dimap dup (uncurry ($)) (f ***! x)
- where dup y = (y, y)
-
--- | This is exactly 'Profunctor.rmap', given a name which highlights
--- the similarity to @Applicative@'s @\<$\>@.
+-- | '***$' is the generalisation of @Applicative@'s @\<$\>@.
+--
+-- '***$' = 'Profunctor.rmap', just like '<$>' = 'fmap'.
+--
+-- You will probably never need to use this; @\<$\>@ should be
+-- sufficient (if your 'ProductProfunctor' instance has also been given
+-- a @Functor@ instance).
(***$) :: ProductProfunctor p => (b -> c) -> p a b -> p a c
(***$) = Profunctor.rmap
-defaultEmpty :: Applicative (p ()) => p () ()
-defaultEmpty = pure ()
-
-defaultProfunctorProduct :: (Applicative (p (a, a')), Profunctor p)
- => p a b -> p a' b' -> p (a, a') (b, b')
-defaultProfunctorProduct p p' = liftA2 (,) (lmap fst p) (lmap snd p')
-
-defaultPoint :: Monoid (p ()) => p ()
-defaultPoint = mempty
-
-defaultContravariantProduct :: (Contravariant f, Monoid (f (a, b)))
- => f a -> f b -> f (a, b)
-defaultContravariantProduct p p' = contramap fst p <> contramap snd p'
-
-newtype PPOfContravariant f a b = PPOfContravariant (f a)
-
-unPPOfContravariant :: PPOfContravariant c a a -> c a
-unPPOfContravariant (PPOfContravariant pp) = pp
-
-instance Contravariant f => Profunctor (PPOfContravariant f) where
- dimap f _ (PPOfContravariant p) = PPOfContravariant (contramap f p)
-
-instance ProductContravariant f => ProductProfunctor (PPOfContravariant f) where
- empty = PPOfContravariant point
- PPOfContravariant f ***! PPOfContravariant f' = PPOfContravariant (f ***< f')
-
instance ProductProfunctor (->) where
- empty = id
- (***!) = (***)
+ purePP = pure
+ (****) = (<*>)
instance Arrow arr => ProductProfunctor (WrappedArrow arr) where
- empty = id
+ empty = id
(***!) = (***)
-data AndArrow arr z a b = AndArrow { runAndArrow :: arr z b }
-
-instance Arrow arr => Profunctor (AndArrow arr z) where
- dimap _ f (AndArrow g) = AndArrow (arr f <<< g)
-
-instance Arrow arr => ProductProfunctor (AndArrow arr z) where
- empty = AndArrow (arr (const ()))
- (AndArrow f) ***! (AndArrow f') = AndArrow (f &&& f')
-
-- { Sum
class Profunctor p => SumProfunctor p where
@@ -132,6 +91,10 @@
instance SumProfunctor (->) where
f +++! g = either (Left . f) (Right . g)
+-- | A generalisation of @map :: (a -> b) -> [a] -> [b]@. It is also,
+-- in spirit, a generalisation of @traverse :: (a -> f b) -> [a] -> f
+-- [b]@, but the types need to be shuffled around a bit to make that
+-- work.
list :: (ProductProfunctor p, SumProfunctor p) => p a b -> p [a] [b]
list p = Profunctor.dimap fromList toList (empty +++! (p ***! list p))
where toList :: Either () (a, [a]) -> [a]
@@ -148,3 +111,57 @@
pTns [0..maxTupleSize]
pNs [0..maxTupleSize]
+
+-- { Deprecated stuff
+
+-- | You probably never want to use 'defaultEmpty' and it may be
+-- deprecated in a later version.
+defaultEmpty :: Applicative (p ()) => p () ()
+defaultEmpty = pure ()
+
+-- | You probably never want to use 'defaultProfunctorProduct' and it
+-- may be deprecated in a later version.
+defaultProfunctorProduct :: (Applicative (p (a, a')), Profunctor p)
+ => p a b -> p a' b' -> p (a, a') (b, b')
+defaultProfunctorProduct p p' = liftA2 (,) (lmap fst p) (lmap snd p')
+
+-- | You probably never want to use 'defaultPoint' and it may be
+-- deprecated in a later version.
+defaultPoint :: Monoid (p ()) => p ()
+defaultPoint = mempty
+
+{-# DEPRECATED ProductContravariant "Use Data.Functor.Contravariant.Divisible instead" #-}
+class Contravariant f => ProductContravariant f where
+ point :: f ()
+ (***<) :: f a -> f b -> f (a, b)
+
+{-# DEPRECATED AndArrow "If you really need this, file an issue. It will go soon." #-}
+data AndArrow arr z a b = AndArrow { runAndArrow :: arr z b }
+
+instance Arrow arr => Profunctor (AndArrow arr z) where
+ dimap _ f (AndArrow g) = AndArrow (arr f <<< g)
+
+instance Arrow arr => ProductProfunctor (AndArrow arr z) where
+ empty = AndArrow (arr (const ()))
+ (AndArrow f) ***! (AndArrow f') = AndArrow (f &&& f')
+
+{-# DEPRECATED defaultContravariantProduct "defaultContravariantProduct will be removed" #-}
+defaultContravariantProduct :: (Contravariant f, Monoid (f (a, b)))
+ => f a -> f b -> f (a, b)
+defaultContravariantProduct p p' = contramap fst p <> contramap snd p'
+
+{-# DEPRECATED PPOfContravariant "PPOfContravariant will be removed" #-}
+newtype PPOfContravariant f a b = PPOfContravariant (f a)
+
+{-# DEPRECATED unPPOfContravariant "unPPOfContravariant will be removed" #-}
+unPPOfContravariant :: PPOfContravariant c a a -> c a
+unPPOfContravariant (PPOfContravariant pp) = pp
+
+instance Contravariant f => Profunctor (PPOfContravariant f) where
+ dimap f _ (PPOfContravariant p) = PPOfContravariant (contramap f p)
+
+instance ProductContravariant f => ProductProfunctor (PPOfContravariant f) where
+ empty = PPOfContravariant point
+ PPOfContravariant f ***! PPOfContravariant f' = PPOfContravariant (f ***< f')
+
+-- }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/LICENSE new/product-profunctors-0.8.0.3/LICENSE
--- old/product-profunctors-0.7.1.0/LICENSE 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/LICENSE 2017-02-25 23:59:20.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright (c) 2013, Karamaan Group LLC
+Copyright (c) 2013, Karamaan Group LLC; 2014-2017 Purely Agile Limited
All rights reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/product-profunctors-0.7.1.0/product-profunctors.cabal new/product-profunctors-0.8.0.3/product-profunctors.cabal
--- old/product-profunctors-0.7.1.0/product-profunctors.cabal 2016-05-28 09:39:24.000000000 +0200
+++ new/product-profunctors-0.8.0.3/product-profunctors.cabal 2017-02-25 23:59:20.000000000 +0100
@@ -1,21 +1,24 @@
name: product-profunctors
-version: 0.7.1.0
+copyright: Copyright (c) 2013, Karamaan Group LLC; 2014-2017 Purely Agile Limited
+version: 0.8.0.3
synopsis: product-profunctors
description: Product profunctors
homepage: https://github.com/tomjaguarpaw/product-profunctors
license: BSD3
-license-File: LICENSE
+license-file: LICENSE
author: Purely Agile
maintainer: Purely Agile
category: Control, Category
build-type: Simple
-cabal-version: >= 1.8
+cabal-version: >= 1.18
+tested-with: GHC==8.0.1, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3
source-repository head
- Type: git
- Location: https://github.com/tomjaguarpaw/product-profunctors
+ type: git
+ location: https://github.com/tomjaguarpaw/product-profunctors
library
+ default-language: Haskell2010
build-depends: base >= 4.5 && < 5
, profunctors >= 4.0 && < 5.3
, contravariant >= 0.4 && < 1.5
@@ -37,6 +40,7 @@
build-depends: transformers >= 0.2 && < 0.6
test-suite test
+ default-language: Haskell2010
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules: CheckTypes,
1
0
Hello community,
here is the log from the commit of package ghc-primitive for openSUSE:Factory checked in at 2017-08-31 20:48:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-primitive (Old)
and /work/SRC/openSUSE:Factory/.ghc-primitive.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-primitive"
Thu Aug 31 20:48:42 2017 rev:11 rq:513453 version:0.6.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-primitive/ghc-primitive.changes 2016-07-27 16:09:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-primitive.new/ghc-primitive.changes 2017-08-31 20:48:43.884569250 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:08:15 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.6.2.0 revision 1.
+
+-------------------------------------------------------------------
Old:
----
1.cabal
primitive-0.6.1.0.tar.gz
New:
----
primitive-0.6.2.0.tar.gz
primitive.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-primitive.spec ++++++
--- /var/tmp/diff_new_pack.2FGLHn/_old 2017-08-31 20:48:44.864431709 +0200
+++ /var/tmp/diff_new_pack.2FGLHn/_new 2017-08-31 20:48:44.888428341 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-primitive
#
-# 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,20 +18,18 @@
%global pkg_name primitive
Name: ghc-%{pkg_name}
-Version: 0.6.1.0
+Version: 0.6.2.0
Release: 0
Summary: Primitive memory-related operations
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
BuildRequires: ghc-rpm-macros
-# Begin cabal-rpm deps:
BuildRequires: ghc-transformers-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# End cabal-rpm deps
%description
This package provides various primitive memory-related operations.
@@ -51,15 +49,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
++++++ primitive-0.6.1.0.tar.gz -> primitive-0.6.2.0.tar.gz ++++++
++++ 1720 lines of diff (skipped)
++++++ primitive.cabal ++++++
Name: primitive
Version: 0.6.2.0
x-revision: 1
License: BSD3
License-File: LICENSE
Author: Roman Leshchinskiy <rl(a)cse.unsw.edu.au>
Maintainer: libraries(a)haskell.org
Copyright: (c) Roman Leshchinskiy 2009-2012
Homepage: https://github.com/haskell/primitive
Bug-Reports: https://github.com/haskell/primitive/issues
Category: Data
Synopsis: Primitive memory-related operations
Cabal-Version: >= 1.10
Build-Type: Simple
Description: This package provides various primitive memory-related operations.
Extra-Source-Files: changelog.md
Tested-With:
GHC == 7.4.2,
GHC == 7.6.3,
GHC == 7.8.4,
GHC == 7.10.3,
GHC == 8.0.1
Library
Default-Language: Haskell2010
Other-Extensions:
BangPatterns, CPP, DeriveDataTypeable,
MagicHash, TypeFamilies, UnboxedTuples, UnliftedFFITypes
Exposed-Modules:
Control.Monad.Primitive
Data.Primitive
Data.Primitive.MachDeps
Data.Primitive.Types
Data.Primitive.Array
Data.Primitive.ByteArray
Data.Primitive.SmallArray
Data.Primitive.UnliftedArray
Data.Primitive.Addr
Data.Primitive.MutVar
Other-Modules:
Data.Primitive.Internal.Compat
Data.Primitive.Internal.Operations
Build-Depends: base >= 4.5 && < 4.11
, ghc-prim >= 0.2 && < 0.6
, transformers >= 0.2 && < 0.6
Ghc-Options: -O2 -Wall
Include-Dirs: cbits
Install-Includes: primitive-memops.h
includes: primitive-memops.h
c-sources: cbits/primitive-memops.c
cc-options: -O3 -fomit-frame-pointer -Wall
if !os(solaris)
cc-options: -ftree-vectorize
if arch(i386) || arch(x86_64)
cc-options: -msse2
test-suite test
Default-Language: Haskell2010
hs-source-dirs: test
main-is: main.hs
type: exitcode-stdio-1.0
build-depends: base
, ghc-prim
, primitive
ghc-options: -O2
source-repository head
type: git
location: https://github.com/haskell/primitive
1
0
Hello community,
here is the log from the commit of package ghc-pipes-cacophony for openSUSE:Factory checked in at 2017-08-31 20:48:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-pipes-cacophony (Old)
and /work/SRC/openSUSE:Factory/.ghc-pipes-cacophony.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-pipes-cacophony"
Thu Aug 31 20:48:40 2017 rev:3 rq:513450 version:0.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-pipes-cacophony/ghc-pipes-cacophony.changes 2017-04-18 13:48:34.569944394 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-pipes-cacophony.new/ghc-pipes-cacophony.changes 2017-08-31 20:48:41.980836473 +0200
@@ -1,0 +2,10 @@
+Sun Jul 30 03:01:24 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.5.0 revision 1.
+
+-------------------------------------------------------------------
+Thu Jul 27 14:07:28 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.5.0.
+
+-------------------------------------------------------------------
Old:
----
pipes-cacophony-0.4.1.tar.gz
New:
----
pipes-cacophony-0.5.0.tar.gz
pipes-cacophony.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-pipes-cacophony.spec ++++++
--- /var/tmp/diff_new_pack.OwpGHg/_old 2017-08-31 20:48:43.120676476 +0200
+++ /var/tmp/diff_new_pack.OwpGHg/_new 2017-08-31 20:48:43.128675353 +0200
@@ -19,17 +19,17 @@
%global pkg_name pipes-cacophony
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.4.1
+Version: 0.5.0
Release: 0
Summary: Pipes for Noise-secured network connections
License: SUSE-Public-Domain
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-bytestring-devel
BuildRequires: ghc-cacophony-devel
-BuildRequires: ghc-memory-devel
BuildRequires: ghc-pipes-devel
BuildRequires: ghc-rpm-macros
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -55,6 +55,7 @@
%prep
%setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ pipes-cacophony-0.4.1.tar.gz -> pipes-cacophony-0.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/.travis.yml new/pipes-cacophony-0.5.0/.travis.yml
--- old/pipes-cacophony-0.4.1/.travis.yml 2016-12-26 17:17:05.000000000 +0100
+++ new/pipes-cacophony-0.5.0/.travis.yml 2017-06-26 18:13:04.000000000 +0200
@@ -1,81 +1,36 @@
-# This file has been generated -- see https://github.com/hvr/multi-ghc-travis
language: c
-sudo: false
+dist: trusty
cache:
directories:
- - $HOME/.cabsnap
- - $HOME/.cabal/packages
+ - $HOME/.stack
-before_cache:
- - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
- - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar
+addons:
+ apt:
+ packages:
+ - libgmp-dev
matrix:
include:
- - env: CABALVER=1.22 GHCVER=7.10.3
- compiler: ": #GHC 7.10.3"
- addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3,alex-3.1.7,happy-1.19.5], 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,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
- - env: CABALVER=head GHCVER=head
- compiler: ": #GHC head"
- addons: {apt: {packages: [cabal-install-head,ghc-head,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
+ - env: ARGS="--resolver lts-8"
+ compiler: ": #stack 8.0.2"
+
+ - env: ARGS="--resolver nightly"
+ compiler: ": #stack nightly"
allow_failures:
- - env: CABALVER=head GHCVER=head
+ - env: ARGS="--resolver nightly"
+ compiler: ": #stack nightly"
before_install:
- unset CC
- - export HAPPYVER=1.19.5
- - export ALEXVER=3.1.7
- - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:/opt/happy/$HAPPYVER/bin:/opt/alex/$ALEXVER/bin:$PATH
+ - mkdir -p ~/.local/bin
+ - export PATH=$HOME/.local/bin:$PATH
+ - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
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
- - "sed -i 's/^jobs:.*$/jobs: 2/' $HOME/.cabal/config"
- - cabal install --only-dependencies --enable-tests -fbuild-examples --dry -v pipes-cacophony.cabal > 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 --only-dependencies --enable-tests -fbuild-examples pipes-cacophony.cabal;
- 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
+ - stack $ARGS setup
script:
- - cabal configure --enable-tests -fbuild-examples -v2 # -v2 provides useful information for debugging
- - cabal build # this builds all libraries and executables (including tests)
- - cabal test
- - cabal sdist # tests that a source-distribution can be generated
-
- # Check that the resulting source distribution can be built & installed.
- # If there are no other `.tar.gz` files in `dist`, this can be even simpler:
- # `cabal install --force-reinstalls dist/*-*.tar.gz`
- - SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz &&
- (cd dist && cabal install --enable-tests --run-tests -fbuild-examples --force-reinstalls "$SRC_TGZ")
+ - stack $ARGS --no-terminal test --flag "pipes-cacophony:build-examples" --haddock --no-haddock-deps
+ - stack sdist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/changelog.md new/pipes-cacophony-0.5.0/changelog.md
--- old/pipes-cacophony-0.4.1/changelog.md 2016-12-26 17:17:05.000000000 +0100
+++ new/pipes-cacophony-0.5.0/changelog.md 2017-06-26 18:13:04.000000000 +0200
@@ -1,3 +1,7 @@
+# 0.5.0
+
+* Brought up to date with cacophony API changes
+
# 0.4.1
* Brought up to date with cacophony API changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/examples/loopback/Main.hs new/pipes-cacophony-0.5.0/examples/loopback/Main.hs
--- old/pipes-cacophony-0.4.1/examples/loopback/Main.hs 2016-12-26 17:17:05.000000000 +0100
+++ new/pipes-cacophony-0.5.0/examples/loopback/Main.hs 2017-06-26 18:13:04.000000000 +0200
@@ -1,10 +1,8 @@
module Main where
-import Control.Exception (SomeException)
-import Control.Lens
import Control.Monad (forever)
-import Data.ByteArray (ScrubbedBytes, convert)
import Data.ByteString.Char8 (unpack, pack)
+import Data.Maybe (fromMaybe)
import Pipes
import qualified Pipes.Prelude as P
@@ -17,28 +15,49 @@
import Pipes.Noise
-strToSB :: Pipe String ScrubbedBytes IO (Either SomeException ())
+strToSB :: (Cipher c, DH d, Hash h)
+ => Pipe String ScrubbedBytes IO (NoiseResult c d h)
strToSB = forever $ await >>= yield . convert . pack
-sbToStr :: Pipe ScrubbedBytes String IO (Either SomeException ())
+sbToStr :: (Cipher c, DH d, Hash h)
+ => Pipe ScrubbedBytes String IO (NoiseResult c d h)
sbToStr = forever $ await >>= yield . unpack . convert
+performHandshake :: (Cipher c, DH d, Hash h)
+ => NoiseState c d h
+ -> NoiseState c d h
+ -> (NoiseState c d h, NoiseState c d h)
+performHandshake ins rns = (ins'', rns'')
+ where
+ (NoiseResultMessage ct ins') = writeMessage mempty ins
+ (NoiseResultMessage _ rns') = readMessage ct rns
+ (NoiseResultMessage ct' rns'') = writeMessage mempty rns'
+ (NoiseResultMessage _ ins'') = readMessage ct' ins'
+
main :: IO ()
main = do
iek <- dhGenKey :: IO (KeyPair Curve25519)
rek <- dhGenKey :: IO (KeyPair Curve25519)
- let idho = defaultHandshakeOpts noiseNN InitiatorRole
- rdho = defaultHandshakeOpts noiseNN ResponderRole
- iho = idho & hoLocalEphemeral .~ Just iek
- rho = rdho & hoLocalEphemeral .~ Just rek
- ins = noiseState iho :: NoiseState ChaChaPoly1305 Curve25519 SHA256
- rns = noiseState rho :: NoiseState ChaChaPoly1305 Curve25519 SHA256
-
- (iip, iop) <- mkNoisePipes ins
- (rip, rop) <- mkNoisePipes rns
-
- result <- runEffect $ (Right () <$ P.stdinLn) >-> strToSB >-> iop >-> rip >-> rop >-> iip >-> sbToStr >-> (Right () <$ P.stdoutLn)
+ let idho = defaultHandshakeOpts InitiatorRole "cacophony"
+ rdho = defaultHandshakeOpts ResponderRole "cacophony"
+ iho = setLocalEphemeral (Just iek) idho
+ rho = setLocalEphemeral (Just rek) rdho
+ ins = noiseState iho noiseNN :: NoiseState ChaChaPoly1305 Curve25519 SHA256
+ rns = noiseState rho noiseNN :: NoiseState ChaChaPoly1305 Curve25519 SHA256
+
+ (ins', rns') = performHandshake ins rns
+ (iip, iop) = fromMaybe (error "unable to make Noise pipe") $ mkNoisePipes ins'
+ (rip, rop) = fromMaybe (error "unable to make Noise pipe") $ mkNoisePipes rns'
+
+ result <- runEffect $ (undefined <$ P.stdinLn)
+ >-> strToSB
+ >-> iop
+ >-> rip
+ >-> rop
+ >-> iip
+ >-> sbToStr
+ >-> (undefined <$ P.stdoutLn)
case result of
- Left e -> print e
- Right _ -> return ()
+ NoiseResultException ex -> print ex
+ _ -> return ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/package.yaml new/pipes-cacophony-0.5.0/package.yaml
--- old/pipes-cacophony-0.4.1/package.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/pipes-cacophony-0.5.0/package.yaml 2017-06-26 18:20:38.000000000 +0200
@@ -0,0 +1,79 @@
+name: pipes-cacophony
+synopsis: Pipes for Noise-secured network connections.
+version: 0.5.0
+license: PublicDomain
+license-file: LICENSE
+maintainer: John Galt <jgalt(a)centromere.net>
+category: Cryptography
+github: centromere/pipes-cacophony
+ghc-options: -Wall
+description: |
+ A set of pipes to secure network connections with the
+ <https://github.com/trevp/noise/blob/master/noise.md Noise> protocol.
+extra-source-files:
+ - .travis.yml
+ - README.md
+ - changelog.md
+ - LICENSE
+ - stack.yaml
+ - package.yaml
+ - tests/.hlint
+
+flags:
+ build-examples:
+ description: Build examples
+ default: False
+ manual: True
+
+library:
+ source-dirs: src
+ dependencies:
+ - base >= 4.9 && < 4.10
+ - bytestring
+ - cacophony >= 0.10
+ - pipes
+
+ exposed-modules:
+ - Pipes.Noise
+
+ default-extensions:
+ - OverloadedStrings
+
+tests:
+ hlint:
+ main: hlint.hs
+ source-dirs: tests/hlint
+ dependencies:
+ - base >= 4.9 && < 4.10
+ - hlint
+
+ ghc-options:
+ - -O2
+ - -rtsopts
+ - -threaded
+ - -with-rtsopts=-N
+
+executables:
+ loopback:
+ source-dirs: examples/loopback
+ main: Main.hs
+ when:
+ - condition: 'flag(build-examples)'
+ then:
+ dependencies:
+ - base >= 4.9 && < 4.10
+ - bytestring
+ - cacophony >= 0.10
+ - pipes
+ - pipes-cacophony
+ else:
+ buildable: False
+
+ ghc-options:
+ - -O2
+ - -rtsopts
+ - -threaded
+ - -with-rtsopts=-N
+
+ default-extensions:
+ - OverloadedStrings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/pipes-cacophony.cabal new/pipes-cacophony-0.5.0/pipes-cacophony.cabal
--- old/pipes-cacophony-0.4.1/pipes-cacophony.cabal 2016-12-26 17:17:05.000000000 +0100
+++ new/pipes-cacophony-0.5.0/pipes-cacophony.cabal 2017-06-26 18:23:31.000000000 +0200
@@ -1,106 +1,79 @@
-name: pipes-cacophony
-version: 0.4.1
-synopsis: Pipes for Noise-secured network connections.
-license: PublicDomain
-license-file: LICENSE
-author: John Galt
-maintainer: jgalt(a)centromere.net
-homepage: https://github.com/centromere/pipes-cacophony
-bug-reports: https://github.com/centromere/pipes-cacophony/issues
-category: Pipes, Cryptography
-build-type: Simple
-cabal-version: >=1.10
-tested-with: GHC == 7.10.3, GHC == 8.0.2
-description:
- A set of pipes to secure network connections with the
- <https://github.com/trevp/noise/blob/master/noise.md Noise> protocol.
+-- This file has been generated from package.yaml by hpack version 0.17.0.
+--
+-- see: https://github.com/sol/hpack
+
+name: pipes-cacophony
+version: 0.5.0
+synopsis: Pipes for Noise-secured network connections.
+description: A set of pipes to secure network connections with the
+ <https://github.com/trevp/noise/blob/master/noise.md Noise> protocol.
+category: Cryptography
+homepage: https://github.com/centromere/pipes-cacophony#readme
+bug-reports: https://github.com/centromere/pipes-cacophony/issues
+maintainer: John Galt <jgalt(a)centromere.net>
+license: PublicDomain
+license-file: LICENSE
+build-type: Simple
+cabal-version: >= 1.10
extra-source-files:
- .travis.yml
- README.md
- changelog.md
- LICENSE
- tests/.hlint
+ .travis.yml
+ changelog.md
+ LICENSE
+ package.yaml
+ README.md
+ stack.yaml
+ tests/.hlint
source-repository head
type: git
- location: https://github.com/centromere/pipes-cacophony.git
-
---------------------------------------------------------------------------------
--- FLAGS
-
-flag hlint
- description: Build hlint test
+ location: https://github.com/centromere/pipes-cacophony
flag build-examples
- description: Build example executables
- default: False
+ description: Build examples
manual: True
-
-flag llvm
default: False
- manual: True
-
---------------------------------------------------------------------------------
--- LIBRARY
library
+ hs-source-dirs:
+ src
+ default-extensions: OverloadedStrings
+ ghc-options: -Wall
build-depends:
- base >=4.8 && <5,
- bytestring,
- cacophony >=0.9,
- memory,
- pipes
- hs-source-dirs: src
- default-language: Haskell2010
+ base >= 4.9 && < 4.10
+ , bytestring
+ , cacophony >= 0.10
+ , pipes
exposed-modules:
- Pipes.Noise
- ghc-options: -Wall -fwarn-tabs
-
- if flag(llvm)
- ghc-options: -fllvm
-
---------------------------------------------------------------------------------
--- EXAMPLES
-
-executable loopback
+ Pipes.Noise
+ other-modules:
+ Paths_pipes_cacophony
default-language: Haskell2010
- hs-source-dirs: examples/loopback
- main-is: Main.hs
+executable loopback
+ main-is: Main.hs
+ hs-source-dirs:
+ examples/loopback
+ default-extensions: OverloadedStrings
+ ghc-options: -Wall -O2 -rtsopts -threaded -with-rtsopts=-N
if flag(build-examples)
build-depends:
- base >=4.8 && <5,
- bytestring,
- cacophony >=0.9,
- lens,
- memory,
- pipes,
- pipes-cacophony
+ base >= 4.9 && < 4.10
+ , bytestring
+ , cacophony >= 0.10
+ , pipes
+ , pipes-cacophony
else
buildable: False
-
- ghc-options: -threaded -O2 -rtsopts -with-rtsopts=-N -Wall -fwarn-tabs
-
- if flag(llvm)
- ghc-options: -fllvm
-
---------------------------------------------------------------------------------
--- TESTS
+ default-language: Haskell2010
test-suite hlint
- type: exitcode-stdio-1.0
- main-is: hlint.hs
- ghc-options: -Wall -fwarn-tabs
- hs-source-dirs: tests
+ type: exitcode-stdio-1.0
+ main-is: hlint.hs
+ hs-source-dirs:
+ tests/hlint
+ ghc-options: -Wall -O2 -rtsopts -threaded -with-rtsopts=-N
+ build-depends:
+ base >= 4.9 && < 4.10
+ , hlint
default-language: Haskell2010
-
- if !flag(hlint)
- buildable: False
- else
- build-depends:
- base >=4.8 && <5,
- hlint
-
- if flag(llvm)
- ghc-options: -fllvm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/src/Pipes/Noise.hs new/pipes-cacophony-0.5.0/src/Pipes/Noise.hs
--- old/pipes-cacophony-0.4.1/src/Pipes/Noise.hs 2016-12-26 17:17:05.000000000 +0100
+++ new/pipes-cacophony-0.5.0/src/Pipes/Noise.hs 2017-06-26 18:17:46.000000000 +0200
@@ -1,4 +1,3 @@
-{-# LANGUAGE OverloadedStrings #-}
----------------------------------------------------------------
-- |
-- Module : Pipes.Noise
@@ -14,16 +13,13 @@
, mkNoisePipes
) where
-import Control.Concurrent.MVar (MVar, newMVar, putMVar, takeMVar)
-import Control.Exception (SomeException)
-import Data.ByteArray (ScrubbedBytes)
-import Data.ByteString (ByteString)
-import Pipes (Pipe, MonadIO, await, yield, liftIO)
-
-import Crypto.Noise.Cipher (Cipher)
-import Crypto.Noise.DH (DH)
-import Crypto.Noise.Hash (Hash)
+import Data.ByteString (ByteString)
+import Pipes (Pipe, await, yield)
+
import Crypto.Noise
+import Crypto.Noise.Cipher (Cipher)
+import Crypto.Noise.DH (DH)
+import Crypto.Noise.Hash (Hash)
-- | Pipe used for inbound Noise messages.
type InboundNoisePipe = Pipe ByteString ScrubbedBytes
@@ -32,39 +28,40 @@
type OutboundNoisePipe = Pipe ScrubbedBytes ByteString
-- | Creates a pair of Pipes, the first used for inbound messages and the
--- second used for outbound messages.
-mkNoisePipes :: (MonadIO m, Cipher c, DH d, Hash h)
+-- second used for outbound messages. Note: The handshake for the given
+-- 'NoiseState' must be complete. If it is not, this function will return
+-- 'Nothing'.
+mkNoisePipes :: (Monad m, Cipher c, DH d, Hash h)
=> NoiseState c d h
- -> IO (InboundNoisePipe m (Either SomeException ()),
- OutboundNoisePipe m (Either SomeException ()))
-mkNoisePipes ns = do
- nsmv <- liftIO . newMVar $ ns
- return (inboundPipe nsmv, outboundPipe nsmv)
-
-inboundPipe :: (MonadIO m, Cipher c, DH d, Hash h)
- => MVar (NoiseState c d h)
- -> InboundNoisePipe m (Either SomeException ())
-inboundPipe nsmv = do
+ -> Maybe (InboundNoisePipe m (NoiseResult c d h),
+ OutboundNoisePipe m (NoiseResult c d h))
+mkNoisePipes ns | handshakeComplete ns = return (inboundPipe ns, outboundPipe ns)
+ | otherwise = Nothing
+
+inboundPipe :: (Monad m, Cipher c, DH d, Hash h)
+ => NoiseState c d h
+ -> InboundNoisePipe m (NoiseResult c d h)
+inboundPipe ns = do
msg <- await
- ns <- liftIO . takeMVar $ nsmv
- case readMessage ns msg of
- Left e -> return . Left $ e
- Right (pt, ns') -> do
- liftIO . putMVar nsmv $ ns'
+ let result = readMessage (convert msg) ns
+ case result of
+ NoiseResultMessage pt ns' -> do
yield pt
- inboundPipe nsmv
+ inboundPipe ns'
+ NoiseResultNeedPSK _ -> return result
+ NoiseResultException _ -> return result
-outboundPipe :: (MonadIO m, Cipher c, DH d, Hash h)
- => MVar (NoiseState c d h)
- -> OutboundNoisePipe m (Either SomeException ())
-outboundPipe nsmv = do
+outboundPipe :: (Monad m, Cipher c, DH d, Hash h)
+ => NoiseState c d h
+ -> OutboundNoisePipe m (NoiseResult c d h)
+outboundPipe ns = do
msg <- await
- ns <- liftIO . takeMVar $ nsmv
- case writeMessage ns msg of
- Left e -> return . Left $ e
- Right (ct, ns') -> do
- liftIO . putMVar nsmv $ ns'
- yield ct
- outboundPipe nsmv
+ let result = writeMessage msg ns
+ case result of
+ NoiseResultMessage ct ns' -> do
+ yield . convert $ ct
+ outboundPipe ns'
+ NoiseResultNeedPSK _ -> return result
+ NoiseResultException _ -> return result
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/stack.yaml new/pipes-cacophony-0.5.0/stack.yaml
--- old/pipes-cacophony-0.4.1/stack.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/pipes-cacophony-0.5.0/stack.yaml 2017-06-26 18:24:27.000000000 +0200
@@ -0,0 +1,6 @@
+resolver: lts-8.20
+packages:
+ - '.'
+extra-deps: []
+flags: {}
+extra-package-dbs: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/tests/hlint/hlint.hs new/pipes-cacophony-0.5.0/tests/hlint/hlint.hs
--- old/pipes-cacophony-0.4.1/tests/hlint/hlint.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/pipes-cacophony-0.5.0/tests/hlint/hlint.hs 2017-06-26 18:13:04.000000000 +0200
@@ -0,0 +1,16 @@
+module Main where
+
+import Control.Monad
+import Language.Haskell.HLint
+import System.Environment
+import System.Exit
+
+main :: IO ()
+main = do
+ args <- getArgs
+ hints <- hlint $ [ "src"
+ , "tests"
+ , "--hint=tests/.hlint"
+ , "--cpp-define=HLINT"
+ ] `mappend` args
+ unless (null hints) exitFailure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pipes-cacophony-0.4.1/tests/hlint.hs new/pipes-cacophony-0.5.0/tests/hlint.hs
--- old/pipes-cacophony-0.4.1/tests/hlint.hs 2016-12-26 17:17:05.000000000 +0100
+++ new/pipes-cacophony-0.5.0/tests/hlint.hs 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-module Main where
-
-import Control.Monad
-import Language.Haskell.HLint
-import System.Environment
-import System.Exit
-
-main :: IO ()
-main = do
- args <- getArgs
- hints <- hlint $ [ "src"
- , "tests"
- , "--hint=tests/.hlint"
- , "--cpp-define=HLINT"
- ] `mappend` args
- unless (null hints) exitFailure
++++++ pipes-cacophony.cabal ++++++
-- This file has been generated from package.yaml by hpack version 0.17.0.
--
-- see: https://github.com/sol/hpack
name: pipes-cacophony
version: 0.5.0
x-revision: 1
synopsis: Pipes for Noise-secured network connections.
description: A set of pipes to secure network connections with the
<https://github.com/trevp/noise/blob/master/noise.md Noise> protocol.
category: Cryptography
homepage: https://github.com/centromere/pipes-cacophony#readme
bug-reports: https://github.com/centromere/pipes-cacophony/issues
maintainer: John Galt <jgalt(a)centromere.net>
license: PublicDomain
license-file: LICENSE
build-type: Simple
cabal-version: >= 1.10
extra-source-files:
.travis.yml
changelog.md
LICENSE
package.yaml
README.md
stack.yaml
tests/.hlint
source-repository head
type: git
location: https://github.com/centromere/pipes-cacophony
flag build-examples
description: Build examples
manual: True
default: False
library
hs-source-dirs:
src
default-extensions: OverloadedStrings
ghc-options: -Wall
build-depends:
base >= 4.9 && < 4.11
, bytestring
, cacophony >= 0.10
, pipes
exposed-modules:
Pipes.Noise
other-modules:
Paths_pipes_cacophony
default-language: Haskell2010
executable loopback
main-is: Main.hs
hs-source-dirs:
examples/loopback
default-extensions: OverloadedStrings
ghc-options: -Wall -O2 -rtsopts -threaded -with-rtsopts=-N
if flag(build-examples)
build-depends:
base >= 4.9 && < 4.10
, bytestring
, cacophony >= 0.10
, pipes
, pipes-cacophony
else
buildable: False
default-language: Haskell2010
test-suite hlint
type: exitcode-stdio-1.0
main-is: hlint.hs
hs-source-dirs:
tests/hlint
ghc-options: -Wall -O2 -rtsopts -threaded -with-rtsopts=-N
build-depends:
base >= 4.9 && < 4.10
, hlint
default-language: Haskell2010
1
0
Hello community,
here is the log from the commit of package ghc-pandoc-citeproc for openSUSE:Factory checked in at 2017-08-31 20:48:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-pandoc-citeproc (Old)
and /work/SRC/openSUSE:Factory/.ghc-pandoc-citeproc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-pandoc-citeproc"
Thu Aug 31 20:48:38 2017 rev:2 rq:513446 version:0.10.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-pandoc-citeproc/ghc-pandoc-citeproc.changes 2017-05-16 14:38:29.895249245 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-pandoc-citeproc.new/ghc-pandoc-citeproc.changes 2017-08-31 20:48:39.677159833 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:08:06 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.10.5.1.
+
+-------------------------------------------------------------------
Old:
----
pandoc-citeproc-0.10.4.1.tar.gz
pandoc-citeproc.cabal
New:
----
pandoc-citeproc-0.10.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-pandoc-citeproc.spec ++++++
--- /var/tmp/diff_new_pack.fOymRD/_old 2017-08-31 20:48:40.952980750 +0200
+++ /var/tmp/diff_new_pack.fOymRD/_new 2017-08-31 20:48:40.960979627 +0200
@@ -20,14 +20,13 @@
%global pkg_name pandoc-citeproc
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.10.4.1
+Version: 0.10.5.1
Release: 0
Summary: Supports using pandoc with citeproc
License: BSD-3-Clause
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-aeson-devel
@@ -91,7 +90,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
@@ -120,6 +118,7 @@
%{_datadir}/%{pkg_name}-%{version}/chicago-author-date.csl
%{_datadir}/%{pkg_name}-%{version}/locales/*.xml
%{_datadir}/%{pkg_name}-%{version}/README.md
+%{_datadir}/%{pkg_name}-%{version}/LICENSE
%{_datadir}/%{pkg_name}-%{version}/man/man1/pandoc-citeproc.1
%{_datadir}/%{pkg_name}-%{version}/changelog
%{_mandir}/man1/pandoc-citeproc.1%{ext_man}
++++++ pandoc-citeproc-0.10.4.1.tar.gz -> pandoc-citeproc-0.10.5.1.tar.gz ++++++
++++ 2169 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-oanda-rest-api for openSUSE:Factory checked in at 2017-08-31 20:48:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-oanda-rest-api (Old)
and /work/SRC/openSUSE:Factory/.ghc-oanda-rest-api.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-oanda-rest-api"
Thu Aug 31 20:48:36 2017 rev:2 rq:513441 version:0.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-oanda-rest-api/ghc-oanda-rest-api.changes 2017-04-06 11:00:32.153273170 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-oanda-rest-api.new/ghc-oanda-rest-api.changes 2017-08-31 20:48:37.629447265 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:08:03 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.4.1.
+
+-------------------------------------------------------------------
Old:
----
oanda-rest-api-0.3.0.0.tar.gz
oanda-rest-api.cabal
New:
----
oanda-rest-api-0.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-oanda-rest-api.spec ++++++
--- /var/tmp/diff_new_pack.ldqcGK/_old 2017-08-31 20:48:39.021251902 +0200
+++ /var/tmp/diff_new_pack.ldqcGK/_new 2017-08-31 20:48:39.029250779 +0200
@@ -19,26 +19,29 @@
%global pkg_name oanda-rest-api
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.3.0.0
+Version: 0.4.1
Release: 0
Summary: Client to the OANDA REST API
License: BSD-3-Clause
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-Decimal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-bytestring-devel
+BuildRequires: ghc-conduit-devel
BuildRequires: ghc-containers-devel
+BuildRequires: ghc-http-client-devel
BuildRequires: ghc-http-conduit-devel
BuildRequires: ghc-lens-devel
BuildRequires: ghc-old-locale-devel
+BuildRequires: ghc-resourcet-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-scientific-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-thyme-devel
+BuildRequires: ghc-transformers-devel
BuildRequires: ghc-vector-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with tests}
@@ -63,7 +66,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ oanda-rest-api-0.3.0.0.tar.gz -> oanda-rest-api-0.4.1.tar.gz ++++++
++++ 2148 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-mongoDB for openSUSE:Factory checked in at 2017-08-31 20:48:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-mongoDB (Old)
and /work/SRC/openSUSE:Factory/.ghc-mongoDB.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-mongoDB"
Thu Aug 31 20:48:33 2017 rev:3 rq:513435 version:2.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-mongoDB/ghc-mongoDB.changes 2017-04-07 13:55:11.647481842 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-mongoDB.new/ghc-mongoDB.changes 2017-08-31 20:48:33.841978902 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:05:24 UTC 2017 - psimons(a)suse.com
+
+- Update to version 2.3.0.
+
+-------------------------------------------------------------------
Old:
----
mongoDB-2.1.1.1.tar.gz
New:
----
mongoDB-2.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-mongoDB.spec ++++++
--- /var/tmp/diff_new_pack.gEiUac/_old 2017-08-31 20:48:34.669862694 +0200
+++ /var/tmp/diff_new_pack.gEiUac/_new 2017-08-31 20:48:34.669862694 +0200
@@ -19,7 +19,7 @@
%global pkg_name mongoDB
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 2.1.1.1
+Version: 2.3.0
Release: 0
Summary: Driver (client) for MongoDB, a free, scalable, fast, document DBMS
License: Apache-2.0
@@ -33,6 +33,8 @@
BuildRequires: ghc-binary-devel
BuildRequires: ghc-bson-devel
BuildRequires: ghc-bytestring-devel
+BuildRequires: ghc-conduit-devel
+BuildRequires: ghc-conduit-extra-devel
BuildRequires: ghc-containers-devel
BuildRequires: ghc-cryptohash-devel
BuildRequires: ghc-data-default-class-devel
@@ -43,17 +45,21 @@
BuildRequires: ghc-network-devel
BuildRequires: ghc-nonce-devel
BuildRequires: ghc-parsec-devel
+BuildRequires: ghc-pureMD5-devel
BuildRequires: ghc-random-devel
BuildRequires: ghc-random-shuffle-devel
+BuildRequires: ghc-resourcet-devel
BuildRequires: ghc-rpm-macros
+BuildRequires: ghc-tagged-devel
BuildRequires: ghc-text-devel
+BuildRequires: ghc-time-devel
BuildRequires: ghc-tls-devel
BuildRequires: ghc-transformers-base-devel
+BuildRequires: ghc-transformers-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with tests}
BuildRequires: ghc-hspec-devel
BuildRequires: ghc-old-locale-devel
-BuildRequires: ghc-time-devel
%endif
%description
++++++ mongoDB-2.1.1.1.tar.gz -> mongoDB-2.3.0.tar.gz ++++++
++++ 1928 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-monad-http for openSUSE:Factory checked in at 2017-08-31 20:48:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-monad-http (Old)
and /work/SRC/openSUSE:Factory/.ghc-monad-http.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-monad-http"
Thu Aug 31 20:48:31 2017 rev:3 rq:513433 version:0.1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-monad-http/ghc-monad-http.changes 2017-02-21 13:45:37.344300818 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-monad-http.new/ghc-monad-http.changes 2017-08-31 20:48:32.726135530 +0200
@@ -1,0 +2,5 @@
+Sat Jul 29 03:02:00 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.1.0.0 revision 5.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-monad-http.spec ++++++
--- /var/tmp/diff_new_pack.CMkb16/_old 2017-08-31 20:48:33.630008656 +0200
+++ /var/tmp/diff_new_pack.CMkb16/_new 2017-08-31 20:48:33.634008094 +0200
@@ -25,7 +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/4.cabal…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/5.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-MonadRandom-devel
BuildRequires: ghc-base-compat-devel
@@ -79,5 +79,6 @@
%files devel -f %{name}-devel.files
%defattr(-,root,root,-)
+%doc README.md
%changelog
++++++ monad-http.cabal ++++++
--- /var/tmp/diff_new_pack.CMkb16/_old 2017-08-31 20:48:33.713996866 +0200
+++ /var/tmp/diff_new_pack.CMkb16/_new 2017-08-31 20:48:33.713996866 +0200
@@ -1,10 +1,6 @@
--- This file has been generated from package.yaml by hpack version 0.8.0.
---
--- see: https://github.com/sol/hpack
-
name: monad-http
version: 0.1.0.0
-x-revision: 4
+x-revision: 5
synopsis: A class of monads which can do http requests
description: A class of monads which can do http requests
homepage: https://github.com/futurice/haskell-monad-http#readme
@@ -14,7 +10,7 @@
author: Oleg Grenrus <oleg.grenrus(a)iki.fi>
maintainer: Oleg Grenrus <oleg.grenrus(a)iki.fi>
category: Web
-tested-with: GHC==7.8.4, GHC==7.10.2, GHC==7.10.3
+tested-with: GHC==7.8.4, GHC==7.10.2, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1
build-type: Simple
cabal-version: >= 1.10
@@ -30,7 +26,7 @@
src
ghc-options: -Wall
build-depends:
- base >=4.7 && <4.10,
+ base >=4.7 && <4.11,
base-compat >=0.6.0 && <0.10,
bytestring >=0.10.0.4 && <0.12,
exceptions >=0.8.0.2 && <0.9,
1
0
Hello community,
here is the log from the commit of package ghc-mod for openSUSE:Factory checked in at 2017-08-31 20:48:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-mod (Old)
and /work/SRC/openSUSE:Factory/.ghc-mod.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-mod"
Thu Aug 31 20:48:29 2017 rev:12 rq:513432 version:5.8.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-mod/ghc-mod.changes 2017-04-14 13:32:50.400780512 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-mod.new/ghc-mod.changes 2017-08-31 20:48:30.606433066 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 08:57:09 UTC 2017 - psimons(a)suse.com
+
+- Update to version 5.8.0.0 revision 1.
+
+-------------------------------------------------------------------
Old:
----
ghc-mod-5.7.0.0.tar.gz
New:
----
ghc-mod-5.8.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-mod.spec ++++++
--- /var/tmp/diff_new_pack.6eM9PA/_old 2017-08-31 20:48:31.834260719 +0200
+++ /var/tmp/diff_new_pack.6eM9PA/_new 2017-08-31 20:48:31.846259035 +0200
@@ -19,9 +19,9 @@
%global pkg_name ghc-mod
%bcond_with tests
Name: %{pkg_name}
-Version: 5.7.0.0
+Version: 5.8.0.0
Release: 0
-Summary: Happy Haskell Programming
+Summary: Happy Haskell Hacking
License: AGPL-3.0+ AND BSD-3-Clause
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{name}
@@ -51,7 +51,6 @@
BuildRequires: ghc-old-time-devel
BuildRequires: ghc-optparse-applicative-devel
BuildRequires: ghc-pipes-devel
-BuildRequires: ghc-pretty-devel
BuildRequires: ghc-process-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-safe-devel
@@ -83,8 +82,7 @@
fundamental functionality of the frontend program can be accessed through the
library however many implementation details are hidden and if you want to
significantly extend ghc-mod you should submit these changes upstream instead
-of implementing them on top of the library. For more information, please see
-its home page.
+of implementing them on top of the library.
%package -n ghc-%{name}
Summary: Haskell %{name} library
@@ -117,9 +115,6 @@
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
echo 'export cabal_helper_libexecdir=%{_libexecdir}/%{_arch}-%{_os}-ghc-%{ghc_version}/cabal-helper' > %{buildroot}%{_sysconfdir}/profile.d/ghc-mod.sh
echo 'setenv cabal_helper_libexecdir %{_libexecdir}/%{_arch}-%{_os}-ghc-%{ghc_version}/cabal-helper' > %{buildroot}%{_sysconfdir}/profile.d/ghc-mod.csh
-rm %{buildroot}%{_datadir}/%{name}-%{version}/LICENSE
-rm %{buildroot}%{_datadir}/%{name}-%{version}/COPYING.AGPL3
-rm %{buildroot}%{_datadir}/%{name}-%{version}/COPYING.BSD3
%check
%cabal_test
@@ -132,24 +127,25 @@
%files
%defattr(-,root,root,-)
-%doc LICENSE
%doc COPYING.BSD3
%doc COPYING.AGPL3
-%doc ChangeLog
+%doc ChangeLog README.md
%{_bindir}/%{name}
%{_bindir}/ghc-modi
-%{_datadir}/%{name}-%{version}
+%dir %{_datadir}/%{name}-%{version}
+%dir %{_datadir}/%{name}-%{version}/elisp
+%{_datadir}/%{name}-%{version}/elisp/Makefile
+%{_datadir}/%{name}-%{version}/elisp/*.el
%config %{_sysconfdir}/profile.d/ghc-mod.sh
%config %{_sysconfdir}/profile.d/ghc-mod.csh
%files -n ghc-%{name} -f ghc-%{name}.files
%defattr(-,root,root,-)
-%doc LICENSE
%doc COPYING.BSD3
%doc COPYING.AGPL3
%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%defattr(-,root,root,-)
-%doc ChangeLog
+%doc ChangeLog README.md
%changelog
++++++ ghc-mod-5.7.0.0.tar.gz -> ghc-mod-5.8.0.0.tar.gz ++++++
++++ 21517 lines of diff (skipped)
++++++ ghc-mod.cabal ++++++
--- /var/tmp/diff_new_pack.6eM9PA/_old 2017-08-31 20:48:32.350188300 +0200
+++ /var/tmp/diff_new_pack.6eM9PA/_new 2017-08-31 20:48:32.350188300 +0200
@@ -1,5 +1,5 @@
Name: ghc-mod
-Version: 5.7.0.0
+Version: 5.8.0.0
x-revision: 1
Author: Kazu Yamamoto <kazu(a)iij.ad.jp>,
Daniel Gröber <dxld(a)darkboxed.org>,
@@ -9,8 +9,8 @@
License: AGPL-3
License-File: LICENSE
License-Files: COPYING.BSD3 COPYING.AGPL3
-Homepage: http://www.mew.org/~kazu/proj/ghc-mod/
-Synopsis: Happy Haskell Programming
+Homepage: https://github.com/DanielG/ghc-mod
+Synopsis: Happy Haskell Hacking
Description:
ghc-mod is a backend program to enrich Haskell programming in editors. It
strives to offer most of the features one has come to expect from modern IDEs
@@ -23,44 +23,30 @@
significantly extend ghc-mod you should submit these changes upstream instead
of implementing them on top of the library.
- For more information, please see its home page.
Category: GHC, Development
-Cabal-Version: >= 1.14
+Cabal-Version: >= 1.18
Build-Type: Custom
-Tested-With: GHC == 7.6.3
- GHC == 7.8.4
- , GHC == 7.10.3
- , GHC == 8.0.1
- , GHC == 8.0.2
Data-Files: elisp/Makefile
elisp/*.el
-Data-Files: LICENSE COPYING.BSD3 COPYING.AGPL3
Extra-Source-Files: ChangeLog
- cabal.project
- SetupCompat.hs
- NotCPP/*.hs
- NotCPP/COPYING
- Language/Haskell/GhcMod/Monad/Compat.hs_h
+ README.md
+ core/GhcMod/Monad/Compat.hs_h
test/data/annotations/*.hs
test/data/broken-cabal/*.cabal
- test/data/broken-cabal/cabal.sandbox.config.in
test/data/broken-sandbox/cabal.sandbox.config
test/data/broken-sandbox/dummy.cabal
test/data/cabal-flags/cabal-flags.cabal
test/data/cabal-project/*.cabal
test/data/cabal-project/*.hs
test/data/cabal-project/.cabal-sandbox/i386-osx-ghc-7.6.3-packages.conf.d/Cabal-1.18.1.3-2b161c6bf77657aa17e1681d83cb051b.conf
- test/data/cabal-project/cabal.sandbox.config.in
test/data/cabal-project/subdir1/subdir2/dummy
test/data/case-split/*.hs
- test/data/check-packageid/cabal.sandbox.config.in
test/data/check-packageid/.cabal-sandbox/i386-osx-ghc-7.6.3-packages.conf.d/template-haskell-2.8.0.0-32d4f24abdbb6bf41272b183b2e23e9c.conf
test/data/check-test-subdir/*.cabal
test/data/check-test-subdir/src/Check/Test/*.hs
test/data/check-test-subdir/test/*.hs
test/data/check-test-subdir/test/Bar/*.hs
- test/data/duplicate-pkgver/cabal.sandbox.config.in
test/data/duplicate-pkgver/duplicate-pkgver.cabal
test/data/duplicate-pkgver/.cabal-sandbox/i386-osx-ghc-7.6.3-packages.conf.d/template-haskell-1.0-7c59d13f32294d1ef6dc6233c24df961.conf
test/data/duplicate-pkgver/.cabal-sandbox/i386-osx-ghc-7.6.3-packages.conf.d/template-haskell-2.8.0.0-14e543bdae2da4d2aeff5386892c9112.conf
@@ -95,173 +81,193 @@
test/data/file-mapping/preprocessor/*.hs
test/data/file-mapping/lhs/*.lhs
test/data/nice-qualification/*.hs
- test/data/stack-project/stack.yaml
+ test/data/stack-project/stack.yaml.in
test/data/stack-project/new-template.cabal
test/data/stack-project/*.hs
test/data/stack-project/app/*.hs
test/data/stack-project/src/*.hs
test/data/stack-project/test/*.hs
+ bench/data/simple-cabal/simple-cabal.cabal
+ bench/data/simple-cabal/*.hs
+
Custom-Setup
Setup-Depends: base
- , Cabal < 1.25
+ , Cabal >= 1.18 && < 1.25
, containers
, filepath
+ , directory
, process
, template-haskell
, transformers
+
Library
Default-Language: Haskell2010
GHC-Options: -Wall -fno-warn-deprecations
Default-Extensions: ScopedTypeVariables, RecordWildCards, NamedFieldPuns,
ConstraintKinds, FlexibleContexts,
DataKinds, KindSignatures, TypeOperators, ViewPatterns
- Exposed-Modules: Language.Haskell.GhcMod
- Language.Haskell.GhcMod.Internal
- Language.Haskell.GhcMod.Boot
- Language.Haskell.GhcMod.Browse
- Language.Haskell.GhcMod.CabalHelper
- Language.Haskell.GhcMod.Caching
- Language.Haskell.GhcMod.Caching.Types
- Language.Haskell.GhcMod.CaseSplit
- Language.Haskell.GhcMod.Check
- Language.Haskell.GhcMod.Convert
- Language.Haskell.GhcMod.Cradle
- Language.Haskell.GhcMod.CustomPackageDb
- Language.Haskell.GhcMod.Debug
- Language.Haskell.GhcMod.DebugLogger
- Language.Haskell.GhcMod.Doc
- Language.Haskell.GhcMod.DynFlags
- Language.Haskell.GhcMod.DynFlagsTH
- Language.Haskell.GhcMod.Error
- Language.Haskell.GhcMod.FileMapping
- Language.Haskell.GhcMod.FillSig
- Language.Haskell.GhcMod.Find
- Language.Haskell.GhcMod.Flag
- Language.Haskell.GhcMod.Gap
- Language.Haskell.GhcMod.GhcPkg
- Language.Haskell.GhcMod.HomeModuleGraph
- Language.Haskell.GhcMod.Info
- Language.Haskell.GhcMod.Lang
- Language.Haskell.GhcMod.Lint
- Language.Haskell.GhcMod.LightGhc
- Language.Haskell.GhcMod.Logger
- Language.Haskell.GhcMod.Logging
- Language.Haskell.GhcMod.Modules
- Language.Haskell.GhcMod.Monad
- Language.Haskell.GhcMod.Monad.Env
- Language.Haskell.GhcMod.Monad.Log
- Language.Haskell.GhcMod.Monad.Newtypes
- Language.Haskell.GhcMod.Monad.Orphans
- Language.Haskell.GhcMod.Monad.Out
- Language.Haskell.GhcMod.Monad.State
- Language.Haskell.GhcMod.Monad.Types
- Language.Haskell.GhcMod.Output
- Language.Haskell.GhcMod.PathsAndFiles
- Language.Haskell.GhcMod.PkgDoc
- Language.Haskell.GhcMod.Pretty
- Language.Haskell.GhcMod.Read
- Language.Haskell.GhcMod.SrcUtils
- Language.Haskell.GhcMod.Stack
- Language.Haskell.GhcMod.Target
- Language.Haskell.GhcMod.Test
- Language.Haskell.GhcMod.Types
- Language.Haskell.GhcMod.Utils
- Language.Haskell.GhcMod.World
-
- Language.Haskell.GhcMod.Options.Options
- Language.Haskell.GhcMod.Options.DocUtils
- Language.Haskell.GhcMod.Options.Help
+ HS-Source-Dirs: ., core, shared
+ Exposed-Modules:
+ GhcMod
+ GhcMod.Exe.Boot
+ GhcMod.Exe.Browse
+ GhcMod.Exe.CaseSplit
+ GhcMod.Exe.Check
+ GhcMod.Exe.Debug
+ GhcMod.Exe.FillSig
+ GhcMod.Exe.Find
+ GhcMod.Exe.Flag
+ GhcMod.Exe.Info
+ GhcMod.Exe.Internal
+ GhcMod.Exe.Lang
+ GhcMod.Exe.Lint
+ GhcMod.Exe.Modules
+ GhcMod.Exe.PkgDoc
+ GhcMod.Exe.Test
+ GhcMod.CabalHelper
+ GhcMod.Caching
+ GhcMod.Caching.Types
+ GhcMod.Convert
+ GhcMod.Cradle
+ GhcMod.CustomPackageDb
+ GhcMod.DebugLogger
+ GhcMod.Doc
+ GhcMod.DynFlags
+ GhcMod.DynFlagsTH
+ GhcMod.Error
+ GhcMod.FileMapping
+ GhcMod.Gap
+ GhcMod.GhcPkg
+ GhcMod.HomeModuleGraph
+ GhcMod.LightGhc
+ GhcMod.Logger
+ GhcMod.Logging
+ GhcMod.Monad
+ GhcMod.Monad.Env
+ GhcMod.Monad.Log
+ GhcMod.Monad.Newtypes
+ GhcMod.Monad.Orphans
+ GhcMod.Monad.Out
+ GhcMod.Monad.State
+ GhcMod.Monad.Types
+ GhcMod.Options.DocUtils
+ GhcMod.Options.Help
+ GhcMod.Options.Options
+ GhcMod.Output
+ GhcMod.PathsAndFiles
+ GhcMod.Pretty
+ GhcMod.Read
+ GhcMod.SrcUtils
+ GhcMod.Stack
+ GhcMod.Target
+ GhcMod.Types
+ GhcMod.Utils
+ GhcMod.World
Other-Modules: Paths_ghc_mod
Utils
Data.Binary.Generic
System.Directory.ModTime
- Build-Depends: base < 5 && >= 4.0
- , bytestring < 0.11
- , binary < 0.9 && >= 0.5.1.0
- , containers < 0.6
- , cabal-helper < 0.8 && >= 0.7.3.0
- , deepseq < 1.5
- , directory < 1.4
- , filepath < 1.5
- , ghc < 8.2 && >= 7.6
- , ghc-paths < 0.2 && >= 0.1.0.9
- , ghc-syb-utils < 0.3 && >= 0.2.3
- , hlint < 1.10 && >= 1.9.27
- , monad-journal < 0.8 && >= 0.4
- , old-time < 1.2
- , pretty < 1.2
- , process < 1.5
- , syb < 0.7 && >= 0.5.1
- , temporary < 1.3 && >= 1.2.0.3
- , transformers < 0.6
- , time < 1.7
- , transformers < 0.6
- , transformers-base < 0.5 && >= 0.4.4
- , mtl < 2.3 && >= 2.0
- , monad-control < 1.1 && >= 1
- , split < 0.3 && >= 0.2.2
- , haskell-src-exts < 1.19 && >= 1.16.0.1
- , text < 1.3 && >= 1.2.1.3
- , djinn-ghc < 0.1 && >= 0.0.2.2
- , fclabels == 2.0.*
- , extra < 1.6 && >= 1.4.0
- , pipes < 4.4 && >= 4.1.0
- , safe < 0.4 && >= 0.3.9
- , optparse-applicative >=0.11.0 && <0.14.0
+ Build-Depends:
+ -- See Note [GHC Boot libraries]
+ binary
+ , bytestring
+ , containers
+ , deepseq
+ , directory
+ , filepath
+ , mtl
+ , old-time
+ , process
, template-haskell
- , syb
- if impl(ghc < 7.8)
- Build-Depends: convertible < 1.2 && >= 1.1.0.0
+ , time
+ , transformers
+
+ , base < 4.10 && >= 4.6.0.1
+ , djinn-ghc < 0.1 && >= 0.0.2.2
+ , extra < 1.6 && >= 1.4
+ , fclabels < 2.1 && >= 2.0
+ , ghc-paths < 0.2 && >= 0.1.0.9
+ , ghc-syb-utils < 0.3 && >= 0.2.3
+ , haskell-src-exts < 1.20 && >= 1.18
+ , hlint < 2.1 && >= 2.0.8
+ , monad-control < 1.1 && >= 1
+ , monad-journal < 0.8 && >= 0.4
+ , optparse-applicative < 0.14 && >= 0.13.0.0
+ , pipes < 4.4 && >= 4.1
+ , safe < 0.4 && >= 0.3.9
+ , semigroups < 0.19 && >= 0.10.0
+ , split < 0.3 && >= 0.2.2
+ , syb < 0.8 && >= 0.5.1
+ , temporary < 1.3 && >= 1.2.0.3
+ , text < 1.3 && >= 1.2.1.3
+ , transformers-base < 0.5 && >= 0.4.4
+
+ , cabal-helper < 0.8 && >= 0.7.3.0
+ , ghc < 8.2 && >= 7.6
+
if impl(ghc >= 8.0)
Build-Depends: ghc-boot
+ if impl(ghc < 7.8)
+ Build-Depends: convertible < 1.2 && >= 1.1.0.0
Executable ghc-mod
Default-Language: Haskell2010
- Main-Is: GHCMod.hs
+ Main-Is: GhcModMain.hs
Other-Modules: Paths_ghc_mod
- , GHCMod.Options
- , GHCMod.Options.Commands
- , GHCMod.Version
- , GHCMod.Options.ShellParse
+ , GhcMod.Exe.Options
+ , GhcMod.Exe.Options.Commands
+ , GhcMod.Exe.Version
+ , GhcMod.Exe.Options.ShellParse
GHC-Options: -Wall -fno-warn-deprecations -threaded
Default-Extensions: ConstraintKinds, FlexibleContexts
- HS-Source-Dirs: src
- Build-Depends: base < 5 && >= 4.0
- , directory < 1.4
- , filepath < 1.5
- , pretty < 1.2
- , process < 1.5
- , split < 0.3 && >= 0.2.2
- , mtl < 2.3 && >= 2.0
- , ghc < 8.2 && >= 7.6
- , monad-control < 1.1 && >= 1
- , fclabels ==2.0.*
- , optparse-applicative >=0.11.0 && <0.14.0
- , semigroups < 0.19 && >= 0.10.0
+ HS-Source-Dirs: src, shared
+ X-Internal: True
+ Build-Depends:
+ -- See Note [GHC Boot libraries]
+ directory
+ , filepath
+ , mtl
+ , process
+
+ , base < 4.10 && >= 4.6.0.1
+ , fclabels < 2.1 && >= 2.0
+ , monad-control < 1.1 && >= 1
+ , optparse-applicative < 0.14 && >= 0.13.0.0
+ , semigroups < 0.19 && >= 0.10.0
+ , split < 0.3 && >= 0.2.2
+
+ , ghc < 8.2 && >= 7.6
, ghc-mod
+
Executable ghc-modi
Default-Language: Haskell2010
- Main-Is: GHCModi.hs
+ Main-Is: GhcModi.hs
Other-Modules: Paths_ghc_mod
Utils
+ System.Directory.ModTime
GHC-Options: -Wall -threaded -fno-warn-deprecations
if os(windows)
Cpp-Options: -DWINDOWS
Default-Extensions: ConstraintKinds, FlexibleContexts
- HS-Source-Dirs: src, .
- Build-Depends: base < 5 && >= 4.0
- , binary < 0.9 && >= 0.5.1.0
- , deepseq < 1.5
- , directory < 1.4
- , filepath < 1.5
- , process < 1.5
- , old-time < 1.2
- , time < 1.7
+ HS-Source-Dirs: ., src, shared
+ Build-Depends:
+ -- See Note [GHC Boot libraries]
+ binary
+ , deepseq
+ , directory
+ , filepath
+ , old-time
+ , process
+ , time
+
+ , base < 4.10 && >= 4.6.0.1
+
, ghc-mod
+
Test-Suite doctest
Type: exitcode-stdio-1.0
Default-Language: Haskell2010
@@ -269,8 +275,9 @@
Ghc-Options: -Wall
Default-Extensions: ConstraintKinds, FlexibleContexts
Main-Is: doctests.hs
- Build-Depends: base
- , doctest < 0.12 && >= 0.9.3
+ Build-Depends: base < 4.10 && >= 4.6.0.1
+ , doctest < 0.12 && >= 0.9.3
+
Test-Suite spec
Default-Language: Haskell2010
@@ -278,31 +285,106 @@
ConstraintKinds, FlexibleContexts,
DataKinds, KindSignatures, TypeOperators, ViewPatterns
Main-Is: Main.hs
- Hs-Source-Dirs: test, ., src
+ Hs-Source-Dirs: test, src
Ghc-Options: -Wall -fno-warn-deprecations -threaded
- CPP-Options: -DSPEC=1
Type: exitcode-stdio-1.0
Other-Modules: Paths_ghc_mod
Dir
- Spec
TestUtils
+
+-- $ ls test/*Spec.hs | sed 's_^.*/\(.*\)\.hs$_\1_' | sort
BrowseSpec
- CustomPackageDbSpec
+ CabalHelperSpec
+ CaseSplitSpec
CheckSpec
+ CradleSpec
+ CustomPackageDbSpec
+ FileMappingSpec
+ FindSpec
FlagSpec
+ GhcPkgSpec
+ HomeModuleGraphSpec
InfoSpec
LangSpec
LintSpec
ListSpec
MonadSpec
PathsAndFilesSpec
- HomeModuleGraphSpec
- FileMappingSpec
ShellParseSpec
+ TargetSpec
+
+ Build-Depends:
+ -- See Note [GHC Boot libraries]
+ containers
+ , directory
+ , filepath
+ , mtl
+ , process
+ , transformers
+
+ , base < 4.10 && >= 4.6.0.1
+ , fclabels < 2.1 && >= 2.0
+ , hspec < 2.4 && >= 2.0.0
+ , monad-journal < 0.8 && >= 0.4
+ , split < 0.3 && >= 0.2.2
+ , temporary < 1.3 && >= 1.2.0.3
+
+
+ if impl(ghc < 7.8)
+ Build-Depends: convertible < 1.2 && >= 1.1.0.0
+ if impl(ghc >= 8.0)
+ Build-Depends: ghc-boot
+
+ Build-Depends:
+ cabal-helper < 0.8 && >= 0.7.1.0
+ , ghc < 8.2 && >= 7.6
+ , ghc-mod
+
+
+Test-Suite shelltest
+ Default-Language: Haskell2010
+ Main-Is: ShellTest.hs
+ Hs-Source-Dirs: shelltest
+ Type: exitcode-stdio-1.0
+ Build-Tools: shelltest
+ Build-Depends: base < 4.10 && >= 4.6.0.1
+ , process < 1.5
+ -- , shelltestrunner >= 1.3.5
+ if !flag(shelltest)
+ Buildable: False
+
+
+Benchmark criterion
+ Type: exitcode-stdio-1.0
+ Default-Language: Haskell2010
+ Default-Extensions: ScopedTypeVariables, RecordWildCards, NamedFieldPuns,
+ ConstraintKinds, FlexibleContexts,
+ DataKinds, KindSignatures, TypeOperators, ViewPatterns
+ HS-Source-Dirs: bench, test
+ Main-Is: Bench.hs
+ Build-Depends:
+ -- See Note [GHC Boot libraries]
+ directory
+ , filepath
+
+ , base < 4.10 && >= 4.6.0.1
+ , criterion < 1.2 && >= 1.1.1.0
+ , temporary < 1.3 && >= 1.2.0.3
+
+ , ghc-mod
+
+
+Flag shelltest
+ Description: Enable/disable shelltest test-suite
+ Default: False
+ Manual: True
- Build-Depends: hspec < 2.5 && >= 2.0.0
- X-Build-Depends-Like: CLibName
Source-Repository head
Type: git
- Location: https://github.com/kazu-yamamoto/ghc-mod.git
+ Location: https://github.com/DanielG/ghc-mod.git
+
+-- Note [GHC Boot libraries]
+--
+-- We don't give bounds to GHC boot libraries as our dependency on 'ghc' already
+-- constrains these packages to the version that shipped with GHC.
1
0
Hello community,
here is the log from the commit of package ghc-mime-mail for openSUSE:Factory checked in at 2017-08-31 20:48:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-mime-mail (Old)
and /work/SRC/openSUSE:Factory/.ghc-mime-mail.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-mime-mail"
Thu Aug 31 20:48:27 2017 rev:8 rq:513431 version:0.4.13.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-mime-mail/ghc-mime-mail.changes 2017-06-04 02:01:07.589212059 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-mime-mail.new/ghc-mime-mail.changes 2017-08-31 20:48:27.702840635 +0200
@@ -1,0 +2,10 @@
+Mon Jul 24 14:29:29 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.4.13.1 revision 6.
+
+-------------------------------------------------------------------
+Mon Jul 24 03:01:13 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.4.13.1 revision 5.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-mime-mail.spec ++++++
--- /var/tmp/diff_new_pack.sjBaoE/_old 2017-08-31 20:48:28.482731164 +0200
+++ /var/tmp/diff_new_pack.sjBaoE/_new 2017-08-31 20:48:28.482731164 +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/4.cabal…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/6.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base64-bytestring-devel
BuildRequires: ghc-blaze-builder-devel
++++++ mime-mail.cabal ++++++
--- /var/tmp/diff_new_pack.sjBaoE/_old 2017-08-31 20:48:28.570718813 +0200
+++ /var/tmp/diff_new_pack.sjBaoE/_new 2017-08-31 20:48:28.574718252 +0200
@@ -14,7 +14,7 @@
extra-source-files:
README.md
ChangeLog.md
-x-revision: 4
+x-revision: 6
source-repository head
type: git
@@ -24,14 +24,14 @@
exposed-modules:
Network.Mail.Mime
build-depends:
- base ==4.*,
- base64-bytestring >=0.1 && <1.1,
- process >=1.0 && <1.5,
- random >=1.0 && <1.2,
- blaze-builder >=0.2.1 && <0.5,
- bytestring >=0.9.1 && <0.11,
+ base >= 4 && < 5,
+ base64-bytestring >=0.1,
+ process >=1.0,
+ random >=1.0,
+ blaze-builder >=0.2.1,
+ bytestring >=0.9.1,
text >=0.7 && <1.3,
- filepath >=1.2 && <1.5
+ filepath >=1.2
test-suite tests
type: exitcode-stdio-1.0
1
0