summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Birk2022-03-18 18:26:20 +0000
committerJonathan Birk2022-03-18 18:26:20 +0000
commit4548a5007483d12845d986acb722b4917a605a11 (patch)
treeb1098e169a03b217099921786c42bb04e1d5f785
downloadaur-haskell-lambdabot-novelty-plugins.tar.gz
Initial commit
-rw-r--r--.SRCINFO22
-rw-r--r--0001-Support-GHC-9.patch131
-rw-r--r--PKGBUILD49
3 files changed, 202 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e0121180edf3
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = haskell-lambdabot-novelty-plugins
+ pkgdesc = Novelty plugins for Lambdabot
+ pkgver = 5.3.0.2
+ pkgrel = 1
+ url = https://wiki.haskell.org/Lambdabot
+ arch = x86_64
+ license = custom:GPL
+ makedepends = ghc
+ depends = ghc-libs
+ depends = haskell-brainfuck
+ depends = dice
+ depends = haskell-lambdabot-core
+ depends = misfortune
+ depends = haskell-random-fu
+ depends = haskell-regex-tdfa
+ depends = unlambda
+ source = https://hackage.haskell.org/packages/archive/lambdabot-novelty-plugins/5.3.0.2/lambdabot-novelty-plugins-5.3.0.2.tar.gz
+ source = 0001-Support-GHC-9.patch
+ sha256sums = e0648f10e4761e982d6d1d09b70fd9655070867a99f09f9619e5cc0027d43827
+ sha256sums = e3210154fe1ac2e4125a51526060efefb332e59239235317c6428e0626b254bc
+
+pkgname = haskell-lambdabot-novelty-plugins
diff --git a/0001-Support-GHC-9.patch b/0001-Support-GHC-9.patch
new file mode 100644
index 000000000000..748bf1461da7
--- /dev/null
+++ b/0001-Support-GHC-9.patch
@@ -0,0 +1,131 @@
+From 4fabc3770f5b91987825c8aac22714042ec1c52c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Na=C3=AFm=20Favier?= <n@monade.li>
+Date: Tue, 22 Feb 2022 18:52:56 +0100
+Subject: [PATCH] Support GHC 9
+
+---
+ .../lambdabot-novelty-plugins.cabal | 7 +++---
+ .../src/Lambdabot/Plugin/Novelty/Dice.hs | 25 ++++++++++---------
+ .../Lambdabot/Plugin/Novelty/Numberwang.hs | 6 +++--
+ .../src/Lambdabot/Plugin/Novelty/Quote.hs | 5 ++--
+ 4 files changed, 24 insertions(+), 19 deletions(-)
+
+diff --git a/lambdabot-novelty-plugins/lambdabot-novelty-plugins.cabal b/lambdabot-novelty-plugins/lambdabot-novelty-plugins.cabal
+index 69c8447..88cc5cd 100644
+--- a/lambdabot-novelty-plugins/lambdabot-novelty-plugins.cabal
++++ b/lambdabot-novelty-plugins/lambdabot-novelty-plugins.cabal
+@@ -66,12 +66,13 @@ library
+ binary >= 0.5,
+ bytestring >= 0.9,
+ containers >= 0.4,
+- dice >= 0.1,
++ -- dice >= 0.1,
+ directory >= 1.1,
+ lambdabot-core >= 5.3 && < 5.4,
+- misfortune >= 0.1,
++ -- misfortune >= 0.1,
++ mwc-random >= 0.15.0.0,
+ process >= 1.1,
+- random-fu >= 0.2.6.2,
++ random-fu >= 0.3.0.0,
+ regex-tdfa >= 1.1,
+
+ -- runtime dependencies
+diff --git a/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Dice.hs b/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Dice.hs
+index 246f234..a71d0cf 100644
+--- a/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Dice.hs
++++ b/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Dice.hs
+@@ -8,7 +8,7 @@ import Lambdabot.Plugin
+ import Lambdabot.Util
+
+ import Data.List
+-import Data.Random.Dice (rollEm)
++-- import Data.Random.Dice (rollEm)
+
+ type Dice = ModuleT () LB
+
+@@ -26,14 +26,15 @@ dicePlugin = newModule
+
+ doDice :: Bool -> String -> Cmd Dice ()
+ doDice printErrs text = do
+- user <- showNick =<< getSender
+- result <- io (rollEm text)
+- case result of
+- Left err -> if printErrs
+- then say (trimError err)
+- else return ()
+- Right str ->
+- say (limitStr 75 (user ++ ": " ++ str))
+-
+- where
+- trimError = concat . intersperse ": " . tail . lines . show
++ say "dice is temporarily disabled"
++ -- user <- showNick =<< getSender
++ -- result <- io (rollEm text)
++ -- case result of
++ -- Left err -> if printErrs
++ -- then say (trimError err)
++ -- else return ()
++ -- Right str ->
++ -- say (limitStr 75 (user ++ ": " ++ str))
++ --
++ -- where
++ -- trimError = concat . intersperse ": " . tail . lines . show
+diff --git a/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Numberwang.hs b/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Numberwang.hs
+index ae41eb4..7264278 100644
+--- a/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Numberwang.hs
++++ b/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Numberwang.hs
+@@ -7,7 +7,9 @@ import Control.Monad
+ import Data.Random
+ import Data.Random.Distribution.Poisson
+ import Lambdabot.Plugin
++import Lambdabot.Util
+ import Numeric
++import System.Random.MWC
+
+
+ data NumberwangState = State
+@@ -23,7 +25,7 @@ conDist = poisson (32 :: Double)
+
+ numberwangPlugin :: Module NumberwangState
+ numberwangPlugin = newModule
+- { moduleDefState = sample (State <$> cmdDist <*> conDist)
++ { moduleDefState = io $ flip sampleFrom (State <$> cmdDist <*> conDist) =<< createSystemRandom
+ , moduleCmds = return
+ [ (command "numberwang")
+ { help = say "@numberwang <number>: Determines if it is Numberwang."
+@@ -61,7 +63,7 @@ checkNumberwang :: (MonadLBState m, LBState m ~ NumberwangState) =>
+ checkNumberwang cmd l = withState cmd $ \ n setN nDist -> do
+ if n <= l
+ then do
+- setN =<< lb (sample nDist)
++ setN =<< io (flip sampleFrom nDist =<< createSystemRandom)
+ return True
+ else do
+ setN (n - l)
+diff --git a/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Quote.hs b/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Quote.hs
+index 022dbfd..fe93505 100644
+--- a/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Quote.hs
++++ b/lambdabot-novelty-plugins/src/Lambdabot/Plugin/Novelty/Quote.hs
+@@ -9,7 +9,7 @@ import Lambdabot.Util
+
+ import qualified Data.ByteString.Char8 as P
+ import Data.Char
+-import Data.Fortune
++-- import Data.Fortune
+ import Data.List
+ import qualified Data.Map as M
+ import Data.Maybe
+@@ -107,7 +107,8 @@ quotePlugin = newModule
+ }
+
+ fortune :: [FilePath] -> Cmd Quote ()
+-fortune xs = io (resolveFortuneFiles All xs >>= randomFortune) >>= say
++-- fortune xs = io (resolveFortuneFiles All xs >>= randomFortune) >>= say
++fortune _ = say "fortune is temporarily disabled"
+
+ ------------------------------------------------------------------------
+
+--
+2.35.1
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..4e8837b95cfe
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,49 @@
+# This file was generated by https://github.com/berberman/arch-hs, please check it manually.
+# Maintainer: Jonathan Birk <cafce25@gmail.com>
+
+_hkgname=lambdabot-novelty-plugins
+pkgname=haskell-lambdabot-novelty-plugins
+pkgver=5.3.0.2
+pkgrel=1
+pkgdesc="Novelty plugins for Lambdabot"
+url="https://wiki.haskell.org/Lambdabot"
+license=("custom:GPL")
+arch=('x86_64')
+depends=('ghc-libs' 'haskell-brainfuck' 'dice' 'haskell-lambdabot-core' 'misfortune' 'haskell-random-fu' 'haskell-regex-tdfa' 'unlambda')
+makedepends=('ghc')
+source=("https://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-$pkgver.tar.gz"
+ "0001-Support-GHC-9.patch")
+sha256sums=('e0648f10e4761e982d6d1d09b70fd9655070867a99f09f9619e5cc0027d43827'
+ 'e3210154fe1ac2e4125a51526060efefb332e59239235317c6428e0626b254bc')
+
+prepare() {
+ cd $_hkgname-$pkgver
+
+ patch -p2 < ../0001-Support-GHC-9.patch
+}
+
+build() {
+ cd $_hkgname-$pkgver
+
+ runhaskell Setup configure -O --enable-shared --enable-executable-dynamic --disable-library-vanilla \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --enable-tests \
+ --dynlibdir=/usr/lib --libsubdir=\$compiler/site-local/\$pkgid \
+ --ghc-option=-optl-Wl\,-z\,relro\,-z\,now \
+ --ghc-option='-pie'
+
+ runhaskell Setup build
+ 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
+}
+
+package() {
+ cd $_hkgname-$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"
+ install -D -m644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+ rm -f "$pkgdir"/usr/share/doc/$pkgname/LICENSE
+}