pkgsrc-Changes archive

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

CVS commit: pkgsrc/lang/ghc90



Module Name:    pkgsrc
Committed By:   pho
Date:           Fri Apr 23 00:08:02 UTC 2021

Modified Files:
        pkgsrc/lang/ghc90: Makefile bootstrap.mk
        pkgsrc/lang/ghc90/files: bootstrap.build.mk

Log Message:
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!


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 pkgsrc/lang/ghc90/Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/lang/ghc90/bootstrap.mk
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/ghc90/files/bootstrap.build.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/lang/ghc90/Makefile
diff -u pkgsrc/lang/ghc90/Makefile:1.4 pkgsrc/lang/ghc90/Makefile:1.5
--- pkgsrc/lang/ghc90/Makefile:1.4      Thu Apr 22 18:15:00 2021
+++ pkgsrc/lang/ghc90/Makefile  Fri Apr 23 00:08:02 2021
@@ -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 @@ EXTRACT_ONLY=       ${DEFAULT_DISTFILES}
 # -----------------------------------------------------------------------------
 # 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_ARGS+=      ${CONFIGURE_ARGS.common
 CONFIGURE_ENV+= \
        ac_cv_prog_fp_prog_ar=${AR:Q} \
        ac_cv_prog_LIBTOOL=libtool \
-       PerlCmd=${PERL5:Q} \
        CC=${CC:Q} \
        LD=${LD:Q}
 

Index: pkgsrc/lang/ghc90/bootstrap.mk
diff -u pkgsrc/lang/ghc90/bootstrap.mk:1.3 pkgsrc/lang/ghc90/bootstrap.mk:1.4
--- pkgsrc/lang/ghc90/bootstrap.mk:1.3  Thu Apr 22 18:15:00 2021
+++ pkgsrc/lang/ghc90/bootstrap.mk      Fri Apr 23 00:08:02 2021
@@ -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 @@ PKG_FAIL_REASON+=    "internal error: unsup
 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

Index: pkgsrc/lang/ghc90/files/bootstrap.build.mk
diff -u pkgsrc/lang/ghc90/files/bootstrap.build.mk:1.1 pkgsrc/lang/ghc90/files/bootstrap.build.mk:1.2
--- pkgsrc/lang/ghc90/files/bootstrap.build.mk:1.1      Tue Feb  9 13:18:36 2021
+++ pkgsrc/lang/ghc90/files/bootstrap.build.mk  Fri Apr 23 00:08:02 2021
@@ -9,10 +9,6 @@ BUILD_MAN          = NO
 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 @@ BIN_DIST_NAME      = ghc-$(ProjectVersio
 # 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