Thursday, September 26, 2019

update lang/ghc

Hi,

this is the update to ghc-8.6.4 I'm confident with, based on Greg
Steuck's work.

Build-tested (with all consumers) on amd64 and i386. Runtime-tested
with xmonad an amd64. Upgrade tested (with all hs-ports installed)
on amd64. Also, Greg did a full build test and a partial upgrade
test on amd64 with an earlier version (that still used the bundled
gmp and libffi, which causes problems and doesn't seem to be useful).

As allways, this update will be followed by a churn of updates
and/or patches to all the hs-ports (and some removals and some new
hs-ports), which I'll post later.

Many thanks to Greg, who walked through most of the hs-ports to
make them work with ghc-8.6 (either by patching or by updating),
patched some bugs in ghc itself and enabled shared libs.

Speaking of shared libs, they are kind of weird in the haskell world:

- Unversioned (i.e. no libFOO.so.x.y, just libFOO.so).

- Ghc's shared libs and the ones of hs-ports are installed into sub
directories under lib/ghc, beneith the static ones.
Fun fact: the default for hs-ports was something like
lib/${arch}-openbsd-ghc-${MODGHC_VER}, where ${arch} was either x86_64
or i386. I've modified ghc.port.mk to stop that madness.

- Completley unstable ABI, so even if the version number of the
bootstrapper of ghc changes, the new libs are incompatible (the same
was and is the case for the static libs) (*DON'T PANIC* yet).

- However, the shared libs are *not* used when linking normal haskell
programs like xmonad, darcs, hpodder, ... Instead, they are (almost)
only loaded with dlopen(2) when using ghci or template haskell or
similar.

- One exception of the above note is ghc itself. It's linked against
its own shared libs. But that's ok, because when you pkg_add -u, ghc
and its own libraries will be replaced, so there's no risk of
breakage.

Ciao,
Kili

Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/ghc/Makefile,v
retrieving revision 1.164
diff -u -p -r1.164 Makefile
--- Makefile 10 Sep 2019 13:51:21 -0000 1.164
+++ Makefile 25 Sep 2019 23:08:11 -0000
@@ -8,16 +8,15 @@ COMMENT = compiler for the functional l
# "non-deterministic", "unresolved symbol", "signature mismatch" etc. to
# find the appropriate bug tickets)

-# ghc hardcodes ${WRKDIR}/bin/gcc when the package is compiled with ccache
+# ghc hardcodes ${WRKDIR}/bin/gcc when the package is compiled with ccache
NO_CCACHE = Yes

DISTNAME = ghc-${MODGHC_VER}
-REVISION = 5
CATEGORIES = lang devel
HOMEPAGE = https://www.haskell.org/ghc/

# Version of the precompiled binaries
-BIN_VER = 8.2.2.20180330
+BIN_VER = 8.4.2.20190113

# Pull in lang/ghc to get MODGHC_VER and ONLY_FOR_ARCHS, which is maintained
# in ghc.port.mk. lang/python needed for regression tests.
@@ -27,19 +26,27 @@ MODPY_BUILDDEP = No
MODPY_RUNDEP = No
MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3}

-# BSD w/o advertising clause + LGPLv3 (from libgmp).
+# BSD w/o advertising clause.
# Distfile is bundled with other stuff like libffi, mingw
# binaries, with BSD, GPLv2 and Perl artistic license.
PERMIT_PACKAGE = Yes

-WANTLIB += c curses iconv m pthread util
+WANTLIB += c charset curses ffi gmp iconv m pthread util

-LIB_DEPENDS = converters/libiconv
-
-BUILD_DEPENDS = archivers/gtar \
- textproc/py-sphinx
+LIB_DEPENDS = converters/libiconv \
+ devel/gmp \
+ devel/libffi
+
+BUILD_DEPENDS = archivers/bzip2 \
+ archivers/gtar \
+ textproc/py-sphinx
RUN_DEPENDS =

+# The bootstrapping compiler needs gcc4, but the new ghc can be built
+# with clang. So we just BUILD_DEPEND on gcc instead of using the gcc4
+# MODULE, because the latter would also add some wrapper scripts
+BUILD_DEPENDS += lang/gcc/8>=8,<9
+
# We can't use the wrapper script, because it then gets hardcoded into
# the packaged ghc. So we explicitely use -Wl,-z,wxneeded (see
# CONFIGURE_ENV below)
@@ -64,33 +71,38 @@ BINDISTFILE-$m = ghc-${BIN_VER}-$m-unkno
SUPDISTFILES += ${BINDISTFILE-$m}
.endfor

-# Substvars for all libraries, assuming that ghc-bnot, ghc-boot-th and
-# ghci will always have the same version number as ghc.
+# Substvars for all libraries, assuming that ghc-boot, ghc-boot-th,
+# ghc-heap, libiserv and ghci will always have the same version number
+# as ghc.
GHC_ITEMS = \
- CABAL 2.0.1.0 \
- ARRAY 0.5.2.0 \
- BASE 4.10.1.0 \
- BINARY 0.8.5.1 \
+ CABAL 2.4.0.1 \
+ ARRAY 0.5.3.0 \
+ BASE 4.12.0.0 \
+ BINARY 0.8.6.0 \
BYTESTRING 0.10.8.2 \
- CONTAINERS 0.5.10.2 \
- DEEPSEQ 1.4.3.0 \
- DIRECTORY 1.3.0.2 \
- FILEPATH 1.4.1.2 \
- GHC 8.2.2 \
+ CONTAINERS 0.6.0.1 \
+ DEEPSEQ 1.4.4.0 \
+ DIRECTORY 1.3.3.0 \
+ FILEPATH 1.4.2.1 \
+ GHC 8.6.4 \
GHC_COMPACT 0.1.0.0 \
- GHC_PRIM 0.5.1.1 \
- HASKELINE 0.7.4.0 \
- HOOPL 3.10.2.2 \
+ GHC_PRIM 0.5.3 \
+ HASKELINE 0.7.4.3 \
HPC 0.6.0.3 \
- INTEGER_GMP 1.0.1.0 \
- PRETTY 1.1.3.3 \
- PROCESS 1.6.1.0 \
- TEMPLATE_HASKELL 2.12.0.0 \
- TERMINFO 0.4.1.0 \
+ INTEGER_GMP 1.0.2.0 \
+ LIBISERV 8.6.3 \
+ MTL 2.2.2 \
+ PARSEC 3.1.13.0 \
+ PRETTY 1.1.3.6 \
+ PROCESS 1.6.5.0 \
+ STM 2.5.0.0 \
+ TEMPLATE_HASKELL 2.14.0.0 \
+ TERMINFO 0.4.1.2 \
+ TEXT 1.2.3.1 \
TIME 1.8.0.2 \
- TRANSFORMERS 0.5.2.0 \
+ TRANSFORMERS 0.5.6.2 \
UNIX 2.7.2.2 \
- XHTML 3000.2.2
+ XHTML 3000.2.2.1

.for _i _v in ${GHC_ITEMS}
${_i}_VER = ${_v}
@@ -105,8 +117,13 @@ CFLAGS += -fno-pie -Wl,-znotext
.endif

CONFIGURE_STYLE = gnu
-CONFIGURE_ARGS += --with-iconv-includes=${LOCALBASE}/include \
+CONFIGURE_ARGS += --with-ffi-includes=${LOCALBASE}/include \
+ --with-ffi-libraries=${LOCALBASE}/lib \
+ --with-gmp-includes=${LOCALBASE}/include \
+ --with-gmp-libraries=${LOCALBASE}/lib \
+ --with-iconv-includes=${LOCALBASE}/include \
--with-iconv-libraries=${LOCALBASE}/lib \
+ --with-system-libffi \
CC="${CC}"

# Don't autodetect ld.lld. It fails at some point during the build
@@ -154,8 +171,7 @@ post-patch:
LD_LIBRARY_PATH=${BOOTSTRAP_SHLIBS} \
CONFIGURE_ENV=${CONFIGURE_ENV} \
./configure --prefix=${WRKDIR}/bootstrap \
- --with-gcc="${CC}" \
- --with-clang="${CC}" && \
+ CC=${LOCALBASE}/bin/egcc && \
LD_LIBRARY_PATH=${BOOTSTRAP_SHLIBS} \
${MAKE_PROGRAM} install
rm -rf ${WRKDIR}/ghc-${BIN_VER}
@@ -181,7 +197,7 @@ do-test:
# It doesn't matter wether this is the actual date of the bootstrapper
# build. It's just used to get different distfiles whenever new
# bootstrappers have to be built.
-BOOTSTRAP_DATE = 20180330
+BOOTSTRAP_DATE = 20190113

# Create a bootstrapper. This compiles a stripped-down version of
# ghc and creates a `bindist', i.e. a tarball with binaries that
@@ -216,8 +232,8 @@ bootstrap: patch

env CONFIGURE_ENV=RELEASE=NO ${MAKE} configure

- env MAKE_ENV="AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.4" \
- ${MAKE} build ALL_TARGET="all binary-dist"
+ ${MAKE} build ALL_TARGET="all binary-dist" \
+ AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.4

mkdir -p ${WRKBUILD}/ghc-${MODGHC_VER}.${BOOTSTRAP_DATE}-shlibs-$$(arch -s)
ldd ${WRKBUILD}/ghc/stage2/build/tmp/ghc-stage2 | \
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/ghc/distinfo,v
retrieving revision 1.51
diff -u -p -r1.51 distinfo
--- distinfo 30 Mar 2018 23:16:59 -0000 1.51
+++ distinfo 25 Sep 2019 23:08:11 -0000
@@ -1,12 +1,12 @@
-SHA256 (ghc/ghc-8.2.2-src.tar.xz) = u47DY0qhMtCfqicLvWBLgt+mHwSFVlWvb50Uqe7cBfw=
-SHA256 (ghc/ghc-8.2.2-testsuite.tar.xz) = kn/5OfRqD3mqh+FuVuCgJKKIx4JZvth0yxWqlqZTVmw=
-SHA256 (ghc/ghc-8.2.2.20180330-amd64-unknown-openbsd.tar.xz) = erhGm6JICVVn2InKtQSddXZWb18PrHqXlmOUy5/keSg=
-SHA256 (ghc/ghc-8.2.2.20180330-i386-unknown-openbsd.tar.xz) = Txnu9vWOIRISD817Qy42vnikc6xRnI0gvdBU28b1Eis=
-SHA256 (ghc/ghc-8.2.2.20180330-shlibs-amd64.tar.gz) = mFtqmGjL2L/1eqzf31Ewv9i7nIF8mldRwR2PflG22j4=
-SHA256 (ghc/ghc-8.2.2.20180330-shlibs-i386.tar.gz) = v2c6QAG9a5lnN2hl4HWNtxjo37x4mSTPF2UGnwR+D0o=
-SIZE (ghc/ghc-8.2.2-src.tar.xz) = 10753272
-SIZE (ghc/ghc-8.2.2-testsuite.tar.xz) = 1809936
-SIZE (ghc/ghc-8.2.2.20180330-amd64-unknown-openbsd.tar.xz) = 48946188
-SIZE (ghc/ghc-8.2.2.20180330-i386-unknown-openbsd.tar.xz) = 47654468
-SIZE (ghc/ghc-8.2.2.20180330-shlibs-amd64.tar.gz) = 2795641
-SIZE (ghc/ghc-8.2.2.20180330-shlibs-i386.tar.gz) = 2786181
+SHA256 (ghc/ghc-8.4.2.20190113-amd64-unknown-openbsd.tar.xz) = mgX+n73l3DcSbSztQDuoLbg7SFNE0thfeyZnoXkP+aA=
+SHA256 (ghc/ghc-8.4.2.20190113-i386-unknown-openbsd.tar.xz) = Lunq6hJN267fQBn8xO91ECDdGDChzF02RLhw/Q2CIwY=
+SHA256 (ghc/ghc-8.4.2.20190113-shlibs-amd64.tar.gz) = fPgINvftpK632NOGqBuQ4Z7G730YRoq99aOaZrQGqAQ=
+SHA256 (ghc/ghc-8.4.2.20190113-shlibs-i386.tar.gz) = vMf8iRC17T9fZx5jcGwX/Y/5CHfQ/BFGq7QMKoyzqNg=
+SHA256 (ghc/ghc-8.6.4-src.tar.xz) = W10H5EYyA6Qzw+099GG6bM4RttK5smTbMfNCkHXQMDo=
+SHA256 (ghc/ghc-8.6.4-testsuite.tar.xz) = 6gLWerJMD10UfXSW4nuQQ+NlnUkd79LR4cewJo/q6/k=
+SIZE (ghc/ghc-8.4.2.20190113-amd64-unknown-openbsd.tar.xz) = 54549160
+SIZE (ghc/ghc-8.4.2.20190113-i386-unknown-openbsd.tar.xz) = 51355360
+SIZE (ghc/ghc-8.4.2.20190113-shlibs-amd64.tar.gz) = 2911998
+SIZE (ghc/ghc-8.4.2.20190113-shlibs-i386.tar.gz) = 2787557
+SIZE (ghc/ghc-8.6.4-src.tar.xz) = 19029904
+SIZE (ghc/ghc-8.6.4-testsuite.tar.xz) = 1906656
Index: ghc.port.mk
===================================================================
RCS file: /cvs/ports/lang/ghc/ghc.port.mk,v
retrieving revision 1.43
diff -u -p -r1.43 ghc.port.mk
--- ghc.port.mk 10 Sep 2019 13:51:21 -0000 1.43
+++ ghc.port.mk 25 Sep 2019 23:08:11 -0000
@@ -6,7 +6,7 @@ ONLY_FOR_ARCHS = i386 amd64

# Dependency of meta/haskell-platform.
# Please do *not* update without thinking.
-MODGHC_VER = 8.2.2
+MODGHC_VER = 8.6.4
SUBST_VARS += MODGHC_VER

MODGHC_BIN = ${LOCALBASE}/bin/ghc
@@ -64,13 +64,15 @@ MODGHC_SETUP_CONF_ENV ?=
MODGHC_SETUP_CONF_ARGS += --datasubdir=hs-\$$pkgid
MODGHC_SETUP_CONF_ARGS += --docdir=\$$datadir/doc/hs-\$$pkgid
MODGHC_SETUP_CONF_ARGS += --libsubdir=ghc/\$$pkgid
+MODGHC_SETUP_CONF_ARGS += --dynlibdir=${PREFIX}/lib/ghc/\$$pkgid
MODGHC_SETUP_CONF_ARGS += --enable-library-profiling
. else
# Override Cabal defaults, which are $arch-$os-$compiler/$pkgid for
-# datasubdir and libsubdir and $datadir/doc/$arch-$os-$compiler/$pkgid
-# for docdir.
+# datasubdir and libsubdir, $datadir/doc/$arch-$os-$compiler/$pkgid
+# for docdir and ${PREFIX}/lib/$arch-$os-$compiler/$pkgid for dynlibdir.
MODGHC_SETUP_CONF_ARGS += --datasubdir=\$$pkgid
MODGHC_SETUP_CONF_ARGS += --libsubdir=\$$pkgid
+MODGHC_SETUP_CONF_ARGS += --dynlibdir=${PREFIX}/lib/ghc/\$$pkgid
MODGHC_SETUP_CONF_ARGS += --docdir=\$$datadir/doc/\$$pkgid
. endif

Index: patches/patch-compiler_main_SysTools_hs
===================================================================
RCS file: patches/patch-compiler_main_SysTools_hs
diff -N patches/patch-compiler_main_SysTools_hs
--- patches/patch-compiler_main_SysTools_hs 22 Jan 2018 00:42:30 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-compiler_main_SysTools_hs,v 1.3 2018/01/22 00:42:30 kili Exp $
-Index: compiler/main/SysTools.hs
---- compiler/main/SysTools.hs.orig
-+++ compiler/main/SysTools.hs
-@@ -881,6 +881,9 @@ getCompilerInfo' dflags = do
- -- Regular clang
- | any ("clang version" `isInfixOf`) stde =
- return Clang
-+ -- stupid thingy !!!!
-+ | any ("OpenBSD clang version" `isPrefixOf`) stde =
-+ return Clang
- -- XCode 5.1 clang
- | any ("Apple LLVM version 5.1" `isPrefixOf`) stde =
- return AppleClang51
Index: patches/patch-configure
===================================================================
RCS file: /cvs/ports/lang/ghc/patches/patch-configure,v
retrieving revision 1.18
diff -u -p -r1.18 patch-configure
--- patches/patch-configure 22 Jan 2018 00:42:30 -0000 1.18
+++ patches/patch-configure 25 Sep 2019 23:08:11 -0000
@@ -2,7 +2,24 @@ $OpenBSD: patch-configure,v 1.18 2018/01
Index: configure
--- configure.orig
+++ configure
-@@ -9152,7 +9152,7 @@ $as_echo_n "checking for extra options to pass gcc whe
+@@ -9048,11 +9048,11 @@ OptCmd="$OPT"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Creating links for in-tree file handling routines." >&5
+ $as_echo "$as_me: Creating links for in-tree file handling routines." >&6;}
+-ln -f -v utils/fs/fs.* utils/lndir/
+-ln -f -v utils/fs/fs.* utils/unlit/
+-ln -f -v utils/fs/fs.* rts/
+-ln -f -v utils/fs/fs.h libraries/base/include/
+-ln -f -v utils/fs/fs.c libraries/base/cbits/
++ln -f utils/fs/fs.* utils/lndir/
++ln -f utils/fs/fs.* utils/unlit/
++ln -f utils/fs/fs.* rts/
++ln -f utils/fs/fs.h libraries/base/include/
++ln -f utils/fs/fs.c libraries/base/cbits/
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Routines in place. Packages can now be build normally." >&5
+ $as_echo "$as_me: Routines in place. Packages can now be build normally." >&6;}
+
+@@ -9296,7 +9296,7 @@ $as_echo_n "checking for extra options to pass gcc whe
if ${fp_cv_gcc_extra_opts+:} false; then :
$as_echo_n "(cached) " >&6
else
Index: patches/patch-ghc_mk
===================================================================
RCS file: /cvs/ports/lang/ghc/patches/patch-ghc_mk,v
retrieving revision 1.13
diff -u -p -r1.13 patch-ghc_mk
--- patches/patch-ghc_mk 22 Jan 2018 00:42:30 -0000 1.13
+++ patches/patch-ghc_mk 25 Sep 2019 23:08:11 -0000
@@ -6,7 +6,7 @@ gtar creates an archive which our tar ca
Index: ghc.mk
--- ghc.mk.orig
+++ ghc.mk
-@@ -1105,6 +1105,8 @@ unix-binary-dist-prep:
+@@ -1102,6 +1102,8 @@ unix-binary-dist-prep:
echo "CrossCompiling = $(CrossCompiling)" >> $(BIN_DIST_MK)
cd $(BIN_DIST_PREP_DIR) && autoreconf
$(call removeFiles,$(BIN_DIST_PREP_TAR))
Index: patches/patch-iserv_ghc_mk
===================================================================
RCS file: patches/patch-iserv_ghc_mk
diff -N patches/patch-iserv_ghc_mk
--- patches/patch-iserv_ghc_mk 22 Jan 2018 00:42:30 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-iserv_ghc_mk,v 1.2 2018/01/22 00:42:30 kili Exp $
-
-Seriously -- if there are knobs to disable threads it should be possible
-to build everything without threads.
-
-Index: iserv/ghc.mk
---- iserv/ghc.mk.orig
-+++ iserv/ghc.mk
-@@ -20,9 +20,11 @@ iserv_stage2_p_MORE_HC_OPTS += -debug
- iserv_stage2_dyn_MORE_HC_OPTS += -debug
- endif
-
-+ifeq "$(GhcThreaded)" "YES"
- iserv_stage2_MORE_HC_OPTS += -threaded
- iserv_stage2_p_MORE_HC_OPTS += -threaded
- iserv_stage2_dyn_MORE_HC_OPTS += -threaded
-+endif
-
- # Add -Wl,--export-dynamic enables GHCi to load dynamic objects that
- # refer to the RTS. This is harmless if you don't use it (adds a bit
Index: patches/patch-libraries_Cabal_Cabal_Distribution_Simple_Compiler_hs
===================================================================
RCS file: patches/patch-libraries_Cabal_Cabal_Distribution_Simple_Compiler_hs
diff -N patches/patch-libraries_Cabal_Cabal_Distribution_Simple_Compiler_hs
--- patches/patch-libraries_Cabal_Cabal_Distribution_Simple_Compiler_hs 22 Jan 2018 00:42:30 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,26 +0,0 @@
-$OpenBSD: patch-libraries_Cabal_Cabal_Distribution_Simple_Compiler_hs,v 1.1 2018/01/22 00:42:30 kili Exp $
-
-Dynamic libraries are still disabled on OpenBSD, so don't let Cabal
-do anything about them (especially putting a bogus dynamic-library-dirs
-field into package registrations).
-
-Index: libraries/Cabal/Cabal/Distribution/Simple/Compiler.hs
---- libraries/Cabal/Cabal/Distribution/Simple/Compiler.hs.orig
-+++ libraries/Cabal/Cabal/Distribution/Simple/Compiler.hs
-@@ -329,15 +329,7 @@ backpackSupported = ghcSupported "Support Backpack"
- -- | Does this compiler support a package database entry with:
- -- "dynamic-library-dirs"?
- libraryDynDirSupported :: Compiler -> Bool
--libraryDynDirSupported comp = case compilerFlavor comp of
-- GHC ->
-- -- Not just v >= mkVersion [8,0,1,20161022], as there
-- -- are many GHC 8.1 nightlies which don't support this.
-- ((v >= mkVersion [8,0,1,20161022] && v < mkVersion [8,1]) ||
-- v >= mkVersion [8,1,20161021])
-- _ -> False
-- where
-- v = compilerVersion comp
-+libraryDynDirSupported comp = False
-
- -- | Does this compiler support Haskell program coverage?
- coverageSupported :: Compiler -> Bool
Index: patches/patch-libraries_base_GHC_IO_Encoding_hs
===================================================================
RCS file: /cvs/ports/lang/ghc/patches/patch-libraries_base_GHC_IO_Encoding_hs,v
retrieving revision 1.4
diff -u -p -r1.4 patch-libraries_base_GHC_IO_Encoding_hs
--- patches/patch-libraries_base_GHC_IO_Encoding_hs 19 Sep 2015 07:42:57 -0000 1.4
+++ patches/patch-libraries_base_GHC_IO_Encoding_hs 25 Sep 2019 23:08:11 -0000
@@ -1,7 +1,8 @@
$OpenBSD: patch-libraries_base_GHC_IO_Encoding_hs,v 1.4 2015/09/19 07:42:57 kili Exp $
---- libraries/base/GHC/IO/Encoding.hs.orig Tue Jul 21 21:50:11 2015
-+++ libraries/base/GHC/IO/Encoding.hs Sun Aug 9 17:35:52 2015
-@@ -101,7 +101,9 @@ utf32le = UTF32.utf32le
+Index: libraries/base/GHC/IO/Encoding.hs
+--- libraries/base/GHC/IO/Encoding.hs.orig
++++ libraries/base/GHC/IO/Encoding.hs
+@@ -102,7 +102,9 @@ utf32le = UTF32.utf32le
utf32be :: TextEncoding
utf32be = UTF32.utf32be

Index: patches/patch-mk_config_mk_in
===================================================================
RCS file: patches/patch-mk_config_mk_in
diff -N patches/patch-mk_config_mk_in
--- patches/patch-mk_config_mk_in 22 Jan 2018 00:42:30 -0000 1.13
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-$OpenBSD: patch-mk_config_mk_in,v 1.13 2018/01/22 00:42:30 kili Exp $
-
-Don't build shared libs for now.
-
-Index: mk/config.mk.in
---- mk/config.mk.in.orig
-+++ mk/config.mk.in
-@@ -122,7 +122,9 @@ endif
- NoSharedLibsPlatformList = \
- powerpc-ibm-aix \
- x86_64-unknown-mingw32 \
-- i386-unknown-mingw32
-+ i386-unknown-mingw32 \
-+ i386-unknown-openbsd \
-+ x86_64-unknown-openbsd
-
- ifeq "$(SOLARIS_BROKEN_SHLD)" "YES"
- NoSharedLibsPlatformList += i386-unknown-solaris2
Index: patches/patch-rts_RtsSymbols_c
===================================================================
RCS file: patches/patch-rts_RtsSymbols_c
diff -N patches/patch-rts_RtsSymbols_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-rts_RtsSymbols_c 25 Sep 2019 23:08:11 -0000
@@ -0,0 +1,30 @@
+$OpenBSD$
+
+Fix symbol collision on _DYNAMIC.
+
+From upstream commit 1638350f0629365f20e97554e872d85b75f48d73 by
+Sergei Trofimovich.
+
+Index: rts/RtsSymbols.c
+--- rts/RtsSymbols.c.orig
++++ rts/RtsSymbols.c
+@@ -27,6 +27,10 @@
+ #include <shfolder.h> /* SHGetFolderPathW */
+

No comments:

Post a Comment