415 Commits

Author SHA1 Message Date
Andriy Gapon
72eb9c0257 check_have_symbols.sh: remove pipefail shell option
There is only one pipeline, with two commands, in the script and the
receiving awk script is carefully written to produce a correct exit
status for any situation.

For that reason pipefail was already redundant.  More than that,
pipefail was actually harmful because the awk script would terminate
early upon detecting success.  Because of that, readelf could get
SIGPIPE and terminate with non-zero status.  "Thanks" to pipefail the
whole pipeline would have non-zero exit status well.

The issue manifested itself as sporadic failures of the script during
bulk poudriere builds.

Discussed with:	bapt
2025-07-03 18:51:58 +03:00
Joseph Mingrone
eb3f437563
Mk/Scripts/qa.sh: Fix false positives in LIB_DEPENDS warnings
To warn when library dependencies may not be required, the proxydeps()
function compares the libraries listed in LIB_DEPENDS with those
reported by ldd.  However, the list from ldd is sanitized to remove
version information from the library names, while the entries from
LIB_DEPENDS are not.  This leads to comparisons such as libreadline.so.8
from LIB_DEPENDS versus libreadline.so from ldd, resulting in false
positives.  Adjust the comparison to avoid such false-positive warnings.

Event:		Kitchener-Waterloo Hackathon 202506
Reviewed by:	emaste, rene
Approved by:	portmgr (rene)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D50860
2025-06-16 20:24:17 -03:00
Joseph Mingrone
9b1d46cf04
Mk/Scripts/qa.sh: Fix typo in comment
Sponsored by:	The FreeBSD Foundation
2025-06-14 17:15:35 -03:00
Baptiste Daroussin
60e57080d5 Mk/Uses/gnome.mk: remove metacity component 2025-06-11 18:09:38 +02:00
Olivier Duchateau
4f5eb42b4a Mk/Uses: rename nautilus3 into nautilus4 2025-06-11 12:07:06 +02:00
Baptiste Daroussin
2ec0ea0e3f Mk: add a new HAS_SYMBOL_VERSION
When a port is tagged with this (should contain the list of libraries
with SYMBOL version) the ports tree will add an extra check that
the built library actually have symbols versions.
2025-03-20 17:49:02 +01:00
Charlie Li
e87d8134a3
gnome.mk: rename gdkpixbuf2 to gdkpixbuf to prepare for port move
The GTK 1-based gdk-pixbuf has not existed for some time.

No functional or package changes.
2025-03-17 00:02:08 -04:00
Max Brazhnikov
40967778d7 KDE: remove reference to kipi 2025-02-22 15:18:02 +03:00
Gleb Popov
b2f07f85ad Framework: Allow setting the 'vital' flag from a port
Approved by:	bapt
Differential Revision: https://reviews.freebsd.org/D48697
Sponsored by:	Future Crew, LLC
2025-01-28 15:02:38 +03:00
Jason E. Hale
ec01959545 Mk/Scripts/qa.sh: Add warnings for Qt6 components
Reviewed by:	arrowd, mat
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D48028
2024-12-15 02:58:54 -05:00
Gleb Popov
c9c6f17d34 Scripts/check_leftovers.sh: Remove exceptions for GHC
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
2024-11-08 22:21:40 +03:00
Robert Clausecker
77d61ade3f Mk/Scripts/desktop-categories.sh: fix whitespace issue, alphabetize
A copy paste error from when the patch set was reworked to name the
category "filesystems" instead of "fs."

Reported by:	danfe
Fixes:		6e2da9672f79f44048d597f0f61e4646cdeade9d
Pull Request:	https://github.com/freebsd/freebsd-ports/pull/302
PR:		281988
2024-11-08 13:36:00 +01:00
Robert Clausecker
6e2da9672f filesystems: add new category for file systems and related utilities
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
2024-11-06 16:17:35 +01:00
Muhammad Moinur Rahman
bca5175cb2
Mk/Scripts: Fix typos
Approved by:	portmgr (just-fix-it)
2024-09-12 17:09:32 +02:00
Michael Osipov
4c51f2b5e4 Mk/: Possible values for "ssl" are inconsistent
Co-authored-by:	Mathieu Arnold <mat@FreeBSD.org>
PR:		278406
Approved by:	jrm (mentor), otis (mentor), mat (portmgr)
Differential Revision:	https://reviews.freebsd.org/D46059
2024-08-03 17:59:49 +02:00
Michael Osipov
4280a82efe Mk/Scripts/do-users-groups.sh: Make users and groups creation fail-fast
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
2024-05-03 09:44:53 +02:00
Muhammad Moinur Rahman
72a9fbf7cb
Mk/Scripts: Fix qa for manprefix
As man pages have been moved PREFIX/share/man adjust the qa check.

Reported by:	eduardo
Approved by:	portmgr (blanket)
2024-04-12 18:02:31 +02:00
Michael Osipov
3887897fba Mk/Scripts/do-users-groups.sh: Make message endings consistent (cleanup)
Approved by:	jrm (mentor), otis (mentor), rene (portmgr)
Differential Revision:	https://reviews.freebsd.org/D44694
2024-04-10 21:01:18 +02:00
Tijl Coosemans
830ec37170 Mk/Scripts/do-depends.sh: Avoid make -D flag
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
2024-03-06 21:22:21 +01:00
Muhammad Moinur Rahman
b18af1280f
Mk/Scripts: Add qa check for man pages
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
2024-02-29 20:52:23 +01:00
Gleb Popov
2c24a73ff2 Features/debuginfo.mk: Automatically generate a subpackage with debugging info.
Differential Revision: https://reviews.freebsd.org/D43515

Tested by:	flo
Approved by:	portmgr, emaste
2024-02-03 09:31:13 +03:00
Fernando Apesteguía
d9fc94dd9d Scripts/qa.sh: fine tune USES=ssl recommendation
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
2024-01-20 19:47:41 +01:00
Luca Pizzamiglio
47564762a3 component: add SUBPACKAGES
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
2024-01-01 22:58:53 +01:00
Muhammad Moinur Rahman
d70baa4455 www/kf5-kdewebkit: Remove expired port
2023-12-31 www/kf5-kdewebkit: Depends on deprecated www/qt5-webkit
2023-12-31 01:06:37 +01:00
Baptiste Daroussin
9fee351280 dialog: force UTF-8 locale
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
2023-10-11 09:56:27 +02:00
Baptiste Daroussin
0e73ed9372 config: switch from dialog4ports to portconfig
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>
2023-10-10 13:58:31 +02:00
Mikael Urankar
8fae936cf5 Mk/Scripts/cargo-crates-git-configure.awk: Generate the patch.crates-io section after parsing all the Cargo.toml files
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
2023-10-08 18:41:17 +02:00
Tobias Kortkamp
6b1b157425
cargo.mk: Strip vV from GitHub tags only when followed by a digit
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
2023-10-02 13:33:25 +02:00
Po-Chuan Hsieh
05b4880d25
Mk/Scripts/qa.sh: Fix typo
Approved by:	portmgr (blanket)
2023-09-22 11:22:14 +08:00
Tobias C. Berner
f3790c0170 sanity: warn about unnused LIB_DEPENDS entries
`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
2023-09-12 20:27:47 +02:00
Baptiste Daroussin
c501f81fa7 Mk: depulicate WWW information
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
2023-08-21 17:50:16 +02:00
Jan Beich
d01ac94bba devel/llvm: recommend USES=llvm for stage-qa 2023-08-10 12:39:11 +02:00
Jan Beich
ac2cd9087f www/py-django: drop unused stage-qa check after ff89f3f090b3
Depending on non-existent ports is already illegal.
2023-08-10 12:39:10 +02:00
Jan Beich
6684f2f2f3 lang/julia: allow consumers after fed755e222a5
Only one Julia version is currently supported, so it's not a meta port.
2023-08-10 12:39:10 +02:00
Jan Beich
4553130a9c lang/mono: convert to a meta port after 6c225bcc570e
- Removing everything in favor of RUN_DEPENDS
- Add QA check to prevent future consumers

PR:		251795
2023-08-10 12:39:09 +02:00
Mateusz Piotrowski
5457f710e8 framework: Fix fetch-url-list and fetch-urlall-list
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
2023-07-12 16:18:21 +02:00
Andrew "RhodiumToad" Gierth
873d4f6f99 Mk/Scripts: Fix ports depends-list.sh
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
2023-06-13 22:09:59 +02:00
Yuri Victorovich
c92e6eff6f Mk/Scripts: Add quotes to $0 in the stripped() function in qa.sh
This is a followup to the previous patch that fixed the bug with
missing unstripped file suggestions.

PR:		270398
Suggested by:	mat@
2023-06-05 08:24:03 -07:00
Yuri Victorovich
67ce8cec00 Mk/Scripts: Fix the 'stripped' check from 'make check-plist' to report all unstripped files
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)
2023-06-01 23:45:29 -07:00
Charlie Li
67de7ad43c
strip_RECORD.py: move to Mk/Scripts
Requested by: mat
2023-03-09 06:18:17 -05:00
Olivier Duchateau
1ccad74cc8 x11/budgie: + Budgie desktop environment.
This is import of complete Budgie desktop, it contains:

  - Uses 'budgie.mk' framework
  - Add virtual category (budgie) in `Mk/bsd.port.mk`
  - Meta-port `x11-wm/budgie`
  - New icon theme `x11-themes/tela-icon-theme`

Reviewed by: rene, tcberner, lbartoletti, arrowd

Differential Revision: https://reviews.freebsd.org/D37224
2023-03-04 21:18:16 +03:00
Tijl Coosemans
4a51f972d1 Mk/Scripts/makesum.sh: Fix for distinfo files with nothing but a TIMESTAMP
PR:		267904
2022-12-25 23:05:55 +01:00
Bryan Drewery
f0191973ea Mk/Scripts: Fix potential error creating .metadir/+DESC
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
2022-12-13 21:11:01 -08:00
Tobias Kortkamp
18052912af
Uses/cargo: Fix invalid WRKSRC for crates fetched from GitLab with tag
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
2022-10-08 14:21:19 +02:00
Stefan Eßer
45530097ae Mk/bsd.port.mk: support multiple URLs in WWW
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
2022-09-21 13:23:44 +02:00
Stefan Eßer
0d7e17c121 Mk/Scripts: protect URL string by enclosing it quotes
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)
2022-09-09 18:46:47 +02:00
Stefan Eßer
ddd0e820c8 Mk/bsd.ports.mk: Add suppport for WWW in Makefiles
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
2022-09-07 21:32:54 +02:00
Yuri Victorovich
6af95e9e48 Mk/Scripts/qa.sh: Bogus 'xx doesn't have a SONAME' messages are printed by stage-qa for some shared libraries
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)
2022-07-09 07:52:33 -07:00
Dmitri Goutnik
3012ca2179 */*: Introduce versioned Go ports
- 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
2022-06-06 13:19:10 -05:00
Tobias C. Berner
e250aeb4a1 KDE: Update KDE Gear to 22.04
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/
2022-04-21 13:26:44 +02:00