On Mon, Feb 18, 2019 at 09:47:55PM +0100, Matthias Kilian wrote:
> Missing bits: add version numbers of new included libraries to
> the Makefile, regenerate pkg/PLIST.
Greg Steuck did that annoying work (thanks!). New diff below,
with some additional bits from me (like unbreaking BUILD_DEPENDS,
which I fatfingered in my last diff).
Some notes: make update-plist seems to remove lib/ghc/unregister.sh
from pkg/PLIST, I've no idea, why.
ghc now also contains packages mtl, parsec, stm and text. The
corresponding hs-ports will be removed. I've added @conflict and
@pkgpath markers to pkg/PLIST.
I also did run a bulk update with this, fixing the most simple
problems in hs-ports (change MODGHC_PACKAGE_KEY, remove dependencies
on the four packages mentioned above, update-plist, bump). Greg
also started to do some work on hs-ports.
In my tree, about 23 hs-ports failed to build because of either too
tight dependency constraints in the .cabal file or because of real
errors. I'm running a second bulk update and will send a list of
those ports, together with diffs with simple fixes for some of the
other ports when this bulk is finished.
This will probably not be the last ghc diff -- at least the addition
of System.OpenBSD.Process.pledge has to be fixed (the second argument
no longer is a list of paths), and maybe i should add an interface
to unveil(2).
Ciao,
Kili
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/ghc/Makefile,v
retrieving revision 1.160
diff -u -p -r1.160 Makefile
--- Makefile 14 Nov 2018 15:08:49 -0000 1.160
+++ Makefile 26 Feb 2019 20:58:40 -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 = 2
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.
@@ -34,10 +33,16 @@ PERMIT_PACKAGE_CDROM = Yes
LIB_DEPENDS = converters/libiconv
-BUILD_DEPENDS = archivers/gtar \
- textproc/py-sphinx
+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/4.9>=4.9,<4.10
+
# 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)
@@ -63,33 +68,37 @@ 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.3 \
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 \
+ MTL 2.2.2 \
+ PARSEC 3.1.13.0 \
+ PRETTY 1.1.3.6 \
+ PROCESS 1.6.3.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.5.0 \
UNIX 2.7.2.2 \
- XHTML 3000.2.2
+ XHTML 3000.2.2.1
.for _i _v in ${GHC_ITEMS}
${_i}_VER = ${_v}
@@ -153,8 +162,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}
@@ -202,7 +210,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
@@ -237,8 +245,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 26 Feb 2019 20:58:40 -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.3-src.tar.xz) = n543t5cZNdiLqAQmw2rxSx4LPsHZyGD0SkORdxvAfyM=
+SHA256 (ghc/ghc-8.6.3-testsuite.tar.xz) = 0lTLCYKieiHJe9UDN9NP+MXOIpzKeyN+ZyseS2eEXG4=
+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.3-src.tar.xz) = 19138116
+SIZE (ghc/ghc-8.6.3-testsuite.tar.xz) = 1906780
Index: ghc.port.mk
===================================================================
RCS file: /cvs/ports/lang/ghc/ghc.port.mk,v
retrieving revision 1.42
diff -u -p -r1.42 ghc.port.mk
--- ghc.port.mk 22 Jan 2018 00:42:30 -0000 1.42
+++ ghc.port.mk 26 Feb 2019 20:58:40 -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.3
SUBST_VARS += MODGHC_VER
MODGHC_BIN = ${LOCALBASE}/bin/ghc
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 26 Feb 2019 20:58:40 -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 26 Feb 2019 20:58:40 -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: /cvs/ports/lang/ghc/patches/patch-libraries_Cabal_Cabal_Distribution_Simple_Compiler_hs,v
retrieving revision 1.1
diff -u -p -r1.1 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
+++ patches/patch-libraries_Cabal_Cabal_Distribution_Simple_Compiler_hs 26 Feb 2019 20:58:40 -0000
@@ -7,7 +7,7 @@ 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"
+@@ -345,15 +345,7 @@ backpackSupported = ghcSupported "Support Backpack"
-- | Does this compiler support a package database entry with:
-- "dynamic-library-dirs"?
libraryDynDirSupported :: Compiler -> Bool
@@ -22,5 +22,5 @@ Index: libraries/Cabal/Cabal/Distributio
- v = compilerVersion comp
+libraryDynDirSupported comp = False
- -- | Does this compiler support Haskell program coverage?
- coverageSupported :: Compiler -> Bool
+ -- | Does this compiler's "ar" command supports response file
+ -- arguments (i.e. @file-style arguments).
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 26 Feb 2019 20:58:40 -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: /cvs/ports/lang/ghc/patches/patch-mk_config_mk_in,v
retrieving revision 1.13
diff -u -p -r1.13 patch-mk_config_mk_in
--- patches/patch-mk_config_mk_in 22 Jan 2018 00:42:30 -0000 1.13
+++ patches/patch-mk_config_mk_in 26 Feb 2019 20:58:40 -0000
@@ -5,7 +5,7 @@ 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
+@@ -112,7 +112,9 @@ endif
NoSharedLibsPlatformList = \
powerpc-ibm-aix \
x86_64-unknown-mingw32 \
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 26 Feb 2019 20:58:40 -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