summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--development/darcs/README13
-rw-r--r--development/darcs/darcs.SlackBuild28
-rw-r--r--development/darcs/darcs.info8
-rw-r--r--development/darcs/darcs_cabal_dynamic.patch22
-rw-r--r--development/darcs/darcs_cabal_regex.patch68
-rw-r--r--development/darcs/darcs_cabal_tar.patch29
-rw-r--r--development/darcs/src_Darcs_Repository_hs.patch26
7 files changed, 81 insertions, 113 deletions
diff --git a/development/darcs/README b/development/darcs/README
index b287017f39..cc54a08453 100644
--- a/development/darcs/README
+++ b/development/darcs/README
@@ -1,12 +1,13 @@
Darcs is a free, open source revision control system written in
Haskell.
-This requires ghc, haskell-transformers, haskell-syb, haskell-binary,
-haskell-dataenc, haskell-mmap, haskell-zlib, haskell-terminfo,
-haskell-utf8-string, haskell-html, haskell-tar, haskell-deepseq,
-haskell-mtl, haskell-text, haskell-parsec, haskell-hashed-storage,
-haskell-haskeline, haskell-regex-base, haskell-network,
-haskell-regex-posix, haskell-HTTP, and haskell-regex-compat.
+This requires ghc, haskell-primitive, haskell-vector, haskell-random,
+haskell-transformers, haskell-syb, haskell-dataenc, haskell-mmap,
+haskell-zlib, haskell-terminfo, haskell-utf8-string, haskell-html,
+haskell-tar, haskell-mtl, haskell-text, haskell-parsec,
+haskell-hashed-storage, haskell-haskeline, haskell-regex-base,
+haskell-network, haskell-regex-posix, haskell-HTTP, and
+haskell-regex-compat.
To run the test suite, additionally haskell-HUnit,
haskell-ansi-terminal, haskell-hostname, haskell-xml,
diff --git a/development/darcs/darcs.SlackBuild b/development/darcs/darcs.SlackBuild
index 5d5990e098..caaea0ba02 100644
--- a/development/darcs/darcs.SlackBuild
+++ b/development/darcs/darcs.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for darcs
-# Copyright 2011 Mikko Värri, Finland
+# Copyright 2012 Mikko Värri, Finland
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=darcs
-VERSION=${VERSION:-2.5.2}
+VERSION=${VERSION:-2.8.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -71,32 +71,34 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Link darcs binary dynamically
-patch -p0 <$CWD/darcs_cabal_dynamic.patch
-# Bump regex-{posix,compat} version bounds (all tests pass)
-patch -p0 <$CWD/darcs_cabal_regex.patch
+# Bump haskell-tar version (all tests pass)
+patch -p0 <$CWD/darcs_cabal_tar.patch
+# Fix haskell-tar compatibility
+patch -p0 <$CWD/src_Darcs_Repository_hs.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-runghc Setup.lhs configure \
+runghc Setup configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--libsubdir=ghc-${GHC_VERSION}/$PRGNAM-$VERSION \
--enable-shared \
+ --enable-library-profiling \
+ --enable-executable-dynamic \
--docdir=/usr/doc/$PRGNAM-$VERSION \
- --flags="dynamic -curl http mmap terminfo"
+ --flags="-curl http mmap terminfo"
-runghc Setup.lhs build
-runghc Setup.lhs haddock
-runghc Setup.lhs copy --destdir=$PKG
-runghc Setup.lhs register --gen-pkg-config
+runghc Setup build
+runghc Setup haddock
+runghc Setup copy --destdir=$PKG
+runghc Setup register --gen-pkg-config
PKGCONFD=/usr/lib${LIBDIRSUFFIX}/ghc-${GHC_VERSION}/package.conf.d
PKGID=$( grep -E "^id: " $PRGNAM-$VERSION.conf | cut -d" " -f2 )
mkdir -p $PKG/$PKGCONFD
mv $PRGNAM-$VERSION.conf $PKG/$PKGCONFD/$PKGID.conf
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# manual is missplaced, and Cabal does not support --mandir
diff --git a/development/darcs/darcs.info b/development/darcs/darcs.info
index 3baf63c80d..e1e3f289eb 100644
--- a/development/darcs/darcs.info
+++ b/development/darcs/darcs.info
@@ -1,10 +1,10 @@
PRGNAM="darcs"
-VERSION="2.5.2"
+VERSION="2.8.1"
HOMEPAGE="http://darcs.net/"
-DOWNLOAD="http://hackage.haskell.org/packages/archive/darcs/2.5.2/darcs-2.5.2.tar.gz"
-MD5SUM="491b6ca01dec245a16112ad2c7e07dc1"
+DOWNLOAD="http://hackage.haskell.org/packages/archive/darcs/2.8.1/darcs-2.8.1.tar.gz"
+MD5SUM="cb70989f4011c1c9826a266622e8304c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Mikko Värri"
EMAIL="vmj@linuxbox.fi"
-APPROVED="rworkman"
+APPROVED="dsomero"
diff --git a/development/darcs/darcs_cabal_dynamic.patch b/development/darcs/darcs_cabal_dynamic.patch
deleted file mode 100644
index e87b2f4b42..0000000000
--- a/development/darcs/darcs_cabal_dynamic.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- darcs.cabal.orig 2011-02-11 23:36:22.000000000 +0200
-+++ darcs.cabal 2011-02-11 23:50:05.000000000 +0200
-@@ -84,6 +84,10 @@
- description: Build static binary
- default: False
-
-+flag dynamic
-+ description: Link darcs executable dynamically
-+ default: False
-+
- flag terminfo
- description: Use the terminfo package for enhanced console support.
-
-@@ -499,6 +503,8 @@
-
- if flag(static)
- ghc-options: -static -optl-static -optl-pthread
-+ if flag(dynamic)
-+ ghc-options: -dynamic
-
- if flag(hpc)
- ghc-prof-options: -fhpc
diff --git a/development/darcs/darcs_cabal_regex.patch b/development/darcs/darcs_cabal_regex.patch
deleted file mode 100644
index 305ffc4f69..0000000000
--- a/development/darcs/darcs_cabal_regex.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- darcs.cabal.orig 2011-05-31 11:46:05.441999585 +0300
-+++ darcs.cabal 2011-05-31 11:47:59.589999593 +0300
-@@ -170,11 +170,11 @@
- cpp-options: -DWIN32
- c-sources: src/win32/send_email.c
- build-depends: unix-compat >= 0.1.2,
-- regex-posix >= 0.94.4 && < 0.95
-+ regex-posix >= 0.94.4 && <= 0.95.1
-
- build-depends: base < 5,
- extensible-exceptions >= 0.1 && < 0.2,
-- regex-compat >= 0.71 && < 0.94,
-+ regex-compat >= 0.71 && <= 0.95.1,
- mtl >= 1.0 && < 2.1,
- parsec >= 2.0 && < 3.2,
- html == 1.0.*,
-@@ -372,14 +372,14 @@
- cpp-options: -DWIN32
- c-sources: src/win32/send_email.c
- build-depends: unix-compat >= 0.1.2,
-- regex-posix >= 0.94.4 && < 0.95
-+ regex-posix >= 0.94.4 && <= 0.95.1
-
- if os(solaris)
- cc-options: -DHAVE_SIGINFO_H
-
- build-depends: base < 5,
- extensible-exceptions >= 0.1 && < 0.2,
-- regex-compat >= 0.71 && < 0.94,
-+ regex-compat >= 0.71 && <= 0.95.1,
- mtl >= 1.0 && < 2.1,
- parsec >= 2.0 && < 3.2,
- html == 1.0.*,
-@@ -522,14 +522,14 @@
- cpp-options: -DWIN32
- c-sources: src/win32/send_email.c
- build-depends: unix-compat >= 0.1.2,
-- regex-posix >= 0.94.4 && < 0.95
-+ regex-posix >= 0.94.4 && <= 0.95.1
-
- if os(solaris)
- cc-options: -DHAVE_SIGINFO_H
-
- build-depends: base < 5,
- extensible-exceptions >= 0.1 && < 0.2,
-- regex-compat >= 0.71 && < 0.94,
-+ regex-compat >= 0.71 && <= 0.95.1,
- mtl >= 1.0 && < 2.1,
- parsec >= 2.0 && < 3.2,
- html == 1.0.*,
-@@ -625,7 +625,7 @@
-
- build-depends: base < 5,
- extensible-exceptions >= 0.1 && < 0.2,
-- regex-compat >= 0.71 && < 0.94,
-+ regex-compat >= 0.71 && <= 0.95.1,
- mtl >= 1.0 && < 2.1,
- parsec >= 2.0 && < 3.2,
- html == 1.0.*,
-@@ -678,7 +678,7 @@
- cpp-options: -DWIN32
- c-sources: src/win32/send_email.c
- build-depends: unix-compat >= 0.1.2,
-- regex-posix >= 0.94.4 && < 0.95
-+ regex-posix >= 0.94.4 && <= 0.95.1
-
- if os(solaris)
- cc-options: -DHAVE_SIGINFO_H
diff --git a/development/darcs/darcs_cabal_tar.patch b/development/darcs/darcs_cabal_tar.patch
new file mode 100644
index 0000000000..5b1ec5aff5
--- /dev/null
+++ b/development/darcs/darcs_cabal_tar.patch
@@ -0,0 +1,29 @@
+--- darcs.cabal.orig 2012-05-14 14:10:13.000000000 +0300
++++ darcs.cabal 2012-05-19 13:30:01.180000016 +0300
+@@ -371,7 +371,7 @@
+ haskeline >= 0.6.3 && < 0.7,
+ hashed-storage >= 0.5.6 && < 0.6,
+ vector >= 0.7,
+- tar == 0.3.*
++ tar == 0.4.*
+
+ if !os(windows)
+ build-depends: unix >= 1.0 && < 2.6
+@@ -532,7 +532,7 @@
+ haskeline >= 0.6.3 && < 0.7,
+ hashed-storage >= 0.5.6 && < 0.6,
+ vector >= 0.7,
+- tar == 0.3.*
++ tar == 0.4.*
+
+ if !os(windows)
+ build-depends: unix >= 1.0 && < 2.6
+@@ -729,7 +729,7 @@
+ array >= 0.1 && < 0.5,
+ hashed-storage >= 0.5.6 && < 0.6,
+ vector >= 0.7,
+- tar == 0.3.*,
++ tar == 0.4.*,
+ random == 1.0.*
+
+ if flag(mmap) && !os(windows)
diff --git a/development/darcs/src_Darcs_Repository_hs.patch b/development/darcs/src_Darcs_Repository_hs.patch
new file mode 100644
index 0000000000..1bbacd8dd9
--- /dev/null
+++ b/development/darcs/src_Darcs_Repository_hs.patch
@@ -0,0 +1,26 @@
+--- ./src/Darcs/Repository.hs.orig 2012-04-22 17:14:14.000000000 +0200
++++ ./src/Darcs/Repository.hs 2012-05-10 16:44:09.000000000 +0200
+@@ -302,19 +302,19 @@
+ removeMetaFiles = mapM_ (removeFile . (darcsdir </>)) .
+ filter ("meta-" `isPrefixOf`) =<< getDirectoryContents darcsdir
+
+-unpackBasic :: Cache -> Tar.Entries -> IO ()
++unpackBasic :: Cache -> Tar.Entries Tar.FormatError -> IO ()
+ unpackBasic c x = do
+ withControlMVar $ \mv -> unpackTar c (basicMetaHandler c mv) x
+ removeMetaFiles
+
+-unpackPatches :: Cache -> [String] -> Tar.Entries -> IO ()
++unpackPatches :: Cache -> [String] -> Tar.Entries Tar.FormatError -> IO ()
+ unpackPatches c ps x = do
+ withControlMVar $ \mv -> unpackTar c (patchesMetaHandler c ps mv) x
+ removeMetaFiles
+
+-unpackTar :: Cache -> IO () -> Tar.Entries -> IO ()
++unpackTar :: Cache -> IO () -> Tar.Entries Tar.FormatError -> IO ()
+ unpackTar _ _ Tar.Done = return ()
+-unpackTar _ _ (Tar.Fail e)= fail e
++unpackTar _ _ (Tar.Fail e) = fail $ show e
+ unpackTar c mh (Tar.Next x xs) = case Tar.entryContent x of
+ Tar.NormalFile x' _ -> do
+ let p = Tar.entryPath x