From 0db91c48272888371276eab66646f35bd034f23e Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 19 May 2021 10:01:30 +0200 Subject: [PATCH] Framework: sync with upstream Taken from: HardenedBSD --- CONTRIBUTING.md | 2 +- GIDs | 2 +- LEGAL | 1 - MOVED | 13 ++++- Mk/Uses/ansible.mk | 80 +++++++++++++++++++++++++++ Mk/Uses/cabal.mk | 4 +- Mk/Uses/cargo.mk | 80 ++++++++++++++------------- Mk/Uses/cfi.mk | 2 - Mk/Uses/gnome.mk | 4 +- Mk/Uses/kde.mk | 9 ++- Mk/Uses/perl5.mk | 6 +- Mk/Uses/pie.mk | 2 - Mk/Uses/python.mk | 4 +- Mk/Uses/qmake.mk | 2 +- Mk/Uses/readline.mk | 7 +-- Mk/Uses/relro.mk | 2 - Mk/Uses/retpoline.mk | 2 - Mk/Uses/safestack.mk | 2 - Mk/Uses/speculative_load_hardening.mk | 2 - Mk/Uses/stack_autoinit.mk | 2 - Mk/bsd.default-versions.mk | 2 +- Mk/bsd.gcc.mk | 7 +-- Mk/bsd.gecko.mk | 8 +-- Mk/bsd.hardening.mk | 2 - Mk/bsd.port.mk | 12 ++-- Mk/bsd.sites.mk | 2 +- Mk/bsd.tex.mk | 12 ++-- UIDs | 2 +- UPDATING | 59 +++++++++++++++++++- 29 files changed, 233 insertions(+), 101 deletions(-) create mode 100644 Mk/Uses/ansible.mk diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 88fac6939e8..9a7be3ba194 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,3 @@ FreeBSD does not currently accept pull requests. This is a read-only mirror from SVN. -Please see the [Porter's Handbook](http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/) section on [Submitting patches](http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-submitting.html). +Please see the [Porter's Handbook](https://docs.freebsd.org/en/books/porters-handbook/) section on [Submitting patches](https://docs.freebsd.org/en/books/porters-handbook/quick-porting/#porting-submitting). diff --git a/GIDs b/GIDs index 4b5f07f6e5e..58146b04c48 100644 --- a/GIDs +++ b/GIDs @@ -817,7 +817,7 @@ bitmark-recorder:*:873: librespeed:*:874: # free: 875 # free: 876 -# free: 877 +gemserv:*:877: gerbera:*:878: _encrypted-dns:*:879: pyspf-milter:*:880: diff --git a/LEGAL b/LEGAL index 1f2d6b5a99b..65b4c4714f0 100644 --- a/LEGAL +++ b/LEGAL @@ -222,6 +222,5 @@ charm-uiuc-* net/charm No commercial use: commercial use requires a commercial namd-* science/namd No commercial use: commercial use requires a commercial license vmd-* science/vmd No commercial use: commercial use requires a commercial license msms-* science/msms No commercial use, only for use by individuals in scientific research -unifi-devel-* net-mgmt/unifi-devel License restrictions, see https://www.ubnt.com/eula/ netio* benchmarks/netio No commercial use: commercial use requires a commercial license zerotier-* net/zerotier No SaaS or Govt usage: https://github.com/zerotier/ZeroTierOne/blob/master/LICENSE.txt diff --git a/MOVED b/MOVED index 3eb3c4b8707..be74f8a5785 100644 --- a/MOVED +++ b/MOVED @@ -7262,7 +7262,6 @@ www/qupzilla|www/qupzilla-qt4|2015-01-18|Renamed to differentiate from www/qupzi devel/p5-perlbrew|devel/p5-App-perlbrew|2015-01-19|Rename to match upstream naming devel/actor-framework|devel/caf|2015-01-19|Rename to match upstream naming textproc/py-charade||2015-01-28|Charade was merged back to textproc/py-chardet -audio/qmidinet||2015-01-28|Has expired: Broken for more than 6 months audio/wmauda||2015-01-28|Has expired: Broken for more than 6 months audio/x11amp||2015-01-28|Has expired: Broken for more than 6 months devel/p5-Log-Any-Adapter|devel/p5-Log-Any|2015-01-28|Has expired: devel/p5-Log-Any-Adapter merged into devel/p5-Log-Any by upstream @@ -10753,7 +10752,6 @@ audio/xmms-faad||2018-12-21|Has expired: Uses obsolete glib12 audio/xmms-scrobbler||2018-12-21|Has expired: Uses obsolete glib12 audio/mcplay||2018-12-21|Has expired: Uses obsolete glib12 audio/gmixer||2018-12-21|Has expired: Uses obsolete glib12 -audio/soundtracker||2018-12-21|Has expired: Uses obsolete glib12 audio/xmms-sapplug||2018-12-21|Has expired: Uses obsolete glib12, use audio/penguinsap instead audio/rio500||2018-12-21|Has expired: Uses obsolete glib12 audio/xmmsctrl||2018-12-21|Has expired: Uses obsolete glib12 @@ -16326,3 +16324,14 @@ sysutils/policykit|sysutils/polkit|2021-05-01|Gnome2 component, no consumers lef databases/rubygem-gitlab-pg_query|databases/rubygem-pg_query|2021-05-03|Obsolete, please use databases/rubygem-pg_query devel/rubygem-licensee8|devel/rubygem-licensee|2021-05-03|Obsolete, please use devel/rubygem-licensee devel/rubygem-ruby-magic-static|devel/rubygem-ruby-magic|2021-05-03|Obsolete, please use devel/rubygem-ruby-magic +devel/gecode|math/gecode|2021-05-04|Move to a proper category +net-im/libqmatrixclient|net-im/libquotient|2021-05-08|Has expired: Use libQuotient (devel/libquotient) instead +devel/electron11|devel/electron12|2021-05-12|VSCode update requires a newer major version +dns/opendd||2021-05-15|Has expired: Abandonware +www/py-django30|www/py-django31|2021-05-16|Has expired: Has expired: Extended support has expired on April 6th, 2021. Use www/py-django31 or www/py-django32 instead +net-mgmt/unifi-devel|net-mgmt/unifi6|2021-05-16|Has expired: Use net-mgmt/unifi6 instead +print/rubygem-pdf-core07|print/rubygem-pdf-core|2021-05-16|Obsoleted. Use print/rubygem-pdf-core instead +security/bitwarden_rs|security/vaultwarden|2021-05-16|Project was renamed +sysutils/kdiskmark|benchmarks/kdiskmark|2021-05-18|Moved to a more appropriate category +sysutils/edk2@xen|sysutils/edk2@xen_x64|2021-05-18|Add Xen arch to the flavor name to be futur-proof +devel/py-jupyter_core|devel/py-jupyter-core|2021-05-18|Rename to match upstream naming diff --git a/Mk/Uses/ansible.mk b/Mk/Uses/ansible.mk new file mode 100644 index 00000000000..9547df26254 --- /dev/null +++ b/Mk/Uses/ansible.mk @@ -0,0 +1,80 @@ +# Shared namespace for Ansible-related ports. +# +# Feature: ansible +# Usage: USES=ansible:ARGS +# Valid ARGS: env, module, plugin +# +# env The port does not depend on Ansible but needs some Ansible +# variables set. +# module The port is an Ansible module. (*) +# plugin The port is an Ansible plugin. (*) +# +# (*) See Ansible documentation to learn about the difference +# between a module and a plugin: +# https://docs.ansible.com/ansible/latest/dev_guide/developing_locally.html +# +# Variables for ports: +# +# ANSIBLE_CMD - Path to the ansible program. +# ANSIBLE_DOC_CMD - Path to the ansible-doc program. +# ANSIBLE_RUN_DEPENDS - RUN_DEPENDS with the Ansible port. +# +# ANSIBLE_DATADIR - Path to the root of the directory structure where all +# Ansible's modules and plugins are stored. +# ANSIBLE_ETCDIR - Path to the Ansible etc directory. +# ANSIBLE_PLUGINS_PREFIX +# - Path to the "plugins" directory +# within ${ANSIBLE_DATADIR}. +# ANSIBLE_MODULESDIR - Path to the directory for local Ansible modules. +# ANSIBLE_PLUGINSDIR - Path to the directory for local Ansible plugins. +# ANSIBLE_PLUGIN_TYPE - Ansible plugin type (e.g., "connection", "inventory", +# or "vars"). +# +# Other information: +# - USES=ansible implies USES=python:env automatically if no USES=python has +# been specified yet. +# +# MAINTAINER: ports@FreeBSD.org + +.if !defined(_INCLUDE_USES_ANSIBLE_Mk) +_INCLUDE_USES_ANSIBLE_Mk= yes + +_valid_ARGS= env module plugin +.for _arg in ${ansible_ARGS} +. if !${_valid_ARGS:M${_arg}} +IGNORE= USES=ansible: invalid argument: ${_arg} +. endif +.endfor +.if ${ansible_ARGS:[#]} != 1 +IGNORE= USES=ansible: too many arguments: ${ansible_ARGS} +.endif +.if empty(ansible_ARGS) +IGNORE= USES=ansible: no arguments specified +.endif + +.if !${USES:Mpython*} +python_ARGS= env +_USES_POST+= python:env +.include "${USESDIR}/python.mk" +.endif + +ANSIBLE_CMD?= ${LOCALBASE}/bin/ansible +ANSIBLE_DOC_CMD?= ${LOCALBASE}/bin/ansible-doc +ANSIBLE_RUN_DEPENDS?= ${ANSIBLE_CMD}:sysutils/ansible@${PY_FLAVOR} + +ANSIBLE_DATADIR?= ${PREFIX}/share/${PYTHON_PKGNAMEPREFIX}ansible +ANSIBLE_ETCDIR?= ${PREFIX}/etc/ansible +ANSIBLE_PLUGINS_PREFIX?= ${ANSIBLE_DATADIR}/plugins +.if ${ansible_ARGS} == "module" +ANSIBLE_MODULESDIR?= ${ANSIBLE_PLUGINS_PREFIX}/modules +.elif ${ansible_ARGS} == "plugin" +. if empty(ANSIBLE_PLUGIN_TYPE) +IGNORE= ANSIBLE_PLUGIN_TYPE must be set +. endif +ANSIBLE_PLUGINSDIR?= ${ANSIBLE_PLUGINS_PREFIX}/${ANSIBLE_PLUGIN_TYPE} +.endif + +.if ${ansible_ARGS} == "module" || ${ansible_ARGS} == "plugin" +RUN_DEPENDS+= ${ANSIBLE_RUN_DEPENDS} +.endif +.endif diff --git a/Mk/Uses/cabal.mk b/Mk/Uses/cabal.mk index ee632acd1f7..d0bae62f0b7 100644 --- a/Mk/Uses/cabal.mk +++ b/Mk/Uses/cabal.mk @@ -148,9 +148,9 @@ cabal-extract-deps: cd ${WRKSRC} && ${SETENV} HOME=${CABAL_HOME} hpack . endif cd ${WRKSRC} && \ - ${SETENV} ${LOCALE_ENV} HOME=${CABAL_HOME} cabal new-configure --flags="${CABAL_FLAGS}" ${CONFIGURE_ARGS} + ${SETENV} ${LOCALE_ENV} HOME=${CABAL_HOME} cabal new-configure --disable-benchmarks --disable-tests --flags="${CABAL_FLAGS}" ${CONFIGURE_ARGS} cd ${WRKSRC} && \ - ${SETENV} ${LOCALE_ENV} HOME=${CABAL_HOME} cabal new-build --dependencies-only + ${SETENV} ${LOCALE_ENV} HOME=${CABAL_HOME} cabal new-build --disable-benchmarks --disable-tests --dependencies-only ${BUILD_ARGS} # Generates USE_CABAL= ... line ready to be pasted into the port based on artifacts of cabal-extract-deps. make-use-cabal: diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk index ebea7aae39f..6a1f50bbd96 100644 --- a/Mk/Uses/cargo.mk +++ b/Mk/Uses/cargo.mk @@ -44,17 +44,21 @@ CARGO_CRATE_EXT= .crate # slow grep runs for every CARGO_CRATE_EXT access. CARGO_CRATE_EXT= ${defined(_CARGO_CRATE_EXT_CACHE):?${_CARGO_CRATE_EXT_CACHE}:${:!if ${GREP} -q '\(${CARGO_DIST_SUBDIR}/.*\.tar\.gz\)' "${DISTINFO_FILE}" 2>/dev/null; then ${ECHO_CMD} .tar.gz; else ${ECHO_CMD} .crate; fi!:_=_CARGO_CRATE_EXT_CACHE}} .endif -.for _crate in ${CARGO_CRATES} +# enumerate crates for unqiue and sane distfile group names +_CARGO_CRATES:= ${empty(CARGO_CRATES):?:${CARGO_CRATES:range:@i@$i ${CARGO_CRATES:[$i]}@}} +# split up crates into (index, crate, name, version) 4-tuples +_CARGO_CRATES:= ${_CARGO_CRATES:C/^([-_a-zA-Z0-9]+)-([0-9].*)/\0 \1 \2/} +.for _index _crate _name _version in ${_CARGO_CRATES} # Resolving CRATESIO alias is very inefficient with many MASTER_SITES, consume MASTER_SITE_CRATESIO directly -MASTER_SITES+= ${MASTER_SITE_CRATESIO:S,%SUBDIR%,${_crate:C/^([-_a-zA-Z0-9]+)-[0-9].*/\1/}/${_crate:C/^[-_a-zA-Z0-9]+-([0-9].*)/\1/},:S,$,:cargo_${_crate:C/[^a-zA-Z0-9_]//g},} -DISTFILES+= ${CARGO_DIST_SUBDIR}/${_crate}${CARGO_CRATE_EXT}:cargo_${_crate:C/[^a-zA-Z0-9_]//g} +MASTER_SITES+= ${MASTER_SITE_CRATESIO:S,%SUBDIR%,${_name}/${_version},:S,$,:_cargo_${_index},} +DISTFILES+= ${CARGO_DIST_SUBDIR}/${_crate}${CARGO_CRATE_EXT}:_cargo_${_index} .endfor # Build dependencies. CARGO_BUILDDEP?= yes .if ${CARGO_BUILDDEP:tl} == "yes" -BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.51.0:lang/${RUST_DEFAULT} +BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.52.1:lang/${RUST_DEFAULT} .endif # Location of cargo binary (default to lang/rust's Cargo binary) @@ -91,6 +95,7 @@ RUSTFLAGS+= ${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/} .if defined(PPC_ABI) && ${PPC_ABI} == ELFv1 USE_GCC?= yes +STRIP_CMD= ${LOCALBASE}/bin/strip # unsupported e_type with base strip .endif # Helper to shorten cargo calls. @@ -139,45 +144,31 @@ CARGO_TEST_ARGS+= --release CARGO_INSTALL_ARGS+= --debug .endif -.if ${CARGO_CRATES:Mcmake-[0-9]*} +.if ${_CARGO_CRATES:Mcmake} BUILD_DEPENDS+= cmake:devel/cmake .endif -.if ${CARGO_CRATES:Mgettext-sys-[0-9]*} +.if ${_CARGO_CRATES:Mgettext-sys} CARGO_ENV+= GETTEXT_BIN_DIR=${LOCALBASE}/bin \ GETTEXT_INCLUDE_DIR=${LOCALBASE}/include \ GETTEXT_LIB_DIR=${LOCALBASE}/lib .endif -.if ${CARGO_CRATES:Mjemalloc-sys-[0-9]*} +.if ${_CARGO_CRATES:Mjemalloc-sys} BUILD_DEPENDS+= gmake:devel/gmake .endif -.for libc in ${CARGO_CRATES:Mlibc-[0-9]*} -# FreeBSD 12.0 changed ABI: r318736 and r320043 -# https://github.com/rust-lang/libc/commit/78f93220d70e -# https://github.com/rust-lang/libc/commit/969ad2b73cdc -_libc_VER= ${libc:C/.*-//} -. if ${_libc_VER:R:R} == 0 && (${_libc_VER:R:E} < 2 || ${_libc_VER:R:E} == 2 && ${_libc_VER:E} < 38) -DEV_ERROR+= "CARGO_CRATES=${libc} may be unstable on FreeBSD 12.0. Consider updating to the latest version \(higher than 0.2.37\)." -. endif -. if ${_libc_VER:R:R} == 0 && (${_libc_VER:R:E} < 2 || ${_libc_VER:R:E} == 2 && ${_libc_VER:E} < 49) -DEV_ERROR+= "CARGO_CRATES=${libc} may be unstable on aarch64 or not build on armv6, armv7, powerpc64. Consider updating to the latest version \(higher than 0.2.49\)." -. endif -.undef _libc_VER -.endfor - -.if ${CARGO_CRATES:Mlibgit2-sys-[0-9]*} +.if ${_CARGO_CRATES:Mlibgit2-sys} # Use the system's libgit2 instead of building the bundled version CARGO_ENV+= LIBGIT2_SYS_USE_PKG_CONFIG=1 .endif -.if ${CARGO_CRATES:Mlibssh2-sys-[0-9]*} +.if ${_CARGO_CRATES:Mlibssh2-sys} # Use the system's libssh2 instead of building the bundled version CARGO_ENV+= LIBSSH2_SYS_USE_PKG_CONFIG=1 .endif -.if ${CARGO_CRATES:Monig_sys-[0-9]*} +.if ${_CARGO_CRATES:Monig_sys} # onig_sys always prefers the system library but will try to link # statically with it. Since devel/oniguruma doesn't provide a static # library it'll link to libonig.so instead. Strictly speaking setting @@ -186,32 +177,43 @@ CARGO_ENV+= LIBSSH2_SYS_USE_PKG_CONFIG=1 CARGO_ENV+= RUSTONIG_SYSTEM_LIBONIG=1 .endif -.if ${CARGO_CRATES:Mopenssl-0.[0-9].*} -# FreeBSD 12.0 updated base OpenSSL in r339270: -# https://github.com/sfackler/rust-openssl/commit/276577553501 -. if !exists(${PATCHDIR}/patch-openssl-1.1.1) # skip if backported -_openssl_VER= ${CARGO_CRATES:Mopenssl-0.[0-9].*:C/.*-//} -. if ${_openssl_VER:R:R} == 0 && (${_openssl_VER:R:E} < 10 || ${_openssl_VER:R:E} == 10 && ${_openssl_VER:E} < 4) -DEV_WARNING+= "CARGO_CRATES=openssl-0.10.3 or older do not support OpenSSL 1.1.1. Consider updating to the latest version." -. endif -. endif -.undef _openssl_VER -.endif - -.if ${CARGO_CRATES:Mopenssl-src-[0-9]*} +.if ${_CARGO_CRATES:Mopenssl-src} DEV_WARNING+= "Please make sure this port uses the system OpenSSL and consider removing CARGO_CRATES=${CARGO_CRATES:Mopenssl-src-[0-9]*} (a vendored copy of OpenSSL) from the build, e.g., by patching Cargo.toml appropriately." .endif -.if ${CARGO_CRATES:Mopenssl-sys-[0-9]*} +.if ${_CARGO_CRATES:Mopenssl-sys} # Make sure that openssl-sys can find the correct version of OpenSSL CARGO_ENV+= OPENSSL_LIB_DIR=${OPENSSLLIB} \ OPENSSL_INCLUDE_DIR=${OPENSSLINC} .endif -.if ${CARGO_CRATES:Mpkg-config-[0-9]*} +.if ${_CARGO_CRATES:Mpkg-config} .include "${USESDIR}/pkgconfig.mk" .endif +.for _index _crate _name _version in ${_CARGO_CRATES} +# Split up semantic version and try to sanitize it by removing +# pre-release identifier (-) or build metadata (+) +. if ${_version:S/./ /:S/./ /:C/[-+].*//:_:[#]} == 3 +. for _major _minor _patch in $_ +# FreeBSD 12.0 changed ABI: r318736 and r320043 +# https://github.com/rust-lang/libc/commit/78f93220d70e +# https://github.com/rust-lang/libc/commit/969ad2b73cdc +. if ${_name} == libc && ${_major} == 0 && (${_minor} < 2 || (${_minor} == 2 && ${_patch} < 38)) +DEV_ERROR+= "CARGO_CRATES=${_crate} may be unstable on FreeBSD 12.0. Consider updating to the latest version \(higher than 0.2.37\)." +. endif +. if ${_name} == libc && ${_major} == 0 && (${_minor} < 2 || (${_minor} == 2 && ${_patch} < 49)) +DEV_ERROR+= "CARGO_CRATES=${_crate} may be unstable on aarch64 or not build on armv6, armv7, powerpc64. Consider updating to the latest version \(higher than 0.2.49\)." +. endif +# FreeBSD 12.0 updated base OpenSSL in r339270: +# https://github.com/sfackler/rust-openssl/commit/276577553501 +. if ${_name} == openssl && !exists(${PATCHDIR}/patch-openssl-1.1.1) && ${_major} == 0 && (${_minor} < 10 || (${_minor} == 10 && ${_patch} < 4)) +DEV_WARNING+= "CARGO_CRATES=${_crate} does not support OpenSSL 1.1.1. Consider updating to the latest version \(higher than 0.10.3\)." +. endif +. endfor +. endif +.endfor + _USES_extract+= 600:cargo-extract cargo-extract: # target for preparing crates directory. It will put all crates in diff --git a/Mk/Uses/cfi.mk b/Mk/Uses/cfi.mk index 1bdedc404fc..9db983f0c50 100644 --- a/Mk/Uses/cfi.mk +++ b/Mk/Uses/cfi.mk @@ -1,5 +1,3 @@ -# $FreeBSD$ -# # Compile a port with CFI # # Feature: cfi diff --git a/Mk/Uses/gnome.mk b/Mk/Uses/gnome.mk index 19b97c39da7..30b345823f3 100644 --- a/Mk/Uses/gnome.mk +++ b/Mk/Uses/gnome.mk @@ -43,7 +43,7 @@ # "GLIB_SCHEMAS=foo.gschema.xml bar.gschema.xml". # # INSTALLS_OMF - If set, bsd.gnome.mk will automatically scan pkg-plist -# file and add apropriate @exec/@unexec directives for +# file and add apropriate @postexec/@postunexec directives for # each .omf file found to track OMF registration database. # # INSTALLS_ICONS - If a GTK+ port installs Freedesktop-style icons to @@ -425,7 +425,7 @@ gnome-post-gconf-schemas: done .endif -# we put the @unexec behind the plist schema entry, because it compiles files +# we put the @glib-schemas behind the plist schema entry, because it compiles files # in the directory. So we should remove the port file first before recompiling. .if defined(GLIB_SCHEMAS) _USES_install+= 690:gnome-post-glib-schemas diff --git a/Mk/Uses/kde.mk b/Mk/Uses/kde.mk index 17f00e5784b..126a477a498 100644 --- a/Mk/Uses/kde.mk +++ b/Mk/Uses/kde.mk @@ -75,16 +75,16 @@ _KDE_RELNAME= KDE${_KDE_VERSION} # === VERSIONS OF THE DIFFERENT COMPONENTS ===================================== # Current KDE desktop. -KDE_PLASMA_VERSION?= 5.21.4 +KDE_PLASMA_VERSION?= 5.21.5 KDE_PLASMA_BRANCH?= stable # Current KDE frameworks. -KDE_FRAMEWORKS_VERSION?= 5.81.0 +KDE_FRAMEWORKS_VERSION?= 5.82.0 KDE_FRAMEWORKS_BRANCH?= stable # Current KDE applications. -KDE_APPLICATIONS_VERSION?= 21.04.0 -KDE_APPLICATIONS_SHLIB_VER?= 5.17.0 +KDE_APPLICATIONS_VERSION?= 21.04.1 +KDE_APPLICATIONS_SHLIB_VER?= 5.17.1 KDE_APPLICATIONS_BRANCH?= stable # Extended KDE universe applications. @@ -133,7 +133,6 @@ GL_SITE= https://invent.kde.org GL_ACCOUNT= ${_invent_category} GL_PROJECT= ${_invent_name} GL_COMMIT= ${_invent_hash} -WRKSRC= ${WRKDIR}/${GL_PROJECT}-${GL_COMMIT}-${GL_COMMIT} . endif . endif diff --git a/Mk/Uses/perl5.mk b/Mk/Uses/perl5.mk index a7f40e74140..3309795cc04 100644 --- a/Mk/Uses/perl5.mk +++ b/Mk/Uses/perl5.mk @@ -48,6 +48,8 @@ USE_PERL5?= run build .include "${PORTSDIR}/lang/perl5.30/version.mk" . elif ${PERL5_DEFAULT} == 5.32 .include "${PORTSDIR}/lang/perl5.32/version.mk" +. elif ${PERL5_DEFAULT} == 5.34 +.include "${PORTSDIR}/lang/perl5.34/version.mk" . elif ${PERL5_DEFAULT} == devel .include "${PORTSDIR}/lang/perl5-devel/version.mk" # Force PERL_PORT here in case two identical PERL_VERSION. @@ -81,7 +83,9 @@ PERL_ARCH?= mach # perl5_default file, or up there in the default versions selection. # When adding a version, please keep the comment in # Mk/bsd.default-versions.mk in sync. -. if ${PERL_LEVEL} >= 503200 +. if ${PERL_LEVEL} >= 503400 +PERL_PORT?= perl5.34 +. elif ${PERL_LEVEL} >= 503200 PERL_PORT?= perl5.32 . elif ${PERL_LEVEL} >= 503000 PERL_PORT?= perl5.30 diff --git a/Mk/Uses/pie.mk b/Mk/Uses/pie.mk index afccb0572c1..9b5c92bc092 100644 --- a/Mk/Uses/pie.mk +++ b/Mk/Uses/pie.mk @@ -1,5 +1,3 @@ -# $FreeBSD$ -# # Compile a port with PIE flags # # Feature: pie diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk index 70ff43985dc..fc650252134 100644 --- a/Mk/Uses/python.mk +++ b/Mk/Uses/python.mk @@ -248,8 +248,8 @@ _INCLUDE_USES_PYTHON_MK= yes # What Python version and what Python interpreters are currently supported? # When adding a version, please keep the comment in # Mk/bsd.default-versions.mk in sync. -_PYTHON_VERSIONS= 2.7 3.8 3.9 3.7 3.6 # preferred first -_PYTHON_PORTBRANCH= 2.7 # ${_PYTHON_VERSIONS:[1]} +_PYTHON_VERSIONS= 3.8 3.9 3.7 3.6 2.7 # preferred first +_PYTHON_PORTBRANCH= 3.8 # ${_PYTHON_VERSIONS:[1]} _PYTHON_BASECMD= ${LOCALBASE}/bin/python _PYTHON_RELPORTDIR= lang/python diff --git a/Mk/Uses/qmake.mk b/Mk/Uses/qmake.mk index 471d4fdbc09..1524aed3d95 100644 --- a/Mk/Uses/qmake.mk +++ b/Mk/Uses/qmake.mk @@ -77,7 +77,7 @@ QMAKE_ARGS+= -spec ${QMAKESPEC} \ . if defined(WITH_DEBUG) PLIST_SUB+= DEBUG="" -QMAKE_ARGS+= CONFIG+="debug" \ +QMAKE_ARGS+= CONFIG+="debug separate_debug_info" \ CONFIG-="release" . else PLIST_SUB+= DEBUG="@comment " diff --git a/Mk/Uses/readline.mk b/Mk/Uses/readline.mk index c56cca74db5..4893ebfdee6 100644 --- a/Mk/Uses/readline.mk +++ b/Mk/Uses/readline.mk @@ -2,21 +2,18 @@ # # Feature: readline # Usage: USES=readline -# Valid ARGS: port # # MAINTAINER: portmgr@FreeBSD.org .if !defined(_INCLUDE_USES_READLINE_MK) _INCLUDE_USES_READLINE_MK= yes -.if !exists(/usr/lib/libreadline.so) -readline_ARGS= port +.if !empty(readline_ARGS) +IGNORE= Incorrect 'USES+= readline:${readline_ARGS}' readline takes no arguments .endif -.if ${readline_ARGS} == port LIB_DEPENDS+= libreadline.so.8:devel/readline CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -.endif .endif diff --git a/Mk/Uses/relro.mk b/Mk/Uses/relro.mk index 7ee39a8681c..54a10d1afe5 100644 --- a/Mk/Uses/relro.mk +++ b/Mk/Uses/relro.mk @@ -1,5 +1,3 @@ -# $FreeBSD$ -# # Compile a port with RELRO flags # # Feature: relro diff --git a/Mk/Uses/retpoline.mk b/Mk/Uses/retpoline.mk index aaa16097fcc..81f523f4d9a 100644 --- a/Mk/Uses/retpoline.mk +++ b/Mk/Uses/retpoline.mk @@ -1,5 +1,3 @@ -# $FreeBSD$ -# # Compile a port with retpoline # # Feature: retpoline diff --git a/Mk/Uses/safestack.mk b/Mk/Uses/safestack.mk index c88e4d0f288..2e86f9e374e 100644 --- a/Mk/Uses/safestack.mk +++ b/Mk/Uses/safestack.mk @@ -1,5 +1,3 @@ -# $FreeBSD$ -# # Compile a port with SafeStack # # Feature: safestack diff --git a/Mk/Uses/speculative_load_hardening.mk b/Mk/Uses/speculative_load_hardening.mk index 4d26a37c876..ea298359839 100644 --- a/Mk/Uses/speculative_load_hardening.mk +++ b/Mk/Uses/speculative_load_hardening.mk @@ -1,5 +1,3 @@ -# $FreeBSD$ -# # Compile a port with Speculative Load Hardening # # Warning: this feature carries a large performance hit. diff --git a/Mk/Uses/stack_autoinit.mk b/Mk/Uses/stack_autoinit.mk index 833fa17b4e5..994846899bc 100644 --- a/Mk/Uses/stack_autoinit.mk +++ b/Mk/Uses/stack_autoinit.mk @@ -1,5 +1,3 @@ -# $FreeBSD$ -# # Compile a port with stack zero-initialization # # Feature: stack_autoinit diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index e1f794ab972..4fae26ecea9 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -83,7 +83,7 @@ MONO_DEFAULT= 5.10 MYSQL_DEFAULT?= 5.7 # Possible values: ninja, samurai NINJA_DEFAULT?= ninja -# Possible values: 5.28, 5.30, 5.32, devel +# Possible values: 5.28, 5.30, 5.32, 5.34, devel .if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \ defined(PACKAGE_BUILDING)) PERL5_DEFAULT?= 5.32 diff --git a/Mk/bsd.gcc.mk b/Mk/bsd.gcc.mk index c836b95b8e1..aed64671d19 100644 --- a/Mk/bsd.gcc.mk +++ b/Mk/bsd.gcc.mk @@ -9,9 +9,6 @@ # your port/system configuration. This is the preferred use of USE_GCC. # It uses the canonical version of GCC defined in bsd.default-versions.mk. # -# USE_GCC=any is similar, except that it also accepts the old GCC 4.2- -# based system compiler where still present. -# # If your port needs a specific (minimum) version of GCC, you can easily # specify that with a USE_GCC= statement. Unless absolutely necessary # do so by specifying USE_GCC=X+ which requests at least GCC version X. @@ -24,11 +21,13 @@ # If no arguments are specified, GCC is added as both a build dependency # and a run time dependency. # +# (USE_GCC=any is deprecated, must not be used for new ports, and should +# be migrated to USE_GCC=yes or completely removed if possible.) +# # # Examples: # USE_GCC= yes # port requires a current version of GCC # # as defined in bsd.default-versions.mk. -# USE_GCC= any # port requires GCC 4.2 or later. # USE_GCC= 9+ # port requires GCC 9 or later. # USE_GCC= 8 # port requires GCC 8. # USE_GCC= yes:build # port requires a current version of GCC at diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk index b611e4421b3..ac29b98d6a0 100644 --- a/Mk/bsd.gecko.mk +++ b/Mk/bsd.gecko.mk @@ -76,7 +76,7 @@ BUNDLE_LIBS= yes BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \ rust-cbindgen>=0.16.0:devel/rust-cbindgen \ - ${RUST_DEFAULT}>=1.51.0:lang/${RUST_DEFAULT} \ + ${RUST_DEFAULT}>=1.52.1:lang/${RUST_DEFAULT} \ node:www/node LIB_DEPENDS+= libdrm.so:graphics/libdrm MOZ_EXPORT+= ${CONFIGURE_ENV} \ @@ -90,9 +90,9 @@ MOZ_OPTIONS+= --with-libclang-path="${LOCALBASE}/llvm${LLVM_DEFAULT}/lib" .if !exists(/usr/bin/llvm-objdump) MOZ_EXPORT+= LLVM_OBJDUMP="${LOCALBASE}/bin/llvm-objdump${LLVM_DEFAULT}" .endif -# Ignore Mk/bsd.default-versions.mk but respect make.conf(5) -.if !defined(DEFAULT_VERSIONS) || ! ${DEFAULT_VERSIONS:Mllvm*} -LLVM_DEFAULT= 12 # bump if not latest release +# Ignore Mk/bsd.default-versions.mk but respect make.conf(5) unless LTO is enabled +.if !defined(DEFAULT_VERSIONS) || ! ${DEFAULT_VERSIONS:Mllvm*} || ${PORT_OPTIONS:MLTO} +LLVM_DEFAULT= 12 # chase bundled LLVM in lang/rust for LTO .endif # Require newer Clang than what's in base system unless user opted out . if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so) diff --git a/Mk/bsd.hardening.mk b/Mk/bsd.hardening.mk index ed682eb517b..bc35612ff0a 100644 --- a/Mk/bsd.hardening.mk +++ b/Mk/bsd.hardening.mk @@ -1,5 +1,3 @@ -# $FreeBSD$ -# # HardenedBSD-related ports options # # Hardening for binary applications is done via several techniques, e.g. diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 2425d8187a2..5892cb6f768 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1901,6 +1901,10 @@ PKG_DEPENDS+= ${LOCALBASE}/sbin/pkg:${PKG_ORIGIN} .include "${PORTSDIR}/Mk/bsd.gcc.mk" .endif +.if !defined(USE_GCC) +CFLAGS+= -Qunused-arguments +.endif + .if defined(LLD_UNSAFE) && ${/usr/bin/ld:L:tA} == /usr/bin/ld.lld LDFLAGS+= -fuse-ld=bfd BINARY_ALIAS+= ld=${LD} @@ -2303,11 +2307,11 @@ PKG_SUFX?= .pkg .if defined(PKG_NOCOMPRESS) PKG_OLDSUFX?= .tar .else -.if ${OSVERSION} > 1400000 -PKG_OLDSUFX?= .tzst -.else +#.if ${OSVERSION} > 1400000 +#PKG_OLDSUFX?= .tzst +#.else PKG_OLDSUFX?= .txz -.endif +#.endif .endif .else .if defined(PKG_NOCOMPRESS) diff --git a/Mk/bsd.sites.mk b/Mk/bsd.sites.mk index c205a378865..ba3124b5142 100644 --- a/Mk/bsd.sites.mk +++ b/Mk/bsd.sites.mk @@ -434,7 +434,7 @@ GH_SUBDIR:= ${GH_SUBDIR_DEFAULT} GH_TAGNAME_SANITIZED= ${GH_TAGNAME:S,/,-,g} # GitHub silently converts tags starting with v to not have v in the filename # and extraction directory. It also replaces + with -. -GH_TAGNAME_EXTRACT= ${GH_TAGNAME_SANITIZED:C/^[vV]([0-9])/\1/:S/+/-/g} +GH_TAGNAME_EXTRACT= ${GH_TAGNAME_SANITIZED:C/^[vV]([0-9])/\1/:S/+/-/g:C/--*/-/g} . endif # This new scheme rerolls distfiles. Also ensure they are renamed to avoid # conflicts. Use _GITHUB_REV in case github changes their zipping or structure diff --git a/Mk/bsd.tex.mk b/Mk/bsd.tex.mk index 5e4573ccb67..dfb36193656 100644 --- a/Mk/bsd.tex.mk +++ b/Mk/bsd.tex.mk @@ -1,6 +1,6 @@ # bsd.tex.mk - Common part for TeX related ports # -TEX_MAINTAINER= hrs@FreeBSD.org +TEX_MAINTAINER= freebsd-tex@FreeBSD.org # # Ports which depend on TeX should use USE_TEX. @@ -218,18 +218,18 @@ ${_C}_DEPENDS+= ${TEX_${_C}_DEPENDS:O:u} .PHONY: do-texhash do-texhash: . if !empty(USE_TEX:Mtexhash-bootstrap) - @${ECHO_CMD} "@exec ${LOCALBASE}/bin/mktexlsr " \ + @${ECHO_CMD} "@postexec ${LOCALBASE}/bin/mktexlsr " \ "${TEXHASHDIRS:S,^,%D/,}" >> ${TMPPLIST} @for D in ${TEXHASHDIRS}; do \ ${ECHO_CMD} "@rmtry $$D/ls-R"; \ ${ECHO_CMD} "@dir $$D"; \ done >> ${TMPPLIST} . else - @${ECHO_CMD} "@exec for D in ${TEXHASHDIRS:S,^,${PREFIX}/,}; do " \ + @${ECHO_CMD} "@postexec for D in ${TEXHASHDIRS:S,^,${PREFIX}/,}; do " \ "if [ -r \$$D/ls-R ]; then " \ "${LOCALBASE}/bin/mktexlsr \$$D; " \ "fi; done" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec for D in ${TEXHASHDIRS:S,^,${PREFIX}/,}; do " \ + @${ECHO_CMD} "@preunexec for D in ${TEXHASHDIRS:S,^,${PREFIX}/,}; do " \ "if [ -r \$$D/ls-R ]; then " \ "${LOCALBASE}/bin/mktexlsr \$$D; " \ "fi; done" >> ${TMPPLIST} @@ -280,10 +280,10 @@ PLIST_DIRS= ${_PLIST_DIRS:O:u} ${TEXMFVARDIR}/web2c .if !empty(USE_TEX:Mupdmap) .PHONY: do-updmap do-updmap: - @${ECHO_CMD} "@exec ${SETENV} PATH=${PATH}:${LOCALBASE}/bin " \ + @${ECHO_CMD} "@postexec ${SETENV} PATH=${PATH}:${LOCALBASE}/bin " \ "TEXMFMAIN=${LOCALBASE}/${TEXMFDIR} " \ "${LOCALBASE}/bin/updmap-sys" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec ${SETENV} PATH=${PATH}:${LOCALBASE}/bin " \ + @${ECHO_CMD} "@preunexec ${SETENV} PATH=${PATH}:${LOCALBASE}/bin " \ "TEXMFMAIN=${LOCALBASE}/${TEXMFDIR} " \ "${LOCALBASE}/bin/updmap-sys" >> ${TMPPLIST} diff --git a/UIDs b/UIDs index 935a725356e..47fca7e85ca 100644 --- a/UIDs +++ b/UIDs @@ -822,7 +822,7 @@ bitmark-recorder:*:873:873::0:0:Bitmark Property Recorder:/var/lib/recorderd:/us librespeed:*:874:874::0:0:LibreSpeed user:/nonexistent:/usr/sbin/nologin # free: 875 # free: 876 -# free: 877 +gemserv:*:877:877::0:0:gemserv user:/nonexistent:/usr/sbin/nologin gerbera:*:878:878::0:0:Gerbera DLNA Media Server:/nonexistent:/usr/sbin/nologin _encrypted-dns:*:879:879::0:0:encrypted-dns user:/var/empty:/usr/sbin/nologin pyspf-milter:*:880:880::0:0:pyspf-milter:/nonexistent:/usr/sbin/nologin diff --git a/UPDATING b/UPDATING index 09156f552a4..fa54f73945d 100644 --- a/UPDATING +++ b/UPDATING @@ -5,6 +5,61 @@ 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. +20210516: + AFFECTS: users of security/bitwarden_rs + AUTHOR: mr@FreeBSD.org + + bitwarden_rs has been renamed to vaultwarden upstream. + So switch to security/vaultwarden instead. + +20210515: + AFFECTS: users of databases/postgresql??-server + AUTHOR: girgen@FreeBSD.org + + The rc.conf parameter for the login class of the postgresql daemon has + changed name from postgresql_class to postgresql_login_class. + rc.subr(8) states that the parameter should be named ${name}_login_class. + +20200512: + AFFECTS: users of sysutils/ansible* + AUTHOR: 0mp@FreeBSD.org + + Ansible has been updated to 3.3.0. Please follow the porting guide + to update the rulesets: + + https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_3.html + +20210508: + AFFECTS: users of devel/pycharm-ce + AUTHOR: bsam@FreeBSD.org + + Pycharm-ce has switched to the supported java version 11. + +20210506: + AFFECTS: users of mail/postfix + AUTHOR: ohauer@FreeBSD.org + + Postfix 3.6 and higher requires minimum OpenSSL 1.1.1 + FreeBSD 11 users using base OpenSSL can switch to + mail/postfix35 + + If you whish to use postfix35 until FreeBSD 11 EoL you might run the + following command: + + # pkg set -o mail/postfix:mail/postfix35 + # pkg upgrade + +20210505: + AFFECTS: users of sysutils/terraform + AUTHOR: 0mp@FreeBSD.org + + Terraform has been updated from 0.13 to 0.15, which introduces several + incompatible changes. Please follow upgrading guide when updating + the package. + + https://www.terraform.io/upgrade-guides/0-14.html + https://www.terraform.io/upgrade-guides/0-15.html + 20210426: AFFECTS: users of x11-fonts/iosevka AUTHOR: 0mp@FreeBSD.org @@ -32,8 +87,8 @@ you update your ports collection, before attempting any port upgrades. For portmaster users: # sh # portmaster -o lang/python38 python37 - # REINSTALL="$(pkg info -o py37-\* | awk '{printf "%s ", $2}')" - # pkg delete -f py37-\* + # REINSTALL="$(pkg info -o "*py37*" | awk '{printf "%s ", $2}')" + # pkg delete -f "*py37*" # portmaster $REINSTALL # REBUILD=$(pkg query -g "%n:%dn" '*' | grep py3 | grep -v py38 | cut -d : -f 1 | sort -u) # portmaster $REBUILD