Tuesday, 22 June 2021.
Today KDE releases a bugfix update to KDE Plasma 5, versioned 5.22.2.
Plasma 5.22 was released in June 2021 with many feature refinements and
new modules to complete the desktop experience.
This release adds a week's worth of new translations and fixes from
KDE's contributors. The bugfixes are typically small but important and
include:
* Discover: Flatpak: properly notify about updates.
* [Task Manager] Show window title in tooltip when player title is different
* KWin: Wayland: Implement activities window rule.
View full changelog:
https://kde.org/announcements/changelogs/plasma/5/5.22.1-5.22.2
Now that GCC 11.1 has been released and lang/gcc11 is in place,
explicitly list version 11 as an option for GCC_DEFAULT.
Technically USE_GCC=11 was already working, using lang/gcc11-devel,
alas intentionally undocumented (and definitely unsupported).
Add an explicit note that versions of GCC not listed here are not
supposed to be used. [1]
Suggested by: mandree [1]
The QtPositioning module contains classes to determine a position by
using a variety of possible sources, including satellite, or wifi, or
a text file, and so on. That information can then be used to, for
example, determine a position on a map. In addition satellite
information can be retrieved and area based monitoring can be performed.
https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtpositioning/qtpositioning-module.html
Reviewed by: lbartoletti, #portmgr!
Approved by: lbartoletti (kde@)
Differential Revision: https://reviews.freebsd.org/D30829
Now that GCC 11.1 has been released and lang/gcc11 is in place,
have USE_GCC=11 use that instead of lang/gcc11-devel.
In addition add support for USE_GCC=12 which uses lang/gcc12-devel
(still in early development, not recommended for production use).
Tuesday, 15 June 2021. Today KDE releases a bugfix update to KDE Plasma
5, versioned 5.22.1.
Plasma 5.22 was released in June 2021 with many feature refinements and
new modules to complete the desktop experience.
This release adds a week's worth of new translations and fixes from
KDE's contributors. The bugfixes are typically small but important and
include:
* KWin: Platforms/drm: support NVidia as secondary GPU with CPU copy.
* Weather applet: Point bbcukmet to new location API.
* Wallpapers: Add milky way.
View full changelog at
https://kde.org/announcements/changelogs/plasma/5/5.22.0-5.22.1
Plasma 5.22 is here, and it is more reliable and stable than ever. By
cleaning up and refactoring code in the background, the Plasma desktop
gives you greater responsiveness and performance, helping you become
even more productive without hiccups or surprises. Enjoy a smoother
experience with KDE’s Plasma 5.22 desktop.
Plasma 5.22 has become more pleasurable to use through improvements to
the design and greater smoothness and consistency in transparencies,
blurs, icons, and animations. Moving things to accessible locations,
offering hints and visual cues, and creating new settings allows you to
customize your work environment to make it fit perfectly to your needs.
Following the true KDE spirit, the push for a more stable and attractive
desktop does not mean you have to renounce control over how you want it
to look or behave. Plasma 5.22, as always, packs all the flexibility and
tools for customization you have come to expect and love, and some more
to boot.
Meanwhile, the push to move Plasma in its entirety to Wayland (the
display protocol of the future) continues in full swing. So much so that
popular distros are starting to ship Plasma with Wayland by default. By
using Wayland behind the scenes, Plasma is able to include features and
bug fixes not possible to implement on X11, offering you a better
experience and more stability.
Full announcement and changelog:
https://kde.org/announcements/plasma/5/5.22.0/
Thursday, 10 June 2021
Over 120 individual programs plus dozens of programmer libraries and
feature plugins are released simultaneously as part of KDE Gear.
The full changelog can be found here:
https://kde.org/announcements/changelogs/gear/21.04.2/
ECHO is builtin variable and is cleared when make(1) is invoked
in silent mode, i.e. as ``make -s'', thus making statements that
use it do nothing. Depending on the context, replace it with
either ${ECHO_CMD} or ${ECHO_MSG} (in one case), as appropriate.
PR: 256185
Submitted by: Franco Fichtner
Previously, for ports with GCONF_SCHEMAS, `gnome-post-gconf-schemas'
target would add a @postunexec rule which was invoked *after* those
files would be removed upon deinstallation, resulting in errors:
I/O warning : failed to load external entity ".../$some.schemas"
Failed to open `.../$some.schemas': No such file or directory
Change it to @preunexec so that `gconftool-2 --makefile-unistall-rule'
command would get called while those files still exist.
PR: 210969
Timeout from: gnome (~5 years)
Hackage now returns a JSON array with all revisions, so sed/grep trickery
is not working anymore. Use Python to parse the reply and extract revision
number.
- Copy devel/py-setuptools to devel/py-setuptools44 (for Python 2.7 support)
- Update devel/py-setuptool to 57.0.0 (adding support for Python 3.10)
- Update Mk/Uses/python.mk to chose between py-setuptools and
py-setuptools44 based on Python version
This allows us to have latest setuptools and working Python 3.10
without breaking packages requiring Python 2 support for remaining
reports that require it.
Exp-run showed 3 ports failing to build with latest setuptools and
they were fixed.
PR: 256173
Exp-run by: antoine
Reviewed by: koobs (python)
Approved by: koobs (python)
Differential_Revision: https://reviews.freebsd.org/D30473
This mainly synchronize the subgroups GH_TAGNAME_${_group}_* variables
with their default GH_TAGNAME_* equivalent.
In order to try and avoid this in the future, add a couple of comments
where those two sets of variables are defined.
PR: 256314
Reported by: yuri
The classic way to handle flavors is to set:
FLAVORS= foo bar
FLAVOR?= ${FLAVORS:[0]}
And in that case, FLAVOR is only set if the variable is not defined. If
you pass an empty flavor using `FLAVOR=` then it remains empty after
that line. It can leads to some ports with complicated logic to assume
the wrong flavor is set.
PR: 256301
Reported by: avg
Differential Revision: https://reviews.freebsd.org/D30579
While no port will ever have an @ in their path name, it might be
possible that PORTSDIR has an @ somewhere in its path.
PR: 256301
Differential Revision: https://reviews.freebsd.org/D30579
On Intel Skylake this enables WebRender for Xorg and Wayland (wlroots).
Xwayland isn't qualified yet but Firefox can be tricked by unsetting
WAYLAND_DISPLAY or simply switching to native via MOZ_ENABLE_WAYLAND.
PR: 255344
Reported by: Evgeniy Khramtsov (via gecko@ list)
USE_GCC=any was introduced to leverage the old version of GCC 4.2
installed as /usr/bin/gcc on some systems. That has increasingly
not been present any longer (not on i386 and amd64 since 12.x and
optionally 11.x, not even on the ppcdevref system according to
linimon@) and hardly anyone actually has been testing ports in
this scenario.
So, finally stop using /usr/bin/gcc (and /usr/bin/gc++ and
/usr/bin/gcpp) even if present.
This makes USE_GCC=any just another way of spelling USE_GCC=yes
before we finally de-orbit it.
Discussed with: mat, linimon, pkubaj
This enables to fetch and checksum on a host without src, for example, a
distfile mirroring service.
Reviewed by: rene
Differential Revision: https://reviews.freebsd.org/D30345
This brings python framework in consistense with handbook recommendations
to prefer DISTVERSION and simplifies adding prerelease versions of
python
PR: 255013
Differential Revision: https://reviews.freebsd.org/D29418
Exp-run by: antoine
Approved by: wen@, no objection from python@ or portmgr@
Release notes: https://www.postgresql.org/docs/devel/release-14.html
Also reintroduce parallel builds. Some components, namely plperl,
plpython, pltcl and contrib, fail to build properly when using parallel
builds. Something with static linking using `ar` that fails.
MAKE_JOBS_UNSAFE is set for these ports.
- Introduce CABAL_PROJECT variable to simplify handling project files in ports.
- Put dependencies into ${WRKSRC}/_cabal_deps subdir to make WRKSRC look
clean after `extract` stage.
- Perform cabal.project trickery on post-patch stage to allow users to fiddle
with the original one before creation.
- Document some code.
sysutils/ansible does not provide the Ansible program directly. It is
provided by its dependencies (sysutils/py-ansible-core at the moment).
Fix the ANSIBLE_RUN_DEPENDS so that it looks for the ansible package
instead of the Ansible binary.
The purpose of this new USES file is to provide a central place for
setting Ansible paths for modules and plugins. Perhaps in the future we
will extend to reduce boilerplate code in existing Ansible-related
ports.
PR: 255920
Reported by: lcook
Reviewed by: madpilot
Differential Revision: https://reviews.freebsd.org/D30312
Currently no supported FreeBSD version has libreadline.so in base.
Then if 'USES=readline' is used devel/readline is always added to
dependency whether or not 'port' argument is specified. So remove
unnecessary 'port' argument now.
PR: 248459
Exp-run by: antoine
May 13, 2021. 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.
Changelogs:
https://kde.org/announcements/changelogs/releases/21.04.1/
Split CARGO_CRATES into (index, crate, name, version) 4-tuples and
use them to construct MASTER_SITES and DISTFILES. We can also match
crate name and versions more directly below.
As a bonus this is slightly faster and will flag a malformed
CARGO_CRATES earlier with a "wrong number of words" error.
Runtime of the following command was noticeably faster
$ <rust-ports /usr/bin/time xe -F make -C {} -V DISTFILES -V MASTER_SITES >/dev/null
Before: 56.99 real 50.05 user 6.44 sys
Now: 38.89 real 31.63 user 6.86 sys
PR: 255608
Exp-run by: antoine
Saturday, 8 May 2021
KDE today announces the release of KDE Frameworks 5.82.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.
Full announcement and changelog:
https://kde.org/announcements/frameworks/5/5.82.0/
PR: 255711
Exp-run by: antoine
This will be done before the loading of the actual USES, it allows one
to keep using the USES from the ports tree, and still provide additional
features in the overlay
When USE_GITLAB was changed to follow upstream GitLab's change
in the way tag-tarballs were delivered, a hack was added to
KDE_INVENT because **that** GitLab installation lagged behind
(by one minor revision, Ithink). Now KDE's installation has
been upgraded, it had the same tag-tarball layout as other
GitLabs and the hack is no longer needed.
The ports that use KDE_INVENT have their distinfo updated,
but the ports themselves do not change so I'm not bumping
PORTREVISION; it's the same git checkout, just with different
icing on top.
While it is planned to switch the compression format to zstandard in a
near futur it requires first pkg 1.17 to settle, don't change yet head
compression format.
Tuesday, 4 May 2021. Today KDE releases a bugfix update to KDE Plasma 5, versioned 5.21.5.
Plasma 5.21 was released in February 2021 with many feature refinements
and new modules to complete the desktop experience.
This release adds a month's worth of new translations and fixes from
KDE's contributors. The bugfixes are typically small but important and
include:
Fix crash when stopping PipeWire streaming.
Fix crash on drag-and-drop over panel.
Lockscreen: also activate lock screen windows.
Platforms/drm: Fix crash in EglGbmBackend::presentOnOutput().
Full announcement:
https://kde.org/announcements/plasma/5/5.21.5/
Cross-language LTO in www/firefox requires devel/llvm* and bundled
LLVM in lang/rust to be of the same major version. Adjust the comment
to delay future bumps but until LTO is enabled desync can still happen.
PR: 255359
Suggested by: dim
When setting WITH_DEBUG, separate debuginfo was **not** created,
although the plists for most Qt5 ports list separate debuginfo.
Take a suggestion from rakuco@ and run with it. I rebuilt all the
ports with USES=qmake and none had issues with separate debuginfo.
No general PORTREVISION bump because the packages in most cases
do not change with default options, and WITH_DEBUG would have
failed to package anyway.
PR: 240494
Reported by: jbeich
The kde-kwayland-protocols variable refers to the wrong port name
(or the port is named wrongly and the variable is right -- but
this is the smaller change)
The `cabal-extract` is an auxiliary target that is intended to be run
interactively by the port developer. It populates Cabal cache and then tries
to fetch the main distribution file from Hackage package database. However,
some packages reside on GitHub and other hostings, in which case this target
fails. This commit modifies the target in such way that it does the usual
`make extract`, but preserves the Cabal cache.
Differential Revision: https://reviews.freebsd.org/D30014
Crates should have the file extension .crate not .tar.gz. Cargo
saves them with that extension and it is also what their original
name was according to file(1):
$ file rust/crates/*
rust/crates/better-panic-0.2.0.tar.gz:gzip compressed data, was "better-panic-0.2.0.crate"
rust/crates/binary-space-partition-0.1.2.tar.gz:gzip compressed data, was "binary-space-partition-0.1.2.crate"
...
The only reason we used .tar.gz is that it was that way in OpenBSD's
devel/cargo/cargo.port.mk module. At the moment they are all .tar.gz
but they might have a different format in the future.
Doing a delayed rollout of this over a change-everything-once
approach to
- not immeditately invalidate all uncommitted port changes or
external ports
- not make sweeping changes twice in main and 2021Q2
at the cost of having a transition period where mirrors might have
to carry both the .tar.gz and .crate tarballs (all crates combined
are ~600 MiB).
Reviewed by: jbeich
MFH: 2021Q2 (to ease future cherry picks)
Differential Revision: https://reviews.freebsd.org/D29760
The april bugfix release for KDE Plasma is here. This wasn't
done immediately for the 5.21.3 ports commit that I landed
yesterday because I wasn't paying attention to latest
releases. Release notes are at
https://kde.org/announcements/plasma/5/5.21.4/
KDE Gear 21.04
Thursday, 22 April 2021
Welcome to KDE Gear ⚙️ 21.04!
KDE produces literally dozens of apps for work, play, education, and
creativity. Kontact, for example, gives you control over all your email,
contact, and agenda; Itinerary keeps you up to date with everything you
need regarding your trips; the KAlgebra graphing calculator works
equally well on your desktop and your phone; Cantor provides you with an
intuitive way of analyzing data and graphing the results; and Kdenlive
makes cutting and building sophisticated-looking videos not only easy,
but fun as well.
These are but a few of the apps releasing new updates today. When
combined with the KDE’s powerful Plasma desktop, they provide you with
most, if not all, the tools you need to be productive in a versatile and
flexible Linux^WFreeBSD environment.
But you don’t even need to run Linux! Many of the apps in this
announcement work on Windows, macOS, and Android as well. This is what
convergent means for KDE: use your favorite apps anywhere, on any
system, on your work computer, mobile or even on your TV!
And, remember: KDE’s apps, the Plasma desktop, Plasma Mobile, Plasma
BigScreen and all the rest of KDE’s software are free and open source.
No licensing, no hidden costs, no spying. Share them with your friends,
install them at work, or use them in your school lab. It is your
software to enjoy where and how you want.
Full announcement and changelogs:
https://kde.org/announcements/gear/21.04/
This updates the KDE Plasma parts to release 5.21.3. There is one
new port, plasma5-systemmonitor, which is the upcoming replacement
for KDE sysguard. It is not installed by default.
Release notes are at
https://kde.org/announcements/plasma/5/5.21.3/
Previous commits tidying up DOCS options left some non-
applications consumers without the necessary kdoctools
dependency, so (re)introduce that now.
If a port has no documentation, it doesn't need a DOCS
option (which turns on, or off, exactly an empty set
of documentation). This is now handled correctly by
kde.mk since ports 620d7678c8.
KDE **applications** with a DOCS option get doctools_build
added for free; this covers the majority of KDE-things-with
documentation. Note that DOCS isn't expected to **change**
anything: most of the ports that have (or had) that option
didn't do anything with it and always built the docs anyway.
PR: 255260
Reported by: Naram Qashat
The kde.mk framework automatically does DOCS for KDE ports --
but not all of them have documentation, so then you get a
weird situation of OPTIONS_DEFINE=DOCS in a port that has
no documentation (e.g. sysutils/baloo-widgets) where the
option has no effect at all.
Massage the machinery a little so that the bogus option can
be dropped; KDE ports with no docs should not define a DOCS
option any more.
PR: 252363
By default Meson forces color output. Ninja strips the escape
sequences before they go into the log. Samurai does not do that,
so we end up with some garbage in the logs. Pass -Db_colorout=never
to Meson to disable colors in general. Also see
https://mesonbuild.com/Builtin-options.html
This requires a small backport in devel/meson since the b_colorout
option is broken with Clang at the moment.
PR: 254678
Exp-run by: antoine
Samurai is a Ninja-compatible build tool with fewer dependencies
than Ninja. Hook it to the framework via a new NINJA_DEFAULT.
This also adds %p to NINJA_STATUS to make Ninja or Samurai print
the percentage of completed jobs to make it easier to eyeball how
much of the build is done.
PR: 254678
Exp-run by: antoine
While maintaing a rust application, I found a cargo.toml that specifies
the git URL with { git="https://..." }, cargo.mk expects a form like { git = "https://" }.
This patch improve the regex making the spaces around the '=' optional
Test: built all ports using the CARGO_USE_GIT feature
Approved by: tobik
Differential Revision: https://reviews.freebsd.org/D29805
Some ports need to perform extra build steps for which they need additional distfiles.
This commit makes go.mk to preserve MASTER_SITES,DISTFILES,EXTRACT_ONLY set by port's Makefile.
PR: 255085
Approved by: dmgk (maintainer)
Saturday, 10 April 2021
KDE today announces the release of KDE Frameworks 5.81.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.
Full Announcement:
https://kde.org/announcements/frameworks/5/5.81.0/
PR: 254978
Exp-run by: antoine
MASTER_SITES aliases processing in the framework is very inefficient
and the CRATESIO indirection is not worth it. Normally ports only
have a handful of sites at most, but USES=cargo currently adds one
site for each crate by necessity. The inefficiency suddenly matters
a lot.
By consuming MASTER_SITE_CRATESIO directly we can sidestep this
issue without losing anything.
Before:
$ time make -C www/zola -V MASTER_SITES >/dev/null
4.21 real 4.14 user 0.03 sys
After:
$ time make -C www/zola -V MASTER_SITES >/dev/null
0.60 real 0.58 user 0.02 sys
Build scripts might build bundled libraries but non-error output
is hiddden by cargo. Given a crate with large enough bundled library
(looking at you rusty_v8) the build just sits there in silence
forever and you do not know what is happening or if anything is
happening at all. This also makes Poudriere build logs less useful.
Pass an additional --verbose to cargo to get more noisy output.
https://doc.rust-lang.org/cargo/reference/build-scripts.html#outputs-of-the-build-script
Not all GitLab installations are the same; KDE_INVENT is one
that still uses the "old" naming scheme, so set WRKSRC for
ports that use that (all of which as "this should be a
temporary solution until there is a real release again").
Fixes build failures (patch, actually, since the extracted
directories didn't match expectations) in e.g. audio/amarok.
Gitlab changed the address beginning of April you can download packages
from:
curl 7efd19e371/archive.tar.gz/gitlab-org-gitlab-foss-7efd19e3716ab6f9146052da76d1bd59ec815f2d_GL0.tar.gz
to:
curl 7efd19e371.tar.gz?dummy=/gitlab-org-gitlab-foss-7efd19e3716ab6f9146052da76d1bd59ec815f2d_GL0.tar.gz
The new extracted archive will have a different folder name.
Before it was:
gitlab-foss-7efd19e3716ab6f9146052da76d1bd59ec815f2d-7efd19e3716ab6f9146052da76d1bd59ec815f2d
now it is:
gitlab-foss-7efd19e3716ab6f9146052da76d1bd59ec815f2d
So all ports using gitlab must regen their distinfo.
PR: 254866
MFH: 2021Q2
Differential Revision: https://reviews.freebsd.org/D29628
CMake-based ports have a "standard" way of controlling whether
testing should be built, by passing -DBUILD_TESTING=ON at the
configure stage (with some footnotes). Add a :testing modifier
for USES=cmake that enables a boilerplate do-test target that
rebuilds with testing enabled, and then runs the tests.
Individual ports need to buy in to this explicitly (because
tests might not be non-destructive).
Submitted and explained well by yuri@
PR: 249024
Submitted by: yuri
It never actually really have been a thing, and can be done
directly in install/deinstall scripts
Reviewed by: mat (portmgr)
Differential Revision: https://reviews.freebsd.org/D29427
Saturday, 13 March 2021
KDE today announces the release of KDE Frameworks 5.80.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.80.0/
PR: 254256
Exp-run by: antoine
Fallout-fixes by: adridg
The main big change is the switch of the package extension to .pkg
This is done so we can change compression format without having to
modify the tools each time to adapt to the new extension
While here adapt the ports tree to the new .pkg extension and prepare
the pkg-devel ports to swicth the package compression format to zstd
in FreeBSD 14 in a month to give time to upgrade to a version which
have the bootstrap knowing about .pkg.
Changes from 1.16.99.2 to 1.16.99.3
- lua update to 5.4.2
- pkg repo accept now all supported formats mixed without config
- pkg now default on creating .pkg files with backward compatible symlinks
- backward compatible symlinks are now an option
- make the default comprpession format a config option
- set the default compression level for zstd to 19
- make the default compression level a config option
- Update libucl to latest version
It contains only `lib` and gets replaced in so many wrong places it is
a bad idea to have it.
Differential Revision: https://reviews.freebsd.org/D29138
* PyQt5: update to 5.15.3
This is a minor feature and bug-fix release. There are corresponding releases of the other PyQt5-related packages.
- Added the missing QImage.setAlphaChannel().
- Support for the QtNetworkAuth library has been moved to a separate PyQtNetworkAuth package.
- Wheels no longer bundle the corresponding Qt libraries and instead automatically install them from an external wheel.
* QScintilla2: update to 2.12.0
This adds support for Qt6 and removes support for Qt4.
- Change the new distname (again)i due to a conflict
- Use the new sip-build system
* devel/py-qtbuilder: update to 1.9.0
* devel/py-sip: fix flavor for sip-distinfo
PR: 253865
Exp-run by: antoine
20.12.3 Releases
Over 120 individual programs plus dozens of programmer libraries and feature
plugins are released simultaneously as part of KDE’s release service.
Its aim is to simplify the use of MPI in the ports Makefile.
It makes it easier to provide an option for the user to choose between MPICH and
OpenMPI when applicable.
Note: mpich2 and openmpi3 are not handled, because they will be deprecated.
Differential Revision: D28210
Usage:
USES=kodi[:noautoplist]
Notes:
- Addonname should match PORTNAME or you will need to set KODI_ADDON
- pkg-plist is autogenerated (use USES=kodi:noautoplist to avoid this)
- essential dependencies are added automatically
PR: 253448
Reviewed by: rene