summaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Features/bind_now.mk5
-rw-r--r--Mk/Features/fortify.mk18
-rw-r--r--Mk/Features/pie.mk9
-rw-r--r--Mk/Features/relro.mk5
-rw-r--r--Mk/Features/ssp.mk9
-rw-r--r--Mk/Features/stack_autoinit.mk23
-rw-r--r--Mk/Features/zeroregs.mk28
-rw-r--r--Mk/Scripts/cargo-crates-git-common.awk20
-rw-r--r--Mk/Scripts/check_have_symbols.sh1
-rw-r--r--Mk/Scripts/qa.sh9
-rw-r--r--Mk/Uses/cabal.mk5
-rw-r--r--Mk/Uses/cargo.mk4
-rw-r--r--Mk/Uses/emacs.mk10
-rw-r--r--Mk/Uses/fortran.mk4
-rw-r--r--Mk/Uses/gnome.mk37
-rw-r--r--Mk/Uses/go.mk5
-rw-r--r--Mk/Uses/gssapi.mk17
-rw-r--r--Mk/Uses/gstreamer.mk15
-rw-r--r--Mk/Uses/kde.mk49
-rw-r--r--Mk/Uses/linux.mk20
-rw-r--r--Mk/Uses/llvm.mk2
-rw-r--r--Mk/Uses/luajit.mk6
-rw-r--r--Mk/Uses/mlt.mk2
-rw-r--r--Mk/Uses/mysql.mk2
-rw-r--r--Mk/Uses/nodejs.mk6
-rw-r--r--Mk/Uses/octave.mk2
-rw-r--r--Mk/Uses/pathfix.mk3
-rw-r--r--Mk/Uses/pear.mk4
-rw-r--r--Mk/Uses/perl5.mk14
-rw-r--r--Mk/Uses/php.mk20
-rw-r--r--Mk/Uses/pyqt.mk34
-rw-r--r--Mk/Uses/python.mk86
-rw-r--r--Mk/Uses/qt-dist.mk20
-rw-r--r--Mk/Uses/qt.mk6
-rw-r--r--Mk/Uses/ruby.mk6
-rw-r--r--Mk/Uses/vala.mk12
-rw-r--r--Mk/Uses/xorg-cat.mk7
-rw-r--r--Mk/Uses/zig.mk102
-rw-r--r--Mk/Wrappers/gm42
-rw-r--r--Mk/bsd.default-versions.mk22
-rw-r--r--Mk/bsd.gecko.mk5
-rw-r--r--Mk/bsd.options.desc.mk2
-rw-r--r--Mk/bsd.options.mk7
-rw-r--r--Mk/bsd.port.mk56
-rw-r--r--Mk/bsd.sites.mk39
45 files changed, 491 insertions, 269 deletions
diff --git a/Mk/Features/bind_now.mk b/Mk/Features/bind_now.mk
index 99361c487265..5f4b6abf3718 100644
--- a/Mk/Features/bind_now.mk
+++ b/Mk/Features/bind_now.mk
@@ -1,4 +1,9 @@
# BIND_NOW Support
+#
+# When generating an executable or shared library, mark it to tell the dynamic
+# linker to resolve all symbols when the program is started, or when the shared
+# library is loaded by dlopen, instead of deferring function call resolution to
+# the point when the function is first called.
.if !defined(_BIND_NOW_MK_INCLUDED)
_BIND_NOW_MK_INCLUDED= yes
diff --git a/Mk/Features/fortify.mk b/Mk/Features/fortify.mk
new file mode 100644
index 000000000000..2e43ca98242f
--- /dev/null
+++ b/Mk/Features/fortify.mk
@@ -0,0 +1,18 @@
+# This enables mitigations of common memory safety issues, such as buffer
+# overflows, by adding checks to functions like memcpy, strcpy, sprintf,
+# and others when the compiler can determine the size of the destination
+# buffer at compile time.
+#
+# Depends opon the FORTIFY_SOURCE implementation in the basesystem.
+
+.if !defined(_FORTIFY_MK_INCLUDED)
+_FORTIFY_MK_INCLUDED= yes
+FORTIFY_Include_MAINTAINER= netchild@FreeBSD.org
+
+. if !defined(FORTIFY_UNSAFE)
+FORTIFY_SOURCE?=2
+FORTIFY_CFLAGS?= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE}
+CFLAGS+= ${FORTIFY_CFLAGS}
+CXXFLAGS+= ${FORTIFY_CFLAGS}
+. endif
+.endif
diff --git a/Mk/Features/pie.mk b/Mk/Features/pie.mk
index 06174b403c31..3a8a95b93aea 100644
--- a/Mk/Features/pie.mk
+++ b/Mk/Features/pie.mk
@@ -1,4 +1,13 @@
# PIE Support
+#
+# Produce a Position-Independent Executable (PIE) instead of a "normal"
+# fixed-address ELF.
+# A PIE is an executable whose code sections are compiled and linked so that,
+# at runtime, they can be loaded at any base address in memory.
+#
+# Because it can be loaded at unpredictable addresses, PIE enables full Address
+# Space Layout Randomization (ASLR) for your main executable-making certain
+# classes of memory-corruption exploits much harder.
.if !defined(_PIE_MK_INCLUDED)
_PIE_MK_INCLUDED= yes
diff --git a/Mk/Features/relro.mk b/Mk/Features/relro.mk
index 6ceb68d5d668..8074ce09edd7 100644
--- a/Mk/Features/relro.mk
+++ b/Mk/Features/relro.mk
@@ -1,4 +1,9 @@
# RELRO Support
+#
+# Tells the linker to emit RELocation Read-Only (RELRO) protection for certain
+# sections of your ELF file. In short, it makes parts of the binary read-only
+# after relocations have been applied at program startup, helping to prevent
+# GOT- and PLT-based overwrite attacks.
.if !defined(_RELRO_MK_INCLUDED)
_RELRO_MK_INCLUDED= yes
diff --git a/Mk/Features/ssp.mk b/Mk/Features/ssp.mk
index 4213e6d668a6..b6be18ce35e8 100644
--- a/Mk/Features/ssp.mk
+++ b/Mk/Features/ssp.mk
@@ -1,4 +1,12 @@
# SSP Support
+#
+# The -fstack-protector-strong flag enables "stack smashing" protection on a
+# wider set of functions than the default -fstack-protector, but without the
+# full performance cost of -fstack-protector-all. Under the hood it inserts a
+# small "canary" value on the stack just before the saved return address; at
+# function exit it checks that the canary hasn't been overwritten by a buffer
+# overflow. If it has been clobbered, the runtime aborts the program rather
+# than returning into corrupted code.
.if !defined(_SSP_MK_INCLUDED)
_SSP_MK_INCLUDED= yes
@@ -9,6 +17,5 @@ SSP_Include_MAINTAINER= portmgr@FreeBSD.org
# Overridable as a user may want to use -fstack-protector-all
SSP_CFLAGS?= -fstack-protector-strong
CFLAGS+= ${SSP_CFLAGS}
-LDFLAGS+= ${SSP_CFLAGS}
. endif
.endif
diff --git a/Mk/Features/stack_autoinit.mk b/Mk/Features/stack_autoinit.mk
new file mode 100644
index 000000000000..627b785b6ee0
--- /dev/null
+++ b/Mk/Features/stack_autoinit.mk
@@ -0,0 +1,23 @@
+# The STACK_AUTOINIT feature mimics the corresponding FreeBSD basesystem feature.
+#
+# This enables a compiler specific option to automatically initialize
+# local (automatic) variables to prevent the use of uninitialized memory.
+#
+# Variables that can be used:
+#
+# WITH_STACK_AUTOINIT Enable for all ports.
+# WITH_STACK_AUTOINIT_PORTS Enable for specified category/port-name
+# STACK_AUTOINIT_TYPE Valid options: zero (default), pattern, uninitialized
+#
+
+.if !defined(_STACK_AUTOINIT_MK_INCLUDED)
+_STACK_AUTOINIT_MK_INCLUDED= yes
+STACK_AUTOINIT_Include_MAINTAINER= netchild@FreeBSD.org
+
+STACK_AUTOINIT_TYPE?= zero
+
+. if !defined(STATIC_AUTOINIT_UNSAFE)
+CFLAGS+= -ftrivial-auto-var-init=${STACK_AUTOINIT_TYPE}
+CXXFLAGS+= -ftrivial-auto-var-init=${STACK_AUTOINIT_TYPE}
+. endif
+.endif
diff --git a/Mk/Features/zeroregs.mk b/Mk/Features/zeroregs.mk
new file mode 100644
index 000000000000..2e21b16c5c66
--- /dev/null
+++ b/Mk/Features/zeroregs.mk
@@ -0,0 +1,28 @@
+# Zero call-used registers at function return to increase program
+# security by either mitigating Return-Oriented Programming (ROP)
+# attacks or preventing information leakage through registers.
+# This depends upon support from the compiler for a given architecture.
+#
+# Variables that can be used:
+#
+# WITH_ZEROREGS Enable for all ports.
+# WITH_ZEROREGS_PORTS Enable for specified category/port-name
+# ZEROREGS_TYPE See
+# https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-zero_005fcall_005fused_005fregs-function-attribute
+# for options
+# Default: used
+#
+
+.if !defined(_ZEROREGS_MK_INCLUDED)
+_ZEROREGS_MK_INCLUDED= yes
+ZEROREGS_Include_MAINTAINER= netchild@FreeBSD.org
+
+ZEROREGS_TYPE?= used
+
+#. if !defined(ZEROREGS_UNSAFE) && !empty(${ARCH:Mriscv*}) && \
+# !empty(${ARCH:Mpower*}) && !empty(${ARCH:Marmv7*})
+CFLAGS+= -fzero-call-used-regs=${ZEROREGS_TYPE}
+CXXFLAGS+= -fzero-call-used-regs=${ZEROREGS_TYPE}
+#. endif
+.endif
+
diff --git a/Mk/Scripts/cargo-crates-git-common.awk b/Mk/Scripts/cargo-crates-git-common.awk
index 36eb0027d3d7..e2263f94678a 100644
--- a/Mk/Scripts/cargo-crates-git-common.awk
+++ b/Mk/Scripts/cargo-crates-git-common.awk
@@ -73,6 +73,26 @@ function split_git_url(info, git_url, url, path, account, project, commit, i, d
info["dir"] = sprintf("%s-%s", project, dir_ver)
return 1
+ } else if (url["host"] == "codeberg.org") {
+ split(url["path"], path, "/")
+ account = path[2]
+ project = path[3]
+ sub(/\.[gG][iI][tT]$/, "", project)
+ commit = commit_from_git_url(url)
+
+ delete url
+ url["scheme"] = "https"
+ url["host"] = "codeberg.org"
+ url["path"] = sprintf("/%s/%s/archive/%s.tar.gz", account, project, commit)
+ url["query"] = "dummy"
+ url["query", "dummy"] = "/"
+ info["site"] = join_url(url)
+
+ info["filename"] = sprintf("%s-%s-%s_CB0.tar.gz", account, project, commit)
+
+ info["dir"] = sprintf("%s", project)
+
+ return 1
} else if (gitlab_hosts[url["host"]]) {
split(url["path"], path, "/")
account = path[2]
diff --git a/Mk/Scripts/check_have_symbols.sh b/Mk/Scripts/check_have_symbols.sh
index ee3095dabf74..652c975109dd 100644
--- a/Mk/Scripts/check_have_symbols.sh
+++ b/Mk/Scripts/check_have_symbols.sh
@@ -1,7 +1,6 @@
#!/bin/sh
set -eu
-set -o pipefail
# the 3 implementations of readelf we can use have different output, but they all have a similarity
# for the .gnu.version_d section they all have the symbol version in last element of their output
diff --git a/Mk/Scripts/qa.sh b/Mk/Scripts/qa.sh
index 3a82ad4890fb..9c351420f607 100644
--- a/Mk/Scripts/qa.sh
+++ b/Mk/Scripts/qa.sh
@@ -371,7 +371,6 @@ proxydeps_suggest_uses() {
${pkg} = "graphics/cairomm" -o \
${pkg} = "devel/dconf" -o \
${pkg} = "devel/gconf2" -o \
- ${pkg} = "devel/gconfmm26" -o \
${pkg} = "devel/glib20" -o \
${pkg} = "devel/glibmm" -o \
${pkg} = "audio/gsound" -o \
@@ -386,7 +385,6 @@ proxydeps_suggest_uses() {
${pkg} = "x11-toolkits/gtksourceviewmm3" -o \
${pkg} = "databases/libgda5" -o \
${pkg} = "databases/libgda5-ui" -o \
- ${pkg} = "databases/libgdamm5" -o \
${pkg} = "devel/libglade2" -o \
${pkg} = "graphics/libgnomecanvas" -o \
${pkg} = "x11/libgnomekbd" -o \
@@ -399,7 +397,6 @@ proxydeps_suggest_uses() {
${pkg} = "textproc/libxml++26" -o \
${pkg} = "textproc/libxml2" -o \
${pkg} = "textproc/libxslt" -o \
- ${pkg} = "x11-wm/metacity" -o \
${pkg} = "x11-toolkits/pango" -o \
${pkg} = "x11-toolkits/pangomm" -o \
${pkg} = "x11-toolkits/pangox-compat" -o \
@@ -415,7 +412,7 @@ proxydeps_suggest_uses() {
elif [ ${pkg} = "devel/gobject-introspection" ]; then warn "you need USE_GNOME+=introspection"
elif [ ${pkg} = "graphics/libart_lgpl" ]; then warn "you need USE_GNOME+=libartlgpl2"
elif [ ${pkg} = "devel/libIDL" ]; then warn "you need USE_GNOME+=libidl"
- elif [ ${pkg} = "x11-fm/nautilus" ]; then warn "you need USE_GNOME+=nautilus3"
+ elif [ ${pkg} = "x11-fm/nautilus" ]; then warn "you need USE_GNOME+=nautilus4"
elif [ ${pkg} = "graphics/librsvg2-rust" ]; then warn "you need USE_GNOME+=librsvg2"
# mate
# grep LIB_DEPENDS= Mk/Uses/mate.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ ${pkg} = "\2/\3" ]; then warn "you need USE_MATE+=\1"|'
@@ -723,9 +720,9 @@ proxydeps() {
sed -e 's/^\.//')
EOT
- # Check whether all files in LIB_DPEENDS are actually linked against
+ # Check whether all files in LIB_DEPENDS are actually linked against
for _library in ${WANTED_LIBRARIES} ; do
- if ! listcontains ${_library} "${dep_lib_files}" ; then
+ if ! listcontains ${_library%%.so*}.so "${dep_lib_files}" ; then
warn "you might not need LIB_DEPENDS on ${_library}"
fi
done
diff --git a/Mk/Uses/cabal.mk b/Mk/Uses/cabal.mk
index d52d3e4bfb27..cf1ffe9874f9 100644
--- a/Mk/Uses/cabal.mk
+++ b/Mk/Uses/cabal.mk
@@ -76,11 +76,6 @@ IGNORE= USES=cabal: invalid arguments: ${arg}
IGNORE= CABAL_PROJECT: invalid value: ${CABAL_PROJECT}
. endif
-. if ${ARCH} == i386 && defined(USE_CABAL) && ${USE_CABAL:Mbasement-0.0.1[4-5]}
-# Upstream issue: https://github.com/haskell-foundation/foundation/issues/565
-BROKEN= ${USE_CABAL:Mbasement-0.0.1[4-5]} package doesn't compile on i386
-. endif
-
PKGNAMEPREFIX?= hs-
CABAL_EXECUTABLES?= ${PORTNAME}
diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk
index b49a8b80e011..92a0f4b45c88 100644
--- a/Mk/Uses/cargo.mk
+++ b/Mk/Uses/cargo.mk
@@ -97,7 +97,7 @@ WRKSRC_crate_${_crate}= ${WRKDIR}/${_wrksrc}
CARGO_BUILDDEP?= yes
. if ${CARGO_BUILDDEP:tl} == "yes"
-BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.86.0:lang/${RUST_DEFAULT}
+BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.89.0:lang/${RUST_DEFAULT}
. elif ${CARGO_BUILDDEP:tl} == "any-version"
BUILD_DEPENDS+= ${RUST_DEFAULT}>=0:lang/${RUST_DEFAULT}
. endif
@@ -128,7 +128,7 @@ CARGO_ENV+= \
CARGO_TARGET_DIR=${CARGO_TARGET_DIR} \
RUSTC=${RUSTC} \
RUSTDOC=${RUSTDOC} \
- RUSTFLAGS="${RUSTFLAGS} ${LDFLAGS:C/.+/-C link-arg=&/}"
+ RUSTFLAGS="${RUSTFLAGS} -C ar=${AR} -C linker=${CC} ${LDFLAGS:C/.+/-C link-args=&/}"
. if ${ARCH} != powerpc64le
CARGO_ENV+= RUST_BACKTRACE=1
diff --git a/Mk/Uses/emacs.mk b/Mk/Uses/emacs.mk
index c278e3447935..462657c4183a 100644
--- a/Mk/Uses/emacs.mk
+++ b/Mk/Uses/emacs.mk
@@ -35,15 +35,15 @@
# will be generated as part of the package.
#
# Variables, which can be read by ports:
-# EMACS_CMD: Emacs command with full path (e.g. /usr/local/bin/emacs-30.1)
+# EMACS_CMD: Emacs command with full path (e.g. /usr/local/bin/emacs-30.2)
# EMACS_FLAVOR: Used for dependencies (e.g. BUILD_DEPENDS= dash.el${EMACS_PKGNAMESUFFIX}>0:devel/dash@${EMACS_FLAVOR})
# EMACS_LIBDIR: Emacs Library directory without ${PREFIX} (e.g. share/emacs)
-# EMACS_LIBDIR_WITH_VER: Library directory without ${PREFIX} including version (e.g. share/emacs/30.1)
+# EMACS_LIBDIR_WITH_VER: Library directory without ${PREFIX} including version (e.g. share/emacs/30.2)
# EMACS_MAJOR_VER: Emacs major version (e.g. 30)
# EMACS_PKGNAMESUFFIX: PKGNAMESUFFIX to distinguish Emacs flavors
# EMACS_SITE_LISPDIR: Emacs site-lisp directory without ${PREFIX} (e.g. share/emacs/site-lisp)
-# EMACS_VER: Emacs version (e.g. 30.1)
-# EMACS_VERSION_SITE_LISPDIR: Include version (e.g. share/emacs/30.1/site-lisp)
+# EMACS_VER: Emacs version (e.g. 30.2)
+# EMACS_VERSION_SITE_LISPDIR: Include version (e.g. share/emacs/30.2/site-lisp)
#-------------------------------------------------------------------------------
#
# MAINTAINER: emacs@FreeBSD.org
@@ -109,7 +109,7 @@ EMACS_FLAVOR= full
EMACS_VER= 31.0.50
EMACS_PORTDIR= editors/emacs-devel
. else
-EMACS_VER= 30.1
+EMACS_VER= 30.2
EMACS_PORTDIR= editors/emacs
. endif
diff --git a/Mk/Uses/fortran.mk b/Mk/Uses/fortran.mk
index a7dc6717dce8..207bb869c8d8 100644
--- a/Mk/Uses/fortran.mk
+++ b/Mk/Uses/fortran.mk
@@ -30,6 +30,10 @@ FCFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER}
LDFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} \
-L${LOCALBASE}/lib/gcc${_GCC_VER}
CFLAGS_F2018= -I${LOCALBASE}/include/gcc${_GCC_VER}
+# Only needed on riscv64? See PR 287211
+. if ${ARCH} == "riscv64"
+FCFLAGS+= -B${LOCALBASE}/lib/gcc${_GCC_VER}
+. endif
. else
IGNORE= USES=fortran: invalid arguments: ${fortran_ARGS}
. endif
diff --git a/Mk/Uses/gnome.mk b/Mk/Uses/gnome.mk
index 388a42bd25ca..59d070c747f8 100644
--- a/Mk/Uses/gnome.mk
+++ b/Mk/Uses/gnome.mk
@@ -76,16 +76,16 @@ _USE_GNOME_ALL+= atk cairo \
_USE_GNOME_ALL+=dconf evolutiondataserver3 gnomecontrolcenter3 gnomedesktop3 \
gnomemenus3 gsound gtk30 gtkhtml4 gtksourceview3 \
gtksourceview4 libgda5 \
- libgda5-ui libgnomekbd libwnck3 metacity nautilus3 \
+ libgda5-ui libgda6 libgnomekbd libwnck3 \
pygobject3 vte3
# GNOME 40 components
-_USE_GNOME_ALL+=gtk40 libadwaita gtksourceview5
+_USE_GNOME_ALL+=gtk40 libadwaita gtksourceview5 gnomedesktop4 nautilus4
# C++ bindings
-_USE_GNOME_ALL+=atkmm cairomm gconfmm26 glibmm glibmm26 gtkmm24 \
- gtkmm30 gtksourceviewmm3 libgdamm5 libxml++26 libsigc++20 \
- libsigc++30 pangomm
+_USE_GNOME_ALL+=atkmm cairomm cairomm11 glibmm glibmm26 gtkmm24 \
+ gtkmm30 gtkmm40 gtksourceviewmm3 libxml++26 libsigc++20 \
+ libsigc++30 pangomm pangomm24
# glib-mkenums often fails with C locale
# https://gitlab.gnome.org/GNOME/glib/issues/1430
@@ -113,8 +113,8 @@ cairo_LIB_DEPENDS= libcairo.so:graphics/cairo
cairomm_LIB_DEPENDS= libcairomm-1.0.so:graphics/cairomm
cairomm_USE_GNOME_IMPL= cairo libsigc++20
-gconfmm26_LIB_DEPENDS= libgconfmm-2.6.so:devel/gconfmm26
-gconfmm26_USE_GNOME_IMPL= glibmm gconf2
+cairomm11_LIB_DEPENDS= libcairomm-1.16.so:graphics/cairomm11
+cairomm11_USE_GNOME_IMPL= cairo libsigc++30
glibmm_LIB_DEPENDS= libglibmm-2.4.so:devel/glibmm
glibmm_USE_GNOME_IMPL= libsigc++20 glib20
@@ -133,12 +133,12 @@ gtkmm24_USE_GNOME_IMPL= glibmm cairomm atkmm pangomm gtk20
gtkmm30_LIB_DEPENDS= libgtkmm-3.0.so:x11-toolkits/gtkmm30
gtkmm30_USE_GNOME_IMPL= atkmm cairomm gdkpixbuf glibmm gtk30 pangomm
+gtkmm40_LIB_DEPENDS= libgtkmm-4.0.so:x11-toolkits/gtkmm40
+gtkmm40_USE_GNOME_IMPL= cairomm11 gdkpixbuf glibmm26 gtk40 pangomm24
+
gtksourceviewmm3_LIB_DEPENDS= libgtksourceviewmm-3.0.so:x11-toolkits/gtksourceviewmm3
gtksourceviewmm3_USE_GNOME_IMPL= gtkmm30 gtksourceview3
-libgdamm5_LIB_DEPENDS= libgdamm-5.0.so:databases/libgdamm5
-libgdamm5_USE_GNOME_IMPL= libgda5 glibmm
-
libsigc++20_LIB_DEPENDS= libsigc-2.0.so:devel/libsigc++20
libsigc++30_LIB_DEPENDS= libsigc-3.0.so:devel/libsigc++30
@@ -146,6 +146,9 @@ libsigc++30_LIB_DEPENDS= libsigc-3.0.so:devel/libsigc++30
pangomm_LIB_DEPENDS= libpangomm-1.4.so:x11-toolkits/pangomm
pangomm_USE_GNOME_IMPL= pango glibmm cairomm
+pangomm24_LIB_DEPENDS= libpangomm-2.48.so:x11-toolkits/pangomm24
+pangomm24_USE_GNOME_IMPL= pango glibmm26 cairomm11
+
gnomemimedata_BUILD_DEPENDS=${LOCALBASE}/libdata/pkgconfig/gnome-mime-data-2.0.pc:misc/gnome-mime-data
gnomemimedata_RUN_DEPENDS=${LOCALBASE}/libdata/pkgconfig/gnome-mime-data-2.0.pc:misc/gnome-mime-data
@@ -227,6 +230,9 @@ libartlgpl2_LIB_DEPENDS= libart_lgpl_2.so:graphics/libart_lgpl
gnomedesktop3_LIB_DEPENDS= libgnome-desktop-3.so:x11/gnome-desktop
gnomedesktop3_USE_GNOME_IMPL= gtk30
+gnomedesktop4_LIB_DEPENDS= libgnome-desktop-4.so:x11/gnome-desktop
+gnomedesktop4_USE_GNOME_IMPL= gtk40
+
libwnck3_LIB_DEPENDS= libwnck-3.so:x11-toolkits/libwnck3
libwnck3_USE_GNOME_IMPL=gtk30
@@ -251,14 +257,12 @@ librsvg2_RUN_DEPENDS= librsvg2>=0:graphics/librsvg2
. endif
librsvg2_USE_GNOME_IMPL=cairo gdkpixbuf
-nautilus3_LIB_DEPENDS= libnautilus-extension.so:x11-fm/nautilus
-nautilus3_USE_GNOME_IMPL=gnomedesktop3 libxml2
-
-metacity_LIB_DEPENDS= libmetacity.so:x11-wm/metacity
+nautilus4_LIB_DEPENDS= libnautilus-extension.so:x11-fm/nautilus
+nautilus4_USE_GNOME_IMPL=glib20
gnomecontrolcenter3_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-keybindings.pc:sysutils/gnome-control-center
gnomecontrolcenter3_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-keybindings.pc:sysutils/gnome-control-center
-gnomecontrolcenter3_USE_GNOME_IMPL= gnomedesktop3
+gnomecontrolcenter3_USE_GNOME_IMPL= gnomedesktop4
libgda5_LIB_DEPENDS= libgda-5.0.so:databases/libgda5
libgda5_USE_GNOME_IMPL= glib20 libxslt
@@ -266,6 +270,9 @@ libgda5_USE_GNOME_IMPL= glib20 libxslt
libgda5-ui_LIB_DEPENDS= libgda-ui-5.0.so:databases/libgda5-ui
libgda5-ui_USE_GNOME_IMPL=glib20 libxslt libgda5
+libgda6_LIB_DEPENDS= libgda-6.0.so:databases/libgda6
+libgda6_USE_GNOME_IMPL= glib20 libxml2
+
gtksourceview2_LIB_DEPENDS= libgtksourceview-2.0.so:x11-toolkits/gtksourceview2
gtksourceview2_USE_GNOME_IMPL=gtk20 libxml2
diff --git a/Mk/Uses/go.mk b/Mk/Uses/go.mk
index 5b1e8758417f..5bb8b245644c 100644
--- a/Mk/Uses/go.mk
+++ b/Mk/Uses/go.mk
@@ -70,7 +70,7 @@ _INCLUDE_USES_GO_MK= yes
# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
-GO_VALID_VERSIONS= 1.20 1.21 1.22 1.23 1.24 1.25-devel
+GO_VALID_VERSIONS= 1.20 1.21 1.22 1.23 1.24 1.25 1.26-devel
# Check arguments sanity
. if !empty(go_ARGS:N[1-9].[0-9][0-9]:N*-devel:Nmodules:Nno_targets:Nrun)
@@ -186,8 +186,7 @@ WRKSRC= ${WRKDIR}/${GO_MODNAME}@${GO_MODVERSION}
. endif
EXTRACT_ONLY?= ${DISTFILES:N*.mod\:*:N*.mod:C/:.*//}
DIST_SUBDIR= go/${PKGORIGIN:S,/,_,g}/${DISTNAME}
-FETCH_DEPENDS+= ${GO_CMD}:${GO_PORT} \
- ca_root_nss>0:security/ca_root_nss
+FETCH_DEPENDS+= ${GO_CMD}:${GO_PORT}
USES+= zip
. else
GO_ENV+= GO_NO_VENDOR_CHECKS=1
diff --git a/Mk/Uses/gssapi.mk b/Mk/Uses/gssapi.mk
index 46eea2d10071..b419a8fe27ff 100644
--- a/Mk/Uses/gssapi.mk
+++ b/Mk/Uses/gssapi.mk
@@ -86,6 +86,18 @@ _local:= ${_A}
. if ${SSL_DEFAULT} != base
IGNORE= You are using OpenSSL from ports and have selected GSSAPI from base, please select another GSSAPI value
. endif
+. if exists(/usr/libdata/pkgconfig/mit-krb5.pc)
+ # Base has MIT KRB5 installed
+KRB5_HOME?= /usr
+GSSAPIBASEDIR= ${KRB5_HOME}
+GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib
+GSSAPIINCDIR= ${GSSAPIBASEDIR}/include
+_HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5/krb5.h
+GSSAPICPPFLAGS= -I"${GSSAPIINCDIR}"
+GSSAPILIBS= -lkrb5 -lgssapi_krb5
+GSSAPILDFLAGS=
+. else
+ # Base has Heimdal KRB5 installed
HEIMDAL_HOME= /usr
GSSAPIBASEDIR= ${HEIMDAL_HOME}
GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib
@@ -94,7 +106,9 @@ _HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5.h
GSSAPICPPFLAGS= -I"${GSSAPIINCDIR}"
GSSAPILIBS= -lkrb5 -lgssapi -lgssapi_krb5
GSSAPILDFLAGS=
+. endif
. elif ${_local} == "heimdal"
+ # Heimdal port selected
HEIMDAL_HOME?= ${LOCALBASE}
GSSAPIBASEDIR= ${HEIMDAL_HOME}
GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib/heimdal
@@ -111,11 +125,12 @@ GSSAPILIBS= -lkrb5 -lgssapi
GSSAPILDFLAGS= -L"${GSSAPILIBDIR}"
_RPATH= ${GSSAPILIBDIR}
. elif ${_local} == "mit"
+ # MIT KRB5 port selected
KRB5_HOME?= ${LOCALBASE}
GSSAPIBASEDIR= ${KRB5_HOME}
GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib
GSSAPIINCDIR= ${GSSAPIBASEDIR}/include
-_HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5.h
+_HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5/krb5.h
. if !defined(_KRB_BOOTSTRAP)
BUILD_DEPENDS+= ${_MITKRB5_DEPENDS}
RUN_DEPENDS+= ${_MITKRB5_DEPENDS}
diff --git a/Mk/Uses/gstreamer.mk b/Mk/Uses/gstreamer.mk
index e713b7c3def0..edc677b9f663 100644
--- a/Mk/Uses/gstreamer.mk
+++ b/Mk/Uses/gstreamer.mk
@@ -39,16 +39,9 @@ _GST_VER= ${_GST_VER_DEFAULT}
#== Component setup
-# When modifying _GST1_VERSION, be sure to also update distinfo for the
-# following ports:
-# - multimedia/gstreamer1
-# - multimedia/gstreamer1-editing-services
-# - multimedia/gstreamer1-libav
-# - multimedia/gstreamer1-plugins (via `make makesum-gst1`)
-# - multimedia/gstreamer1-rtsp-server
-# - multimedia/gstreamer1-vaapi
-# - multimedia/py-gstreamer1
-_GST1_VERSION= 1.26.1
+# When modifying _GST1_VERSION, run `make -C ${PORTSDIR}/multimedia/gstreamer1 makesum-all`
+# to update the distinfo files for the entire suite.
+_GST1_VERSION= 1.26.5
_GST1_LIB_VER= 1.0
_GST1_SOVERSION= 0.${_GST1_VERSION:R:E}${${_GST1_VERSION:E} > 9:?:0}${_GST1_VERSION:E}.0
@@ -355,7 +348,7 @@ gst-rtsp-server_IMPL= #
gst-rust_PORT= multimedia/gstreamer${_GST_VER}-plugins-rust
gst-rust_IMPL= #
-gst-rust_GST1_VERSION= 0.13.5
+gst-rust_GST1_VERSION= 0.14.0
gst-rust_VERSION= ${gst-rust_GST${_GST_VER}_VERSION}
gst-smoothstreaming_PORT= multimedia/gstreamer${_GST_VER}-plugins-smoothstreaming
diff --git a/Mk/Uses/kde.mk b/Mk/Uses/kde.mk
index cdeb7ff7ed77..f178591a11d1 100644
--- a/Mk/Uses/kde.mk
+++ b/Mk/Uses/kde.mk
@@ -91,7 +91,7 @@ KDE_PLASMA5_VERSION?= 5.27.12
KDE_PLASMA5_BRANCH?= stable
# Current KDE Plasma desktop.
-KDE_PLASMA6_VERSION?= 6.3.5
+KDE_PLASMA6_VERSION?= 6.4.4
KDE_PLASMA6_BRANCH?= stable
# Legacy KDE frameworks (Qt5 based).
@@ -99,13 +99,13 @@ KDE_FRAMEWORKS5_VERSION?= 5.116.0
KDE_FRAMEWORKS5_BRANCH?= stable
# Current KDE Frameworks (Qt6 based).
-KDE_FRAMEWORKS6_VERSION?= 6.13.0
+KDE_FRAMEWORKS6_VERSION?= 6.17.0
KDE_FRAMEWORKS6_BRANCH?= stable
# Current KDE applications. Update _${PORTNAME}_PROJECT_VERSION for the following ports:
# devel/kdevelop, games/libkdegames, games/libkmahjongg, graphics/kgraphviewer
-KDE_APPLICATIONS6_VERSION?= 25.04.1
-KDE_APPLICATIONS6_SHLIB_VER?= 6.4.1
+KDE_APPLICATIONS6_VERSION?= 25.08.0
+KDE_APPLICATIONS6_SHLIB_VER?= 6.5.0
# G as in KDE Gear, and as in "don't make the variable name longer than required".
KDE_APPLICATIONS6_SHLIB_G_VER?= ${KDE_APPLICATIONS6_VERSION}
KDE_APPLICATIONS6_BRANCH?= stable
@@ -203,6 +203,7 @@ PORTVERSION?= ${KDE_PLASMA_VERSION}
PKGNAMEPREFIX?= plasma${_KDE_VERSION}-
MASTER_SITES?= KDE/${KDE_PLASMA_BRANCH}/plasma/${KDE_PLASMA_VERSION}
DIST_SUBDIR?= KDE/plasma/${KDE_PLASMA_VERSION}
+WWW?= https://kde.org/plasma-desktop/
. if ${_KDE_VERSION:M6}
DESCR= ${.CURDIR:H:H}/x11/plasma6-plasma/pkg-descr
. endif
@@ -223,6 +224,7 @@ MASTER_SITES?= KDE/${KDE_FRAMEWORKS_BRANCH}/frameworks/${KDE_FRAMEWORKS_VERSION
. endif
DIST_SUBDIR?= KDE/frameworks/${KDE_FRAMEWORKS_VERSION}
. if ${_KDE_VERSION:M6}
+DIST_SUBDIR= KDE/frameworks/${KDE_FRAMEWORKS_VERSION:R}
DESCR= ${.CURDIR:H:H}/x11/kf6-frameworks/pkg-descr
. endif
. else
@@ -273,7 +275,7 @@ PLIST_SUB+= KDE_APPLICATIONS_VERSION="${KDE_APPLICATIONS_VERSION}" \
_USE_PORTINGAIDS_ALL= js jsembed kdelibs4support khtml mediaplayer kross
# List of components of the KDE Frameworks distribution.
-# Not ported to FreeBSD: bluez-qt modemmanagerqt networkmanagerqt
+# Not ported to FreeBSD: bluez-qt modemmanagerqt
_USE_FRAMEWORKS5_ALL= activities activities-stats apidox archive attica \
auth baloo bookmarks breeze-icons calendarcore \
codecs completion config configwidgets contacts \
@@ -299,8 +301,8 @@ _USE_FRAMEWORKS6_ALL= apidox archive attica auth baloo bookmarks \
i18n iconthemes idletime itemmodels itemviews \
jobwidgets kcmutils kdav kdeclarative kded kdesu \
kimageformats kio kirigami2 kquickcharts newstuff \
- notifications notifyconfig package parts people \
- plasma-wayland-protocols plotting prison pty purpose \
+ networkmanagerqt notifications notifyconfig package parts \
+ people plasma-wayland-protocols plotting prison pty purpose \
qqc2-desktop-style runner service solid sonnet \
statusnotifieritem svg syndication \
syntaxhighlighting texteditor texttemplate \
@@ -312,11 +314,11 @@ _USE_FRAMEWORKS_ALL= ${_USE_FRAMEWORKS${_KDE_VERSION}_ALL}
_USE_PLASMA5_ALL= libksysguard oxygen-sounds
_USE_PLASMA6_ALL= activities activities-stats activitymanagerd \
- breeze breeze-gtk decoration discover drkonqi \
+ aurorae breeze breeze-gtk decoration discover \
globalacceld infocenter kde-cli-tools \
kde-gtk-config kdeplasma-addons kgamma kmenuedit \
kpipewire kscreen kscreenlocker ksshaskpass \
- ksystemstats kwallet-pam kwin kwrited \
+ ksystemstats kwallet-pam kwin kwin-x11 kwrited \
layer-shell-qt libkscreen libksysguard libplasma \
milou ocean-sound-theme oxygen oxygen-sounds \
plasma-browser-integration plasma-desktop \
@@ -329,8 +331,8 @@ _USE_PLASMA6_ALL= activities activities-stats activitymanagerd \
_USE_PLASMA_ALL= ${_USE_PLASMA${_KDE_VERSION}_ALL}
# List of frequently used components of the KDE Gears distribution.
-_USE_GEAR5_ALL= libkdcraw libkexiv2
-_USE_GEAR6_ALL= baloo-widgets kate kosm kpublictransport \
+_USE_GEAR5_ALL= libkdcraw
+_USE_GEAR6_ALL= baloo-widgets kosm kpublictransport \
libkcddb libkcompactdisc libkdcraw \
libkdegames libkeduvocdocument libkexiv2 \
libksane marble okular
@@ -535,6 +537,9 @@ kde-layer-shell-qt_LIB= libLayerShellQtInterface.so
kde-mediaplayer_PORT= multimedia/kf${_KDE_VERSION}-kmediaplayer
kde-mediaplayer_LIB= libKF${_KDE_VERSION}MediaPlayer.so.5
+kde-networkmanagerqt_PORT= net-mgmt/kf${_KDE_VERSION}-networkmanager-qt
+kde-networkmanagerqt_LIB= libKF${_KDE_VERSION}NetworkManagerQt.so
+
kde-newstuff_PORT= devel/kf${_KDE_VERSION}-knewstuff
kde-newstuff_LIB= libKF${_KDE_VERSION}NewStuffCore.so
@@ -666,6 +671,9 @@ kde-kpipewire_LIB= libKPipeWire.so
kde-activitymanagerd_PORT= x11/plasma${_KDE_VERSION}-kactivitymanagerd
kde-activitymanagerd_LIB= libkactivitymanagerd_plugin.so
+kde-aurorae_PORT= x11-themes/plasma${_KDE_VERSION}-aurorae
+kde-aurorae_PATH= ${KDE_PREFIX}/lib/libexec/plasma-apply-aurorae
+
kde-breeze_PORT= x11-themes/plasma${_KDE_VERSION}-breeze
kde-breeze_PATH= ${KDE_PREFIX}/share/QtCurve/Breeze.qtcurve
@@ -678,9 +686,6 @@ kde-decoration_LIB= libkdecorations3.so
kde-discover_PORT= sysutils/plasma${_KDE_VERSION}-discover
kde-discover_PATH= ${KDE_PREFIX}/bin/plasma-discover
-kde-drkonqi_PORT= sysutils/plasma${_KDE_VERSION}-drkonqi
-kde-drkonqi_PATH= ${KDE_PREFIX}/lib/libexec/drkonqi
-
kde-infocenter_PORT= sysutils/plasma${_KDE_VERSION}-kinfocenter
kde-infocenter_PATH= ${KDE_PREFIX}/bin/kinfocenter
@@ -715,7 +720,10 @@ kde-kwallet-pam_PORT= security/plasma${_KDE_VERSION}-kwallet-pam
kde-kwallet-pam_PATH= ${KDE_PREFIX}/lib/pam_kwallet5.so
kde-kwin_PORT= x11-wm/plasma${_KDE_VERSION}-kwin
-kde-kwin_PATH= ${KDE_PREFIX}/bin/kwin_x11
+kde-kwin_PATH= ${KDE_PREFIX}/bin/kwin_wayland
+
+kde-kwin-x11_PORT= x11-wm/plasma${_KDE_VERSION}-kwin-x11
+kde-kwin-x11_PATH= ${KDE_PREFIX}/bin/kwin_x11
kde-kwrited_PORT= devel/plasma${_KDE_VERSION}-kwrited
kde-kwrited_PATH= ${QT_PLUGINDIR}/kf${_KDE_VERSION}/kded/kwrited.so
@@ -769,7 +777,7 @@ kde-powerdevil_PORT= sysutils/plasma${_KDE_VERSION}-powerdevil
kde-powerdevil_LIB= libpowerdevilcore.so
kde-print-manager_PORT= print/plasma${_KDE_VERSION}-print-manager
-kde-print-manager_PATH= ${KDE_PREFIX}/bin/kde-add-printer
+kde-print-manager_PATH= ${KDE_PREFIX}/bin/kde-print-queue
kde-print-manager_TYPE= run
kde-spectacle_PORT= graphics/plasma${_KDE_VERSION}-spectacle
@@ -954,9 +962,6 @@ kde-akonadi_LIB= libKPim${_KDE_VERSION}AkonadiPrivate.so
kde-baloo-widgets_PORT= sysutils/baloo-widgets
kde-baloo-widgets_LIB= libKF${_KDE_VERSION}BalooWidgets.so
-kde-kate_PORT= editors/kate
-kde-kate_PATH= ${QT_PLUGINDIR}/ktexteditor/katebacktracebrowserplugin.so
-
kde-libkcddb_PORT= audio/libkcddb
kde-libkcddb_LIB= libKCddb${_KDE_VERSION}.so
@@ -974,10 +979,8 @@ kde-libkdegames_LIB= libKDEGames${_KDE_VERSION}.so
kde-libkeduvocdocument_PORT= misc/libkeduvocdocument
kde-libkeduvocdocument_LIB= libKEduVocDocument.so
-kde-libkexiv2_PORT= graphics/libkexiv2@qt${_KDE_VERSION}
-kde-libkexiv2_LIB5= libKF${_KDE_VERSION}KExiv2.so
-kde-libkexiv2_LIB6= libKExiv2Qt${_KDE_VERSION}.so
-kde-libkexiv2_LIB= ${kde-libkexiv2_LIB${_KDE_VERSION}}
+kde-libkexiv2_PORT= graphics/libkexiv2
+kde-libkexiv2_LIB= libKExiv2Qt6.so
kde-libksane_PORT= graphics/libksane
kde-libksane_LIB= libKSaneWidgets${_KDE_VERSION}.so
diff --git a/Mk/Uses/linux.mk b/Mk/Uses/linux.mk
index bf62f887899a..99aa62704195 100644
--- a/Mk/Uses/linux.mk
+++ b/Mk/Uses/linux.mk
@@ -37,7 +37,7 @@ linux_ARGS= ${LINUX_DEFAULT}
. if ${linux_ARGS} == c7
LINUX_DIST_VER?= 7.9.2009
. elif ${linux_ARGS} == rl9
-LINUX_DIST_VER?= 9.5
+LINUX_DIST_VER?= 9.6
. else
ERROR+= "Invalid Linux distribution: ${linux_ARGS}"
. endif
@@ -63,7 +63,6 @@ _linux_${linux_ARGS}_atk= linux-${linux_ARGS}-atk>0:accessibility/linux-${linux
_linux_${linux_ARGS}_avahi-libs= linux-${linux_ARGS}-avahi-libs>0:net/linux-${linux_ARGS}-avahi-libs
_linux_c7_base= linux_base-c7>=7.6.1810_7:emulators/linux_base-c7
_linux_rl9_base= linux_base-rl9>=9.2:emulators/linux_base-rl9
-_linux_rl9_brotli= linux-rl9-brotli>0:archivers/linux-rl9-brotli
_linux_${linux_ARGS}_ca-certificates= linux-${linux_ARGS}-ca-certificates>0:security/linux-${linux_ARGS}-ca-certificates
_linux_${linux_ARGS}_cairo= linux-${linux_ARGS}-cairo>0:graphics/linux-${linux_ARGS}-cairo
_linux_${linux_ARGS}_cairo-gobject= linux-${linux_ARGS}-cairo-gobject>0:graphics/linux-${linux_ARGS}-cairo-gobject
@@ -106,20 +105,16 @@ _linux_${linux_ARGS}_libdrm= linux-${linux_ARGS}-libdrm>0:graphics/linux-${linu
_linux_${linux_ARGS}_libepoxy= linux-${linux_ARGS}-libepoxy>0:graphics/linux-${linux_ARGS}-libepoxy
_linux_rl9_libevent= linux-rl9-libevent>0:devel/linux-rl9-libevent
_linux_${linux_ARGS}_libgcrypt= linux-${linux_ARGS}-libgcrypt>0:security/linux-${linux_ARGS}-libgcrypt
-_linux_${linux_ARGS}_libgfortran= linux-${linux_ARGS}-libgfortran>0:devel/linux-${linux_ARGS}-libgfortran
_linux_${linux_ARGS}_libglvnd= linux-${linux_ARGS}-libglvnd>0:graphics/linux-${linux_ARGS}-libglvnd
_linux_${linux_ARGS}_libgpg-error= linux-${linux_ARGS}-libgpg-error>0:security/linux-${linux_ARGS}-libgpg-error
-_linux_rl9_libidn2= linux-${linux_ARGS}-libidn2>0:dns/linux-rl9-libidn2
_linux_rl9_libjxl= linux-rl9-libjxl>0:graphics/linux-rl9-libjxl
_linux_rl9_libksba= linux-rl9-libksba>0:security/linux-rl9-libksba
_linux_rl9_libnghttp2= linux-rl9-libnghttp2>0:www/linux-rl9-libnghttp2
_linux_${linux_ARGS}_libogg= linux-${linux_ARGS}-libogg>0:audio/linux-${linux_ARGS}-libogg
_linux_${linux_ARGS}_libpciaccess= linux-${linux_ARGS}-libpciaccess>0:devel/linux-${linux_ARGS}-libpciaccess
-_linux_rl9_libpsl= linux-rl9-libpsl>0:dns/linux-rl9-libpsl
_linux_${linux_ARGS}_librsvg2= linux-${linux_ARGS}-librsvg2>0:graphics/linux-${linux_ARGS}-librsvg2
_linux_rl9_libsecret= linux-rl9-libsecret>0:security/linux-rl9-libsecret
_linux_${linux_ARGS}_libsigc++20= linux-${linux_ARGS}-libsigc++20>0:devel/linux-${linux_ARGS}-libsigc++20
-_linux_rl9_libsoup= linux-rl9-libsoup>0:devel/linux-rl9-libsoup
_linux_${linux_ARGS}_libsndfile= linux-${linux_ARGS}-libsndfile>0:audio/linux-${linux_ARGS}-libsndfile
_linux_rl9_libssh= linux-rl9-libssh>0:security/linux-rl9-libssh
_linux_c7_libssh2= linux-c7-libssh2>0:security/linux-c7-libssh2
@@ -129,7 +124,6 @@ _linux_${linux_ARGS}_libthai= linux-${linux_ARGS}-libthai>0:devel/linux-${linux
_linux_${linux_ARGS}_libtheora= linux-${linux_ARGS}-libtheora>0:multimedia/linux-${linux_ARGS}-libtheora
_linux_${linux_ARGS}_libtool-ltdl= linux-${linux_ARGS}-libtool-ltdl>0:devel/linux-${linux_ARGS}-libtool-ltdl
_linux_rl9_libtracker-sparql= linux-rl9-libtracker-sparql>0:databases/linux-rl9-libtracker-sparql
-_linux_rl9_libunistring= linux-rl9-libunistring>0:devel/linux-rl9-libunistring
_linux_${linux_ARGS}_libunwind= linux-${linux_ARGS}-libunwind>0:devel/linux-${linux_ARGS}-libunwind
_linux_${linux_ARGS}_libv4l= linux-${linux_ARGS}-libv4l>0:multimedia/linux-${linux_ARGS}-libv4l
_linux_rl9_libva= linux-rl9-libva>0:multimedia/linux-rl9-libva
@@ -189,14 +183,11 @@ _linux_rl9_qtxmlpatterns= linux-rl9-qt5-qtxmlpatterns>0:textproc/linux-rl9-qt5-
_linux_${linux_ARGS}_sdl12= linux-${linux_ARGS}-sdl>0:devel/linux-${linux_ARGS}-sdl12
_linux_${linux_ARGS}_sdl12-extralibs= linux-${linux_ARGS}-sdl12-extralibs>0:misc/linux-${linux_ARGS}-sdl12-extralibs
_linux_${linux_ARGS}_sdl20= linux-${linux_ARGS}-sdl20>0:devel/linux-${linux_ARGS}-sdl20
-_linux_${linux_ARGS}_sdl2gfx= linux-${linux_ARGS}-sdl2_gfx>0:graphics/linux-${linux_ARGS}-sdl2_gfx
-_linux_${linux_ARGS}_sdl2image= linux-${linux_ARGS}-sdl2_image>0:graphics/linux-${linux_ARGS}-sdl2_image
-_linux_${linux_ARGS}_sdl2mixer= linux-${linux_ARGS}-sdl2_mixer>0:audio/linux-${linux_ARGS}-sdl2_mixer
-_linux_${linux_ARGS}_sdl2ttf= linux-${linux_ARGS}-sdl2_ttf>0:graphics/linux-${linux_ARGS}-sdl2_ttf
-_linux_${linux_ARGS}_sdl2sound= linux-${linux_ARGS}-sdl2_sound>0:audio/linux-${linux_ARGS}-sdl2_sound
+_linux_${linux_ARGS}_sdl20-extralibs= linux-${linux_ARGS}-sdl20-extralibs>0:misc/linux-${linux_ARGS}-sdl20-extralibs
_linux_rl9_shaderc= linux-rl9-shaderc>0:graphics/linux-rl9-shaderc
_linux_rl9_spirv-tools= linux-rl9-spirv-tools>0:graphics/linux-rl9-spirv-tools
-_linux_${linux_ARGS}_sqlite3= linux-${linux_ARGS}-sqlite>0:databases/linux-${linux_ARGS}-sqlite3
+_linux_c7_sqlite3= linux-c7-sqlite>0:databases/linux-c7-sqlite3
+_linux_rl9_sqlite3= ${_linux_rl9_base}
_linux_${linux_ARGS}_strace= linux-${linux_ARGS}-strace>0:devel/linux-${linux_ARGS}-strace
_linux_${linux_ARGS}_systemd-libs= linux-${linux_ARGS}-systemd-libs>0:devel/linux-${linux_ARGS}-systemd-libs
_linux_c7_tcl85= linux-c7-tcl85>0:lang/linux-c7-tcl85
@@ -351,7 +342,7 @@ PLIST?= ${PKGDIR}/pkg-plist.${ARCH}
. if !target(do-install)
do-install:
(cd ${WRKSRC} && \
- ${FIND} * | ${CPIO} -dumpl --quiet ${STAGEDIR}${PREFIX})
+ ${FIND} * -not -path 'usr/lib/.build-id*' | ${CPIO} -dumpl --quiet ${STAGEDIR}${PREFIX})
. for d in bin lib lib64 sbin
[ ! -e ${STAGEDIR}${PREFIX}/${d} -o -L ${STAGEDIR}${PREFIX}/${d} ] || \
(cd ${STAGEDIR}${PREFIX} && \
@@ -362,6 +353,7 @@ do-install:
(cd ${STAGEDIR}${PREFIX}/usr/share && ${FIND} icons | \
${CPIO} -dumpl --quiet ${STAGEDIR}${LOCALBASE}/share && \
${RM} -r icons)
+ ${RMDIR} ${STAGEDIR}${PREFIX}/usr/lib ${STAGEDIR}${PREFIX}/usr/lib64 || ${TRUE}
. endif
. endif # USE_LINUX_RPM
diff --git a/Mk/Uses/llvm.mk b/Mk/Uses/llvm.mk
index d6108a998882..38e04295b970 100644
--- a/Mk/Uses/llvm.mk
+++ b/Mk/Uses/llvm.mk
@@ -37,7 +37,7 @@
.if !defined(_INCLUDE_USES_LLVM_MK)
_INCLUDE_USES_LLVM_MK= YES
-_LLVM_MK_VALID_VERSIONS= 11 12 13 14 15 16 17 18 19 20
+_LLVM_MK_VALID_VERSIONS= 11 12 13 14 15 16 17 18 19 20 21
_LLVM_MK_VALID_CONSTRAINTS= min max
_LLVM_MK_VALID_MODES= build run lib
_LLVM_MK_VALID_EXPORTS= export noexport
diff --git a/Mk/Uses/luajit.mk b/Mk/Uses/luajit.mk
index c7a15b191209..7e62c192fd77 100644
--- a/Mk/Uses/luajit.mk
+++ b/Mk/Uses/luajit.mk
@@ -7,7 +7,7 @@
# LUAJIT_VER: The selected luajit version
# LUAJIT_INCDIR: The path to luajit's header files
# LUAJIT_LUAVER: Which luajit spec version is selected
-# (2.0 for luajit, else 2.1)
+# (always 2.1)
.if !defined(_INCLUDE_USES_LUAJIT_MK)
_INCLUDE_USES_LUAJIT_MK=yes
@@ -28,11 +28,7 @@ IGNORE= Invalid luajit default version ${LUAJIT_DEFAULT}: valid versions are ${V
IGNORE= Invalid luajit version ${LUAJIT_VER}: valid versions are ${VALID_LUAJIT_VER}
.endif
-.if ${LUAJIT_VER} == luajit
-LUAJIT_LUAVER= 2.0
-.else
LUAJIT_LUAVER= 2.1
-.endif
LIB_DEPENDS+= libluajit-5.1.so:lang/${LUAJIT_VER}
LUAJIT_INCDIR= ${LOCALBASE}/include/luajit-${LUAJIT_LUAVER}
diff --git a/Mk/Uses/mlt.mk b/Mk/Uses/mlt.mk
index da70a759d558..2cf044dcad0a 100644
--- a/Mk/Uses/mlt.mk
+++ b/Mk/Uses/mlt.mk
@@ -37,7 +37,7 @@ _MLT_NODEPEND= yes
. endif
# Library dependencies
-_MLT7_VERSION= 7.30.0
+_MLT7_VERSION= 7.32.0
_MLT7_PORTNAME= mlt7
_MLT7_LIB= libmlt-7.so
_MLT7_MELT= ${LOCALBASE}/bin/melt-7
diff --git a/Mk/Uses/mysql.mk b/Mk/Uses/mysql.mk
index d9daa2e0a9d5..8062734165a7 100644
--- a/Mk/Uses/mysql.mk
+++ b/Mk/Uses/mysql.mk
@@ -63,7 +63,7 @@ MYSQL80_LIBVER= 21
MYSQL84_LIBVER= 24
MYSQL91_LIBVER= 24
-. for v in 105 106 1011 114
+. for v in 106 1011 114 118
MYSQL${v}m_LIBVER= 3
. endfor
diff --git a/Mk/Uses/nodejs.mk b/Mk/Uses/nodejs.mk
index d758bba2adcb..c1666835554a 100644
--- a/Mk/Uses/nodejs.mk
+++ b/Mk/Uses/nodejs.mk
@@ -7,7 +7,7 @@
# - build use node as build-time dependency
# - run use node as runtime dependency
# - env set the environment (NODEJS_VERSION and NODEJS_SUFFIX)
-# - version available version: lts, current, 18, 20, 22, 23, 24
+# - version available version: lts, current, 20, 22, 24
#
# Note:
# - The supported versions follow upstream release schedule
@@ -22,13 +22,13 @@
.if !defined(_INCLUDE_USES_NODEJS_MK)
_INCLUDE_USES_NODEJS_MK= yes
-_VALID_NODEJS_VERSIONS= 18 20 22 23 24 current lts
+_VALID_NODEJS_VERSIONS= 20 22 24 current lts
. if ! ${_VALID_NODEJS_VERSIONS:M${NODEJS_DEFAULT}}
IGNORE= Invalid default nodejs version ${NODEJS_DEFAULT}; valid versions are ${_VALID_NODEJS_VERSIONS}
. endif
-. if !empty(nodejs_ARGS:Nbuild:Nenv:Nrun:Nlts:Ncurrent:N18:N20:N22:N23:N24)
+. if !empty(nodejs_ARGS:Nbuild:Nenv:Nrun:Nlts:Ncurrent:N20:N22:N24)
IGNORE= USES=nodejs has invalid arguments ${nodejs_ARGS}
. endif
diff --git a/Mk/Uses/octave.mk b/Mk/Uses/octave.mk
index 1c23ef109e65..8aca21d0a789 100644
--- a/Mk/Uses/octave.mk
+++ b/Mk/Uses/octave.mk
@@ -22,7 +22,7 @@ IGNORE= Incorrect 'USES+= octave:${octave_ARGS}' usage: argument [${arg}] is not
. endif
. endfor
-OCTAVE_VERSION= 10.1.0
+OCTAVE_VERSION= 10.2.0
. if empty(octave_ARGS:Menv)
BUILD_DEPENDS+= octave:math/octave
diff --git a/Mk/Uses/pathfix.mk b/Mk/Uses/pathfix.mk
index 049224a15621..57c734f93cb3 100644
--- a/Mk/Uses/pathfix.mk
+++ b/Mk/Uses/pathfix.mk
@@ -54,8 +54,7 @@ pathfix:
s|[{]datadir[}]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
s|[(]prefix[)]/lib/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
s|[(]prefix[)]/share/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
- s|[[:<:]]lib/pkgconfig|libdata/pkgconfig|g; \
- s|[(]libdir[)]/bonobo/servers|(prefix)/libdata/bonobo/servers|g'
+ s|[[:<:]]lib/pkgconfig|libdata/pkgconfig|g'
. endfor
. endif
diff --git a/Mk/Uses/pear.mk b/Mk/Uses/pear.mk
index 0496dded11b9..cbea5a6fe5f7 100644
--- a/Mk/Uses/pear.mk
+++ b/Mk/Uses/pear.mk
@@ -22,8 +22,8 @@ IGNORE= Incorrect 'USES+= pear:${pear_ARGS}' usage: argument [${arg}] is not rec
. endif
. endfor
-_pear_IGNORE_WITH_PHP=
-IGNORE_WITH_PHP?= ${_pear_IGNORE_WITH_PHP}
+_pear_IGNORE_WITH_PHP=81
+IGNORE_WITH_PHP+= ${_pear_IGNORE_WITH_PHP}
php_ARGS+= flavors
.include "${USESDIR}/php.mk"
diff --git a/Mk/Uses/perl5.mk b/Mk/Uses/perl5.mk
index 9f34715e9eeb..4e5883bb59d0 100644
--- a/Mk/Uses/perl5.mk
+++ b/Mk/Uses/perl5.mk
@@ -42,12 +42,12 @@ USE_PERL5?= run build
# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
-. if ${PERL5_DEFAULT} == 5.36
-.include "${PORTSDIR}/lang/perl5.36/version.mk"
-. elif ${PERL5_DEFAULT} == 5.38
+. if ${PERL5_DEFAULT} == 5.38
.include "${PORTSDIR}/lang/perl5.38/version.mk"
. elif ${PERL5_DEFAULT} == 5.40
.include "${PORTSDIR}/lang/perl5.40/version.mk"
+. elif ${PERL5_DEFAULT} == 5.42
+.include "${PORTSDIR}/lang/perl5.42/version.mk"
. elif ${PERL5_DEFAULT} == devel
.include "${PORTSDIR}/lang/perl5-devel/version.mk"
# Force PERL_PORT here in case two identical PERL_VERSION.
@@ -81,12 +81,12 @@ 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} >= 504000
+. if ${PERL_LEVEL} >= 504200
+PERL_PORT?= perl5.42
+. elif ${PERL_LEVEL} >= 504000
PERL_PORT?= perl5.40
-. elif ${PERL_LEVEL} >= 503800
+. else # ${PERL_LEVEL} < 504000
PERL_PORT?= perl5.38
-. else # ${PERL_LEVEL} < 503800
-PERL_PORT?= perl5.36
. endif
SITE_PERL_REL?= lib/perl5/site_perl
diff --git a/Mk/Uses/php.mk b/Mk/Uses/php.mk
index 9d5568e05047..c1f8a0061abd 100644
--- a/Mk/Uses/php.mk
+++ b/Mk/Uses/php.mk
@@ -110,7 +110,7 @@ DIST_SUBDIR= PECL
PHPBASE?= ${LOCALBASE}
-_ALL_PHP_VERSIONS= 81 82 83 84
+_ALL_PHP_VERSIONS= 81 82 83 84 85
# Make the already installed PHP the default one.
. if exists(${PHPBASE}/etc/php.conf)
@@ -179,7 +179,10 @@ PHP_VER= ${FLAVOR:S/^php//}
(${FLAVOR:Mphp[0-9][0-9]} && ${FLAVOR} != ${FLAVORS:[1]})
# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
-. if ${PHP_VER} == 84
+. if ${PHP_VER} == 85
+PHP_EXT_DIR= 20240925
+PHP_EXT_INC= hash json opcache openssl pcre random spl
+. elif ${PHP_VER} == 84
PHP_EXT_DIR= 20240924
PHP_EXT_INC= hash json openssl pcre random spl
. elif ${PHP_VER} == 83
@@ -375,7 +378,7 @@ add-plist-phpext:
_USE_PHP_ALL= bcmath bitset bz2 calendar ctype curl dba dom \
enchant exif ffi fileinfo filter ftp gd gettext gmp \
hash iconv igbinary imap intl json ldap mbstring mcrypt \
- memcache memcached mysqli odbc opcache \
+ memcache memcached mysqli odbc \
openssl pcntl pcre pdo pdo_dblib pdo_firebird pdo_mysql \
pdo_odbc pdo_pgsql pdo_sqlite phar pgsql posix \
pspell radius random readline redis session shmop simplexml snmp \
@@ -383,10 +386,11 @@ _USE_PHP_ALL= bcmath bitset bz2 calendar ctype curl dba dom \
tidy tokenizer xml xmlreader xmlrpc xmlwriter xsl zephir_parser \
zip zlib
# version specific components
-_USE_PHP_VER81= ${_USE_PHP_ALL}
-_USE_PHP_VER82= ${_USE_PHP_ALL}
-_USE_PHP_VER83= ${_USE_PHP_ALL}
-_USE_PHP_VER84= ${_USE_PHP_ALL}
+_USE_PHP_VER81= ${_USE_PHP_ALL} opcache
+_USE_PHP_VER82= ${_USE_PHP_ALL} opcache
+_USE_PHP_VER83= ${_USE_PHP_ALL} opcache
+_USE_PHP_VER84= ${_USE_PHP_ALL} opcache
+_USE_PHP_VER85= ${_USE_PHP_ALL}
bcmath_DEPENDS= math/php${PHP_VER}-bcmath
bitset_DEPENDS= math/pecl-bitset@${PHP_FLAVOR}
@@ -473,9 +477,11 @@ RUN_DEPENDS+= ${PHPBASE}/lib/php/${PHP_EXT_DIR}/${extension:S/:build//}.so:${${e
. endif
. else
. if ${ext:tl} != "yes" && !defined(_IGNORE_PHP_SET)
+. if empty(PHP_EXT_INC:M${extension:S/:build//})
check-makevars::
@${ECHO_CMD} "Unknown extension ${extension:S/:build//} for PHP ${PHP_VER}."
@${FALSE}
+. endif
. endif
. endif
. endfor
diff --git a/Mk/Uses/pyqt.mk b/Mk/Uses/pyqt.mk
index 5cfa88989130..af659b76d8cc 100644
--- a/Mk/Uses/pyqt.mk
+++ b/Mk/Uses/pyqt.mk
@@ -108,9 +108,9 @@ MASTER_SITES_PYQTWEBENGINE= ${MASTER_SITES_PYQT${_PYQT_VERSION}WEBENGINE}
# below, should have a suitable epoch appended to the version.
# Qt version-agnostic components
-PYQTBUILDER_VERSION= 1.18.0
+PYQTBUILDER_VERSION= 1.18.2
QSCI2_VERSION= 2.14.1
-SIP_VERSION= 6.10.0 # ,1
+SIP_VERSION= 6.12.0 # ,1
# Qt 5 components
PYQT5SIP_VERSION= 12.17.0
@@ -122,14 +122,14 @@ PYQT5NETWORKAUTH_VERSION= 5.15.6
PYQT5WEBENGINE_VERSION= 5.15.7
# Qt 6 components
-PYQT6SIP_VERSION= 13.10.0
-PYQT6_VERSION= 6.8.1
-PYQT63D_VERSION= 6.8.0
-PYQT6CHARTS_VERSION= 6.8.0
-PYQT6DATAVIS3D_VERSION= 6.8.0
-PYQT6GRAPHS_VERSION= 6.8.0
-PYQT6NETWORKAUTH_VERSION= 6.8.0
-PYQT6WEBENGINE_VERSION= 6.8.0
+PYQT6SIP_VERSION= 13.10.2
+PYQT6_VERSION= 6.9.1
+PYQT63D_VERSION= 6.9.0
+PYQT6CHARTS_VERSION= 6.9.0
+PYQT6DATAVIS3D_VERSION= 6.9.0
+PYQT6GRAPHS_VERSION= 6.9.0
+PYQT6NETWORKAUTH_VERSION= 6.9.0
+PYQT6WEBENGINE_VERSION= 6.9.0
# Qt version-agnostic components
PYQTBUILDER_DISTNAME= pyqt_builder-${PYQTBUILDER_VERSION}
@@ -147,12 +147,12 @@ PYQT5WEBENGINE_DISTNAME= PyQtWebEngine-${PYQT5WEBENGINE_VERSION}
# Qt 6 components
PYQT6SIP_DISTNAME= pyqt6_sip-${PYQT6SIP_VERSION}
PYQT6_DISTNAME= pyqt6-${PYQT6_VERSION}
-PYQT63D_DISTNAME= PyQt6_3D-${PYQT63D_VERSION}
-PYQT6CHARTS_DISTNAME= PyQt6_Charts-${PYQT6CHARTS_VERSION}
-PYQT6DATAVIS3D_DISTNAME= PyQt6_DataVisualization-${PYQT6DATAVIS3D_VERSION}
-PYQT6GRAPHS_DISTNAME= PyQt6_Graphs-${PYQT6GRAPHS_VERSION}
-PYQT6NETWORKAUTH_DISTNAME= PyQt6_NetworkAuth-${PYQT6NETWORKAUTH_VERSION}
-PYQT6WEBENGINE_DISTNAME= PyQt6_WebEngine-${PYQT6WEBENGINE_VERSION}
+PYQT63D_DISTNAME= pyqt6_3d-${PYQT63D_VERSION}
+PYQT6CHARTS_DISTNAME= pyqt6_charts-${PYQT6CHARTS_VERSION}
+PYQT6DATAVIS3D_DISTNAME= pyqt6_datavisualization-${PYQT6DATAVIS3D_VERSION}
+PYQT6GRAPHS_DISTNAME= pyqt6_graphs-${PYQT6GRAPHS_VERSION}
+PYQT6NETWORKAUTH_DISTNAME= pyqt6_networkauth-${PYQT6NETWORKAUTH_VERSION}
+PYQT6WEBENGINE_DISTNAME= pyqt6_webengine-${PYQT6WEBENGINE_VERSION}
PYQT5_DISTINFO_FILE= ${.CURDIR:H:H}/devel/${PYQT_RELNAME}/distinfo
PYQT6_DISTINFO_FILE= ${.CURDIR:H:H}/devel/${PYQT_RELNAME}/distinfo
@@ -160,7 +160,7 @@ PYQT6_DISTINFO_FILE= ${.CURDIR:H:H}/devel/${PYQT_RELNAME}/distinfo
PYQT5_LICENSE= GPLv3
PYQT6_LICENSE= GPLv3
-_USE_PYQT_ALL= pyqt5 pyqt6 3d charts datavis3d networkauth webengine
+_USE_PYQT_ALL= pyqt5 pyqt6 3d charts graphs datavis3d networkauth webengine
_USE_SIP_ALL= pysip sip
_USE_QSCINTILLA= qscintilla2
_USE_PYQTBUILDER= qtbuilder
diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk
index a26f984e3c11..c96b633f1254 100644
--- a/Mk/Uses/python.mk
+++ b/Mk/Uses/python.mk
@@ -144,8 +144,6 @@
#
# pytest - Run tests with latest pytest (devel/py-pytest)
#
-# pytest4 - Run tests with pytest 4.x (devel/py-pytest4)
-#
# unittest - Run tests with unittest
#
# unittest2 - Run tests with unittest2 (devel/py-unittest2)
@@ -235,12 +233,29 @@
# interpreter without dots, e.g. 27, 38, ...
# Used for prefixes and suffixes.
#
+# PYTHON_BASESUFFIX - PYTHON_SUFFIX without the threaded ABI flag.
+#
+# PYTHON_TAG - Defined by PEP 3147, magic tag containing
+# implementation name and shorthand version,
+# primarily for bytecode files. Includes
+# preceding dot, e.g. .cpython-312,
+# .cpython-313, ...
+#
+# PYTHON_SOABI - Defined by PEP 3149, tag containing
+# implementation name, shorthand version
+# and ABI tags, primarily for compiled
+# extension modules. Includes preceding
+# dot, e.g. .cpython-313, .cpython-313t,
+# .cpython-313td, ...
+#
# PYTHON_MAJOR_VER - The major release version of the chosen Python
# interpreter, e.g. 2, 3, ...
#
# PYTHON_VER - The major-minor release version of the chosen Python
# interpreter, e.g. 2.7, 3.9, ...
#
+# PYTHON_BASEVER - PYTHON_VER without the threaded ABI flag.
+#
# PYTHON_ABIVER - Additional ABI flags set by the chosen Python
# interpreter, e.g. md
#
@@ -284,7 +299,9 @@
# PYTHON_PLATFORM=${PYTHON_PLATFORM}
# PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR}
# PYTHON_SUFFIX=${PYTHON_SUFFIX}
+# PYTHON_BASESUFFIX=${PYTHON_BASESUFFIX}
# PYTHON_VER=${PYTHON_VER}
+# PYTHON_BASEVER=${PYTHON_BASEVER}
# PYTHON_VERSION=${PYTHON_VERSION}
#
# where PYTHON_INCLUDEDIR, PYTHON_LIBDIR and PYTHON_SITELIBDIR have their PREFIX
@@ -319,6 +336,8 @@
.if !defined(_INCLUDE_USES_PYTHON_MK)
_INCLUDE_USES_PYTHON_MK= yes
+ZEROREGS_UNSAFE= 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.
@@ -350,7 +369,6 @@ _VALID_PYTHON_FEATURES= allflavors \
pep517 \
py3kplist \
pytest \
- pytest4 \
pythonprefix \
unittest \
unittest2
@@ -368,9 +386,6 @@ IGNORE= uses unknown USE_PYTHON features: ${_INVALID_PYTHON_FEATURES}
. for var in ${USE_PYTHON}
_PYTHON_FEATURE_${var:C/=.*$//:tu}= ${var:C/.*=//:S/,/ /g}
. endfor
-. if defined(_PYTHON_FEATURE_PYTEST) && defined(_PYTHON_FEATURE_PYTEST4)
-IGNORE= uses either USE_PYTHON=pytest or USE_PYTHON=pytest4, not both of them
-. endif
# distutils automatically generates flavors depending on the supported
# versions.
@@ -458,9 +473,9 @@ IGNORE= uses unknown USES=python arguments: ${_PYTHON_ARGS}
_VC= C/^([1-9]\.)([0-9])$$/\10\2/
.undef _PYTHON_VERSION_NONSUPPORTED
-. if !empty(_PYTHON_VERSION_MINIMUM) && (${_PYTHON_VERSION:${_VC}} < ${_PYTHON_VERSION_MINIMUM:${_VC}})
+. if !empty(_PYTHON_VERSION_MINIMUM) && (${_PYTHON_VERSION:${_VC}:S/t$//} < ${_PYTHON_VERSION_MINIMUM:${_VC}:S/t$//})
_PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MINIMUM} at least
-. elif !empty(_PYTHON_VERSION_MAXIMUM) && (${_PYTHON_VERSION:${_VC}} > ${_PYTHON_VERSION_MAXIMUM:${_VC}})
+. elif !empty(_PYTHON_VERSION_MAXIMUM) && (${_PYTHON_VERSION:${_VC}:S/t$//} > ${_PYTHON_VERSION_MAXIMUM:${_VC}:S/t$//})
_PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MAXIMUM} at most
. endif
@@ -471,9 +486,9 @@ _PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MAXIMUM} at most
__VER= ${ver}
. if !defined(_PYTHON_VERSION) && \
!(!empty(_PYTHON_VERSION_MINIMUM) && ( \
- ${__VER:${_VC}} < ${_PYTHON_VERSION_MINIMUM:${_VC}})) && \
+ ${__VER:${_VC}:S/t$//} < ${_PYTHON_VERSION_MINIMUM:${_VC}:S/t$//})) && \
!(!empty(_PYTHON_VERSION_MAXIMUM) && ( \
- ${__VER:${_VC}} > ${_PYTHON_VERSION_MAXIMUM:${_VC}}))
+ ${__VER:${_VC}:S/t$//} > ${_PYTHON_VERSION_MAXIMUM:${_VC}:S/t$//}))
_PYTHON_VERSION= ${ver}
. endif
. endfor
@@ -488,9 +503,9 @@ IGNORE= needs an unsupported version of Python
. for ver in ${PYTHON_DEFAULT} ${PYTHON2_DEFAULT} ${_PYTHON_VERSIONS}
__VER= ${ver}
. if !(!empty(_PYTHON_VERSION_MINIMUM) && ( \
- ${__VER:${_VC}} < ${_PYTHON_VERSION_MINIMUM:${_VC}})) && \
+ ${__VER:${_VC}:S/t$//} < ${_PYTHON_VERSION_MINIMUM:${_VC}:S/t$//})) && \
!(!empty(_PYTHON_VERSION_MAXIMUM) && ( \
- ${__VER:${_VC}} > ${_PYTHON_VERSION_MAXIMUM:${_VC}}))
+ ${__VER:${_VC}:S/t$//} > ${_PYTHON_VERSION_MAXIMUM:${_VC}:S/t$//}))
. if empty(_VALID_PYTHON_VERSIONS:M${ver})
_VALID_PYTHON_VERSIONS+= ${ver}
. endif
@@ -523,7 +538,7 @@ FLAVOR= ${FLAVORS:[1]}
. endif
. endif
-. if ${FLAVOR:Mpy[23][0-9]}${FLAVOR:Mpy[23][1-9][0-9]}
+. if ${FLAVOR:Mpy[23][0-9]}${FLAVOR:Mpy[23][1-9][0-9]}${FLAVOR:Mpy31[3-9]t}
_PYTHON_VERSION= ${FLAVOR:S/py//:C/(.)/\1./}
. endif
@@ -546,7 +561,9 @@ PYTHON_VERSION= python${_PYTHON_VERSION}
# Got the correct python version, set some publicly accessible variables
PYTHON_VER= ${_PYTHON_VERSION}
+PYTHON_BASEVER= ${PYTHON_VER:S/t$//}
PYTHON_SUFFIX= ${_PYTHON_VERSION:S/.//g}
+PYTHON_BASESUFFIX= ${PYTHON_SUFFIX:S/t$//}
PYTHON_MAJOR_VER= ${PYTHON_VER:R}
PYTHON_REL= # empty
PYTHON_ABIVER= # empty
@@ -554,12 +571,11 @@ PYTHON_PORTSDIR= ${_PYTHON_RELPORTDIR}${PYTHON_SUFFIX}
# Protect partial checkouts from Mk/Scripts/functions.sh:export_ports_env().
. if !defined(_PORTS_ENV_CHECK) || exists(${PORTSDIR}/${PYTHON_PORTSDIR})
-.include "${PORTSDIR}/${PYTHON_PORTSDIR}/Makefile.version"
+.include "${PORTSDIR}/${PYTHON_PORTSDIR:S/t$//}/Makefile.version"
. endif
# Create a 5 integer version string, prefixing 0 to the minor and patch
# tokens if it's a single character. Only use the first 3 tokens of
-# PORTVERSION to support pre-release versions (rc3, alpha4, etc) of
-# any Python port (lang/pythonXY)
+# DISTVERSION to stay consistent regardless of pre-release or ABI flags
PYTHON_REL= ${PYTHON_DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/:C/\.([0-9])$/.0\1/:C/\.([0-9]\.[0-9]+)/.0\1/:S/.//g}
# Might be overridden by calling ports
@@ -571,9 +587,11 @@ PYTHON_ABIVER!= ${PYTHON_CMD}-config --abiflags
. endif
. if ${PYTHON_REL} >= 30807
-PYTHON_EXT_SUFFIX= .cpython-${PYTHON_SUFFIX}
+PYTHON_TAG= .cpython-${PYTHON_BASESUFFIX}
+PYTHON_SOABI= .cpython-${PYTHON_SUFFIX}
. else
-PYTHON_EXT_SUFFIX= # empty
+PYTHON_TAG= # empty
+PYTHON_SOABI= # empty
. endif
. if ${PYTHON_MAJOR_VER} < 3
@@ -647,15 +665,15 @@ TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}cython>=0.29.37<3:lang/cython@${PY_FLAVOR}
. endif
. if defined(_PYTHON_FEATURE_CYTHON3)
-BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}cython3>=3.0.12<3.1:lang/cython3@${PY_FLAVOR}
+BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}cython3>=3.1.2:lang/cython3@${PY_FLAVOR}
. endif
. if defined(_PYTHON_FEATURE_CYTHON3_RUN)
-RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}cython3>=3.0.12<3.1:lang/cython3@${PY_FLAVOR}
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}cython3>=3.1.2:lang/cython3@${PY_FLAVOR}
. endif
. if defined(_PYTHON_FEATURE_CYTHON3_TEST)
-TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}cython3>=3.0.12<3.1:lang/cython3@${PY_FLAVOR}
+TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}cython3>=3.1.2:lang/cython3@${PY_FLAVOR}
. endif
. if defined(_PYTHON_FEATURE_CONCURRENT)
@@ -757,10 +775,6 @@ TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}nose2>=0:devel/py-nose2@${PY_FLAVOR}
# pytest support
. if defined(_PYTHON_FEATURE_PYTEST)
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pytest>=7,1:devel/py-pytest@${PY_FLAVOR}
-. elif defined(_PYTHON_FEATURE_PYTEST4)
-TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pytest4>=4.6,1:devel/py-pytest4@${PY_FLAVOR}
-. endif
-. if defined(_PYTHON_FEATURE_PYTEST) || defined(_PYTHON_FEATURE_PYTEST4)
PYTEST_BROKEN_TESTS?= # empty
PYTEST_IGNORED_TESTS?= # empty
_PYTEST_SKIPPED_TESTS?= # empty
@@ -773,7 +787,7 @@ _PYTEST_SKIPPED_TESTS+= ${PYTEST_IGNORED_TESTS}
. endif
. endif # !defined(PYTEST_ENABLE_ALL_TESTS)
_PYTEST_FILTER_EXPRESSION= ${_PYTEST_SKIPPED_TESTS:C/^(.)/and not \1/:tW:C/^and //}
-. endif # defined(_PYTHON_FEATURE_PYTEST) || defined(_PYTHON_FEATURE_PYTEST4)
+. endif # defined(_PYTHON_FEATURE_PYTEST)
# unittest2 support
. if defined(_PYTHON_FEATURE_UNITTEST2)
@@ -814,7 +828,7 @@ add-plist-pymod:
# When Python version is 3.2+ we rewrite all the filenames
# of TMPPLIST that end with .py[co], so that they conform
# to PEP 3147 (see https://www.python.org/dev/peps/pep-3147/)
-PYMAGICTAG= ${PYTHON_CMD} -c 'import sys; print(sys.implementation.cache_tag)'
+_PYMAGICTAG= ${PYTHON_CMD} -c 'import sys; print(sys.implementation.cache_tag)'
_USES_stage+= 935:add-plist-python
add-plist-python:
@${AWK} '\
@@ -823,7 +837,7 @@ add-plist-python:
/^@dirrmtry / {d = substr($$0, 11); if (d in dirs) {print $$0 "/" pc}; print $$0; next} \
{print} \
' \
- pc="__pycache__" mt="$$(${PYMAGICTAG})" pyo="opt-1.pyc" \
+ pc="__pycache__" mt="$$(${_PYMAGICTAG})" pyo="opt-1.pyc" \
${TMPPLIST} > ${TMPPLIST}.pyc_tmp
@${MV} ${TMPPLIST}.pyc_tmp ${TMPPLIST}
. endif # ${PYTHON_REL} >= 30200 && defined(_PYTHON_FEATURE_PY3KPLIST)
@@ -856,7 +870,7 @@ PY_SETUPTOOLS= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAV
# Common Python modules that can be needed but only for some versions of Python.
. if ${PYTHON_REL} < 31100
PY_EXCEPTIONGROUP= ${PYTHON_PKGNAMEPREFIX}exceptiongroup>=1.1.1:devel/py-exceptiongroup@${PY_FLAVOR}
-PY_TOMLI= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.2<3:textproc/py-tomli@${PY_FLAVOR}
+PY_TOMLI= ${PYTHON_PKGNAMEPREFIX}tomli>=2.2.1<3:textproc/py-tomli@${PY_FLAVOR}
PY_TYPING_EXTENSIONS= ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR}
. endif
@@ -892,8 +906,11 @@ SUB_LIST+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR} \
PYTHON_PLATFORM=${PYTHON_PLATFORM} \
PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} \
PYTHON_SUFFIX=${PYTHON_SUFFIX} \
- PYTHON_EXT_SUFFIX=${PYTHON_EXT_SUFFIX} \
+ PYTHON_BASESUFFIX=${PYTHON_BASESUFFIX} \
+ PYTHON_TAG=${PYTHON_TAG} \
+ PYTHON_SOABI=${PYTHON_SOABI} \
PYTHON_VER=${PYTHON_VER} \
+ PYTHON_BASEVER=${PYTHON_BASEVER} \
PYTHON_VERSION=${PYTHON_VERSION}
# Substitutions for pkg-plist
@@ -904,8 +921,11 @@ PLIST_SUB+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;} \
PYTHON_PLATFORM=${PYTHON_PLATFORM} \
PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} \
PYTHON_SUFFIX=${PYTHON_SUFFIX} \
- PYTHON_EXT_SUFFIX=${PYTHON_EXT_SUFFIX} \
+ PYTHON_BASESUFFIX=${PYTHON_BASESUFFIX} \
+ PYTHON_TAG=${PYTHON_TAG} \
+ PYTHON_SOABI=${PYTHON_SOABI} \
PYTHON_VER=${PYTHON_VER} \
+ PYTHON_BASEVER=${PYTHON_BASEVER} \
PYTHON_VERSION=${PYTHON_VERSION}
. if ${PYTHON_MAJOR_VER} < 3
SUB_LIST+= PYTHON2="" PYTHON3="@comment "
@@ -1001,12 +1021,12 @@ do-test:
. endif
. endif # defined(_PYTHON_FEATURE_NOSE2)
-. if defined(_PYTHON_FEATURE_PYTEST) || defined(_PYTHON_FEATURE_PYTEST4)
+. if defined(_PYTHON_FEATURE_PYTEST)
. if !target(do-test)
do-test:
cd ${TEST_WRKSRC} && ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest -k '${_PYTEST_FILTER_EXPRESSION}' -rs -v -o addopts= ${TEST_ARGS:NDESTDIR=*}
. endif
-. endif # defined(_PYTHON_FEATURE_PYTEST) || defined(_PYTHON_FEATURE_PYTEST4)
+. endif # defined(_PYTHON_FEATURE_PYTEST)
. if defined(_PYTHON_FEATURE_UNITTEST)
. if !target(do-test)
diff --git a/Mk/Uses/qt-dist.mk b/Mk/Uses/qt-dist.mk
index 7fc7bebadd3d..f863d0454dc9 100644
--- a/Mk/Uses/qt-dist.mk
+++ b/Mk/Uses/qt-dist.mk
@@ -108,25 +108,25 @@ DIST_SUBDIR= KDE/Qt/${_QT_VERSION}
. if ${_QT_VER:M5}
# KDE maintains a repository with a patched Qt5 distribution.
_KDE_3d= 0
-_KDE_base= 130
+_KDE_base= 123
_KDE_charts= 0
-_KDE_connectivity= 1
+_KDE_connectivity= 2
_KDE_datavis3d= 0
-_KDE_declarative= 22
+_KDE_declarative= 21
_KDE_gamepad= 0
_KDE_graphicaleffects= 0
_KDE_imageformats= 2
_KDE_location= 7
_KDE_multimedia= 2
-_KDE_networkauth= 1
+_KDE_networkauth= 0
_KDE_quick3d= 1
_KDE_quickcontrols= 0
_KDE_quickcontrols2= 5
_KDE_quicktimeline= 0
_KDE_remoteobjects= 0
_KDE_script= 0
-_KDE_script_ORIGIN_TAG= v5.15.18-lts
-_KDE_script_VERSION= 5.15.18
+_KDE_script_ORIGIN_TAG= v5.15.19-lts
+_KDE_script_VERSION= 5.15.19
_KDE_scxml= 0
_KDE_sensors= 0
_KDE_serialbus= 0
@@ -136,14 +136,14 @@ _KDE_svg= 5
_KDE_tools= 3
_KDE_translations= 0
_KDE_virtualkeyboard= 0
-_KDE_wayland= 59
+_KDE_wayland= 57
_KDE_webchannel= 3
# We track the 5.15 branch for www/qt5-webengine to make it easier to
# stay on top of Chromium security patches.
-_KDE_webengine= 7
+_KDE_webengine= 0
_KDE_webengine_BRANCH= 5.15
-_KDE_webengine_ORIGIN_TAG= v5.15.18-lts
-_KDE_webengine_VERSION= 5.15.18
+_KDE_webengine_ORIGIN_TAG= v5.15.19-lts
+_KDE_webengine_VERSION= 5.15.19
_KDE_webglplugin= 0
_KDE_websockets= 2
_KDE_webview= 0
diff --git a/Mk/Uses/qt.mk b/Mk/Uses/qt.mk
index 038a82dc4ab6..88984a936848 100644
--- a/Mk/Uses/qt.mk
+++ b/Mk/Uses/qt.mk
@@ -22,9 +22,9 @@ _QT_MK_INCLUDED= qt.mk
# Qt versions currently supported by the framework.
_QT_SUPPORTED?= 5 6
-QT5_VERSION?= 5.15.16
-QT6_VERSION?= 6.8.3
-PYSIDE6_VERSION?= 6.8.3
+QT5_VERSION?= 5.15.17
+QT6_VERSION?= 6.9.2
+PYSIDE6_VERSION?= 6.9.2
# Support for intermediate Qt6 releases. This partially defines
# _QT6_MASTER_SITE_SUBDIR and would probably be better in qt-dist.mk,
diff --git a/Mk/Uses/ruby.mk b/Mk/Uses/ruby.mk
index 620fff71f832..55bb74a50fd7 100644
--- a/Mk/Uses/ruby.mk
+++ b/Mk/Uses/ruby.mk
@@ -147,14 +147,14 @@ RUBY?= ${LOCALBASE}/bin/ruby${RUBY_SUFFIX}
#
# Ruby 3.2
#
-RUBY_DISTVERSION= 3.2.8
+RUBY_DISTVERSION= 3.2.9
RUBY_PORTREVISION= 0
. elif ${RUBY_VER} == 3.3
#
# Ruby 3.3
#
-RUBY_DISTVERSION= 3.3.8
+RUBY_DISTVERSION= 3.3.9
RUBY_PORTREVISION= 0
@@ -162,7 +162,7 @@ RUBY_PORTREVISION= 0
#
# Ruby 3.4
#
-RUBY_DISTVERSION= 3.4.4
+RUBY_DISTVERSION= 3.4.5
RUBY_PORTREVISION= 0
diff --git a/Mk/Uses/vala.mk b/Mk/Uses/vala.mk
index a12834d81fb7..53aef616e9cb 100644
--- a/Mk/Uses/vala.mk
+++ b/Mk/Uses/vala.mk
@@ -1,9 +1,12 @@
# Handle dependency on lang/vala
#
# Valid args:
-# - lib: add a lib depends
-# - build: add a build depends
-# - no_depend: only used for lang/vala itself
+# - lib: add a lib depends
+# - build: add a build depends
+# - test: add a test depends
+# - no_depend: only used for lang/vala itself
+#
+# MAINTAINER: desktop@FreeBSD.org
.if ! defined(_INCLUDE_USES_VALA_MK)
_INCLUDE_USES_VALA_MK= yes
@@ -21,6 +24,9 @@ LIB_DEPENDS+= ${_VALA_LIBRARY}:${_VALA_PORT}
. if ! empty(vala_ARGS:Mbuild)
BUILD_DEPENDS+= ${_VALA_BINARY}:${_VALA_PORT}
. endif
+. if ! empty(vala_ARGS:Mtest)
+TEST_DEPENDS+= ${_VALA_BINARY}:${_VALA_PORT}
+. endif
. endif
.endif
diff --git a/Mk/Uses/xorg-cat.mk b/Mk/Uses/xorg-cat.mk
index 0853fd6b3e3c..b81972b4ae5f 100644
--- a/Mk/Uses/xorg-cat.mk
+++ b/Mk/Uses/xorg-cat.mk
@@ -14,8 +14,6 @@
# * font don't install .pc file
# * lib various dependencies, install .pc file, needs
# pathfix
-# * proto install .pc file, needs pathfix, most only needed at
-# build time.
# * util no particular notes
#
# These categories has to match upstream categories. Don't invent
@@ -34,7 +32,7 @@
.if !defined(_INCLUDE_USES_XORG_CAT_MK)
_INCLUDE_USES_XORG_CAT_MK=yes
-_XORG_CATEGORIES= app data doc driver font lib proto util
+_XORG_CATEGORIES= app data doc driver font lib util
_XORG_BUILDSYSTEMS= autotools meson
_XORG_CAT= # empty
@@ -158,9 +156,6 @@ USE_LDCONFIG= yes
CONFIGURE_ARGS+=--enable-malloc0returnsnull
. endif
-. elif ${_XORG_CAT} == proto
-.include "${USESDIR}/pathfix.mk"
-
. endif # ${_XORG_CAT} == <category>
# We only need to include xorg.mk if we want USE_XORG modules
diff --git a/Mk/Uses/zig.mk b/Mk/Uses/zig.mk
new file mode 100644
index 000000000000..5727a812fede
--- /dev/null
+++ b/Mk/Uses/zig.mk
@@ -0,0 +1,102 @@
+# Provide support for building Zig software.
+#
+# Feature: zig
+# Usage: USES=zig
+
+# Variables, which can be set by the port:
+#
+# ZIG_TUPLE List of Zig dependencies required to build the port.
+# Each item is triplet of an arbitrary name, an URL without
+# scheme part (https://) and a directory name where the
+# expects this dependency to be placed.
+# This knob can be generated by running make make-zig-tuple
+# You might need to run this multiple time until all
+# transitive dependencies get pulled in.
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ZIG_MK)
+_INCLUDE_USES_ZIG_MK= yes
+
+. if !empty(zig_ARGS)
+IGNORE= USES=zig does not accept arguments
+. endif
+
+.sinclude "${MASTERDIR}/Makefile.zig"
+
+ZIG_CMD?= zig
+ZIG_PORT?= lang/zig
+ZIG_DEPSDIR= ${WRKDIR}/zig-packages
+ZIG_TMPDEPSDIR= ${WRKDIR}/zig-packages-tmp
+
+ZIG_CPUTYPE_DEFAULT= ${ARCH:S/amd64/x86_64/}
+ZIG_CPUTYPE?= ${CPUTYPE:U${ZIG_CPUTYPE_DEFAULT}}
+
+_ZIG2TUPLE_CMD= zig2tuple
+
+BUILD_DEPENDS+= ${ZIG_CMD}:${ZIG_PORT}
+
+DIST_SUBDIR?= zig
+
+. for z in ${ZIG_TUPLE}
+. for group url dir in ${z:S/:/ /g:tw}
+MASTER_SITES+= https://${url:H}/:${group}
+DISTFILES+= ${url:T}:${group}
+. endfor
+. endfor
+
+_USES_extract= 299:zig-pre-extract
+
+# Generates ZIG_TUPLE= ... line ready to be pasted into the port based on
+# build.zig.zon files found in ${WRKSRC}
+make-zig-tuple: check-zig2tuple
+ @${ECHO_MSG} "===> Processing build.zig.zon files"
+ ${_ZIG2TUPLE_CMD} ${WRKDIR}
+
+check-zig2tuple:
+ @if ! type ${_ZIG2TUPLE_CMD} > /dev/null 2>&1; then \
+ ${ECHO_MSG} "===> zig2tuple executable not found, install \"ports-mgmt/zig2tuple\""; exit 1; \
+ fi
+
+# Main targets implementation.
+
+zig-pre-extract:
+ @${ECHO_CMD} "===> Extracting zig dependencies"
+# We don't know the name of the directory that is contained in the archive,
+# but we need to rename it into the last component of the tuple
+# To solve this we extract into an empty directory and then do
+# mv * /path/where/we/want/it
+ @${MKDIR} ${ZIG_DEPSDIR} ${ZIG_TMPDEPSDIR}
+. for z in ${ZIG_TUPLE}
+. for group url dir in ${z:S/:/ /g:tw}
+ ${MAKE} -C ${.CURDIR} do-extract EXTRACT_ONLY=${url:T} WRKDIR=${ZIG_TMPDEPSDIR}
+ ${MV} ${ZIG_TMPDEPSDIR}/* ${ZIG_DEPSDIR}/${dir}
+. endfor
+. endfor
+ @${RMDIR} ${ZIG_TMPDEPSDIR}
+
+ZIG_ENV+= DESTDIR=${STAGEDIR}
+ZIG_ARGS+= --prefix ${PREFIX} --system ${ZIG_DEPSDIR} --verbose \
+ -Dcpu=${ZIG_CPUTYPE} \
+ ${"${WITH_DEBUG}" != "":?:--release=fast} \
+ ${"${WITH_DEBUG}" != "":?-Doptimize=Debug:-Doptimize=ReleaseSmall} \
+ ${ZIG_ARGS_${FLAVOR}}
+DO_MAKE_BUILD?= ${SETENVI} ${WRK_ENV} ${ZIG_ENV} ${ZIG_CMD} build \
+ ${_MAKE_JOBS} ${ZIG_ARGS}
+. if !target(do-build)
+do-build:
+ @${DO_NADA}
+. endif
+
+. if !target(do-install)
+do-install:
+ @(cd ${BUILD_WRKSRC}; if ! ${DO_MAKE_BUILD}; then \
+ if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \
+ ${ECHO_MSG} "===> Compilation failed unexpectedly."; \
+ (${ECHO_CMD} "${BUILD_FAIL_MESSAGE}") | ${FMT_80} ; \
+ fi; \
+ ${FALSE}; \
+ fi)
+. endif
+
+.endif
diff --git a/Mk/Wrappers/gm4 b/Mk/Wrappers/gm4
index ecc0796c729a..8b1e7a64f700 100644
--- a/Mk/Wrappers/gm4
+++ b/Mk/Wrappers/gm4
@@ -2,5 +2,5 @@
case " $@ " in
*" --version "*) echo "m4 (GNU M4) 1.4.18" ;;
-*) exec m4 -g $@ ;;
+*) exec m4 -g "$@" ;;
esac
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index 50d8a4ef789c..64e981bbd347 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -63,8 +63,8 @@ GCC_DEFAULT?= 13
GHOSTSCRIPT_DEFAULT?= 10
# Possible values: mesa-libs, mesa-devel
GL_DEFAULT?= mesa-libs
-# Possible values: 1.20, 1.21, 1.22, 1.23, 1.24, 1.25-devel
-GO_DEFAULT?= 1.21
+# Possible values: 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26-devel
+GO_DEFAULT?= 1.24
# Possible values: 1.8, 2.2, 3.0
GUILE_DEFAULT?= 2.2
# Possible versions: 6, 7
@@ -75,11 +75,11 @@ GUILE_DEFAULT?= 2.2
IMAGEMAGICK_DEFAULT?= 7
# Possible values: 8, 11, 17, 18, 19, 20, 21, 22, 23, 24
JAVA_DEFAULT?= 8
-# Possible values: 3.8.0, 4.99
+# Possible values: 4.2, 4.99
. if (defined(WANT_LAZARUS_DEVEL) && !empty(WANT_LAZARUS_DEVEL)) || ${ARCH:Maarch64}
LAZARUS_DEFAULT?= 4.99
. else
-LAZARUS_DEFAULT?= 3.8.0
+LAZARUS_DEFAULT?= 4.2
. endif
# Possible values: rust, legacy
. if empty(ARCH:Naarch64:Namd64:Narmv7:Ni386:Npowerpc64:Npowerpc64le:Npowerpc:Nriscv64)
@@ -93,7 +93,7 @@ LINUX_DEFAULT?= c7
. else
LINUX_DEFAULT?= rl9
. endif
-# Possible values: 11, 12, 13, 14, 15, 16, 17, 18, 19, -devel (to be used when non-base compiler is required)
+# Possible values: 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -devel (to be used when non-base compiler is required)
LLVM_DEFAULT?= 19
# Possible values: 5.1, 5.2, 5.3, 5.4
LUA_DEFAULT?= 5.4
@@ -101,24 +101,24 @@ LUA_DEFAULT?= 5.4
. if ${ARCH:Mpowerpc64*}
LUAJIT_DEFAULT?= luajit-openresty
. else
-LUAJIT_DEFAULT?= luajit-devel
+LUAJIT_DEFAULT?= luajit
. endif
# Possible values: 5.10, 5.20, 6.8
MONO_DEFAULT?= 5.20
-# Possible values: 8.0, 8.4, 9.1, 10.5m, 10.6m, 10.11m, 11.4m
+# Possible values: 8.0, 8.4, 9.1, 10.6m, 10.11m, 11.4m, 11.8m
MYSQL_DEFAULT?= 8.0
# Possible values: ninja, samurai
NINJA_DEFAULT?= ninja
-# Possible value: 18, 20, 22, 23, 24, current, lts (Note: current = 24 and lts = 22)
+# Possible value: 20, 22, 24, current, lts (Note: current = 24 and lts = 22)
NODEJS_DEFAULT?= lts
# Possible value: 25, 26
OPENLDAP_DEFAULT?= 26
-# Possible values: 5.36, 5.38, 5.40, devel
+# Possible values: 5.38, 5.40, 5.42, devel
. if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \
defined(PACKAGE_BUILDING))
# When changing the default here, make sure the DEPRECATED/EXPIRATION lines in
# the older Perl 5 ports are uncommented at the same time.
-PERL5_DEFAULT?= 5.40
+PERL5_DEFAULT?= 5.42
. elif !defined(PERL5_DEFAULT)
# There's no need to replace development versions, like "5.23" with "devel"
# because 1) nobody is supposed to use it outside of poudriere, and 2) it must
@@ -132,7 +132,7 @@ PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R}
. endif
# Possible values: 13, 14, 15, 16, 17
PGSQL_DEFAULT?= 17
-# Possible values: 8.1, 8.2, 8.3, 8.4
+# Possible values: 8.1, 8.2, 8.3, 8.4, 8.5
PHP_DEFAULT?= 8.3
# Possible values: rust, legacy
. if empty(ARCH:Naarch64:Namd64:Narmv7:Ni386:Npowerpc64:Npowerpc64le:Npowerpc:Nriscv64)
diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk
index 7ad89c0e378e..5f8bffc8e3d1 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -61,7 +61,7 @@ MOZILLA_VER?= ${PORTVERSION}
MOZILLA_BIN?= ${PORTNAME}-bin
MOZILLA_EXEC_NAME?=${MOZILLA}
USES+= compiler:c++17-lang cpe elfctl gl gmake gnome iconv \
- llvm:min=17,noexport localbase \
+ llvm:min=17,noexport localbase nodejs:24,build,env \
pkgconfig python:build desktop-file-utils
CPE_VENDOR?=mozilla
USE_GL= gl
@@ -77,8 +77,7 @@ ELF_FEATURES+= +wxneeded:dist/bin/${MOZILLA} +wxneeded:dist/bin/${MOZILLA}-bin
BUNDLE_LIBS= yes
BUILD_DEPENDS+= rust-cbindgen>=0.28.0:devel/rust-cbindgen \
- ${RUST_DEFAULT}>=1.86.0:lang/${RUST_DEFAULT} \
- node:www/node
+ ${RUST_DEFAULT}>=1.89.0:lang/${RUST_DEFAULT}
LIB_DEPENDS+= libdrm.so:graphics/libdrm
RUN_DEPENDS+= ${LOCALBASE}/lib/libpci.so:devel/libpci
LIB_DEPENDS+= libepoll-shim.so:devel/libepoll-shim
diff --git a/Mk/bsd.options.desc.mk b/Mk/bsd.options.desc.mk
index 13dd3a517c8b..6e872b227a9f 100644
--- a/Mk/bsd.options.desc.mk
+++ b/Mk/bsd.options.desc.mk
@@ -522,6 +522,7 @@ VAAPI_DESC?= VAAPI (GPU video acceleration) support
VAPI_DESC?= Build VALA API files
VDPAU_DESC?= VDPAU (GPU video acceleration) support
VIDEO_DESC?= Video support
+VULKAN_DESC?= Vulkan GPU support
VO_AACENC_DESC?= AAC audio encoding via vo-aacenc
VO_AMRWBENC_DESC?= AMR Wide Band encoding via vo-amrwbenc
VORBIS_DESC?= Ogg Vorbis audio codec support
@@ -535,6 +536,7 @@ WEBGL_DESC?= WebGL 2D/3D graphics rendering support
WEBKIT_DESC?= WebKit webpage renderer support
WEBP_DESC?= WebP image format support
WEBSERVER_DESC?= Build and/or install internal web server
+WEBSOCKET_DESC?= WebSocket protocol support
WEBUI_DESC?= Build and/or install web user interface
WMA_DESC?= Windows Media Audio audio format support
WMF_DESC?= Windows Metafile image format support
diff --git a/Mk/bsd.options.mk b/Mk/bsd.options.mk
index 3b4b2dd4d300..38f1492f0dbd 100644
--- a/Mk/bsd.options.mk
+++ b/Mk/bsd.options.mk
@@ -198,6 +198,7 @@ _ALL_OPTIONS_HELPERS= ${_OPTIONS_DEPENDS:S/$/_DEPENDS/} \
CONFIGURE_WITH IMPLIES MESON_ARGS MESON_DISABLED \
MESON_ENABLED MESON_FALSE MESON_OFF MESON_ON MESON_TRUE \
PREVENTS PREVENTS_MSG QMAKE_OFF QMAKE_ON \
+ ZIG_BOOL ZIG_BOOL_OFF \
SUBPACKAGES SUBPACKAGES_OFF USE USE_OFF VARS VARS_OFF
# The format here is target_family:priority:target-type
@@ -544,6 +545,9 @@ MESON_ARGS+= ${${opt}_MESON_DISABLED:C/.*/-D&=disabled/}
. if defined(${opt}_CABAL_FLAGS)
CABAL_FLAGS+= ${${opt}_CABAL_FLAGS}
. endif
+. if defined(${opt}_ZIG_BOOL)
+ZIG_ARGS+= ${${opt}_ZIG_BOOL:C/.*/-D&=true/}
+. endif
. for configure in CONFIGURE CMAKE MESON QMAKE
. if defined(${opt}_${configure}_ON)
${configure}_ARGS+= ${${opt}_${configure}_ON}
@@ -620,6 +624,9 @@ MESON_ARGS+= ${${opt}_MESON_DISABLED:C/.*/-D&=enabled/}
. if defined(${opt}_CABAL_FLAGS)
CABAL_FLAGS+= -${${opt}_CABAL_FLAGS}
. endif
+. if defined(${opt}_ZIG_BOOL)
+ZIG_ARGS+= ${${opt}_ZIG_BOOL:C/.*/-D&=false/}
+. endif
. for configure in CONFIGURE CMAKE MESON QMAKE
. if defined(${opt}_${configure}_OFF)
${configure}_ARGS+= ${${opt}_${configure}_OFF}
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 4596b773b6d3..b3726c98b067 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -1000,13 +1000,14 @@ LC_ALL= C
# These need to be absolute since we don't know how deep in the ports
# tree we are and thus can't go relative. They can, of course, be overridden
# by individual Makefiles or local system make configuration.
-_LIST_OF_WITH_FEATURES= bind_now debug debuginfo lto pie relro sanitize ssp testing
+_LIST_OF_WITH_FEATURES= bind_now debug debuginfo fortify lto pie relro \
+ sanitize ssp stack_autoinit testing zeroregs
_DEFAULT_WITH_FEATURES= ssp
PORTSDIR?= /usr/ports
LOCALBASE?= /usr/local
LINUXBASE?= /compat/linux
DISTDIR?= ${PORTSDIR}/distfiles
-_DISTDIR?= ${DISTDIR}/${DIST_SUBDIR}
+_DISTDIR?= ${DISTDIR}${DIST_SUBDIR:D/${DIST_SUBDIR}}
INDEXDIR?= ${PORTSDIR}
SRC_BASE?= /usr/src
USESDIR?= ${PORTSDIR}/Mk/Uses
@@ -1164,7 +1165,7 @@ OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < ${SRC
. endif
_EXPORTED_VARS+= OSVERSION
-. if ${OPSYS} == FreeBSD && (${OSVERSION} < 1304000 || (${OSVERSION} >= 1400000 && ${OSVERSION} < 1402000))
+. if ${OPSYS} == FreeBSD && (${OSVERSION} < 1305000 || (${OSVERSION} >= 1400000 && ${OSVERSION} < 1402000))
_UNSUPPORTED_SYSTEM_MESSAGE= Ports Collection support for your ${OPSYS} version has ended, and no ports\
are guaranteed to build on this system. Please upgrade to a supported release.
. if defined(ALLOW_UNSUPPORTED_SYSTEM)
@@ -1202,14 +1203,6 @@ _OSVERSION_MAJOR= ${OSVERSION:C/([0-9]?[0-9])([0-9][0-9])[0-9]{3}/\1/}
. if !defined(_PKG_VERSION)
_PKG_VERSION!= ${PKG_BIN} -v
. endif
-# XXX hack for smooth transition towards pkg 1.17
-_PKG_BEFORE_PKGEXT!= ${PKG_BIN} version -t ${_PKG_VERSION:C/-.*//g} 1.17.0
-. if ${_PKG_BEFORE_PKGEXT} == "<"
-_PKG_TRANSITIONING_TO_NEW_EXT= yes
-_EXPORTED_VARS+= _PKG_TRANSITIONING_TO_NEW_EXT
-WARNING+= "It is strongly recommended to upgrade to a newer version of pkg first"
-. endif
-# XXX End of hack
_PKG_STATUS!= ${PKG_VERSION} -t ${_PKG_VERSION:C/-.*//g} ${MINIMAL_PKG_VERSION}
. if ${_PKG_STATUS} == "<"
IGNORE= pkg(8) must be version ${MINIMAL_PKG_VERSION} or greater, but you have ${_PKG_VERSION}. You must upgrade the ${PKG_ORIGIN} port first
@@ -1910,8 +1903,14 @@ PLIST_FILES+= "@ldconfig"
. if defined(NO_SHLIB_REQUIRES_GLOB)
PKG_ENV+= SHLIB_REQUIRE_IGNORE_GLOB="${NO_SHLIB_REQUIRES_GLOB:ts,}"
. endif
-. if defined(NO_SHLIBS_REQUIRES_REGEX)
-PKG_ENV+= SHLIB_REQUIRE_IGNORE_REGEX="${NO_SHLIBS_REQUIRES_REGEX:ts,}"
+. if defined(NO_SHLIB_REQUIRES_REGEX)
+PKG_ENV+= SHLIB_REQUIRE_IGNORE_REGEX="${NO_SHLIB_REQUIRES_REGEX:ts,}"
+. endif
+. if defined(NO_SHLIB_PROVIDES_GLOB)
+PKG_ENV+= SHLIB_PROVIDE_IGNORE_GLOB="${NO_SHLIB_PROVIDES_GLOB:ts,}"
+. endif
+. if defined(NO_SHLIB_PROVIDES_REGEX)
+PKG_ENV+= SHLIB_PROVIDE_IGNORE_REGEX="${NO_SHLIB_PROVIDES_REGEX:ts,}"
. endif
PKG_IGNORE_DEPENDS?= 'this_port_does_not_exist'
@@ -2201,20 +2200,11 @@ TMPPLIST?= ${WRKDIR}/.PLIST.mktmp
_PLIST?= ${WRKDIR}/.PLIST
# backward compatibility for users
-. if defined(_PKG_TRANSITIONING_TO_NEW_EXT)
-. if defined(PKG_NOCOMPRESS)
-PKG_SUFX?= .tar
-. else
-PKG_SUFX?= .txz
-. endif
-PKG_COMPRESSION_FORMAT?= ${PKG_SUFX:S/.//}
-. else
-. if defined(PKG_SUFX)
+. if defined(PKG_SUFX)
PKG_COMPRESSION_FORMAT?= ${PKG_SUFX:S/.//}
WARNING+= "PKG_SUFX is defined, it should be replaced with PKG_COMPRESSION_FORMAT"
-. endif
-PKG_SUFX= .pkg
. endif
+PKG_SUFX= .pkg
. if defined(PKG_NOCOMPRESS)
PKG_COMPRESSION_FORMAT?= tar
. else
@@ -3449,18 +3439,6 @@ _EXTRA_PACKAGE_TARGET_DEP+= ${PKGLATESTFILE}
${PKGLATESTFILE}: ${PKGFILE} ${PKGLATESTREPOSITORY}
${INSTALL} -l rs ${PKGFILE} ${PKGLATESTFILE}
-. if !defined(_PKG_TRANSITIONING_TO_NEW_EXT) && ${PKG_COMPRESSION_FORMAT} == txz
-_EXTRA_PACKAGE_TARGET_DEP+= ${PKGOLDLATESTFILE} ${PKGOLDSIGFILE}
-
-${PKGOLDLATESTFILE}: ${PKGFILE} ${PKGLATESTREPOSITORY}
- ${INSTALL} -l rs ${PKGFILE} ${PKGOLDLATESTFILE}
-
-# Temporary workaround to be deleted once every supported version of FreeBSD
-# have a bootstrap which handles the pkg extension.
-
-${PKGOLDSIGFILE}: ${PKGLATESTREPOSITORY}
- ${INSTALL} -l rs pkg.pkg.sig ${PKGOLDSIGFILE}
-. endif
. endif
. endif
@@ -3622,10 +3600,6 @@ install-ldconfig-file:
fixup-lib-pkgconfig:
@if [ -d ${STAGEDIR}${PREFIX}/lib/pkgconfig ]; then \
if [ -z "$$(${FIND} ${STAGEDIR}${PREFIX}/lib/pkgconfig -maxdepth 0 -empty)" ]; then \
- if [ -n "${DEVELOPER:Dyes}" ]; then \
- ${ECHO_MSG} "===> File(s) found in lib/pkgconfig while correct path is libdata/pkgconfig"; \
- ${ECHO_MSG} " Applying fix but consider using USES= pathfix or adjust install path"; \
- fi; \
${MKDIR} ${STAGEDIR}${PREFIX}/libdata/pkgconfig; \
${MV} ${STAGEDIR}${PREFIX}/lib/pkgconfig/* ${STAGEDIR}${PREFIX}/libdata/pkgconfig; \
fi; \
@@ -4515,7 +4489,7 @@ describe-json:
${ECHO_CMD} \"complete_options_list\":[\"${COMPLETE_OPTIONS_LIST:ts,:S/,/\",\"/g}\"], ;\
${ECHO_CMD} \"categories\":[\"${CATEGORIES:ts,:S/,/\",\"/g}\"], ;\
${ECHO_CMD} \"license\":[\"${LICENSE:ts,:S/,/\",\"/g}\"], ;\
- ${ECHO_CMD} \"deprecated\":\""${DEPRECATED:S/"/\\\"/g:S/\\\\*/*/g:S/\\\'/'/g}" \", ;\
+ ${ECHO_CMD} \"deprecated\":\"${DEPRECATED:Q:S/"/\\\"/g:S/\\\\*/*/g:S/\\\'/'/g}\", ;\
${ECHO_CMD} \"broken\":\"${BROKEN:Q:S/"/\\\"/g:S/\\\\*/*/g:S/\\\'/'/g}\", ;\
${ECHO_CMD} \"distversion\":\"${DISTVERSION}\", ;\
${ECHO_CMD} \"distversionprefix\":\"${DISTVERSIONPREFIX}\", ;\
diff --git a/Mk/bsd.sites.mk b/Mk/bsd.sites.mk
index 713298eb2948..0adc034f5ef8 100644
--- a/Mk/bsd.sites.mk
+++ b/Mk/bsd.sites.mk
@@ -40,8 +40,7 @@ MASTER_SITE_PORTS_JP+= \
.if !defined(IGNORE_MASTER_SITE_AFTERSTEP)
MASTER_SITE_AFTERSTEP+= \
- ftp://ftp.afterstep.org/%SUBDIR%/ \
- ftp://ftp.kddlabs.co.jp/X11/AfterStep/%SUBDIR%/
+ ftp://ftp.afterstep.org/%SUBDIR%/
.endif
.if !defined(IGNORE_MASTER_SITE_APACHE)
@@ -51,7 +50,6 @@ MASTER_SITE_APACHE+= \
https://mirror.its.dal.ca/apache/%SUBDIR%/ \
http://mirror.cogentco.com/pub/apache/%SUBDIR%/ \
http://mirror.navercorp.com/apache/%SUBDIR%/ \
- http://ftp.kddi-research.jp/infosystems/apache/%SUBDIR%/ \
http://miroir.univ-lorraine.fr/apache/%SUBDIR%/
.endif
@@ -580,23 +578,27 @@ WWW?= https://gitlab.com/${GL_ACCOUNT}/${GL_PROJECT}/
.endif # !defined(IGNORE_MASTER_SITE_GITLAB)
.if !defined(IGNORE_MASTER_SITE_GNOME)
+. if defined(DISTVERSION) && ${DISTVERSION:M[0-9]*}
+_version_major= ${DISTVERSION:C|^([0-9]+).*|\1|}
+_version_minor= ${DISTVERSION:C|^([0-9]+)\.([0-9]+).*|\2|}
+
+. if ${_version_major} >= 10
+_gnome_ver= ${_version_major}
+. else
+_gnome_ver= ${_version_major}.${_version_minor}
+. endif
+. endif
+
+_GNOME_PATH= %SUBDIR%/${_gnome_ver}
+
MASTER_SITE_GNOME+= \
- https://download.gnome.org/%SUBDIR%/ \
- https://gitlab.gnome.org/GNOME/${PORTNAME}/-/archive/${PORTVERSION}/ \
- http://ftp.belnet.be/mirror/ftp.gnome.org/gnomeftp/%SUBDIR%/ \
- ftp://ftp.belnet.be/mirror/ftp.gnome.org/gnomeftp/%SUBDIR%/ \
- https://ftp.acc.umu.se/pub/GNOME/%SUBDIR%/ \
- ftp://ftp.cse.buffalo.edu/pub/Gnome/%SUBDIR%/ \
- https://fr2.rpmfind.net/linux/gnome.org/%SUBDIR%/ \
- ftp://ftp.kddlabs.co.jp/pub/GNOME/%SUBDIR%/ \
- ftp://ftp.mirrorservice.org/sites/ftp.gnome.org/pub/GNOME/%SUBDIR%/ \
- ftp://ftp.nara.wide.ad.jp/pub/X11/GNOME/%SUBDIR%/
+ https://download.gnome.org/${_GNOME_PATH}/
.endif
.if !defined(IGNORE_MASTER_SITE_GIMP)
MASTER_SITE_GIMP+= \
- http://gimp.mirrors.hoobly.com/pub/%SUBDIR%/ \
- http://gimp.afri.cc/pub/%SUBDIR%/ \
+ https://ftp.gwdg.de/pub/misc/grafik/%SUBDIR%/ \
+ https://www.mirrorservice.org/sites/ftp.gimp.org/pub/%SUBDIR%/ \
https://download.gimp.org/pub/%SUBDIR%/
.endif
@@ -608,7 +610,6 @@ MASTER_SITE_GNU+= \
https://www.nic.funet.fi/pub/gnu/gnu/%SUBDIR%/ \
http://mirror.navercorp.com/gnu/%SUBDIR%/ \
http://ftp.halifax.rwth-aachen.de/gnu/%SUBDIR%/ \
- http://ftp.kddilabs.jp/GNU/gnu/%SUBDIR%/ \
ftp://mirrors.rit.edu/gnu/%SUBDIR%/ \
ftp://ftp.fu-berlin.de/unix/gnu/%SUBDIR%/ \
ftp://ftp.mirrorservice.org/sites/ftp.gnu.org/gnu/%SUBDIR%/ \
@@ -709,8 +710,6 @@ MASTER_SITE_MOZILLA_ADDONS+= \
.if !defined(IGNORE_MASTER_SITE_MYSQL)
MASTER_SITE_MYSQL+= \
- ftp://ftp.fi.muni.cz/pub/mysql/Downloads/%SUBDIR%/ \
- ftp://ftp.gwdg.de/pub/misc/mysql/Downloads/%SUBDIR%/ \
https://dev.mysql.com/get/Downloads/%SUBDIR%/
.endif
@@ -799,7 +798,6 @@ MASTER_SITE_PERL_CPAN_BY+= \
https://cpan.metacpan.org/modules/by-module/%SUBDIRPLUS%/ \
https://www.cpan.org/%CPANSORT%/%SUBDIR%/ \
ftp://ftp.cpan.org/pub/CPAN/%CPANSORT%/%SUBDIR%/ \
- ftp://ftp.kddlabs.co.jp/lang/perl/CPAN/%CPANSORT%/%SUBDIR%/ \
http://ftp.jaist.ac.jp/pub/CPAN/%CPANSORT%/%SUBDIR%/ \
ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/%CPANSORT%/%SUBDIR%/ \
ftp://ftp.auckland.ac.nz/pub/perl/CPAN/%CPANSORT%/%SUBDIR%/ \
@@ -958,7 +956,6 @@ MASTER_SITE_SUNSITE+= \
.if !defined(IGNORE_MASTER_SITE_TCLTK)
MASTER_SITE_TCLTK+= \
ftp://ftp.tcl.tk/pub/tcl/%SUBDIR%/ \
- ftp://ftp.kddlabs.co.jp/lang/tcl/ftp.scriptics.com/%SUBDIR%/ \
ftp://ftp.mirrorservice.org/sites/ftp.tcl.tk/pub/tcl/%SUBDIR%/ \
ftp://ftp.funet.fi/pub/languages/tcl/tcl/%SUBDIR%/
.endif
@@ -1087,7 +1084,7 @@ MASTER_SITES_SUBDIRS= APACHE_COMMONS_BINARIES:${PORTNAME:S,commons-,,} \
GIMP:${PORTNAME}/${PORTVERSION:R}/ \
GITHUB:${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/ \
GITHUB_CLOUD:${GH_ACCOUNT}/${GH_PROJECT}/ \
- GNOME:sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} \
+ GNOME:sources/${DISTNAME:S/-${DISTVERSIONFULL}$//} \
GNU:${PORTNAME} \
GNUPG:${PORTNAME} \
GNU_ALPHA:${PORTNAME} \