From nobody Fri Nov 12 05:55:16 2021 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id B0CB3183E6C8; Fri, 12 Nov 2021 05:55:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Hr7904cQvz4ZbG; Fri, 12 Nov 2021 05:55:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7E1F81A2B4; Fri, 12 Nov 2021 05:55:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1AC5tGOl088642; Fri, 12 Nov 2021 05:55:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1AC5tGbw088641; Fri, 12 Nov 2021 05:55:16 GMT (envelope-from git) Date: Fri, 12 Nov 2021 05:55:16 GMT Message-Id: <202111120555.1AC5tGbw088641@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Matthias Fechner Subject: git: 46ce086c7130 - main - Mk/Uses: default version for nodejs List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mfechner X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 46ce086c7130aedb8b349864afaf938489d070de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mfechner: URL: https://cgit.FreeBSD.org/ports/commit/?id=46ce086c7130aedb8b349864afaf938489d070de commit 46ce086c7130aedb8b349864afaf938489d070de Author: Matthias Fechner AuthorDate: 2021-11-01 21:38:08 +0000 Commit: Matthias Fechner CommitDate: 2021-11-12 05:54:51 +0000 Mk/Uses: default version for nodejs If a port depends on node, a simple: USES= nodejs can be added. It is also possible to define a specific version: USES= nodejs:14 Use as current version the latest LTS version of node. PR: 259783 Differential Revision: https://reviews.freebsd.org/D32790 --- Mk/Uses/nodejs.mk | 60 ++++++++++++++++++++++++++++++++++++++++++++++ Mk/bsd.default-versions.mk | 5 +++- UPDATING | 19 +++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) diff --git a/Mk/Uses/nodejs.mk b/Mk/Uses/nodejs.mk new file mode 100644 index 000000000000..af38aba78e55 --- /dev/null +++ b/Mk/Uses/nodejs.mk @@ -0,0 +1,60 @@ +# Provide support for NodeJS +# +# Feature: nodejs +# Usage: USES=nodejs or USES=nodejs:args +# Valid ARGS: build and/or run +# version: lts, current, 10, 14, 16, 17 +# Default is: build,run +# Note: if you define a version, you must provide run and/or build +# +# MAINTAINER: bhughes@FreeBSD.org + +.if !defined(_INCLUDE_USES_NODEJS_MK) +_INCLUDE_USES_NODEJS_MK= yes + +_VALID_NODEJS_VERSION= 10 14 16 17 lts current +_NODEJS_VERSION_SUFFIX= ${NODEJS_DEFAULT} + +.if ! ${_VALID_NODEJS_VERSION:M${_NODEJS_VERSION_SUFFIX}} +IGNORE= Invalid nodejs default version ${_NODEJS_VERSION_SUFFIX}; valid versions are ${_VALID_NODEJS_VERSION} +.endif + +.if empty(nodejs_ARGS) +nodejs_ARGS= build,run +.endif + +. if ${nodejs_ARGS:M10} +_NODEJS_VERSION_SUFFIX= 10 +. elif ${nodejs_ARGS:M14} +_NODEJS_VERSION_SUFFIX= 14 +. elif ${nodejs_ARGS:M16} +_NODEJS_VERSION_SUFFIX= 16 +. elif ${nodejs_ARGS:Mlts} +_NODEJS_VERSION_SUFFIX= lts +. elif ${nodejs_ARGS:M17} +_NODEJS_VERSION_SUFFIX= 17 +. elif ${nodejs_ARGS:Mcurrent} +_NODEJS_VERSION_SUFFIX= current +. elif defined(NODEJS_DEFAULT) +. endif + +# The nodejs 17 version is named www/node +. if ${_NODEJS_VERSION_SUFFIX:Mcurrent} +_NODEJS_VERSION_SUFFIX= +. endif +. if ${_NODEJS_VERSION_SUFFIX:M17} +_NODEJS_VERSION_SUFFIX= +. endif +# The nodejs LTS is version 16 +. if ${_NODEJS_VERSION_SUFFIX:Mlts} +_NODEJS_VERSION_SUFFIX= 16 +. endif + +. if ${nodejs_ARGS:M*run*} +RUN_DEPENDS+= node:www/node${_NODEJS_VERSION_SUFFIX} +. endif +. if ${nodejs_ARGS:M*build*} +BUILD_DEPENDS+= node:www/node${_NODEJS_VERSION_SUFFIX} +. endif + +.endif diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index 1dff8bce1d94..1ee4c9715269 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -18,7 +18,7 @@ _INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes LOCALBASE?= /usr/local .for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT GL \ - IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM LUA MYSQL NINJA PERL5 \ + IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM LUA MYSQL NINJA NODEJS PERL5 \ PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH .if defined(${lang}_DEFAULT) ERROR+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf" @@ -163,4 +163,7 @@ TCLTK_DEFAULT?= 8.6 # Possible values: 4, 6 VARNISH_DEFAULT?= 4 +# Possible value: 10, 14, 16, 17, lts, current +NODEJS_DEFAULT?= lts + .endif diff --git a/UPDATING b/UPDATING index 05a642f7f68a..d61e9a51b65c 100644 --- a/UPDATING +++ b/UPDATING @@ -5,6 +5,25 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20211110: + AFFECTS: users of www/node*, www/npm*, www/yarn* + AUTHOR: mfechner@FreeBSD.org + + The port framework was updated to use a default version for nodejs. + The default version is pointing to the latest LTS version which is + currently version 16. + You can overwrite this by defining in /etc/make.conf, e.g. version 17: + DEFAULT_VERSIONS=nodejs=17 + + Or if you would like to stick always to the current version use: + DEFAULT_VERSIONS=nodejs=current + + If you would like to use yarn or npm together with nodejs version 17, + just install the package that is pulling the wanted dependency to nodejs: + + # pkg install yarn-node17 + # pkg install npm-node17 + 20211109: AFFECTS: users of security/libressl AUTHOR: brnrd@FreeBSD.org