pkgsrc-Changes archive

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

CVS commit: pkgsrc/www/firefox



Module Name:    pkgsrc
Committed By:   gdt
Date:           Sat Apr 11 00:30:18 UTC 2020

Modified Files:
        pkgsrc/www/firefox: mozilla-common.mk

Log Message:
firefox: Expand comments about languages used and clang

Explain why this package declares "c++" when it really needs gnu++14
and gnu++17.

Explain that this package uses clang, outside the normal compiler
selection framework.

(This is a comment-only change to demystify things for those trying to
understand, based on answers to my on-list queries)


To generate a diff of this commit:
cvs rdiff -u -r1.162 -r1.163 pkgsrc/www/firefox/mozilla-common.mk

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

Modified files:

Index: pkgsrc/www/firefox/mozilla-common.mk
diff -u pkgsrc/www/firefox/mozilla-common.mk:1.162 pkgsrc/www/firefox/mozilla-common.mk:1.163
--- pkgsrc/www/firefox/mozilla-common.mk:1.162  Fri Apr 10 09:21:35 2020
+++ pkgsrc/www/firefox/mozilla-common.mk        Sat Apr 11 00:30:18 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.162 2020/04/10 09:21:35 ryoon Exp $
+# $NetBSD: mozilla-common.mk,v 1.163 2020/04/11 00:30:18 gdt Exp $
 #
 # common Makefile fragment for mozilla packages based on gecko 2.0.
 #
@@ -20,10 +20,23 @@ ALL_ENV+=                   PYTHON3=${LOCALBASE}/bin/pyt
 HAS_CONFIGURE=         yes
 CONFIGURE_ARGS+=       --prefix=${PREFIX}
 USE_TOOLS+=            pkg-config perl gmake autoconf213 unzip zip
-# Some modules written in Rust dislike gnu++17 as of 74.0.
-USE_LANGUAGES+=                c99 c++
 UNLIMIT_RESOURCES+=    datasize virtualsize
 
+# firefox needs a compiler that supports gnu++14 and gnu++17.
+# However, passing --std=gnu++17 (from wrappers, as a result of
+# USE_LANGUAGES), results in problems for some Rust modules (as of
+# 74.0).  Therefore, do not declare the languages that are actually
+# needed.
+# \todo In pkgsrc infrastructure, separate the concept of needing a
+# compiler that can implement a standard, and the concept of forcibly
+# adding a --std flag.  (The build system of a package should be
+# setting the --std flag that is needed, rather than relying on the
+# defaults of a particular compiler version.)
+# NB: Even when building firefox with PKGSRC_COMPILER=gcc, the package
+# will depend on and use clang, doing so outside the normal compiler
+# selection framework.
+USE_LANGUAGES+=                c99 c++
+
 TOOL_DEPENDS+=         cbindgen>=0.13.1:../../devel/cbindgen
 .if ${MACHINE_ARCH} == "sparc64"
 CONFIGURE_ARGS+=       --disable-nodejs
@@ -226,6 +239,10 @@ BUILDLINK_API_DEPENDS.nss+=        nss>=3.51
 #.include "../../graphics/cairo/buildlink3.mk"
 BUILDLINK_API_DEPENDS.libwebp+=        libwebp>=1.0.2
 .include "../../graphics/libwebp/buildlink3.mk"
+# Force the use of clang from pkgsrc, regardless of the setting of
+# PKGSRC_COMPILER.
+# \todo This breaks the use of ccache, which should be fixed, probably
+# by adding support for this kind of forcing to pkgsrc infrastructure.
 PKG_CC=                ${PREFIX}/bin/clang
 PKG_CXX=       ${PREFIX}/bin/clang++
 BUILDLINK_DEPMETHOD.clang=     build



Home | Main Index | Thread Index | Old Index