Date: Saturday, November 28, 2020 @ 18:59:09 Author: felixonmars Revision: 765445
archrelease: copy trunk to community-staging-x86_64 Added: tamarin-prover/repos/community-staging-x86_64/ tamarin-prover/repos/community-staging-x86_64/PKGBUILD (from rev 765444, tamarin-prover/trunk/PKGBUILD) tamarin-prover/repos/community-staging-x86_64/maude-3.1.patch (from rev 765444, tamarin-prover/trunk/maude-3.1.patch) -----------------+ PKGBUILD | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ maude-3.1.patch | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) Copied: tamarin-prover/repos/community-staging-x86_64/PKGBUILD (from rev 765444, tamarin-prover/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2020-11-28 18:59:09 UTC (rev 765445) @@ -0,0 +1,58 @@ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Arch Haskell Team <arch-hask...@haskell.org> + +pkgname=tamarin-prover +pkgver=1.6.0 +pkgrel=57 +pkgdesc="The Tamarin prover for security protocol analysis" +url="https://tamarin-prover.github.io" +license=("GPL") +arch=('x86_64') +depends=('ghc-libs' 'graphviz' 'maude' 'haskell-hunit' 'haskell-binary-orphans' 'haskell-binary-instances' + 'haskell-blaze-builder' 'haskell-blaze-html' 'haskell-cmdargs' 'haskell-conduit' + 'haskell-fclabels' 'haskell-file-embed' 'haskell-gitrev' 'haskell-http-types' + 'haskell-lifted-base' 'haskell-monad-unlift' 'haskell-resourcet' 'haskell-safe' + 'haskell-shakespeare' 'haskell-threads' 'haskell-wai' 'haskell-warp' 'haskell-yesod-core' + 'haskell-yesod-static' 'haskell-tamarin-prover-utils' 'haskell-tamarin-prover-term' + 'haskell-tamarin-prover-theory' 'haskell-tamarin-prover-sapic') +optdepends=('ocaml: for sapic support') +makedepends=('ghc' 'ocaml>=4.11.0') +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 $pkgname-$pkgver + patch -p1 -i ../maude-3.1.patch + sed -i '/cp sapic/d' plugins/sapic/Makefile +} + +build() { + cd $pkgname-$pkgver + + runhaskell Setup configure -O --enable-executable-dynamic --prefix=/usr \ + --docdir="/usr/share/doc/${pkgname}" --datasubdir="$pkgname" \ + -fthreaded -ftest-coverage -f-build-tests --ghc-option='-pie' + runhaskell Setup build $MAKEFLAGS + + cd plugins/sapic + make -j1 +} + +check() { + cd $pkgname-$pkgver + LD_LIBRARY_PATH="$PWD"/dist/build dist/build/tamarin-prover/tamarin-prover test +} + +package() { + cd $pkgname-$pkgver + runhaskell Setup copy --destdir="${pkgdir}" + + install -Dm644 etc/filetype.vim "$pkgdir"/usr/share/vim/vimfiles/ftdetect/tamarin.vim + install -Dm644 etc/syntax/spthy.vim "$pkgdir"/usr/share/vim/vimfiles/syntax/spthy.vim + ln -s spthy.vim "$pkgdir"/usr/share/vim/vimfiles/syntax/sapic.vim + + cd plugins/sapic + install -Dm755 sapic "$pkgdir"/usr/bin/sapic +} Copied: tamarin-prover/repos/community-staging-x86_64/maude-3.1.patch (from rev 765444, tamarin-prover/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:59:09 UTC (rev 765445) @@ -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" +