Date: Wednesday, December 14, 2016 @ 09:16:30 Author: felixonmars Revision: 199335
archrelease: copy trunk to community-staging-i686, community-staging-x86_64 Added: idris/repos/community-staging-i686/ idris/repos/community-staging-i686/PKGBUILD (from rev 199334, idris/trunk/PKGBUILD) idris/repos/community-staging-i686/datadir.patch (from rev 199334, idris/trunk/datadir.patch) idris/repos/community-staging-x86_64/ idris/repos/community-staging-x86_64/PKGBUILD (from rev 199334, idris/trunk/PKGBUILD) idris/repos/community-staging-x86_64/datadir.patch (from rev 199334, idris/trunk/datadir.patch) ----------------------------------------+ community-staging-i686/PKGBUILD | 49 ++++++++++++++++++ community-staging-i686/datadir.patch | 84 +++++++++++++++++++++++++++++++ community-staging-x86_64/PKGBUILD | 49 ++++++++++++++++++ community-staging-x86_64/datadir.patch | 84 +++++++++++++++++++++++++++++++ 4 files changed, 266 insertions(+) Copied: idris/repos/community-staging-i686/PKGBUILD (from rev 199334, idris/trunk/PKGBUILD) =================================================================== --- community-staging-i686/PKGBUILD (rev 0) +++ community-staging-i686/PKGBUILD 2016-12-14 09:16:30 UTC (rev 199335) @@ -0,0 +1,49 @@ +# $Id$ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Arch Haskell Team <arch-hask...@haskell.org> + +pkgname=idris +pkgver=0.99 +pkgrel=5 +pkgdesc="Functional Programming Language with Dependent Types" +url="http://www.idris-lang.org/" +license=("custom:BSD3") +arch=('i686' 'x86_64') +depends=('gmp' 'libffi' 'zlib' 'gcc') +makedepends=("ghc=8.0.1" "git" "haskell-aeson" "haskell-annotated-wl-pprint" "haskell-ansi-terminal" + "haskell-ansi-wl-pprint" "haskell-async" "haskell-base64-bytestring" + "haskell-blaze-html" "haskell-blaze-markup" "haskell-cheapskate" "haskell-fingertree" + "haskell-fsnotify" "haskell-ieee754" "haskell-mtl" "haskell-libffi" "haskell-network" + "haskell-optparse-applicative" "haskell-parsers" "haskell-regex-tdfa" + "haskell-safe" "haskell-split" "haskell-terminal-size" "haskell-text" + "haskell-transformers-compat" "haskell-trifecta" "haskell-uniplate" + "haskell-unordered-containers" "haskell-utf8-string" "haskell-vector" + "haskell-vector-binary-instances" "haskell-zip-archive") +source=("git+https://github.com/idris-lang/Idris-dev.git#tag=v$pkgver" + datadir.patch) +sha256sums=('SKIP' + 'e7cf290770a7ee08cc4089eccf23a7501300d70e85df03d84652b3045d568371') + +prepare() { + sed -i 's/, safe == 0.3.9/, safe >= 0.3.9/' Idris-dev/${pkgname}.cabal + + cd Idris-dev + # https://github.com/idris-lang/Idris-dev/issues/3544 + patch -p1 -i ../datadir.patch +} + +build() { + cd "${srcdir}/Idris-dev" + + runhaskell Setup configure -O --enable-library-profiling --enable-shared \ + --prefix=/usr --docdir="/usr/share/doc/${pkgname}" --datasubdir="$pkgname" \ + --libsubdir=\$compiler/site-local/\$pkgid \ + -fFFI -fGMP -frelease -f-freestanding -f-CI -f-execonly + LC_CTYPE=en_US.UTF-8 runhaskell Setup build +} + +package() { + cd "${srcdir}/Idris-dev" + runhaskell Setup copy --destdir="${pkgdir}" + rm -r "$pkgdir"/usr/{lib,share/doc} +} Copied: idris/repos/community-staging-i686/datadir.patch (from rev 199334, idris/trunk/datadir.patch) =================================================================== --- community-staging-i686/datadir.patch (rev 0) +++ community-staging-i686/datadir.patch 2016-12-14 09:16:30 UTC (rev 199335) @@ -0,0 +1,84 @@ +From d1bc3fa3c704bc233f0036ea13204d7790d26477 Mon Sep 17 00:00:00 2001 +From: Jan de Muijnck-Hughes <j...@st-andrews.ac.uk> +Date: Mon, 5 Dec 2016 11:17:51 +0000 +Subject: [PATCH] Make fetching of data files more robust. Fixes #3544 + +`getDataFileName` didn't take into account possible changes in Idris' datadir that were not cabal made. This fix adds a more robust variant of `getDataFileName`. +--- + src/IRTS/System.hs | 7 ++++++- + src/Idris/IdrisDoc.hs | 4 ++-- + src/Idris/Info.hs | 5 +++++ + 3 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/src/IRTS/System.hs b/src/IRTS/System.hs +index def563e..9d3d11a 100644 +--- a/src/IRTS/System.hs ++++ b/src/IRTS/System.hs +@@ -6,7 +6,7 @@ License : BSD3 + Maintainer : The Idris Community. + -} + {-# LANGUAGE CPP #-} +-module IRTS.System( getDataFileName ++module IRTS.System( getIdrisDataFileByName + , getCC + , getLibFlags + , getIdrisDataDir +@@ -42,6 +42,11 @@ getIdrisDataDir = do + return ddir + Just ddir -> return ddir + ++getIdrisDataFileByName :: String -> IO FilePath ++getIdrisDataFileByName fn = do ++ dir <- getIdrisDataDir ++ return $ dir </> fn ++ + overrideIdrisSubDirWith :: String -- ^ Sub directory in `getDataDir` location. + -> String -- ^ Environment variable to get new location from. + -> IO FilePath +diff --git a/src/Idris/IdrisDoc.hs b/src/Idris/IdrisDoc.hs +index 012554f..6c144ae 100644 +--- a/src/Idris/IdrisDoc.hs ++++ b/src/Idris/IdrisDoc.hs +@@ -19,7 +19,7 @@ import Idris.Docs + import Idris.Docstrings (nullDocstring) + import qualified Idris.Docstrings as Docstrings + import Idris.Parser.Helpers (opChars) +-import IRTS.System (getDataFileName) ++import IRTS.System (getIdrisDataFileByName) + + import Control.Applicative ((<|>)) + import Control.Monad (forM_) +@@ -708,5 +708,5 @@ copyDependencies :: FilePath -- ^ The base directory to which + -- dependencies should be written + -> IO () + copyDependencies dir = +- do styles <- getDataFileName $ "idrisdoc" </> "styles.css" ++ do styles <- getIdrisDataFileByName $ "idrisdoc" </> "styles.css" + copyFile styles (dir </> "styles.css") +diff --git a/src/Idris/Info.hs b/src/Idris/Info.hs +index 4ffe3d4..eb77a8c 100644 +--- a/src/Idris/Info.hs ++++ b/src/Idris/Info.hs +@@ -22,6 +22,7 @@ module Idris.Info + , getIdrisHistoryFile + , getIdrisInstalledPackages + , getIdrisLoggingCategories ++ , getIdrisDataFileByName + ) where + + import Idris.AbsSyntax (loggingCatsStr) +@@ -34,6 +35,7 @@ import Version_idris (gitHash) + import Data.Version + import System.Directory + import System.FilePath ++ + getIdrisDataDir :: IO String + getIdrisDataDir = S.getIdrisDataDir + +@@ -88,3 +90,6 @@ getIdrisInstalledPackages = installedPackages + + getIdrisLoggingCategories :: IO [String] + getIdrisLoggingCategories = return $ words loggingCatsStr ++ ++getIdrisDataFileByName :: String -> IO FilePath ++getIdrisDataFileByName = S.getIdrisDataFileByName Copied: idris/repos/community-staging-x86_64/PKGBUILD (from rev 199334, idris/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2016-12-14 09:16:30 UTC (rev 199335) @@ -0,0 +1,49 @@ +# $Id$ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Arch Haskell Team <arch-hask...@haskell.org> + +pkgname=idris +pkgver=0.99 +pkgrel=5 +pkgdesc="Functional Programming Language with Dependent Types" +url="http://www.idris-lang.org/" +license=("custom:BSD3") +arch=('i686' 'x86_64') +depends=('gmp' 'libffi' 'zlib' 'gcc') +makedepends=("ghc=8.0.1" "git" "haskell-aeson" "haskell-annotated-wl-pprint" "haskell-ansi-terminal" + "haskell-ansi-wl-pprint" "haskell-async" "haskell-base64-bytestring" + "haskell-blaze-html" "haskell-blaze-markup" "haskell-cheapskate" "haskell-fingertree" + "haskell-fsnotify" "haskell-ieee754" "haskell-mtl" "haskell-libffi" "haskell-network" + "haskell-optparse-applicative" "haskell-parsers" "haskell-regex-tdfa" + "haskell-safe" "haskell-split" "haskell-terminal-size" "haskell-text" + "haskell-transformers-compat" "haskell-trifecta" "haskell-uniplate" + "haskell-unordered-containers" "haskell-utf8-string" "haskell-vector" + "haskell-vector-binary-instances" "haskell-zip-archive") +source=("git+https://github.com/idris-lang/Idris-dev.git#tag=v$pkgver" + datadir.patch) +sha256sums=('SKIP' + 'e7cf290770a7ee08cc4089eccf23a7501300d70e85df03d84652b3045d568371') + +prepare() { + sed -i 's/, safe == 0.3.9/, safe >= 0.3.9/' Idris-dev/${pkgname}.cabal + + cd Idris-dev + # https://github.com/idris-lang/Idris-dev/issues/3544 + patch -p1 -i ../datadir.patch +} + +build() { + cd "${srcdir}/Idris-dev" + + runhaskell Setup configure -O --enable-library-profiling --enable-shared \ + --prefix=/usr --docdir="/usr/share/doc/${pkgname}" --datasubdir="$pkgname" \ + --libsubdir=\$compiler/site-local/\$pkgid \ + -fFFI -fGMP -frelease -f-freestanding -f-CI -f-execonly + LC_CTYPE=en_US.UTF-8 runhaskell Setup build +} + +package() { + cd "${srcdir}/Idris-dev" + runhaskell Setup copy --destdir="${pkgdir}" + rm -r "$pkgdir"/usr/{lib,share/doc} +} Copied: idris/repos/community-staging-x86_64/datadir.patch (from rev 199334, idris/trunk/datadir.patch) =================================================================== --- community-staging-x86_64/datadir.patch (rev 0) +++ community-staging-x86_64/datadir.patch 2016-12-14 09:16:30 UTC (rev 199335) @@ -0,0 +1,84 @@ +From d1bc3fa3c704bc233f0036ea13204d7790d26477 Mon Sep 17 00:00:00 2001 +From: Jan de Muijnck-Hughes <j...@st-andrews.ac.uk> +Date: Mon, 5 Dec 2016 11:17:51 +0000 +Subject: [PATCH] Make fetching of data files more robust. Fixes #3544 + +`getDataFileName` didn't take into account possible changes in Idris' datadir that were not cabal made. This fix adds a more robust variant of `getDataFileName`. +--- + src/IRTS/System.hs | 7 ++++++- + src/Idris/IdrisDoc.hs | 4 ++-- + src/Idris/Info.hs | 5 +++++ + 3 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/src/IRTS/System.hs b/src/IRTS/System.hs +index def563e..9d3d11a 100644 +--- a/src/IRTS/System.hs ++++ b/src/IRTS/System.hs +@@ -6,7 +6,7 @@ License : BSD3 + Maintainer : The Idris Community. + -} + {-# LANGUAGE CPP #-} +-module IRTS.System( getDataFileName ++module IRTS.System( getIdrisDataFileByName + , getCC + , getLibFlags + , getIdrisDataDir +@@ -42,6 +42,11 @@ getIdrisDataDir = do + return ddir + Just ddir -> return ddir + ++getIdrisDataFileByName :: String -> IO FilePath ++getIdrisDataFileByName fn = do ++ dir <- getIdrisDataDir ++ return $ dir </> fn ++ + overrideIdrisSubDirWith :: String -- ^ Sub directory in `getDataDir` location. + -> String -- ^ Environment variable to get new location from. + -> IO FilePath +diff --git a/src/Idris/IdrisDoc.hs b/src/Idris/IdrisDoc.hs +index 012554f..6c144ae 100644 +--- a/src/Idris/IdrisDoc.hs ++++ b/src/Idris/IdrisDoc.hs +@@ -19,7 +19,7 @@ import Idris.Docs + import Idris.Docstrings (nullDocstring) + import qualified Idris.Docstrings as Docstrings + import Idris.Parser.Helpers (opChars) +-import IRTS.System (getDataFileName) ++import IRTS.System (getIdrisDataFileByName) + + import Control.Applicative ((<|>)) + import Control.Monad (forM_) +@@ -708,5 +708,5 @@ copyDependencies :: FilePath -- ^ The base directory to which + -- dependencies should be written + -> IO () + copyDependencies dir = +- do styles <- getDataFileName $ "idrisdoc" </> "styles.css" ++ do styles <- getIdrisDataFileByName $ "idrisdoc" </> "styles.css" + copyFile styles (dir </> "styles.css") +diff --git a/src/Idris/Info.hs b/src/Idris/Info.hs +index 4ffe3d4..eb77a8c 100644 +--- a/src/Idris/Info.hs ++++ b/src/Idris/Info.hs +@@ -22,6 +22,7 @@ module Idris.Info + , getIdrisHistoryFile + , getIdrisInstalledPackages + , getIdrisLoggingCategories ++ , getIdrisDataFileByName + ) where + + import Idris.AbsSyntax (loggingCatsStr) +@@ -34,6 +35,7 @@ import Version_idris (gitHash) + import Data.Version + import System.Directory + import System.FilePath ++ + getIdrisDataDir :: IO String + getIdrisDataDir = S.getIdrisDataDir + +@@ -88,3 +90,6 @@ getIdrisInstalledPackages = installedPackages + + getIdrisLoggingCategories :: IO [String] + getIdrisLoggingCategories = return $ words loggingCatsStr ++ ++getIdrisDataFileByName :: String -> IO FilePath ++getIdrisDataFileByName = S.getIdrisDataFileByName