openbsd-ports/lang/ghc/patches/patch-libraries_base_cbits_PrelIOUtils_c
kili a2d22041b4 Update to 6.12.2.
Many thanks to Darrin Chandler and dcoppa@ for testing, reporting about
broken stuff, missing dependencies here and in ports depending on ghc.

Notes and rants:

- Bootstrapping is done using precompiled binaries, since .hc
  bootstrapping still doesn't work. I really hate this.

  THIS MEANS THAT GHC IS NOW AND WILL STAY LEGACY-ONLY (i386 and amd64)

  At least until someone fixes it. I tried for more than two year
  (well, only in my spare time and during my vacations) and failed.

- libgmp is currently disabled, because I didn't yet hack the GHC build
  system to use the system libgmp instead of the patched one included
  in GHC.

- The haddock ncluded in the ghc distfile is replaced by the version
  of haddock found in devel/haddock. Haddock itself is @commented
  in the ghc PLIST. Unfortunately, this needs an ugly hack that
  introduces an otherwise useless pseudo flavor `no_deps' in
  devel/haddock.

- CLDouble has been removed from GHC some time ago, because it was
  an alias for double (AFAIK there's now support for long double
  in GHC). As this isn't a really big problem, it currently breaks
  c2hs, which I'll mark broken temporarily before committing the
  ghc update.

- The external codeset defaults to latin1 (suggested by Simon Marlow)
  and can be overridden by setting the HS_ENCODING to any codeset
  supported by libiconv.

- ghc.port.mk still needs some love, especially for letting a port add
  additional parameters to certain invocations of ${MODGHC_SETUP_PROG}.
2010-04-22 21:49:37 +00:00

24 lines
723 B
Plaintext

$OpenBSD: patch-libraries_base_cbits_PrelIOUtils_c,v 1.1 2010/04/22 21:49:37 kili Exp $
We have very limited locale support so used latin1 as default codeset
which can be overridden by the environment variable `HS_ENCODING'.
--- libraries/base/cbits/PrelIOUtils.c.orig Tue Apr 13 20:10:09 2010
+++ libraries/base/cbits/PrelIOUtils.c Mon Apr 19 23:12:08 2010
@@ -26,10 +26,13 @@ void debugBelch2(const char*s, char *t)
// Use a C wrapper for this because we avoid hsc2hs in base
#if HAVE_LANGINFO_H
-#include <langinfo.h>
+#include <stdlib.h>
+#include <string.h>
char *localeEncoding (void)
{
- return nl_langinfo(CODESET);
+ char *l;
+ l = getenv("HS_ENCODING");
+ return l != NULL ? l : "latin1";
}
#endif