summaryrefslogtreecommitdiff
path: root/community-staging/haskell-tar
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-09-13 00:04:38 +0000
committerroot <root@rshg054.dnsready.net>2012-09-13 00:04:38 +0000
commit843685ce9dd76d37a4c7b0230eacb6d26bdf30dd (patch)
tree9151f782b8f347cf28e0f398341441d659f41f4a /community-staging/haskell-tar
parent21c375ba65c4730e25cd0b135aff7811bf28c77a (diff)
Thu Sep 13 00:04:37 UTC 2012
Diffstat (limited to 'community-staging/haskell-tar')
-rw-r--r--community-staging/haskell-tar/0001-update-changed-time-code-for-ghc-7.6.1.patch50
-rw-r--r--community-staging/haskell-tar/PKGBUILD50
-rw-r--r--community-staging/haskell-tar/haskell-tar.install24
3 files changed, 124 insertions, 0 deletions
diff --git a/community-staging/haskell-tar/0001-update-changed-time-code-for-ghc-7.6.1.patch b/community-staging/haskell-tar/0001-update-changed-time-code-for-ghc-7.6.1.patch
new file mode 100644
index 000000000..b8c2264bc
--- /dev/null
+++ b/community-staging/haskell-tar/0001-update-changed-time-code-for-ghc-7.6.1.patch
@@ -0,0 +1,50 @@
+From bd14edd6240c72baa22822338fc872e6827af680 Mon Sep 17 00:00:00 2001
+From: Thomas Dziedzic <gostrc@gmail.com>
+Date: Tue, 11 Sep 2012 06:24:09 -0700
+Subject: [PATCH] update changed time code for ghc 7.6.1
+
+---
+ Codec/Archive/Tar/Pack.hs | 9 +++++----
+ tar.cabal | 2 +-
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/Codec/Archive/Tar/Pack.hs b/Codec/Archive/Tar/Pack.hs
+index 8e43091..0af6103 100644
+--- a/Codec/Archive/Tar/Pack.hs
++++ b/Codec/Archive/Tar/Pack.hs
+@@ -28,8 +28,8 @@ import qualified System.FilePath as FilePath.Native
+ import System.Directory
+ ( getDirectoryContents, doesDirectoryExist, getModificationTime
+ , Permissions(..), getPermissions )
+-import System.Time
+- ( ClockTime(..) )
++import Data.Time.Clock.POSIX
++ ( utcTimeToPOSIXSeconds )
+ import System.IO
+ ( IOMode(ReadMode), openBinaryFile, hFileSize )
+ import System.IO.Unsafe (unsafeInterleaveIO)
+@@ -170,5 +170,6 @@ recurseDirectories base (dir:dirs) = unsafeInterleaveIO $ do
+
+ getModTime :: FilePath -> IO EpochTime
+ getModTime path = do
+- (TOD s _) <- getModificationTime path
+- return $! fromIntegral s
++ utcTime <- getModificationTime path
++ let s = truncate . utcTimeToPOSIXSeconds $ utcTime
++ return $! s
+diff --git a/tar.cabal b/tar.cabal
+index e748b07..d85b0da 100644
+--- a/tar.cabal
++++ b/tar.cabal
+@@ -25,7 +25,7 @@ source-repository head
+
+ library
+ build-depends: base >= 3 && < 5, filepath,
+- directory, old-time, bytestring
++ directory, bytestring, time
+
+ exposed-modules:
+ Codec.Archive.Tar
+--
+1.7.12
+
diff --git a/community-staging/haskell-tar/PKGBUILD b/community-staging/haskell-tar/PKGBUILD
new file mode 100644
index 000000000..438145b82
--- /dev/null
+++ b/community-staging/haskell-tar/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 76085 2012-09-11 06:28:53Z tdziedzic $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+pkgname=haskell-tar
+pkgver=0.4.0.0
+pkgrel=3
+pkgdesc="Reading, writing and manipulating \".tar\" archive files."
+url="http://hackage.haskell.org/package/tar"
+license=('custom:BSD3')
+arch=('x86_64' 'i686')
+depends=('ghc=7.6.1-1')
+source=("http://hackage.haskell.org/packages/archive/tar/$pkgver/tar-$pkgver.tar.gz"
+ '0001-update-changed-time-code-for-ghc-7.6.1.patch')
+install=haskell-tar.install
+sha256sums=('a3d37be1b8666c16c6371d193a0795b8abe7b0216e81870a2666e1e85d931113'
+ '17b8afc519db5bed5d89807e6e659788f5d9c2f5c569150a9d1c6faac52e98e6')
+
+build() {
+ cd "$srcdir/tar-$pkgver"
+
+ # time functions have changed in ghc 7.6.1
+ patch -Np1 -i ${srcdir}/0001-update-changed-time-code-for-ghc-7.6.1.patch
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir="/usr/share/doc/$pkgname" \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/tar-$pkgver"
+
+ install -Dm 744 register.sh \
+ "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m 744 unregister.sh \
+ "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm 755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s "/usr/share/doc/$pkgname/html" \
+ "$pkgdir/usr/share/doc/ghc/html/libraries/tar"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-staging/haskell-tar/haskell-tar.install b/community-staging/haskell-tar/haskell-tar.install
new file mode 100644
index 000000000..7e0383621
--- /dev/null
+++ b/community-staging/haskell-tar/haskell-tar.install
@@ -0,0 +1,24 @@
+HS_DIR=usr/share/haskell/haskell-tar
+
+post_install() {
+ ${HS_DIR}/register.sh
+ post_remove
+}
+
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ pre_upgrade
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+# vim:set ts=2 sw=2 et: