Package: haskell-hfuse Version: 0.2.4.1-1 Severity: important Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch raring
The current haskell-hfuse in experimental fails to build against GHC 7.6 (tested in Ubuntu raring) as follows: debian/hlibrary.setup build --builddir=dist-ghc Building HFuse-0.2.4.1... Preprocessing library HFuse-0.2.4.1... [1 of 1] Compiling System.Fuse ( dist-ghc/build/System/Fuse.hs, dist-ghc/build/System/Fuse.o ) System/Fuse.hsc:73:40: Module `System.IO.Error' does not export `catch' make: *** [build-ghc-stamp] Error 1 This has been fixed upstream, although there hasn't been a new release yet. Here's a patch. * Backport upstream patch to fix compilation with GHC 7.6. diff -Nru haskell-hfuse-0.2.4.1/debian/patches/ghc-7.6.patch haskell-hfuse-0.2.4.1/debian/patches/ghc-7.6.patch --- haskell-hfuse-0.2.4.1/debian/patches/ghc-7.6.patch 1970-01-01 01:00:00.000000000 +0100 +++ haskell-hfuse-0.2.4.1/debian/patches/ghc-7.6.patch 2013-03-19 02:18:15.000000000 +0000 @@ -0,0 +1,73 @@ +Description: Fix compilation with GHC 7.6 +Author: Amit Aryeh Levy <a...@amitlevy.com> +Origin: upstream, https://github.com/toothbrush/hfuse/commit/45650d8e743762004ce3949f11475b4eadbe384c.patch +Last-Update: 2013-03-19 + +Index: b/System/Fuse.hsc +=================================================================== +--- a/System/Fuse.hsc ++++ b/System/Fuse.hsc +@@ -20,7 +20,7 @@ + -- option). + -- + ----------------------------------------------------------------------------- +-{-# LANGUAGE FlexibleContexts #-} ++{-# LANGUAGE FlexibleContexts, RankNTypes #-} + module System.Fuse + ( -- * Using FUSE + +@@ -52,7 +52,7 @@ + import Prelude hiding ( Read ) + + import Control.Monad +-import Control.Exception as E(Exception, handle, finally, SomeException) ++import Control.Exception as E(catch, Exception, IOException, handle, finally, SomeException) + import qualified Data.ByteString.Char8 as B + import qualified Data.ByteString.Internal as B + import qualified Data.ByteString.Unsafe as B +@@ -70,7 +70,7 @@ + import qualified System.Posix.Signals as Signals + import GHC.IO.Handle(hDuplicateTo) + import System.Exit +-import qualified System.IO.Error as IO(catch,ioeGetErrorString) ++import qualified System.IO.Error as IO(ioeGetErrorString) + + -- TODO: FileMode -> Permissions + -- TODO: Arguments ! +@@ -757,16 +757,17 @@ + -- Mimic's daemon()s use of _exit() instead of exit(); we depend on this in fuseMainReal, + -- because otherwise we'll unmount the filesystem when the foreground process exits. + daemon f = forkProcess d >> exitImmediately ExitSuccess +- where d = IO.catch (do createSession +- changeWorkingDirectory "/" +- -- need to open /dev/null twice because hDuplicateTo can't dup a ReadWriteMode to a ReadMode handle +- withFile "/dev/null" WriteMode (\devNullOut -> +- do hDuplicateTo devNullOut stdout +- hDuplicateTo devNullOut stderr) +- withFile "/dev/null" ReadMode (\devNullIn -> hDuplicateTo devNullIn stdin) +- f +- exitWith ExitSuccess) +- (const exitFailure) ++ where d = E.catch (do ++ createSession ++ changeWorkingDirectory "/" ++ -- need to open /dev/null twice because hDuplicateTo can't dup a ReadWriteMode to a ReadMode handle ++ withFile "/dev/null" WriteMode (\devNullOut -> ++ do hDuplicateTo devNullOut stdout ++ hDuplicateTo devNullOut stderr) ++ withFile "/dev/null" ReadMode (\devNullIn -> hDuplicateTo devNullIn stdin) ++ f ++ exitWith ExitSuccess) ++ (\(_ :: IOException) -> exitFailure) + + -- Installs signal handlers for the duration of the main loop. + withSignalHandlers exitHandler f = +@@ -843,7 +844,7 @@ + + fuseRun :: String -> [String] -> Exception e => FuseOperations fh -> (e -> IO Errno) -> IO () + fuseRun prog args ops handler = +- IO.catch ++ E.catch + (withFuseArgs prog args (\pArgs -> + do cmd <- fuseParseCommandLine pArgs + case cmd of diff -Nru haskell-hfuse-0.2.4.1/debian/patches/series haskell-hfuse-0.2.4.1/debian/patches/series --- haskell-hfuse-0.2.4.1/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ haskell-hfuse-0.2.4.1/debian/patches/series 2013-03-19 02:15:47.000000000 +0000 @@ -0,0 +1 @@ +ghc-7.6.patch Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org