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