diff --git a/pkgs/applications/science/logic/sad/default.nix b/pkgs/applications/science/logic/sad/default.nix
index 51ea9b9c0e7..426f1928938 100644
--- a/pkgs/applications/science/logic/sad/default.nix
+++ b/pkgs/applications/science/logic/sad/default.nix
@@ -7,7 +7,12 @@ stdenv.mkDerivation {
sha256 = "10jd93xgarik7xwys5lq7fx4vqp7c0yg1gfin9cqfch1k1v8ap4b";
};
buildInputs = [ ghc spass ];
- patches = [ ./patch ];
+ patches = [
+ ./patch
+ # Since the LTS 12.0 update, <> is an operator in Prelude, colliding with
+ # the <> operator with a different meaning defined by this package
+ ./monoid.patch
+ ];
postPatch = ''
substituteInPlace Alice/Main.hs --replace init.opt $out/init.opt
'';
@@ -23,7 +28,7 @@ stdenv.mkDerivation {
meta = {
description = "A program for automated proving of mathematical texts";
longDescription = ''
- The system for automated deduction is intended for automated processing of formal mathematical texts
+ The system for automated deduction is intended for automated processing of formal mathematical texts
written in a special language called ForTheL (FORmal THEory Language) or in a traditional first-order language
'';
license = stdenv.lib.licenses.gpl3Plus;
diff --git a/pkgs/applications/science/logic/sad/monoid.patch b/pkgs/applications/science/logic/sad/monoid.patch
new file mode 100644
index 00000000000..da9c21bcae9
--- /dev/null
+++ b/pkgs/applications/science/logic/sad/monoid.patch
@@ -0,0 +1,51 @@
+diff --git a/Alice/Core/Check.hs b/Alice/Core/Check.hs
+index 0700fa0388f..69815864710 100644
+--- a/Alice/Core/Check.hs
++++ b/Alice/Core/Check.hs
+@@ -18,8 +18,12 @@
+ - along with this program. If not, see .
+ -}
+
++{-# LANGUAGE NoImplicitPrelude #-}
++
+ module Alice.Core.Check (fillDef) where
+
++import Prelude hiding ((<>))
++
+ import Control.Monad
+ import Data.Maybe
+
+diff --git a/Alice/Core/Reason.hs b/Alice/Core/Reason.hs
+index c361bcf220d..4e493d8c91b 100644
+--- a/Alice/Core/Reason.hs
++++ b/Alice/Core/Reason.hs
+@@ -17,9 +17,12 @@
+ - You should have received a copy of the GNU General Public License
+ - along with this program. If not, see .
+ -}
++{-# LANGUAGE NoImplicitPrelude #-}
+
+ module Alice.Core.Reason where
+
++import Prelude hiding ((<>))
++
+ import Control.Monad
+
+ import Alice.Core.Base
+diff --git a/Alice/Core/Verify.hs b/Alice/Core/Verify.hs
+index 4f8550bdf11..0f59d135b16 100644
+--- a/Alice/Core/Verify.hs
++++ b/Alice/Core/Verify.hs
+@@ -18,8 +18,12 @@
+ - along with this program. If not, see .
+ -}
+
++{-# LANGUAGE NoImplicitPrelude #-}
++
+ module Alice.Core.Verify (verify) where
+
++import Prelude hiding ((<>))
++
+ import Control.Monad
+ import Data.IORef
+ import Data.Maybe