- Don't build/use the execvpe() bundled with libraries/unix.
Unfortunately, we can't completely remove or skip include/execvpe.h and cbits/execvpe.c, because they also contain pPrPr_disableITimers(), which is called from the Haskell code. - Switch back to GhcThreaded=YES (default). It's stupid, it's not required by GHC (IIRC it was required a long time ago back when ghci used libreadline), but it may help finding rthread bugs. Until now, I did run four complete builds of GHC and all Haskell ports with dpb without any problems.
This commit is contained in:
parent
8729920f36
commit
c88b795280
@ -1,11 +1,11 @@
|
|||||||
# $OpenBSD: Makefile,v 1.64 2012/02/19 20:38:53 kili Exp $
|
# $OpenBSD: Makefile,v 1.65 2012/03/23 20:17:06 kili Exp $
|
||||||
|
|
||||||
COMMENT-main = compiler for the functional language Haskell
|
COMMENT-main = compiler for the functional language Haskell
|
||||||
COMMENT-doc = documentation for GHC
|
COMMENT-doc = documentation for GHC
|
||||||
|
|
||||||
DISTNAME = ghc-${MODGHC_VER}
|
DISTNAME = ghc-${MODGHC_VER}
|
||||||
PKGNAME-main = ghc-${MODGHC_VER}
|
PKGNAME-main = ghc-${MODGHC_VER}
|
||||||
REVISION-main = 4
|
REVISION-main = 5
|
||||||
PKGNAME-doc = ghc-doc-${MODGHC_VER}
|
PKGNAME-doc = ghc-doc-${MODGHC_VER}
|
||||||
REVISION-doc = 0
|
REVISION-doc = 0
|
||||||
CATEGORIES = lang devel
|
CATEGORIES = lang devel
|
||||||
@ -79,8 +79,7 @@ CONFIGURE_ARGS += --with-gmp-includes=${LOCALBASE}/include \
|
|||||||
|
|
||||||
MAKE_FLAGS += StripLibraries=YES \
|
MAKE_FLAGS += StripLibraries=YES \
|
||||||
INSTALL_BIN_OPTS=-s \
|
INSTALL_BIN_OPTS=-s \
|
||||||
HSCOLOUR_SRCS=NO \
|
HSCOLOUR_SRCS=NO
|
||||||
GhcThreaded=NO
|
|
||||||
|
|
||||||
# Thank god that they're only building compilers and no nuclear
|
# Thank god that they're only building compilers and no nuclear
|
||||||
# power plants.
|
# power plants.
|
||||||
|
28
lang/ghc/patches/patch-libraries_unix_cbits_execvpe_c
Normal file
28
lang/ghc/patches/patch-libraries_unix_cbits_execvpe_c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
$OpenBSD: patch-libraries_unix_cbits_execvpe_c,v 1.1 2012/03/23 20:17:06 kili Exp $
|
||||||
|
|
||||||
|
Don't build the included execvpe().
|
||||||
|
|
||||||
|
--- libraries/unix/cbits/execvpe.c.orig Mon Jun 13 19:10:12 2011
|
||||||
|
+++ libraries/unix/cbits/execvpe.c Fri Mar 23 18:52:49 2012
|
||||||
|
@@ -9,7 +9,7 @@
|
||||||
|
#include "Rts.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if !(defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32)) /* to the end */
|
||||||
|
+#if 0
|
||||||
|
|
||||||
|
/* Evidently non-Posix. */
|
||||||
|
/* #include "PosixSource.h" */
|
||||||
|
@@ -157,6 +157,7 @@ execvpe(char *name, char *const argv[], char **envp)
|
||||||
|
free(buf);
|
||||||
|
return (-1);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Copied verbatim from ghc/lib/std/cbits/system.c. */
|
||||||
|
@@ -167,4 +168,3 @@ void pPrPr_disableITimers (void)
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
-#endif
|
15
lang/ghc/patches/patch-libraries_unix_include_execvpe_h
Normal file
15
lang/ghc/patches/patch-libraries_unix_include_execvpe_h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
$OpenBSD: patch-libraries_unix_include_execvpe_h,v 1.1 2012/03/23 20:17:06 kili Exp $
|
||||||
|
|
||||||
|
Don't build the included execvpe().
|
||||||
|
|
||||||
|
--- libraries/unix/include/execvpe.h.orig Mon Jun 13 19:10:12 2011
|
||||||
|
+++ libraries/unix/include/execvpe.h Fri Mar 23 18:52:34 2012
|
||||||
|
@@ -18,8 +18,5 @@
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(_WIN32)
|
||||||
|
-extern int execvpe(char *name, char *const argv[], char **envp);
|
||||||
|
extern void pPrPr_disableITimers (void);
|
||||||
|
-#endif
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user