Merge branch 'master' into staging-next

Larger rebuild, probably mainly haskell.
Hydra nixpkgs: ?compare=1503325
This commit is contained in:
Vladimír Čunát
2019-02-02 17:13:11 +01:00
58 changed files with 1739 additions and 466 deletions
@@ -85,7 +85,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version;
sha256 = "0vww2qf94a6dg46mynkgpk0lh3x12vvfby3flqymi4wfrx1fif1k";
sha256 = "06385r9rlncrrmzdfl8q600bw6plbvkmkwgl3llg595xrm711a97";
};
}).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -935,7 +935,12 @@ self: super: {
# aarch64 and armv7l fixes.
happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
hashable = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95
servant-docs = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-docs else super.servant-docs;
servant-docs =
let
f = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64)
then dontCheck
else pkgs.lib.id;
in doJailbreak (f super.servant-docs); # jailbreak tasty < 1.2 until servant-docs > 0.11.3 is on hackage.
swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
# requires a release including https://github.com/haskell-servant/servant-swagger/commit/249530d9f85fe76dfb18b100542f75a27e6a3079
@@ -1182,4 +1187,16 @@ self: super: {
hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_21_0; });
hoogle = super.hoogle.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_21_0; });
# Jailbreak tasty < 1.2: https://github.com/phadej/tdigest/issues/30
tdigest = doJailbreak super.tdigest; # until tdigest > 0.2.1
# These patches contain fixes for 8.6 that should be safe for
# earlier versions, but we need the relaxed version bounds in GHC
# 8.4 builds. beam needs to release a round of updates that relax
# bounds and include the 8.6 fixes:
# https://github.com/tathougies/beam/issues/315
beam-core = appendPatch super.beam-core ./patches/beam-core-fix-ghc-8.6.x-build.patch;
beam-migrate = appendPatch super.beam-migrate ./patches/beam-migrate-fix-ghc-8.6.x-build.patch;
beam-postgres = appendPatch super.beam-postgres ./patches/beam-postgres-fix-ghc-8.6.x-build.patch;
beam-sqlite = appendPatch super.beam-sqlite ./patches/beam-sqlite-fix-ghc-8.6.x-build.patch;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
@@ -76,4 +76,7 @@ self: super: {
haddock-library = dontHaddock (dontCheck self.haddock-library_1_5_0_1);
}));
# cabal2nix doesn't list this because of a conditional on the GHC version.
aeson = addBuildDepend super.aeson self.contravariant;
}
@@ -35,7 +35,6 @@ self: super: {
integer-gmp = null;
libiserv = null;
mtl = null;
parallel = null;
parsec = null;
pretty = null;
process = null;
@@ -377,6 +377,10 @@ stdenv.mkDerivation ({
runHook postHaddock
'';
# The scary sed expression handles two cases in v2.5 Cabal's package configs:
# 1. 'id: short-name-0.0.1-9yvw8HF06tiAXuxm5U8KjO'
# 2. 'id:\n
# very-long-descriptive-useful-name-0.0.1-9yvw8HF06tiAXuxm5U8KjO'
installPhase = ''
runHook preInstall
@@ -391,7 +395,7 @@ stdenv.mkDerivation ({
rmdir "$packageConfFile"
fi
for packageConfFile in "$packageConfDir/"*; do
local pkgId=$( ${gnused}/bin/sed -n -e 's|^id:[ ]\+||p' $packageConfFile )
local pkgId=$( ${gnused}/bin/sed -n -e ':a' -e '/^id:$/N; s/id:\n[ ]*\([^\n]*\).*$/\1/p; s/id:[ ]*\([^\n]*\)$/\1/p; ta' $packageConfFile )
mv $packageConfFile $packageConfDir/$pkgId.conf
done
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,72 @@
diff --git a/beam-core/Database/Beam/Backend/SQL.hs b/beam-core/Database/Beam/Backend/SQL.hs
index e2cd37d0..6f9db126 100644
--- a/Database/Beam/Backend/SQL.hs
+++ b/Database/Beam/Backend/SQL.hs
@@ -10,6 +10,7 @@
import Database.Beam.Backend.Types
import Control.Monad.IO.Class
+import Control.Monad.Fail (MonadFail)
-- * MonadBeam class
@@ -29,7 +30,7 @@
-- strategies. More complicated strategies (for example, Postgres's @COPY@)
-- are supported in individual backends. See the documentation of those
-- backends for more details.
-class (BeamBackend be, Monad m, MonadIO m, Sql92SanityCheck syntax) =>
+class (BeamBackend be, Monad m, MonadIO m, MonadFail m, Sql92SanityCheck syntax) =>
MonadBeam syntax be handle m | m -> syntax be handle where
{-# MINIMAL withDatabaseDebug, runReturningMany #-}
diff --git a/Database/Beam/Backend/SQL/Builder.hs b/Database/Beam/Backend/SQL/Builder.hs
index 9e734036..e9849912 100644
--- a/Database/Beam/Backend/SQL/Builder.hs
+++ b/Database/Beam/Backend/SQL/Builder.hs
@@ -33,6 +33,7 @@
import Data.Hashable
import Data.Int
import Data.String
+import qualified Control.Monad.Fail as Fail
#if !MIN_VERSION_base(4, 11, 0)
import Data.Semigroup
#endif
@@ -507,8 +508,10 @@
type BackendFromField SqlSyntaxBackend = Trivial
newtype SqlSyntaxM a = SqlSyntaxM (IO a)
- deriving (Applicative, Functor, Monad, MonadIO)
+ deriving (Applicative, Functor, Monad, MonadIO, Fail.MonadFail)
instance MonadBeam SqlSyntaxBuilder SqlSyntaxBackend SqlSyntaxBackend SqlSyntaxM where
- withDatabaseDebug _ _ _ = fail "absurd"
- runReturningMany _ _ = fail "absurd"
+ withDatabaseDebug _ _ _ = Fail.fail "absurd"
+ runReturningMany _ _ = Fail.fail "absurd"
+
+
diff --git a/Database/Beam/Schema/Lenses.hs b/Database/Beam/Schema/Lenses.hs
index b21dddb6..5df0654c 100644
--- a/Database/Beam/Schema/Lenses.hs
+++ b/Database/Beam/Schema/Lenses.hs
@@ -1,4 +1,5 @@
{-# LANGUAGE PolyKinds #-}
+{-# LANGUAGE UndecidableInstances #-}
module Database.Beam.Schema.Lenses
( tableLenses
, TableLens(..)
diff --git a/beam-core.cabal b/beam-core.cabal
index 4bf4ffd9..251d4d85 100644
--- a/beam-core.cabal
+++ b/beam-core.cabal
@@ -64,8 +64,8 @@
time >=1.6 && <1.10,
hashable >=1.1 && <1.3,
network-uri >=2.6 && <2.7,
- containers >=0.5 && <0.6,
- vector-sized >=0.5 && <1.1,
+ containers >=0.5 && <0.7,
+ vector-sized >=0.5 && <1.3,
tagged >=0.8 && <0.9
Default-language: Haskell2010
default-extensions: ScopedTypeVariables, OverloadedStrings, GADTs, RecursiveDo, FlexibleInstances, FlexibleContexts, TypeFamilies,
@@ -0,0 +1,29 @@
diff --git a/Database/Beam/Migrate/Generics/Types.hs b/Database/Beam/Migrate/Generics/Types.hs
index 553e208b..0cf9b2c8 100644
--- a/Database/Beam/Migrate/Generics/Types.hs
+++ b/Database/Beam/Migrate/Generics/Types.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE UndecidableInstances #-}
+
module Database.Beam.Migrate.Generics.Types where
import Database.Beam.Migrate.Types
diff --git a/beam-migrate.cabal b/beam-migrate.cabal
index f53b280d..9cf3722c 100644
--- a/beam-migrate.cabal
+++ b/beam-migrate.cabal
@@ -69,13 +69,12 @@ library
mtl >=2.2 && <2.3,
scientific >=0.3 && <0.4,
vector >=0.11 && <0.13,
- containers >=0.5 && <0.6,
unordered-containers >=0.2 && <0.3,
hashable >=1.2 && <1.3,
parallel >=3.2 && <3.3,
deepseq >=1.4 && <1.5,
ghc-prim >=0.5 && <0.6,
- containers >=0.5 && <0.6,
+ containers >=0.5 && <0.7,
haskell-src-exts >=1.18 && <1.21,
pretty >=1.1 && <1.2,
dependent-map >=0.2 && <0.3,
@@ -0,0 +1,45 @@
diff --git a/Database/Beam/Postgres/Connection.hs b/Database/Beam/Postgres/Connection.hs
index 433f55b9..5836c53d 100644
--- a/Database/Beam/Postgres/Connection.hs
+++ b/Database/Beam/Postgres/Connection.hs
@@ -52,6 +52,8 @@ import qualified Database.PostgreSQL.Simple.Types as Pg (Null(..), Query(..))
import Control.Monad.Reader
import Control.Monad.State
+import Control.Monad.Fail (MonadFail)
+import qualified Control.Monad.Fail as Fail
import Data.ByteString (ByteString)
import Data.ByteString.Builder (toLazyByteString, byteString)
@@ -302,6 +304,9 @@ deriving instance Functor PgF
newtype Pg a = Pg { runPg :: F PgF a }
deriving (Monad, Applicative, Functor, MonadFree PgF)
+instance MonadFail Pg where
+ fail e = fail $ "Internal Error with: " <> show e
+
instance MonadIO Pg where
liftIO x = liftF (PgLiftIO x id)
diff --git a/beam-postgres.cabal b/beam-postgres.cabal
index e14b84f5..d29a5b67 100644
--- a/beam-postgres.cabal
+++ b/beam-postgres.cabal
@@ -31,7 +31,7 @@ library
beam-migrate >=0.3 && <0.4,
postgresql-libpq >=0.8 && <0.10,
- postgresql-simple >=0.5 && <0.6,
+ postgresql-simple >=0.5 && <0.7,
text >=1.0 && <1.3,
bytestring >=0.10 && <0.11,
@@ -38,7 +38,7 @@ library
hashable >=1.1 && <1.3,
lifted-base >=0.2 && <0.3,
- free >=4.12 && <5.1,
+ free >=4.12 && <5.2,
time >=1.6 && <1.10,
monad-control >=1.0 && <1.1,
mtl >=2.1 && <2.3,
@@ -0,0 +1,21 @@
diff --git a/Database/Beam/Sqlite/Connection.hs b/Database/Beam/Sqlite/Connection.hs
index f034b272..4e459ea3 100644
--- a/Database/Beam/Sqlite/Connection.hs
+++ b/Database/Beam/Sqlite/Connection.hs
@@ -37,6 +37,7 @@ import Database.SQLite.Simple.Types (Null)
import Control.Exception (bracket_, onException, mask)
import Control.Monad (forM_, replicateM_)
+import Control.Monad.Fail (MonadFail)
import Control.Monad.Free.Church
import Control.Monad.IO.Class (MonadIO(..))
import Control.Monad.Identity (Identity)
@@ -143,7 +144,7 @@ newtype SqliteM a
{ runSqliteM :: ReaderT (String -> IO (), Connection) IO a
-- ^ Run an IO action with access to a SQLite connection and a debug logging
-- function, called or each query submitted on the connection.
- } deriving (Monad, Functor, Applicative, MonadIO)
+ } deriving (Monad, Functor, Applicative, MonadIO, MonadFail)
newtype BeamSqliteParams = BeamSqliteParams [SQLData]
instance ToRow BeamSqliteParams where