Skip to content

Commit 39de808

Browse files
committed
Framework: sync with upstream
Taken from: FreeBSD
1 parent b65641e commit 39de808

File tree

9 files changed

+239
-25
lines changed

9 files changed

+239
-25
lines changed

MOVED

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1443,7 +1443,6 @@ databases/mysql55-server||2022-06-30|Has expired: Upstream support ended on Dece
14431443
databases/mysql55-client||2022-06-30|Has expired: Upstream support ended on December 2018
14441444
multimedia/schroedinger||2022-06-30|Has expired: Abandoned legacy video codec, upstream is dead and last release was back in 2012
14451445
emulators/kcemu||2022-06-30|Has expired: Depends on expired multimedia/schroedinger
1446-
multimedia/ccextractor||2022-06-30|Has expired: Depends on expired multimedia/schroedinger
14471446
security/libgringotts||2022-06-30|Has expired: Abandonware, upstream dead and last release in 2008
14481447
deskutils/osmo||2022-06-30|Has expired: Depends on expired security/libgringotts
14491448
devel/itext||2022-06-30|Has expired: Outdated version and deprecated by upstream
@@ -4494,7 +4493,6 @@ games/hedgewars-server||2025-06-04|Depends on expired lang/ghc810, does not buil
44944493
lang/ghc810||2025-06-04|Old version, unsupported upstream
44954494
audio/mp3check||2025-06-06|Has expired: Depends on expired audio/id3tool
44964495
audio/id3tool||2025-06-06|Has expired: Can't read ID3v2 tags which have been around for 20+ years and discontinued in 2005 feature-wise according to readme file
4497-
science/py-pysal||2025-06-06|Has expired: Depends on expired math/py-spvcm
44984496
textproc/xincluder||2025-06-06|Has expired: Depends on expiring java/jdom
44994497
math/py-spvcm||2025-06-06|Has expired: Upstream repository has been archived on Jul 9, 2024
45004498
sysutils/screen50|sysutils/screen|2025-06-09|Replace the screen metaport with screen50, renaming screen50 to screen
@@ -4834,3 +4832,31 @@ devel/rubygem-multi_json114|devel/rubygem-multi_json-gitlab|2025-10-25|Use devel
48344832
devel/pycomposefile|devel/py-pycomposefile|2025-10-27|Rename to add py- prefix. Move devel/pycomposefile to devel/py-pycomposefile
48354833
devel/rubygem-fugit111|devel/rubygem-fugit|2025-10-27|Remove obsoleted port. Use devel/rubygem-fugit instead
48364834
science/py-hiphive|science/py-hiPhive|2025-10-28|Spelling changed into camel case on PYPI and GH
4835+
games/burrtools|games/burr-tools|2025-10-31|Harmonise with upstream repository name
4836+
databases/mongodb60|databases/mongodb70|2025-11-01|Has expired: EOL starting August 2025, see https://www.mongodb.com/legal/support-policy/lifecycles, please use databases/mongodb70
4837+
www/phpmustache||2025-11-01|Has expired: Installation mode changed from systemwide to per-application with Composer
4838+
dns/fpdns||2025-11-01|Has expired: Upstream repository has been archived on Sep 19, 2024
4839+
databases/py-pycql||2025-11-01|Has expired: Upstream repository has been archived on Aug 31, 2021
4840+
devel/py-types-ujson||2025-11-01|Has expired: No longer required by devel/py-ujson >= 5.11
4841+
devel/pysvn||2025-11-01|Has expired: Fails to build
4842+
cad/impact||2025-11-01|Has expired: Does not work as intended
4843+
emulators/citra-qt5||2025-11-01|Has expired: project has been discontinued and build fails with FFmpeg >7
4844+
emulators/citra||2025-11-01|Has expired: project has been discontinued and build fails with FFmpeg >7
4845+
games/renpy||2025-11-01|Has expired: Uses deprecated version of python
4846+
security/rhonabwy||2025-11-01|Has expired: Upstream repository has been archived on Nov 11, 2024
4847+
devel/electron35||2025-11-01|Has expired: EOLed upstream, switch to newer version
4848+
lang/python39||2025-11-01|Has expired: Upgrade to a newer Python version. 3.9 is in maintenance status and gets security fixes only. End-of-Life: 2025-10. See https://devguide.python.org/versions/
4849+
devel/py-pyjq|textproc/py-jq|2025-11-01|Removed: Depended on expired Python version 3.9 and does not build with newer Python
4850+
devel/py-ctags||2025-11-01|Removed: Depended on expired Python version 3.9 and does not build with newer Python
4851+
net-im/tdlib-purple||2025-11-01|Remove broken port
4852+
databases/foundationdb71-client||2025-11-01|Remove broken port
4853+
databases/foundationdb71-server||2025-11-01|Remove broken port
4854+
databases/foundationdb73-client||2025-11-01|Remove broken port
4855+
databases/foundationdb73-server||2025-11-01|Remove broken port
4856+
databases/erlfdb||2025-11-01|Depends on removed port databases/foundationdb71-client
4857+
www/mitmproxy||2025-11-02|Remove broken port
4858+
net-im/signald|net-im/signal-cli|2025-11-02|Has expired: this project is no longer actively maintained. Use signal-cli instead
4859+
net-im/libsignal-client|net-im/libsignal|2025-11-05|Renamed to match upstream name
4860+
games/openlierox||2025-11-06|Remove broken port
4861+
net/glusterfs||2025-11-06|Remove broken port
4862+
games/pokerth||2025-11-06|Remove broken port

Mk/Uses/kde.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ KDE_PLASMA5_VERSION?= 5.27.12
9191
KDE_PLASMA5_BRANCH?= stable
9292

9393
# Current KDE Plasma desktop.
94-
KDE_PLASMA6_VERSION?= 6.5.0
94+
KDE_PLASMA6_VERSION?= 6.5.2
9595
KDE_PLASMA6_BRANCH?= stable
9696

9797
# Legacy KDE frameworks (Qt5 based).
@@ -104,8 +104,8 @@ KDE_FRAMEWORKS6_BRANCH?= stable
104104

105105
# Current KDE applications. Update _${PORTNAME}_PROJECT_VERSION for the following ports:
106106
# devel/kdevelop, games/libkdegames, games/libkmahjongg, graphics/kgraphviewer
107-
KDE_APPLICATIONS6_VERSION?= 25.08.2
108-
KDE_APPLICATIONS6_SHLIB_VER?= 6.5.2
107+
KDE_APPLICATIONS6_VERSION?= 25.08.3
108+
KDE_APPLICATIONS6_SHLIB_VER?= 6.5.3
109109
# G as in KDE Gear, and as in "don't make the variable name longer than required".
110110
KDE_APPLICATIONS6_SHLIB_G_VER?= ${KDE_APPLICATIONS6_VERSION}
111111
KDE_APPLICATIONS6_BRANCH?= stable

Mk/Uses/meson.mk

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
#
33
# Feature: meson
44
# Usage: USES=meson
5+
# Valid ARGS: muon
6+
#
7+
# muon use muon instead of meson, intended for bootstrapping
8+
# dependencies that python uses
59
#
610
# The following files are bundled in source tar files.
711
# meson.build - Instructions for meson like autoconf configure,
@@ -19,19 +23,32 @@
1923
.if !defined(_INCLUDE_USES_MESON_MK)
2024
_INCLUDE_USES_MESON_MK= yes
2125

26+
_valid_ARGS= muon
27+
2228
# Sanity check
23-
. if !empty(meson_ARGS)
24-
IGNORE= Incorrect 'USES+= meson:${meson_ARGS}'. meson takes no arguments
29+
. for _arg in ${meson_ARGS}
30+
. if empty(_valid_ARGS:M${_arg})
31+
IGNORE= 'USES+= meson:${meson_ARGS}' usage: argument [${_arg}] is not recognized
32+
. endif
33+
. endfor
34+
35+
. if !empty(meson_ARGS:Mmuon)
36+
BUILD_DEPENDS+= muon:devel/muon
37+
. else
38+
BUILD_DEPENDS+= meson:devel/meson
2539
. endif
2640

27-
BUILD_DEPENDS+= meson:devel/meson
28-
2941
# meson uses ninja
3042
.include "${USESDIR}/ninja.mk"
3143

3244
# meson might have issues with non-unicode locales
3345
USE_LOCALE?= en_US.UTF-8
3446

47+
# Enable muon's meson compatibility mode
48+
. if !empty(meson_ARGS:Mmuon)
49+
CONFIGURE_ARGS+= meson
50+
. endif
51+
3552
CONFIGURE_ARGS+= --prefix ${PREFIX} \
3653
--localstatedir /var \
3754
--infodir ${INFO_PATH}
@@ -62,8 +79,21 @@ CONFIGURE_ARGS+= --buildtype release \
6279
--strip
6380
. endif
6481

82+
. for _bool in true false enabled disabled
83+
. if defined(MESON_${_bool:tu})
84+
. for _meson_arg in ${MESON_${_bool:tu}}
85+
MESON_ARGS+= -D${_meson_arg}=${_bool}
86+
. endfor
87+
. endif
88+
. endfor
89+
6590
HAS_CONFIGURE= yes
91+
. if !empty(meson_ARGS:Mmuon)
92+
CONFIGURE_CMD= muon
93+
. else
6694
CONFIGURE_CMD= meson
95+
. endif
96+
6797
# Pull in manual set settings and from options
6898
CONFIGURE_ARGS+= ${MESON_ARGS}
6999

Mk/Uses/python.mk

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,19 @@
1717
# Examples:
1818
#
1919
# USES=python:2.7 # Supports Python 2.7 Only
20-
# USES=python:3.9+ # Supports Python 3.9 or later
21-
# USES=python:3.9-3.10 # Supports Python 3.9 to 3.10
22-
# USES=python:-3.9 # Supports Python up to 3.9
23-
# USES=python # Supports 3.9+
20+
# USES=python:3.11+ # Supports Python 3.11 or later
21+
# USES=python:3.11-3.12 # Supports Python 3.11 to 3.12
22+
# USES=python:-3.11 # Supports Python up to 3.11
23+
# USES=python # Supports 3.10+
2424
#
2525
# NOTE: <version-spec> should be as specific as possible, matching the versions
2626
# upstream declares support for, without being incorrect. In particular,
27-
# USES=python *without* a <version-spec> means 3.9+,
27+
# USES=python *without* a <version-spec> means 3.11+,
2828
# including unreleased versions, which is probably incorrect.
2929
#
3030
# Not specifying a <version-spec> should only be used when a more specific
3131
# <version-spec> cannot be specified due to syntax limitations, for
32-
# example: 2.7,3.9-3.10, but even in this case, X.Y+ (2.7+), or -X.Y (-3.9)
32+
# example: 2.7,3.11-3.12, but even in this case, X.Y+ (2.7+), or -X.Y (-3.11)
3333
# is preferred and likely more correct.
3434
#
3535
# patch Python is needed at patch time. Adds dependency to PATCH_DEPENDS.
@@ -50,7 +50,7 @@
5050
# Exported variables:
5151
#
5252
# PYTHON_VERSION - The chosen Python interpreter including the version,
53-
# e.g. python2.7, python3.9, etc.
53+
# e.g. python2.7, python3.11, etc.
5454
#
5555
# Variables, which can be set by the port:
5656
#
@@ -227,10 +227,10 @@
227227
# PYTHON_PORTSDIR - The port directory of the chosen Python interpreter
228228
#
229229
# PYTHON_REL - The release number of the chosen Python interpreter
230-
# without dots, e.g. 20706, 30901, ...
230+
# without dots, e.g. 20706, 31114, ...
231231
#
232232
# PYTHON_SUFFIX - The major-minor release number of the chosen Python
233-
# interpreter without dots, e.g. 27, 38, ...
233+
# interpreter without dots, e.g. 27, 310, ...
234234
# Used for prefixes and suffixes.
235235
#
236236
# PYTHON_BASESUFFIX - PYTHON_SUFFIX without the threaded ABI flag.
@@ -252,7 +252,7 @@
252252
# interpreter, e.g. 2, 3, ...
253253
#
254254
# PYTHON_VER - The major-minor release version of the chosen Python
255-
# interpreter, e.g. 2.7, 3.9, ...
255+
# interpreter, e.g. 2.7, 3.12, ...
256256
#
257257
# PYTHON_BASEVER - PYTHON_VER without the threaded ABI flag.
258258
#
@@ -341,7 +341,7 @@ ZEROREGS_UNSAFE= yes
341341
# What Python version and what Python interpreters are currently supported?
342342
# When adding a version, please keep the comment in
343343
# Mk/bsd.default-versions.mk in sync.
344-
_PYTHON_VERSIONS= 3.11 3.12 3.10 3.9 2.7 # preferred first
344+
_PYTHON_VERSIONS= 3.11 3.12 3.13 3.13t 3.14 3.10 2.7 # preferred first
345345
_PYTHON_PORTBRANCH= 3.11 # ${_PYTHON_VERSIONS:[1]}
346346
_PYTHON_BASECMD= ${LOCALBASE}/bin/python
347347
_PYTHON_RELPORTDIR= lang/python
@@ -444,13 +444,13 @@ DEV_WARNING+= "lang/python27 reached End of Life and will be removed somewhere
444444
. elif ${_PYTHON_ARGS} == 2
445445
DEV_ERROR+= "USES=python:2 is no longer supported, use USES=python:2.7"
446446
. elif ${_PYTHON_ARGS} == 3
447-
DEV_ERROR+= "USES=python:3 is no longer supported, use USES=python:3.9+ or an appropriate version range"
447+
DEV_ERROR+= "USES=python:3 is no longer supported, use USES=python:3.11+ or an appropriate version range"
448448
. endif # ${_PYTHON_ARGS} == 2.7
449449

450450
_PYTHON_VERSION:= ${PYTHON_DEFAULT}
451451

452452
. if empty(_PYTHON_ARGS)
453-
_PYTHON_ARGS= 3.9+
453+
_PYTHON_ARGS= 3.10+
454454
. endif
455455

456456
# Validate Python version whether it meets the version restriction.
@@ -552,7 +552,7 @@ PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX}
552552
# To avoid having dependencies with @ and empty flavor:
553553
# _PYTHON_VERSION is either set by (first that matches):
554554
# - If using Python flavors, from the current Python flavor
555-
# - If using a version restriction (USES=python:3.9+), from the first
555+
# - If using a version restriction (USES=python:3.11+), from the first
556556
# acceptable default Python version.
557557
# - From PYTHON_DEFAULT
558558
PY_FLAVOR= py${_PYTHON_VERSION:S/.//}

Mk/Uses/ruby.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ RUBY_PORTREVISION= 0
154154
#
155155
# Ruby 3.3
156156
#
157-
RUBY_DISTVERSION= 3.3.9
157+
RUBY_DISTVERSION= 3.3.10
158158
RUBY_PORTREVISION= 0
159159

160160

Mk/bsd.default-versions.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ PYCRYPTOGRAPHY_DEFAULT?= rust
140140
. else
141141
PYCRYPTOGRAPHY_DEFAULT?= legacy
142142
. endif
143-
# Possible values: 3.9, 3.10, 3.11, 3.12
143+
# Possible values: 3.10, 3.11, 3.12, 3.13, 3.13t, 3.14
144144
PYTHON_DEFAULT?= 3.11
145145
# Possible values: 2.7
146146
PYTHON2_DEFAULT?= 2.7
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/sh
2+
3+
# Contributed by Ralf van der Enden <[email protected]>
4+
# Public domain.
5+
6+
# Print a list of all installed ports by origin with flavour.
7+
# This is similar to pkg info -qoa, but prints a flavour if the
8+
# package has one.
9+
10+
sqlite3 /var/db/pkg/local.sqlite \
11+
"select origin || coalesce('@' || (
12+
select t4.annotation as annotation
13+
from packages t1
14+
inner join pkg_annotation t2 on t1.id = t2.package_id
15+
inner join annotation t3 on t2.tag_id = t3.annotation_id
16+
and t3.annotation = 'flavor'
17+
inner join annotation t4 on t2.value_id = t4.annotation_id
18+
and t2.tag_id = t3.annotation_id
19+
and t3.annotation = 'flavor'
20+
where t1.origin = t0.origin), '')
21+
from packages t0;"
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
#!/bin/sh
2+
#
3+
# MAINTAINER: [email protected]
4+
5+
# This script is intended to be used in fetch targets of Node.js ports.
6+
# It fetches a given Node.js package from npmjs.org along with all its dependencies,
7+
# and creates a tarball with the package and all its dependencies.
8+
# It doesn't build or install the package, just fetches it and its dependencies,
9+
# such that the subsequent build step wouldn't require network access.
10+
# This script generates a package-lock.json file for reproducible builds
11+
# if it doesn't already exist.
12+
13+
14+
set -eu -o pipefail
15+
set -o pipefail
16+
17+
export LC_ALL=C
18+
19+
##
20+
## npmjs-get-latest-version.sh: retrieves the latest version of a given Node.js package as registered on https://registry.npmjs.org
21+
##
22+
23+
# args and env
24+
25+
PACKAGE_NAME="$1"
26+
PACKAGE_VERSION="$2"
27+
PACKAGE_LOCK_JSON="$3"
28+
PACKAGE_TARBALL_OUTPUT="$4"
29+
30+
if [ -z "$PACKAGE_NAME" ] || [ -z "$PACKAGE_VERSION" ] || [ -z "$PACKAGE_LOCK_JSON" ] || [ -z "$PACKAGE_TARBALL_OUTPUT" ]; then
31+
echo "Usage: $0 <package name> <package version> <package-lock.json> <package tarball output>"
32+
echo "Example: $0 sharp 0.34.4 outdir/sharp-package-lock.json outdir/sharp-0.34.4.tar.gz"
33+
exit 1
34+
fi
35+
36+
PACKAGE_NAME_PURE="$(echo $PACKAGE_NAME | sed 's|.*/||')"
37+
38+
if [ -z "$TMPDIR" ]; then
39+
TMPDIR="/tmp"
40+
fi
41+
42+
43+
# check that packaged dependencies are installed
44+
45+
for dep in npm jq; do
46+
if ! which $dep >/dev/null 2>&1; then
47+
echo "error: the '$dep' dependency is missing"
48+
if [ $dep = "npm" ]; then
49+
echo "... please install the 'npm' package"
50+
elif [ $dep = "jq" ]; then
51+
echo "... please install the 'jq' package"
52+
fi
53+
exit 1
54+
fi
55+
done
56+
57+
58+
# MAIN
59+
60+
# to full paths
61+
if ! echo "${PACKAGE_LOCK_JSON}" | grep -q "^/"; then
62+
PACKAGE_LOCK_JSON="`pwd`/${PACKAGE_LOCK_JSON}"
63+
fi
64+
if ! echo "${PACKAGE_TARBALL_OUTPUT}" | grep -q "^/"; then
65+
PACKAGE_TARBALL_OUTPUT="`pwd`/${PACKAGE_TARBALL_OUTPUT}"
66+
fi
67+
if ! echo "${TMPDIR}" | grep -q "^/"; then
68+
TMPDIR="`pwd`/${TMPDIR}"
69+
fi
70+
71+
# create dirs for output files
72+
mkdir -p "$(dirname "${PACKAGE_LOCK_JSON}")"
73+
mkdir -p "$(dirname "${PACKAGE_TARBALL_OUTPUT}")"
74+
mkdir -p "${TMPDIR}"
75+
76+
# create build dir and change to there
77+
BUILD_DIR="${TMPDIR}/${PACKAGE_NAME_PURE}-${PACKAGE_VERSION}"
78+
rm -rf ${BUILD_DIR}
79+
mkdir ${BUILD_DIR}
80+
cd ${BUILD_DIR}
81+
82+
# either just fetch, or regenarate package-lock.json and fetch
83+
if [ -f $PACKAGE_LOCK_JSON ]; then
84+
# fail if package-lock.json does not contain the requested package and version
85+
JSON_NAME=$(jq -r ".packages | .\"node_modules/${PACKAGE_NAME}\" .version" $PACKAGE_LOCK_JSON)
86+
if [ "$JSON_NAME" != "$PACKAGE_VERSION" ]; then
87+
echo "error: the existing package-lock.json ($PACKAGE_LOCK_JSON) does not contain the requested package ${PACKAGE_NAME}@${PACKAGE_VERSION}"
88+
echo " please delete the existing package-lock.json ($PACKAGE_LOCK_JSON) and re-run this script to regenerate it"
89+
exit 1
90+
fi
91+
92+
# fetch dependencies
93+
echo "{\"name\":\"${PACKAGE_NAME}-installer\",\"version\":\"1.0.0\",\"dependencies\":{\"${PACKAGE_NAME}\":\"${PACKAGE_VERSION}\"}}" > package.json
94+
cp $PACKAGE_LOCK_JSON package-lock.json
95+
HOME=${TMPDIR} npm ci --ignore-scripts --global-style --legacy-peer-deps --omit=dev
96+
else
97+
# info
98+
echo "INFO: the file $PACKAGE_LOCK_JSON does not exist, we will attempt to generate it"
99+
100+
# generate package-lock.json
101+
echo "{\"name\":\"${PACKAGE_NAME}-installer\",\"version\":\"1.0.0\"}" > package.json
102+
npm install --package-lock-only --global-style --legacy-peer-deps ${PACKAGE_NAME}@${PACKAGE_VERSION}
103+
104+
# copy generated package-lock.json to the expected location
105+
cp package-lock.json ${PACKAGE_LOCK_JSON}
106+
107+
# info
108+
echo "INFO: ${PACKAGE_LOCK_JSON} did not exist and was generated"
109+
110+
# fetch dependencies
111+
HOME=${TMPDIR} npm ci --ignore-scripts --global-style --legacy-peer-deps --omit=dev
112+
fi
113+
114+
# generate tarball with all dependencies
115+
116+
cd ${TMPDIR}
117+
118+
find ${PACKAGE_NAME_PURE}-${PACKAGE_VERSION} -and -exec touch -h -d 1970-01-01T00:00:00Z {} \;
119+
find ${PACKAGE_NAME_PURE}-${PACKAGE_VERSION} -print0 | sort -z | \
120+
tar czf ${PACKAGE_TARBALL_OUTPUT} --format=bsdtar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T -
121+
rm -rf ${PACKAGE_NAME_PURE}-${PACKAGE_VERSION}
122+
echo "INFO: created package tarball with dependencies at: ${PACKAGE_TARBALL_OUTPUT}"

0 commit comments

Comments
 (0)