- 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:
kili 2012-03-23 20:17:06 +00:00
parent 8729920f36
commit c88b795280
3 changed files with 46 additions and 4 deletions

View File

@ -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-doc = documentation for GHC
DISTNAME = ghc-${MODGHC_VER}
PKGNAME-main = ghc-${MODGHC_VER}
REVISION-main = 4
REVISION-main = 5
PKGNAME-doc = ghc-doc-${MODGHC_VER}
REVISION-doc = 0
CATEGORIES = lang devel
@ -79,8 +79,7 @@ CONFIGURE_ARGS += --with-gmp-includes=${LOCALBASE}/include \
MAKE_FLAGS += StripLibraries=YES \
INSTALL_BIN_OPTS=-s \
HSCOLOUR_SRCS=NO \
GhcThreaded=NO
HSCOLOUR_SRCS=NO
# Thank god that they're only building compilers and no nuclear
# power plants.

View 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

View 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