guix/gnu/packages/patches/ghc-persistent-fix-32bit.patch
Efraim Flashner 59fdbbb717
gnu: ghc-persistent: Fix build on i686-linux.
* gnu/packages/haskell-xyz.scm (ghc-persistent)[source]: Add patch.
* gnu/packages/patches/ghc-persistent-fix-32bit.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I1b2c8419f3136d6c9df772d7c7abdc83a80d6112
2023-11-15 18:03:02 +02:00

25 lines
1 KiB
Diff

https://sources.debian.org/data/main/h/haskell-persistent/2.13.3.5-2/debian/patches/fix-tests-32-bit
Inspired by: https://github.com/yesodweb/persistent/pull/1429
--- a/test/Database/Persist/THSpec.hs
+++ b/test/Database/Persist/THSpec.hs
@@ -25,6 +25,7 @@ module Database.Persist.THSpec where
import Control.Applicative (Const(..))
import Data.Aeson (decode, encode)
+import Data.Bits (bitSizeMaybe)
import Data.ByteString.Lazy.Char8 ()
import Data.Coerce
import Data.Functor.Identity (Identity(..))
@@ -237,7 +238,10 @@ spec = describe "THSpec" $ do
it "should have usual haskell name" $ do
fieldHaskell `shouldBe` FieldNameHS "Id"
it "should have correct underlying sql type" $ do
- fieldSqlType `shouldBe` SqlInt64
+ fieldSqlType `shouldBe`
+ if bitSizeMaybe (0 :: Int) <= Just 32
+ then SqlInt32
+ else SqlInt64
it "should have correct haskell type" $ do
fieldType `shouldBe` FTTypeCon Nothing "Int"