These exceptions come from the era when we were packaging Haskell libraries.
Registering a Haskell library in the global store results in changes in
package.conf.d and doc directories.
We don't install Haskell libs anymore, so there is no need in these exceptions.
Moreover, both paths are now wrong, because:
- share/doc/ghc-%%GHC_VERSION%% was changed to share/doc/ghc
- lib/ghc-%%GHC_VERSION%%/package.conf.d was changed to lib/ghc-%%GHC_VERSION%%/lib/package.conf.d
The filesystems category houses file systems and file system utilities.
It is added mainly to turn the sysutils/fusefs-* pseudo-category into
a proper one, but is also useful for the sundry of other file systems
related ports found in the tree.
Ports that seem like they belong there are moved to the new category.
Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are
not moved as they currently don't fetch and don't have TIMESTAMP set
in their distinfo, but that is required to be able to push a rename
of the port by the pre-receive hook.
Approved by: portmgr (rene)
Reviewed by: mat
Pull Request: https://github.com/freebsd/freebsd-ports/pull/302
PR: 281988
Fail fast when pw(8) fails to create a user or a group. Especially when it is
not the last command in the pre-install script then the exit code will be 0 and
the failure will go unnoticed.
PR: 267384
Approved by: jrm (mentor)
Differential Revision: https://reviews.freebsd.org/D42719
Both FreeBSD make and GNU make pass command line flags to sub-makes
through the MAKEFLAGS environment variable, but the flags aren't
compatible and GNU make 4.4 exits with an error when it encounters
flags it doesn't understand, e.g. -D.
Avoid using the flag for now until ports run gmake with SETENVI.
This fixes the case where a port is built using make directly and it
recurses to build a dependency that uses gmake. Poudriere does not
use this feature of the ports tree to build dependencies so it's not
affected.
PR: 272216, 277492
portmgr@ has been actively working on moving man pages from
${PREFIX}/man to ${PREFIX}/share/man. Majority of the ports belonging to
non-committers or aliases has been migrated to ${PREFIX}/share/man.
There are still around 1000+ ports remaining mainly from the committers.
portmgr@ has planned to make the hard change after the split of 2024Q3
after which ports that installs man pages in ${PREFIX}/man will no
longer build or will be BROKEN.
Approved by: portmgr
Try to avoid the "you need USES=ssl" in ports that provide a libssl.so or
libcrypto.so libraries themselves like security/openssl or security/libressl.
PR: 270035
Approved by: portmgr (mat@)
Differential Revision: https://reviews.freebsd.org/D41973
This commit add SUBPACKAGES support to the framework.
Fix users of _LICENSE_DIR
Fix multi/dual license
Add annotation to packages about being a subpkg
Make do-depends aware of the subpackages
Add PKGBASE.subpkg variable
Fix actual-package-depends target
Fix dependencies in sub-packages
Implement LICENSE support
Fix PLIST_FILES.subpkg
Make DESCR.subpkg warning message shorter
Add SUBPACKES to the list of OPTIONS_HELPERS
Fix _strip_perms
Simplify METADIR as in the original patch
Fix _PLIST
Fix the case when there are no subpackages
Fix typo
Fix _PKGDIR initialization
Fix PLIST
Fix typo in RE
Fix METADIR
Fix type in PKGFILE
Fix [build|run]-depends-list targets
Initial import of the subpackage framework
This import is based on https://reviews.freebsd.org/D16457
PR: 275735
Differential Revision: https://reviews.freebsd.org/D40549
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
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
`stage-qa` already warns about missing dependencies. However, it does not warn
about possibly unneeded ones.
This change tries to address this, by simply walking the list of linked against
shared libraries and then matching the entries of LIB_DEPENDS against them.
Note: this may lead to false positives -- as always, user your brain,
and don't rely on output of static tools alone.
Possible output might look like:
[...]
====> Running Q/A tests (stage-qa)
Warning: you might not need LIB_DEPENDS on libqgpgme.so
Warning: you might not need LIB_DEPENDS on libintl.so
Warning: you might not need LIB_DEPENDS on libKF5IconThemes.so
Warning: you might not need LIB_DEPENDS on libqca-qt5.so
Warning: you might not need LIB_DEPENDS on libQt5Test.so
[...]
Note, that in this case all are false positives.
Differential Revision: https://reviews.freebsd.org/D27304
Stop duplication the WWW informations within the packages
Since september 2022 the WWW lines has been moved from pkg-descr
to Makefile, however the ports tree continued to push this info
at the end of pkg-descr automatically, which is a duplicated
information.
Differential Revision: https://reviews.freebsd.org/D41523
Reviewed by: mat
The fetch-url-list and fetch-urlall-list targets are meant to produce
a list of URLs from which a port fetches its distfiles and patches.
Currently, those targets were not working as expected as they print
parts of the output meant for other targets like the fetch-list target.
For example:
mateusz.piotrowski@server /ports/x11-servers/xwayland-devel$ make fetch-urlall-list
[...]
mkdir -p "xorg" &&
-o xorg/proto-xorgproto-824001c947cb1962209c6a8f2c63c2637877220d_GL0.tar.gz
[...]
This patch prevents do-fetch.sh from printing the "mkdir" line and the
"-o" line.
While here:
- Remove the outdated comment about escaping. There is no excessive
escaping happening there anymore.
- Indent cases in the case statement to match the style of the rest of
the file.
Reviewed by: pizzamig
Approved by: portmgr (pizzamig)
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D40808
depends-list.sh fails in two ways: one is a simple quoting bug which
causes empty FLAVOR variables to be propagated; the other is that
de-duplication is being done without regard for flavors.
The upshot of these is that where a port depends on a specific flavor
(first bug) or on multiple flavors (second bug, usually caused by build
dependencies) of another port, the constructed dependency list is
incomplete, and so -recursive targets do not do all the required work.
(This is especially annoying for fetch-recursive.)
Reviewed by: portmgr@FreeBSD.org
PR: 269982
Differential Revision: https://reviews.freebsd.org/D40491
Prior to this patch, the 'stripped' check always skipped the first
unstripped file.
It uses the "find [...] -exec sh -c 'readelf -S -- /dev/null $0 "$@" || :' -- {} +"
command. When arguments are passed to shell like this:
"sh -c 'script' arg1 arg2 arg3" - $@ within the script is assigned
to 'arg2 arg3', and $0 is assigned to arg1. This is a quirk in
how shells handle arguments in case when the script is passed
using -c.
This patch adds $0 to account for the first passed file.
PR: 270398
Approved by: portmgr-lurkers (garga)
In some builds it could be possible that pkg-descr is not writable.
We could either install -m 0644 the file over or just let sh create
it.
This change also opens the destination file only once now.
Fixes: ddd0e820c
When using tags the archive fetched from GitLab has the
corresponding commit hash appended to the directory root too.
snui@git+https://gitlab.com/snakedye/snui.git?tag=v0.1.4\#83873f1e148a9c84471c10f166c9a945a44d3e64
would result in
WRKSRC_crate_snui= ${WRKDIR}/snui-v0.1.4
but it must be
WRKSRC_crate_snui= ${WRKDIR}/snui-v0.1.4-83873f1e148a9c84471c10f166c9a945a44d3e64
PR: 266724
Reported by: jbeich
The WWW macro was supposewd to hold only one URL pointing to the most
useful starting point for a user searching for additional information,
configuration examples, etc.
Some port maintainers have set the WWW macro to a list of URLs,
breaking assumptions by scripts and tools in the ports system and of
external users of the ports system.
This change allows WWW to hold a list of URLs by only considering the
first list element in places where only a single URL is supported.
This mirrors the previous behavior of only using the first line tagged
with "WWW: " in the pkg-descr file.
Approved by: portmgr (tcberner)
Differential Revision: https://reviews.freebsd.org/D36558
The format of the manifest file does not allow commas in values.
Since URLs may include commas, they need to be protected against
interpretation of these commas as field separators.
This update unbreaks the package generation for ports that have
a comma in the URL.
Approved by: portmgr (implcit)
Expect the project website or other relevant URL of a port to be
specified in a WWW macro in its Makefile.
This information used to be available in WWW: lines at the end of
each port's pkg-descr file. By moving it into the Makefile, this
value is easier to access, verify, and maintain.
A WWW: line is added to the "desc" element of package manifests
based on the WWW macro value by the create-manifest.sh script.
This restores the previous contents of this line in the manifest
(as e.g. expected by the Freshports website).
The ports-mgmt/portlint port has been updated in commit 9800743f0
(version 2.19.13) to support the planned introduction of WWW in
port Makefiles.
Approved by: portmgr (tcberner)
Differential Revision: https://reviews.freebsd.org/D36434
Reason: 'grep -q SONAME' ends before it drains the pipe, pipe fails
when the remaining output is too long, and 'set -o pipefail'
causes the whole command to fail when it is supposed to succeed.
Remedy: Please apply the attached patch fix-SONAME.patch, or
alternatively remove 'set -o pipefail' from qa.sh
PR: 259992
Approved by: tcberner@ (as portmgr)
- Mk/Uses/go.mk: add support for selecting Go port version in USES=go;
- Mk/bsd.default-versions.mk: add GO_DEFAULT;
- convert lang/go-devel to the master and lang/go{117,118} to slave
ports;
- add lang/go meta-port that provides go and gofmt symlinks to the
current default version.
PR: 264336
Reviewed by: ygy jwb yuri mikael drtr0jan@yandex.ru decke mat
Differential Revision: https://reviews.freebsd.org/D35346
Thursday, 21 April 2022
Welcome to KDE Gear ⚙️ 22.04!
Skip to What’s New
KDE Gear ⚙️ 22.04 brings you all the updates added to a long list of KDE
apps over the last four months. KDE programs allow you to work, create
and play without having to submit yourself to extortionate licenses and
intrusive advertising, or surrender your privacy to unscrupulous
corporations.
Below you will discover a selection of the changes added in the last
four months to software designed to make your life better. But remember,
there is much, much more: games, social media apps, utilities for
communicating, developing and creating stuff… All these things have been
worked on to give you more stability and boost your productivity.
If you want to see a full list of everything we have done, check out the
complete changelog.
WARNING: There’s a lot!
All the details can be found here:
https://kde.org/announcements/gear/22.04.0/
These are fixes Ruby 3.0
Changes were compiled against all dependencies of devel/ruby-gems and
they all built cleanly.
There are five known build failures, all prexisting:
* devel/rubygem-xdg5: requires Ruby 3.0
* devel/rubygem-xdg: requires Ruby 3.1
* graphics/rubygem-objectdetect: port explicitly marked broken
* mail/rubygem-tmail: port explicitly marked broken
* science/cdcl: marked broken, unfetchable
Plus, science/rubygem-ruby-dcl gets skipped because of science/cdcl
PR: 258108
Approved by: ruby (zi@)
A new USES has been added to depend on ImageMagick.
USES=magick
adds a LIB_DEPENDS on graphics/ImageMagick${IMAGEMAGICK_DEFAULT}.
If a specific version is required, use for example
USES=magick:6 resp. USES=magick:7
If only a build, run or test is required, use for example
USES=magick:build resp. USES=magick:6,build,test
If a dependency on the nox11 flavor is required, use for example
USES=magick:nox11 resp. USES=magick:7,nox11,run,test
See magick.mk for more details on the available flags.
The tree has been completely converted to make use of this.
Approved by: bapt
Differential Revision: https://reviews.freebsd.org/D32754
The pipeline
readelf -d "${dep_file}" | grep -q SONAME
can fail because grep -q closes the output early resulting sigpipe being
sent to readelf. Other possible solutions are to turn off pipefail for
the file or remove the -q grep argument.
Credit to ashish@ for the detective work to discover the root cause of
this.
Differential Revision: https://reviews.freebsd.org/D31211
Reviewed by: emaste
Approved by: bapt (portmgr) mat (portmgr)
Git sources from `Cargo.lock` are added to `CARGO_CRATES` through
the normal mechanism of `make cargo-crates` by the porter. They
are used to populate `MASTER_SITES`, `DISTFILES` with static
git-archive(1) tarballs a la `USE_GITHUB`, `USE_GITLAB`. In the
configure phase we generate `[patch]` sections in the config file
which will cause `cargo update` to auto-update `Cargo.lock` to point
to the appropriate extraction directories.
Normally `cargo update` would connect to the network to update all
Git sources but since rust-1.55.0 our cargo has been patched to
skip this when `CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE` is set in the
environment.
This replaces the old `CARGO_USE_GITHUB`, `CARGO_USE_GITLAB` hacks
where this was done by editing all `Cargo.toml` with sed(1) calls.
Additionally, we try to automatically infer the individiual crate
sub-directories inside the Git sources based on `package.name` in
`Cargo.toml` to remove the need for `CARGO_GIT_SUBDIR`.
USES=cargo also now sets `WRKSRC_crate_$name` for each crate to
point to the crate extraction directories.
PR: 256581
Reviewed by: jbeich