summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Flament2016-11-14 14:45:55 +0100
committerDamien Flament2016-11-14 14:45:55 +0100
commitf7644cc69a438ef5f0e32da7cad88548037c6039 (patch)
tree6e3f51fb3e83f34b736343868a5c3c444dac3904
parentdd99fd02081984b476968b628f92875c7c02d128 (diff)
downloadaur-f7644cc69a438ef5f0e32da7cad88548037c6039.tar.gz
{PATCH] Adapt to Applicative-Monad.
-rw-r--r--Adapt_to_Applicative-Monad.patch60
-rw-r--r--PKGBUILD7
2 files changed, 65 insertions, 2 deletions
diff --git a/Adapt_to_Applicative-Monad.patch b/Adapt_to_Applicative-Monad.patch
new file mode 100644
index 000000000000..b2c5e937985d
--- /dev/null
+++ b/Adapt_to_Applicative-Monad.patch
@@ -0,0 +1,60 @@
+From b42af62c0398350729bfd4ce582f126723b65d27 Mon Sep 17 00:00:00 2001
+From: Nikolay Orlyuk <virkony@gmail.com>
+Date: Sun, 31 May 2015 19:33:18 +0300
+Subject: [PATCH] adapt to Applicative-Monad
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Get rid of warnings in GHC 7.8.2:
+
+Distribution/ArchLinux/PkgBuild.hs:291:10: Warning:
+ ‘GetPKG’ is an instance of Monad but not Applicative - this will
+ become an error in GHC 7.10, under the Applicative-Monad Proposal.
+
+Distribution/ArchLinux/PkgBuild.hs:37:1: Warning:
+ Module ‘Control.Monad.Instances’ is deprecated:
+ This module now contains no instances and will be removed in the
+ future
+
+And error in 7.10.1:
+
+Distribution/ArchLinux/PkgBuild.hs:291:10:
+ No instance for (Applicative GetPKG)
+ arising from the superclasses of an instance declaration
+ In the instance declaration for ‘Monad GetPKG’
+
+Fix according to
+https://wiki.haskell.org/Functor-Applicative-Monad_Proposal#Missing_superclasses
+---
+ Distribution/ArchLinux/PkgBuild.hs | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Distribution/ArchLinux/PkgBuild.hs b/Distribution/ArchLinux/PkgBuild.hs
+index 487ed9e..6801531 100644
+--- a/Distribution/ArchLinux/PkgBuild.hs
++++ b/Distribution/ArchLinux/PkgBuild.hs
+@@ -32,8 +32,8 @@ import Data.List
+ import Data.Monoid hiding ((<>))
+ import Debug.Trace
+
++import Control.Applicative (Applicative(..))
+ import Control.Monad
+-import Control.Monad.Instances
+ import Data.Char
+
+
+@@ -288,6 +288,10 @@ newtype GetPKG a = GetPKG { un :: String -> Either String (a,String) }
+
+ instance Functor GetPKG where fmap = liftM
+
++instance Applicative GetPKG where
++ pure = return
++ (<*>) = ap
++
+ instance Monad GetPKG where
+ return x = GetPKG (\s -> Right (x,s))
+ fail x = GetPKG (\_ -> Left x)
+--
+2.10.2
+
diff --git a/PKGBUILD b/PKGBUILD
index 0d8ced2c6875..83f688396f71 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,7 +17,8 @@ depends=("ghc")
options=('strip' 'staticlibs')
source=("http://hackage.haskell.org/packages/${_hkgname}-${pkgver}/${_hkgname}-${pkgver}.tar.gz"
"Hide_Data-Monoid_function.patch"
- "Add_FlexibleInstances.patch")
+ "Add_FlexibleInstances.patch"
+ "Adapt_to_Applicative-Monad.patch")
install="${pkgname}.install"
prepare() {
@@ -25,6 +26,7 @@ prepare() {
patch -Np1 -i "${srcdir}/Hide_Data-Monoid_function.patch"
patch -Np1 -i "${srcdir}/Add_FlexibleInstances.patch"
+ patch -Np1 -i "${srcdir}/Adapt_to_Applicative-Monad.patch"
}
build() {
@@ -52,4 +54,5 @@ package() {
}
md5sums=('13b2e9336b31b3f7a3e5410308023ae5'
'db16c7d948f0aed4909ae6a0bf7180a8'
- '6a9bed2c0bb13fbc925a40c4571a7330')
+ '6a9bed2c0bb13fbc925a40c4571a7330'
+ '444868f76ba946afc96676eb47be1b81')