pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/ghc90 Drop run-time dependency on perl



details:   https://anonhg.NetBSD.org/pkgsrc/rev/06675c5a7a7c
branches:  trunk
changeset: 450849:06675c5a7a7c
user:      pho <pho%pkgsrc.org@localhost>
date:      Fri Apr 23 00:08:02 2021 +0000

description:
Drop run-time dependency on perl

GHC has stopped requiring perl since 8.2.1 release. The last component
written in Perl was the evil splitter (-fsplit-objs), which has been
superseded by -fsplit-sections. Hooray!

diffstat:

 lang/ghc90/Makefile                 |  13 ++-----------
 lang/ghc90/bootstrap.mk             |   9 +--------
 lang/ghc90/files/bootstrap.build.mk |   6 ++----
 3 files changed, 5 insertions(+), 23 deletions(-)

diffs (84 lines):

diff -r fd26f45458bf -r 06675c5a7a7c lang/ghc90/Makefile
--- a/lang/ghc90/Makefile       Thu Apr 22 21:42:02 2021 +0000
+++ b/lang/ghc90/Makefile       Fri Apr 23 00:08:02 2021 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2021/04/22 18:15:00 pho Exp $
+# $NetBSD: Makefile,v 1.5 2021/04/23 00:08:02 pho Exp $
 # -----------------------------------------------------------------------------
 # Package metadata
 #
@@ -44,19 +44,11 @@
 # -----------------------------------------------------------------------------
 # Tools
 #
-# The runtime dependency on perl is due to the evil splitter
-# (lib/${PKGNAME_NOREV}/ghc-split).
-USE_TOOLS+=                    autoconf gmake perl:run
+USE_TOOLS+=                    autoconf gmake
 GNU_CONFIGURE=                 yes
 USE_GNU_CONFIGURE_HOST=                no
 USE_LIBTOOL=                   yes
 
-# TODO: Disable the splitter entirely so that we can drop the runtime
-# dependency on perl. The purpose of the splitter is to perform a dead
-# code elimination by breaking .o files into many pieces. This only
-# makes sense when linking executables statically, which is rarely
-# done these days.
-
 
 # -----------------------------------------------------------------------------
 # Configuration
@@ -78,7 +70,6 @@
 CONFIGURE_ENV+= \
        ac_cv_prog_fp_prog_ar=${AR:Q} \
        ac_cv_prog_LIBTOOL=libtool \
-       PerlCmd=${PERL5:Q} \
        CC=${CC:Q} \
        LD=${LD:Q}
 
diff -r fd26f45458bf -r 06675c5a7a7c lang/ghc90/bootstrap.mk
--- a/lang/ghc90/bootstrap.mk   Thu Apr 22 21:42:02 2021 +0000
+++ b/lang/ghc90/bootstrap.mk   Fri Apr 23 00:08:02 2021 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: bootstrap.mk,v 1.3 2021/04/22 18:15:00 pho Exp $
+# $NetBSD: bootstrap.mk,v 1.4 2021/04/23 00:08:02 pho Exp $
 # -----------------------------------------------------------------------------
 # Select a bindist of bootstrapping compiler on a per-platform basis.
 #
@@ -80,13 +80,6 @@
 SITES.${i}?=   ${MASTER_SITE_LOCAL}
 .endfor
 
-# Existence of libelf makes LeadingUnderscore being "NO", which is
-# incorrect for this platform. See ${WRKSRC}/aclocal.m4
-# (FP_LEADING_UNDERSCORE)
-.if ${OPSYS} == "Darwin"
-CONFLICTS+=    libelf-[0-9]*
-.endif
-
 # current bootstrap binary kit for SmartOS is built with ncurses5
 .if !empty(MACHINE_PLATFORM:MSunOS-*) && ${OS_VARIANT:U} == "SmartOS"
 BUILD_DEPENDS+=        ncurses>=5.0:../../devel/ncurses
diff -r fd26f45458bf -r 06675c5a7a7c lang/ghc90/files/bootstrap.build.mk
--- a/lang/ghc90/files/bootstrap.build.mk       Thu Apr 22 21:42:02 2021 +0000
+++ b/lang/ghc90/files/bootstrap.build.mk       Fri Apr 23 00:08:02 2021 +0000
@@ -9,10 +9,6 @@
 BUILD_SPHINX_HTML  = NO
 BUILD_SPHINX_PDF   = NO
 
-# Enabling evil-splitter reduces bindist size, which is good. However
-# it introduces a run-time dependency on perl, which is unacceptable.
-SplitObjs          = NO
-
 # We only want vanilla libraries and rts. No profiling, no shared
 # libraries, no debugging, no event logging.
 GhcLibWays         = v
@@ -32,6 +28,8 @@
 # Don't build or use dynamic Haskell libraries.
 DYNAMIC_GHC_PROGRAMS = NO
 
+# The build system attempts to link GHC with threaded RTS by default,
+# which fails because we only build "vanilla" RTS.
 ghc_stage1_CONFIGURE_OPTS += -f-threaded
 ghc_stage2_CONFIGURE_OPTS += -f-threaded
 ghc_stage3_CONFIGURE_OPTS += -f-threaded



Home | Main Index | Thread Index | Old Index