- Merge all fpc-* units to lang/fpc. It gives us a better way to maintain fpc
and lazarus ports.
- Update Mk/fpc.mk for reflects new changes
- Update Mk/lazarus.mk for reflects new changes
- Now we can defined WANT_FPC_DEVEL AND WANT_LAZARUS_DEVEL for use devel version
of fpc or lazarus for build apps based on fpc/lazarus
- Add entries to MOVED
- Bump PORTREVISON of affected ports
- Some other minor modifications
Add support for keywords like RUNTIME_DEPENDENCY_SET and
RUNTIME_DEPENDENCIES in the install() command and
GET_RUNTIME_DEPENDENCIES in the file() command. [2]
https://cmake.org/cmake/help/v3.27/release/3.27.html
PR: 274225 [1], 274275 [2]
Reported by: yuri [2]
Exp-run by: antoine [1]
KDE Gear 23.08.3
Thursday, 9 November 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:
* ark: Compatibility with shared-mime-info >= 2.3
* kate: No longer crash when dropping a file into the project panel
* akonadi: Don't keep huge MySQL logs from past sessions
Announcement: https://kde.org/announcements/gear/23.08.3/
Full changelog: https://kde.org/announcements/changelogs/gear/23.08.3/
The idea behind this USES is to take a binary distribution of some Electron app
and replace Linux binaries with the native ones. Not only this allows for
quick porting, but it is also a way to get closed-source Electron apps (Obsidian,
XMind) working on FreeBSD.
Sponsored by: Serenity Cybersecurity, LLC
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