Date: Friday, October 28, 2022 @ 20:23:55
Author: felixonmars
Revision: 1338448
archrelease: copy trunk to community-x86_64
Added:
dice/repos/community-x86_64/PKGBUILD
(from rev 1338447, dice/trunk/PKGBUILD)
Deleted:
dice/repos/community-x86_64/0001-Support-GHC-9.patch
dice/repos/community-x86_64/PKGBUILD
--------------------------+
0001-Support-GHC-9.patch | 225 ---------------------------------------------
PKGBUILD | 87 ++++++++---------
2 files changed, 40 insertions(+), 272 deletions(-)
Deleted: 0001-Support-GHC-9.patch
===================================================================
--- 0001-Support-GHC-9.patch 2022-10-28 20:23:47 UTC (rev 1338447)
+++ 0001-Support-GHC-9.patch 2022-10-28 20:23:55 UTC (rev 1338448)
@@ -1,225 +0,0 @@
-From 26edbdb319d61e37bf421fd5bc47c04521b3c9f0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Na=C3=AFm=20Favier?= <[email protected]>
-Date: Tue, 22 Feb 2022 18:25:11 +0100
-Subject: [PATCH] Support GHC 9
-
----
- dice.cabal | 3 +-
- src/Data/Random/Dice.hs | 64 +++++++++++++++++++----------------------
- 2 files changed, 32 insertions(+), 35 deletions(-)
-
-diff --git a/dice.cabal b/dice.cabal
-index 56d6b63..68ca236 100644
---- a/dice.cabal
-+++ b/dice.cabal
-@@ -28,8 +28,9 @@ source-repository head
- Library
- hs-source-dirs: src
- exposed-modules: Data.Random.Dice
-- build-depends: base >= 3 && < 5, random-fu, parsec, transformers
-+ build-depends: base >= 3 && < 5, random-fu >= 0.3.0.0, mwc-random,
parsec, mtl
-
- Executable dice
- hs-source-dirs: src
-+ other-modules: Data.Random.Dice
- main-is: Dice.hs
-diff --git a/src/Data/Random/Dice.hs b/src/Data/Random/Dice.hs
-index 8cb5a33..3a2ec8f 100644
---- a/src/Data/Random/Dice.hs
-+++ b/src/Data/Random/Dice.hs
-@@ -1,11 +1,13 @@
- {-# LANGUAGE CPP #-}
-+{-# LANGUAGE FlexibleContexts #-}
- module Data.Random.Dice where
-
- import Data.Random
- import Data.Random.Distribution.Uniform (integralUniform)
-+import System.Random.MWC (createSystemRandom, UniformRange)
-
- import Control.Monad
--import Control.Monad.Trans.Error
-+import Control.Monad.Except
- import Data.Functor.Identity
- import Data.Ratio
- import Data.List
-@@ -32,7 +34,7 @@ instance Functor Expr where
- fmap f = foldExpr (\s x -> Const s (f x)) Plus Minus Times Divide
-
- foldExpr c (+) (-) (*) (/) {-(#)-} = fold
-- where
-+ where
- fold (Const s a) = c s a
- fold (Plus x y) = fold x + fold y
- fold (Minus x y) = fold x - fold y
-@@ -45,24 +47,16 @@ evalExprWithDiv (/) = foldExpr (const return) (liftM2 (+))
(liftM2 (-)) (liftM2
- where
- divM x y = join (liftM2 (/) x y)
-
--#if __GLASGOW_HASKELL__ < 808
--evalFractionalExpr :: (Eq a, Fractional a, Monad m) => Expr a -> m a
--#else
--evalFractionalExpr :: (Eq a, Fractional a, MonadFail m) => Expr a -> m a
--#endif
-+evalFractionalExpr :: (Eq a, Fractional a, MonadError String m) => Expr a ->
m a
- evalFractionalExpr = evalExprWithDiv divM
- where
-- divM x 0 = fail "Divide by zero!"
-+ divM x 0 = throwError "Divide by zero!"
- divM x y = return (x / y)
-
--#if __GLASGOW_HASKELL__ < 808
--evalIntegralExpr :: (Integral a, Monad m) => Expr a -> m a
--#else
--evalIntegralExpr :: (Integral a, MonadFail m) => Expr a -> m a
--#endif
-+evalIntegralExpr :: (Integral a, MonadError String m) => Expr a -> m a
- evalIntegralExpr = evalExprWithDiv divM
- where
-- divM x 0 = fail "Divide by zero!"
-+ divM x 0 = throwError "Divide by zero!"
- divM x y = return (div x y)
-
- ----------------------------------------------------------------
-@@ -86,7 +80,7 @@ runExpr (Divide x y) = commute Divide x y
-
- fmtIntegralExpr :: (Show a, Integral a) => Expr a -> String
- fmtIntegralExpr (Const _ e) = show e
--fmtIntegralExpr e =
-+fmtIntegralExpr e =
- showParen True (fmtExprPrec showScalarConst e 0)
- . showString " => "
- . showError (evalIntegralExpr e)
-@@ -95,7 +89,7 @@ fmtIntegralExpr e =
- fmtIntegralListExpr :: (Show a, Integral a) => Expr [a] -> String
- fmtIntegralListExpr (Const _ []) = "0"
- fmtIntegralListExpr (Const _ [e]) = show e
--fmtIntegralListExpr e =
-+fmtIntegralListExpr e =
- showParen True (fmtExprPrec showListConst e 0)
- . showString " => "
- . showError (evalIntegralExpr (fmap sum e))
-@@ -104,7 +98,7 @@ fmtIntegralListExpr e =
- fmtSimple :: (Integral a, Show a) => Expr [a] -> String
- fmtSimple (Const _ []) = "0"
- fmtSimple (Const _ [e]) = show e
--fmtSimple e =
-+fmtSimple e =
- showParen False (fmtExprPrec showSimpleListConst e 0)
- . showString " => "
- . showError (evalIntegralExpr (fmap sum e))
-@@ -130,11 +124,11 @@ showSimpleListConst = showSimpleConst showsPrec
-
- showSimpleRationalConst = showSimpleConst showRational
-
--showError :: Show a => ErrorT String Identity a -> ShowS
-+showError :: Show a => ExceptT String Identity a -> ShowS
- showError = showErrorWith shows
-
--showErrorWith f (ErrorT (Identity (Left e))) = showString e
--showErrorWith f (ErrorT (Identity (Right x))) = f x
-+showErrorWith f (ExceptT (Identity (Left e))) = showString e
-+showErrorWith f (ExceptT (Identity (Right x))) = f x
-
- showDouble :: Double -> ShowS
- showDouble d = showString (trim (printf "%.04g" d))
-@@ -143,12 +137,12 @@ showDouble d = showString (trim (printf "%.04g" d))
- showRational p d
- | denominator d == 1 = shows (numerator d)
- | otherwise = showParen (p > 7)
-- ( shows (numerator d)
-+ ( shows (numerator d)
- . showChar '/'
- . shows (denominator d)
- )
-
--showRationalWithDouble d
-+showRationalWithDouble d
- | isInt = showRational 0 d
- | otherwise = showRational 0 d
- . showString " => "
-@@ -171,7 +165,9 @@ rollEm :: String -> IO (Either ParseError String)
- rollEm str = case parseExpr "rollEm" str of
- Left err -> return (Left err)
- Right ex -> do
-- ex <- sample $ runExpr ex :: IO (Expr [Integer])
-+ ex <- do
-+ mwc <- createSystemRandom
-+ sampleFrom mwc $ runExpr ex :: IO (Expr [Integer])
- return (Right (fmtSimpleRational (fmap (summarizeRollsOver 3) ex)))
- -- return (Right (fmtIntegralListExpr ex))
-
-@@ -180,7 +176,7 @@ summarizeRollsOver n xs
- | null (drop n xs) = xs
- | otherwise = [sum xs]
-
--roll :: (Integral a) => a -> a -> RVar [a]
-+roll :: (Integral a, UniformRange a) => a -> a -> RVar [a]
- roll count sides
- | count > 100 = do
- x <- stdNormal :: RVar Double
-@@ -196,38 +192,38 @@ roll count sides
- ----------------------------------------------------------------
- -- The parser
-
--parseExpr :: (Integral a) => String -> String -> Either ParseError (Expr
(RVar [a]))
-+parseExpr :: (Integral a, UniformRange a) => String -> String -> Either
ParseError (Expr (RVar [a]))
- parseExpr src str = runParser expr False src str
-
- -- a token-lexer thing
- diceLang :: TokenParser st
--diceLang = makeTokenParser
-+diceLang = makeTokenParser
- (haskellStyle { reservedOpNames = ["*","/","+","-"{-,"#"-}] })
-
--expr :: (Integral a) => CharParser Bool (Expr (RVar [a]))
-+expr :: (Integral a, UniformRange a) => CharParser Bool (Expr (RVar [a]))
- expr = do
- whiteSpace diceLang
- e <- term
- eof
--
-+
- hasRolls <- getState
- if hasRolls
- then return e
- else fail "no rolls in expression"
-
--term :: (Integral a) => CharParser Bool (Expr (RVar [a]))
-+term :: (Integral a, UniformRange a) => CharParser Bool (Expr (RVar [a]))
- term = buildExpressionParser table primExp
- where table =
-- [ [binary "*" Times AssocLeft, binary "/" Divide AssocLeft ]
-+ [ [binary "*" Times AssocLeft, binary "/" Divide AssocLeft ]
- , [binary "+" Plus AssocLeft, binary "-" Minus AssocLeft ]
- -- , [binary "#" Repeat AssocRight]
- ]
- binary name fun assoc = Infix (do{ reservedOp diceLang name;
return fun }) assoc
-
--primExp :: (Integral a) => CharParser Bool (Expr (RVar [a]))
-+primExp :: (Integral a, UniformRange a) => CharParser Bool (Expr (RVar [a]))
- primExp = try dieExp <|> numExp <|> parens diceLang term
-
--dieExp :: (Integral a) => CharParser Bool (Expr (RVar [a]))
-+dieExp :: (Integral a, UniformRange a) => CharParser Bool (Expr (RVar [a]))
- dieExp = do
- (cStr, count) <- option ("", 1) number
- (sStr, sides) <- char 'd' >> positiveNumber
-@@ -235,7 +231,7 @@ dieExp = do
- return (Const (cStr ++ 'd' : sStr) (roll (fromInteger count) (fromInteger
sides)))
-
- numExp :: Num a => CharParser st (Expr (RVar [a]))
--numExp = do
-+numExp = do
- (str, num) <- number
- return (Const str (return [fromInteger num]))
-
-@@ -249,4 +245,4 @@ positiveNumber :: CharParser st (String, Integer)
- positiveNumber = do
- (s,n) <- number
- guard (n>0)
-- return (s,n)
-\ No newline at end of file
-+ return (s,n)
---
-2.35.1
-
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2022-10-28 20:23:47 UTC (rev 1338447)
+++ PKGBUILD 2022-10-28 20:23:55 UTC (rev 1338448)
@@ -1,47 +0,0 @@
-# Maintainer: Felix Yan <[email protected]>
-# Contributor: Jonathan Birk <[email protected]>
-
-pkgname=dice
-pkgver=0.1.0.1
-pkgrel=33
-pkgdesc="Simplistic D&D style dice-rolling system."
-url='https://github.com/lambdabot/dice'
-license=("custom:PublicDomain")
-arch=('x86_64')
-depends=('ghc-libs' 'haskell-mwc-random' 'haskell-random-fu')
-makedepends=('ghc')
-source=("https://hackage.haskell.org/packages/archive/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz"
- "0001-Support-GHC-9.patch")
-sha256sums=('c336edc4fd27b5700507cbe4c6a153c4f047ab51264a911ad07b383ef064cbcb'
- '50aa1ca162fcbf681299b28636e10c58ad304de433b37d2d29dcd6b5d5230ae5')
-
-prepare() {
- cd $pkgname-$pkgver
- patch -p1 < ../0001-Support-GHC-9.patch
-}
-
-build() {
- cd $pkgname-$pkgver
-
- runhaskell Setup configure -O --enable-shared --enable-executable-dynamic
--disable-library-vanilla \
- --prefix=/usr --docdir=/usr/share/doc/$pkgname --datasubdir=$pkgname
--enable-tests \
- --dynlibdir=/usr/lib --libsubdir=\$compiler/site-local/\$pkgid
--ghc-option=-fllvm
- runhaskell Setup build $MAKEFLAGS
- runhaskell Setup register --gen-script
- runhaskell Setup unregister --gen-script
- sed -i -r -e "s|ghc-pkg.*update[^ ]* |&'--force' |" register.sh
- sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
-}
-
-check() {
- cd $pkgname-$pkgver
- runhaskell Setup test --show-details=direct
-}
-
-package() {
- cd $pkgname-$pkgver
-
- install -D -m744 register.sh
"$pkgdir"/usr/share/haskell/register/$pkgname.sh
- install -D -m744 unregister.sh
"$pkgdir"/usr/share/haskell/unregister/$pkgname.sh
- runhaskell Setup copy --destdir="$pkgdir"
-}
Copied: dice/repos/community-x86_64/PKGBUILD (from rev 1338447,
dice/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2022-10-28 20:23:55 UTC (rev 1338448)
@@ -0,0 +1,40 @@
+# Maintainer: Felix Yan <[email protected]>
+# Contributor: Jonathan Birk <[email protected]>
+
+pkgname=dice
+pkgver=0.1.1
+pkgrel=1
+pkgdesc="Simplistic D&D style dice-rolling system."
+url='https://github.com/ncfavier/dice'
+license=("custom:PublicDomain")
+arch=('x86_64')
+depends=('ghc-libs' 'haskell-random' 'haskell-random-fu')
+makedepends=('ghc')
+source=("https://hackage.haskell.org/packages/archive/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz")
+sha256sums=('4bdf2e4b3afc2dd96b03e200efb83d26180332c303c7ec5912974b163b4181f8')
+
+build() {
+ cd $pkgname-$pkgver
+
+ runhaskell Setup configure -O --enable-shared --enable-executable-dynamic
--disable-library-vanilla \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --datasubdir=$pkgname
--enable-tests \
+ --dynlibdir=/usr/lib --libsubdir=\$compiler/site-local/\$pkgid
--ghc-option=-fllvm
+ runhaskell Setup build $MAKEFLAGS
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*update[^ ]* |&'--force' |" register.sh
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+check() {
+ cd $pkgname-$pkgver
+ runhaskell Setup test --show-details=direct
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ install -D -m744 register.sh
"$pkgdir"/usr/share/haskell/register/$pkgname.sh
+ install -D -m744 unregister.sh
"$pkgdir"/usr/share/haskell/unregister/$pkgname.sh
+ runhaskell Setup copy --destdir="$pkgdir"
+}