[arch-commits] Commit in agda/repos (3 files)

Felix Yan felixonmars at archlinux.org
Mon Nov 27 09:12:35 UTC 2017


    Date: Monday, November 27, 2017 @ 09:12:33
  Author: felixonmars
Revision: 269535

archrelease: copy trunk to community-staging-x86_64

Added:
  agda/repos/community-staging-x86_64/
  agda/repos/community-staging-x86_64/PKGBUILD
    (from rev 269534, agda/trunk/PKGBUILD)
  agda/repos/community-staging-x86_64/unordered-containers-0.2.6.patch
    (from rev 269534, agda/trunk/unordered-containers-0.2.6.patch)

----------------------------------+
 PKGBUILD                         |   66 +++++++++++++++++++++++++++++++++++++
 unordered-containers-0.2.6.patch |   40 ++++++++++++++++++++++
 2 files changed, 106 insertions(+)

Copied: agda/repos/community-staging-x86_64/PKGBUILD (from rev 269534, agda/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2017-11-27 09:12:33 UTC (rev 269535)
@@ -0,0 +1,66 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell at haskell.org>
+
+_hkgname=Agda
+pkgname=agda
+pkgver=2.5.3
+pkgrel=5
+pkgdesc="A dependently typed functional programming language and proof assistant"
+url="http://wiki.portal.chalmers.se/agda/"
+license=("custom")
+arch=('x86_64')
+depends=('ghc-libs' "alex" "happy" "haskell-async" "haskell-blaze-html" "haskell-boxes"
+         "haskell-cpphs" "haskell-data-hash" "haskell-edisonapi" "haskell-edisoncore"
+         "haskell-edit-distance" "haskell-equivalence" "haskell-geniplate-mirror" "haskell-gitrev"
+         "haskell-hashable" "haskell-hashtables" "haskell-ieee754" "haskell-monadplus" "haskell-mtl"
+         "haskell-murmur-hash" "haskell-parallel" "haskell-regex-tdfa" "haskell-stm"
+         "haskell-strict" "haskell-text" "haskell-unordered-containers" "haskell-uri-encode"
+         "haskell-zlib")
+optdepends=('agda-stdlib: for standard library')
+makedepends=('ghc')
+source=("https://github.com/agda/agda/archive/v$pkgver.tar.gz")
+sha512sums=('89cf67d095cb3694a8f266445092620746a04aa866ab3af277f73b304d8c0f54dc7880a6093336f0c4893ee3861fc853bcf7ca48c430f2c8c83b2c24bf6cb97a')
+
+prepare() {
+    # TODO: Find a better way!
+    # Build it twice to compile the agdai file.
+    cp -a ${pkgname}-${pkgver}{,-tmp}
+}
+
+build() {
+    cd "${srcdir}/${pkgname}-${pkgver}"
+
+    runhaskell Setup configure -O --enable-shared --enable-executable-dynamic --disable-library-vanilla \
+        --prefix=/usr --docdir="/usr/share/doc/${pkgname}" --datasubdir="$pkgname" \
+        --dynlibdir=/usr/lib --libsubdir=\$compiler/site-local/\$pkgid \
+            -fcpphs -f-debug -f-enable-cluster-counting
+    LC_CTYPE=en_US.UTF-8 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
+
+    cd "${srcdir}/${pkgname}-${pkgver}-tmp"
+    runhaskell Setup configure --prefix="$PWD/target" --enable-executable-dynamic --disable-library-vanilla --datasubdir="$pkgname"
+    LC_CTYPE=en_US.UTF-8 runhaskell Setup build
+    runhaskell Setup copy
+
+    LD_PRELOAD=(dist/build/libHSAgda-*-ghc*.so) dist/build/agda/agda target/share/agda/lib/prim/Agda/Primitive.agda
+    for _file in target/share/agda/lib/prim/Agda/Builtin/*.agda; do
+        LD_PRELOAD=(dist/build/libHSAgda-*-ghc*.so) dist/build/agda/agda "$_file"
+    done
+}
+
+package() {
+    cd "${srcdir}/${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}"
+    install -D -m644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+    rm -f "${pkgdir}/usr/share/doc/${pkgname}/LICENSE"
+
+    install -m644 "${srcdir}/${pkgname}-${pkgver}-tmp"/target/share/agda/lib/prim/Agda/Primitive.agdai "$pkgdir"/usr/share/agda/lib/prim/Agda/Primitive.agdai
+    install -m644 "${srcdir}/${pkgname}-${pkgver}-tmp"/target/share/agda/lib/prim/Agda/Builtin/*.agdai "$pkgdir"/usr/share/agda/lib/prim/Agda/Builtin/
+}

Copied: agda/repos/community-staging-x86_64/unordered-containers-0.2.6.patch (from rev 269534, agda/trunk/unordered-containers-0.2.6.patch)
===================================================================
--- community-staging-x86_64/unordered-containers-0.2.6.patch	                        (rev 0)
+++ community-staging-x86_64/unordered-containers-0.2.6.patch	2017-11-27 09:12:33 UTC (rev 269535)
@@ -0,0 +1,40 @@
+diff --git a/src/full/Agda/Utils/HashMap.hs b/src/full/Agda/Utils/HashMap.hs
+index 5e1da8b..bd14fac 100644
+--- a/src/full/Agda/Utils/HashMap.hs
++++ b/src/full/Agda/Utils/HashMap.hs
+@@ -1,29 +1,14 @@
+ module Agda.Utils.HashMap
+   ( module HashMap
+-  , mapMaybe
+-  , alter
+   ) where
+ 
+-import Data.Hashable
+ import Data.HashMap.Strict as HashMap
+-import qualified Data.Maybe as Maybe
+ 
+--- | Like 'Data.Map.Strict.mapMaybe'.
++-- ASR (20 January 2016) Issue 1779: I removed the @mapMaybe@ and
++-- @alter@ functions because them currently aren't used and
++-- them were added in unordered-containers 0.2.6.0.
+ 
+--- This code has not been benchmarked. Other implementations may be
+--- more efficient.
++-- mapMaybe :: (a -> Maybe b) -> HashMap k a -> HashMap k b
+ 
+-mapMaybe :: (a -> Maybe b) -> HashMap k a -> HashMap k b
+-mapMaybe f = fmap Maybe.fromJust . HashMap.filter Maybe.isJust . fmap f
+-
+--- | Like 'Data.Map.Strict.alter'.
+-
+-alter :: (Eq k, Hashable k) =>
+-         (Maybe a -> Maybe a) -> k -> HashMap k a -> HashMap k a
+-alter f k m = case HashMap.lookup k m of
+-  Nothing -> case f Nothing of
+-    Nothing -> m
+-    Just v  -> HashMap.insert k v m
+-  Just v  -> case f (Just v) of
+-    Nothing -> HashMap.delete k m
+-    Just v  -> HashMap.insert k v m
++-- alter :: (Eq k, Hashable k) =>
++--          (Maybe a -> Maybe a) -> k -> HashMap k a -> HashMap k a



More information about the arch-commits mailing list