Date: Saturday, November 28, 2020 @ 18:52:25 Author: felixonmars Revision: 765439
archrelease: copy trunk to community-staging-x86_64 Added: haskell-tamarin-prover-term/repos/community-staging-x86_64/ haskell-tamarin-prover-term/repos/community-staging-x86_64/PKGBUILD (from rev 765438, haskell-tamarin-prover-term/trunk/PKGBUILD) haskell-tamarin-prover-term/repos/community-staging-x86_64/maude-3.1.patch (from rev 765438, haskell-tamarin-prover-term/trunk/maude-3.1.patch) -----------------+ PKGBUILD | 45 +++++++++++++++++++++++++++++++++++++++++++++ maude-3.1.patch | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) Copied: haskell-tamarin-prover-term/repos/community-staging-x86_64/PKGBUILD (from rev 765438, haskell-tamarin-prover-term/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2020-11-28 18:52:25 UTC (rev 765439) @@ -0,0 +1,45 @@ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Arch Haskell Team <arch-hask...@haskell.org> + +_hkgname=tamarin-prover-term +pkgname=haskell-tamarin-prover-term +pkgver=1.6.0 +pkgrel=19 +pkgdesc="Term manipulation library for the tamarin prover" +url="http://www.infsec.ethz.ch/research/software/tamarin" +license=("GPL") +arch=('x86_64') +depends=('ghc-libs' 'haskell-hunit' 'haskell-attoparsec' 'haskell-dlist' + 'haskell-safe' 'haskell-tamarin-prover-utils') +makedepends=('ghc') +source=("tamarin-prover-$pkgver.tar.gz::https://github.com/tamarin-prover/tamarin-prover/archive/$pkgver.tar.gz" + maude-3.1.patch) +sha512sums=('7f3569f740d63d715b92a8f073eaecb8b32efe59b910b246977d36bb9e873765440e72feb6e76c7cbafab0495b88cfc666bb1dd12f685627c60d5cbd97b2973e' + '1ef5e4c370a0c5f5541d50600604ba7adc566c2f5cf415cdb844842bb10b343edd00aa5aa654f8e55355c80f48a34382c87c3fba4adca0c77e726f407f3815c3') + +prepare() { + cd tamarin-prover-$pkgver + patch -p1 -i ../maude-3.1.patch +} + +build() { + cd tamarin-prover-$pkgver/lib/term + + runhaskell Setup configure -O --enable-shared --enable-executable-dynamic --disable-library-vanilla \ + --prefix=/usr --docdir=/usr/share/doc/$pkgname \ + --dynlibdir=/usr/lib --libsubdir=\$compiler/site-local/\$pkgid + 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 +} + +package() { + cd tamarin-prover-$pkgver/lib/term + + 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" + rm -f "$pkgdir"/usr/share/doc/$pkgname/LICENSE +} Copied: haskell-tamarin-prover-term/repos/community-staging-x86_64/maude-3.1.patch (from rev 765438, haskell-tamarin-prover-term/trunk/maude-3.1.patch) =================================================================== --- community-staging-x86_64/maude-3.1.patch (rev 0) +++ community-staging-x86_64/maude-3.1.patch 2020-11-28 18:52:25 UTC (rev 765439) @@ -0,0 +1,35 @@ +diff --git a/lib/term/src/Term/Maude/Parser.hs b/lib/term/src/Term/Maude/Parser.hs +index 187c35dc..0a1d3c35 100644 +--- a/lib/term/src/Term/Maude/Parser.hs ++++ b/lib/term/src/Term/Maude/Parser.hs +@@ -224,7 +224,7 @@ parseVariantsReply msig reply = flip parseOnly reply $ do + <* endOfLine <* string "rewrites: " + <* takeWhile1 isDigit <* endOfLine <* endOfInput + where +- parseVariant = string "Variant #" *> takeWhile1 isDigit *> endOfLine *> ++ parseVariant = string "Variant " *> optional (char '#') *> takeWhile1 isDigit *> endOfLine *> + string "rewrites: " *> takeWhile1 isDigit *> endOfLine *> + parseReprintedTerm *> manyTill parseEntry endOfLine + parseReprintedTerm = choice [ string "TOP" *> pure LSortMsg, parseSort ] +@@ -235,7 +235,7 @@ parseVariantsReply msig reply = flip parseOnly reply $ do + -- | @parseSubstitution l@ parses a single substitution returned by Maude. + parseSubstitution :: MaudeSig -> Parser MSubst + parseSubstitution msig = do +- endOfLine *> string "Solution " *> takeWhile1 isDigit *> endOfLine ++ endOfLine *> choice [string "Solution ", string "Unifier ", string "Matcher "] *> takeWhile1 isDigit *> endOfLine + choice [ string "empty substitution" *> endOfLine *> pure [] + , many1 parseEntry] + where +diff --git a/src/Main/Environment.hs b/src/Main/Environment.hs +index ecb15d2f..1b55c2e7 100644 +--- a/src/Main/Environment.hs ++++ b/src/Main/Environment.hs +@@ -175,7 +175,7 @@ ensureMaude as = do + + -- Maude versions prior to 2.7.1 are no longer supported, + -- because the 'get variants' command is incompatible. +- supportedVersions = ["2.7.1", "3.0"] ++ supportedVersions = ["2.7.1", "3.0", "3.1"] + + errMsg' = errMsg $ "'" ++ maude ++ "' executable not found / does not work" +