This amends commit 3e5360df35:
Qt uses generated linker version scripts which always have a
qt_version_tag symbol, but that symbol is only defined in the main Qt
shared library. For other Qt components, this leads to lld >= 17
erroring out due to the symbol being undefined. Suppress these errors
from qt-dist.mk, so we don't have to patch each individual port.
This affects at least:
* devel/qt5-dbus
* net/qt5-network
* databases/qt5-sql
which were the first ones to fall over with a clang+lld 17 poudriere
bulk run.
For reference, the error you would see looks like:
...
c++ -Wl,--as-needed -fstack-protector-strong -Wl,--no-undefined -Wl,--version-script,QtDBus.version -pthread -Wl,-rpath,/usr/local/lib/qt5 -shared -Wl,-Bsymbolic-functions -Wl,-soname,libQt5DBus.so.5 -o libQt5DBus.so.5.15.8 .obj/qdbusconnection.o .obj/qdbusconnectioninterface.o .obj/qdbuserror.o .obj/qdbusintegrator.o .obj/qdbusmessage.o .obj/qdbusserver.o .obj/qdbusabstractinterface.o .obj/qdbusinterface.o .obj/qdbusxmlparser.o .obj/qdbusutil.o .obj/qdbusintrospection.o .obj/qdbusabstractadaptor.o .obj/qdbusinternalfilters.o .obj/qdbusmetaobject.o .obj/qdbusxmlgenerator.o .obj/qdbusmisc.o .obj/qdbusargument.o .obj/qdbusreply.o .obj/qdbusmetatype.o .obj/qdbusextratypes.o .obj/qdbuscontext.o .obj/qdbuspendingcall.o .obj/qdbuspendingreply.o .obj/qdbus_symbols.o .obj/qdbusservicewatcher.o .obj/qdbusunixfiledescriptor.o .obj/qdbusvirtualobject.o .obj/moc_qdbusconnectioninterface.o .obj/moc_qdbuserror.o .obj/moc_qdbusconnection.o .obj/moc_qdbusabstractadaptor.o .obj/moc_qdbusvirtualobject.o .obj/moc_qdbusconnection_p.o .obj/moc_qdbusconnectionmanager_p.o .obj/moc_qdbuspendingcall_p.o -L/wrkdirs/usr/ports/devel/qt5-dbus/work/kde-qtbase-5.15.8p157/lib /usr/local/lib/qt5/libQt5Core.so -L/usr/local/lib -ldbus-1
ld: error: version script assignment of 'Qt_5.15' to symbol 'qt_version_tag' failed: symbol not defined
c++: error: linker command failed with exit code 1 (use -v to see invocation)
Some qt ports, such as www/qt5-webkit, do not use qt-dist.mk but qt.mk,
and qt-dist.mk includes qt.mk, so move the workaround that sets LDFLAGS
to qt.mk instead. This should fix the problem for all qt ports.
PR: 273992, 273753
Fixes: 3e5360df35
MFH: 2023Q4
That flag makes the compiler use /usr/local/bin/ld from devel/binutils.
The base system was stuck with an old GPLv2 version of binutils at the
time and lang/gcc required a newer version.
With LLVM ld in base it seems to be safe to remove that flag.
Discussed with: tijl
Wednesday, 18 October 2023
KDE today announces the release of KDE Frameworks 5.111.0.
KDE Frameworks are 83 addon libraries to Qt which provide a wide variety
of commonly needed functionality in mature, peer reviewed and well
tested libraries with friendly licensing terms. For an introduction see
the KDE Frameworks release announcement.
This release is part of a series of planned monthly releases making
improvements available to developers in a quick and predictable manner.
Announcement: https://kde.org/announcements/frameworks/5/5.111.0/
PR: 274662
Exp-run by: antoine
* Change default version of Ghostscript from 9 to 10
* Add entry about change of default Ghostscript version to UPDATING
PR: 273864
Approved by: jrm (mentor)
Differential Revision: https://reviews.freebsd.org/D42351
KDE Plasma 5.27.9, Bugfix Release for October
Tuesday, 24 October 2023. Today KDE releases a bugfix update to KDE
Plasma 5, versioned 5.27.9.
Plasma 5.27 was released in February 2023 with many feature refinements
and new modules to complete the desktop experience.
This release adds six months' worth of new translations and fixes from
KDE's contributors. The bugfixes are typically small but important and
include:
* Discover: Fix network cache size for first run.
* GTK Config: make it compile with GLib < 2.74.
* Powerdevil: Provide a default action in Suspend session config.
Full changelog: https://kde.org/announcements/changelogs/plasma/5/5.27.8-5.27.9
Qt Quick 3D Physics provides a high-level API for physics simulation. It
supports simulating interactive rigid bodies as well as static meshes and
non-colliding bodies used for detecting overlaps. Every simulated body
can have its own physical properties like mass, density and friction.
https://doc.qt.io/qt-6/qtquick3dphysics-index.html
gcc does not support -Wno-error=incompatible-function-pointer-types.
Only enable the warning for clang to fix various ports that fail to
build with error messages like
cc1: error: '-Wno-error=incompatible-function-pointer-types': no
option '-Wincompatible-function-pointer-types'; did you mean
'-Wincompatible-pointer-types'?
MFH: 2023Q4
Setting CC to gnatmake breaks compiling simple C objects. Instead
set it to the correct compiler frontend and set GNATMAKE to gnatmake.
Signed-off-by: Nico Sonack <nsonack@herrhotzenplotz.de>
PR: 274238
Summary:
Create "describe-json" target to get a JSON-compliant representation of the
ports tree.
It can be invoked from a single port directory, a category directory or from the
ports tree top directory.
It supports FLAVORS. E.g. It is possible to execute the following:
cd math/qalculate-qt && make describe-json-qt6
Performance-wise it is equivalent to a simple "make describe" although it
offers a more complete vision of the port in an easily parseable format.
Times for describe:
1345.39 real 933.06 user 403.01 sys
1317.00 real 929.22 user 406.43 sys
1316.83 real 930.82 user 404.70 sys
1316.75 real 928.05 user 407.39 sys
1316.58 real 930.69 user 404.59 sys
Times for describe-json:
1320.38 real 924.80 user 414.48 sys
1320.66 real 926.14 user 413.41 sys
1320.41 real 924.08 user 415.30 sys
1320.37 real 922.96 user 416.35 sys
1320.25 real 924.25 user 414.95 sys
Some examples assuming the output is saved in the `describe.json` file.
Show all ports in the "accessibility" category:
jq '.accessibility' describe.json
Show ports in the "accessibility" category with a USES=iconv dependency:
jq '.accessibility.[] | select(.uses | index("iconv")) | .pkgorigin' describe.json
Show ports in the tree that Uses=kmod:
jq '.[].[] | select(.uses | index("kmod")) | .pkgorigin' describe.json
Show ports having a LIB_DEPENDS on devel/binutils:
jq '.[].[] | select(.lib_depends | map(test("devel/binutils")) | any) | .pkgorigin' describe.json
Show ports in the "database" category which have no maintainer and are marked as
deprecated:
jq '.databases.[] | select(.maintainer=="ports@FreeBSD.org" and .deprecated!=" ") | .pkgorigin, .deprecated' describe.json
Approved by: portmgr (bapt@)
Differential Revision: https://reviews.freebsd.org/D42131
KDE Gear 23.08.2
Thursday, 12 October 2023
Over 120 individual programs plus dozens of programmer libraries and
feature plugins are released simultaneously as part of KDE Gear.
Today they all get new bugfix source releases with updated translations,
including:
* kdeconnect: Avoid adding duplicate devices to Dolphin's side panel
(Commit, fixes bug #461872)
* merkuro: Fix shifting of date by one day/month (Commit, fixes bug
#473866)
* kdenlive: Fix multiple audio streams broken by MLT's new astream
property (Commit, fixes bug #474895)
Full changelog: https://kde.org/announcements/changelogs/gear/23.08.2/
Framework
* Fixed “blank” in a playlist does not have audio normalization
filters.
* Fixed serializing mlt_color transparent black as “#00000000” when the
property was set using an integer or mlt_color.
* Fixed mlt_chain_set_source() would always fetch a frame from the
producer even if it has “meta.media.frame_rate_num” and
“meta.media.frame_rate_den” properties making things slow.
* Fixed Mlt::Chain leaking memory.
Modules
* Added a blank producer to the core module.
* Added keywords to gpstext filter:
* #gps_cadence#
* #gps_grade_degrees#
* #gps_grade_percentage#
* #gps_temperature#
* Added some color_styles to the gpsgraphic filter:
* 10 = color by speed (max 100 km/h)
* 11 = color by grade (max 90 degrees)
* 12 = color by grade (max 20 degrees)
* Added more unit formats to legend_unit property of gpsgraphic filter:
* mmin or m/min
* ftmin or ft/min
* Added keywords to dynamictext filter:
* #basename#
* #filename#
* Fixed installing filter_audioseam.yml.
* Added an avlink link to the avformat module for FFmpeg filters that
can benefit from future frames such as adeclick.
* Added the preserve_alpha property to the box_blur filter.
* Fixed loading service metadata for the qt6 and glaxnimate-qt6
modules.
* Fixed a crash when changing the rotate property in avformat producer
with interlace video.
* Add astream and vstream properties to avformat producer. Unlike
audio_index and video_index are absolute indices across the entire
array of streams regardless their type, these new 0-based properties
are relative to the type audio or video. For example, astream=1 is
the second audio stream.
* Fixed a possible crash in the avformat producer’s mlt_producer_probe
virtual function.
* Updated the glaxnimate module to version 0.5.4.
* Fixed the sdl2 consumer crashing with the Linux radeonsi_dri driver
and showing only all black with the Linux nvidia driver.
Other
* Fix compiling on Android (not supported by the core developers).
* Changed the avformat consumer FLAC preset to use the flac format.
* Fixed the melt Shift+H and Shift+L keyboard shortcuts when the SDL2
window has focus.
On some terminal, namely "putty" and "linux", the unicode capability
are not properly exposed, resulting in a not so nice UI, forcing
the env to be unicode friendly with executing the DIDALOG commnands
make the output nice in those environements
dialog4ports is using libdialog which is being decommissioned from
base replaced by bsddialog. We cannot switch to depending on
devel/cdialog because it build depends on too many things, on the other
hand the author of bsddialog made portconfig as a drop-in replacement
for dialog4ports, it only build depends on devel/bsddialog (we use
the version in port to be sure to have the right version on all
supported versions of the ports tree)
Reported by: Herbert J. Skuhra" <herbert@gojira.at>
If we have multiple Cargo.toml files with the same crates in the
[patch.crates-io] section we will end up with crates defined mutiple
times and cargo will refuse to proceed.
Write this section after parsing all the Cargo.toml files.
PR: 273280
Reviewed by: tobik
As we have switched to ASLR by default from 13.2-RELEASE there will be
more corner cases where we will need to disable/enable ASLR for certain
binaries. Add this DESC so that we can easily optionize ASLR.
Approved by: portmgr (blanket)
Qt uses generated linker version scripts which always have a
qt_version_tag symbol, but that symbol is only defined in the main Qt
shared library. For other Qt components, this leads to lld >= 17
erroring out due to the symbol being undefined. Suppress these errors
from qt-dist.mk, so we don't have to patch each individual port.
This affects at least:
* devel/qt5-dbus
* net/qt5-network
* databases/qt5-sql
which were the first ones to fall over with a clang+lld 17 poudriere
bulk run.
For reference, the error you would see looks like:
...
c++ -Wl,--as-needed -fstack-protector-strong -Wl,--no-undefined -Wl,--version-script,QtDBus.version -pthread -Wl,-rpath,/usr/local/lib/qt5 -shared -Wl,-Bsymbolic-functions -Wl,-soname,libQt5DBus.so.5 -o libQt5DBus.so.5.15.8 .obj/qdbusconnection.o .obj/qdbusconnectioninterface.o .obj/qdbuserror.o .obj/qdbusintegrator.o .obj/qdbusmessage.o .obj/qdbusserver.o .obj/qdbusabstractinterface.o .obj/qdbusinterface.o .obj/qdbusxmlparser.o .obj/qdbusutil.o .obj/qdbusintrospection.o .obj/qdbusabstractadaptor.o .obj/qdbusinternalfilters.o .obj/qdbusmetaobject.o .obj/qdbusxmlgenerator.o .obj/qdbusmisc.o .obj/qdbusargument.o .obj/qdbusreply.o .obj/qdbusmetatype.o .obj/qdbusextratypes.o .obj/qdbuscontext.o .obj/qdbuspendingcall.o .obj/qdbuspendingreply.o .obj/qdbus_symbols.o .obj/qdbusservicewatcher.o .obj/qdbusunixfiledescriptor.o .obj/qdbusvirtualobject.o .obj/moc_qdbusconnectioninterface.o .obj/moc_qdbuserror.o .obj/moc_qdbusconnection.o .obj/moc_qdbusabstractadaptor.o .obj/moc_qdbusvirtualobject.o .obj/moc_qdbusconnection_p.o .obj/moc_qdbusconnectionmanager_p.o .obj/moc_qdbuspendingcall_p.o -L/wrkdirs/usr/ports/devel/qt5-dbus/work/kde-qtbase-5.15.8p157/lib /usr/local/lib/qt5/libQt5Core.so -L/usr/local/lib -ldbus-1
ld: error: version script assignment of 'Qt_5.15' to symbol 'qt_version_tag' failed: symbol not defined
c++: error: linker command failed with exit code 1 (use -v to see invocation)
PR: 273992
Approved by: maintainer timeout (2 weeks)
MFH: 2023Q4
lang/rust-bootstrap is another potential option for RUST.
document the value in the comment so others might consider its use.
lang/rust-bootstrap has more tunable knobs which allow for more minimal
builds of the rust toolchain than lang/rust -- which may be desirable
for appliance or iterative builds.
Approved by: portmgr (bapt)
Reviewed by: allanjude, bapt
Differential Revision: https://reviews.freebsd.org/D42052
- Update xfce.mk to avid forcing too many dependencies on consumers
- Change dependency on garcon to reference libgarcon-1.so (main
library)
- Explicitly add USE_XFCE components to the ports actually needing
them.
- Cleanup dependencies, adding/removing missing/extra dependencies
- Change the referenced library in some LIB_DEPENDS to the actually
linked one (avoids false positives in poudriere Q/A tests)
- Bump PORTREVISION on all touched ports, even indirectly due to
the effect of removing forced dependencies on certain components
- Remove USES=fuse from gigolo. I could not find any kind f reference
to fuse in the code.
- xfce4-bsdcpufreq-plugin: Also remove empty comment at the top of
the Makefile
Fixes the following in games/veloren-weekly when iced crates have a tag
similar to veloren-winit-0.28
$ cd games/veloren-weekly
$ make cargo-crates-merge
$ make
[...]
===> Configuring for veloren-weekly-s20230830
===> Cargo config:
find: /usr/ports/games/veloren-weekly/work/egui_winit_platform-eloren-winit-0.28: No such file or directory
find: /usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28: No such file or directory
find: /usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28: No such file or directory
find: /usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28: No such file or directory
find: /usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28: No such file or directory
find: /usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28: No such file or directory
find: /usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28: No such file or directory
[...]
[patch.'https://gitlab.com/Imbris/keyboard-keynames.git']
keyboard-keynames = { path = '/usr/ports/games/veloren-weekly/work/keyboard-keynames-veloren-winit-0.28-fca4bbdfa51bf054b155a455935b3792975c989d' }
[...]
[patch.'https://github.com/Imberflur/egui_winit_platform.git']
egui_winit_platform = { path = '/usr/ports/games/veloren-weekly/work/egui_winit_platform-eloren-winit-0.28' }
[...]
[patch.'https://github.com/Imberflur/iced']
iced_core = { path = '/usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28' }
iced_futures = { path = '/usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28' }
iced_graphics = { path = '/usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28' }
iced_native = { path = '/usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28' }
iced_style = { path = '/usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28' }
iced_winit = { path = '/usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28' }
[...]
===> Updating Cargo.lock
error: failed to load source for dependency `iced_core`
Caused by:
Unable to update /usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28
Caused by:
failed to read `/usr/ports/games/veloren-weekly/work/iced-eloren-winit-0.28/Cargo.toml`
Caused by:
No such file or directory (os error 2)
*** Error code 101
Stop.
make[1]: stopped in /usr/ports/games/veloren-weekly
PR: 273468
Reported by: jbeich