diff options
author | Jonathan Birk | 2022-03-18 18:26:20 +0000 |
---|---|---|
committer | Jonathan Birk | 2022-03-18 18:26:20 +0000 |
commit | 4548a5007483d12845d986acb722b4917a605a11 (patch) | |
tree | b1098e169a03b217099921786c42bb04e1d5f785 | |
download | aur-haskell-lambdabot-novelty-plugins.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | 0001-Support-GHC-9.patch | 131 | ||||
-rw-r--r-- | PKGBUILD | 49 |
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 +} |