aboutsummaryrefslogtreecommitdiff
path: root/Mk/Scripts
Commit message (Collapse)AuthorAgeFilesLines
* Mk/Uses: Add electron.mk and companion scriptsHiroki Tagato2025-12-212-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | electron.mk and companion scripts for making it easier to port Electron-based applications. The electron.mk addresses the following obstacles in porting: - Need to adapt to different node package managers used in a project (npm, yarn, and pnpm) Different package managers have different commands and options. With electron.mk, porters don't have to worry about those differences using USE_ELECTRON=npm feature. - Need to create an archive of necessary node modules and host the file somewhere online An Electron-based project usually needs to install node modules using "npm install" command during the build phase. We can't allow this because "npm install" involves network access. So we had to pre-generate an archive of necessary node modules and host it somewhere online. electron.mk eliminates the necessity by locally generating the archive of the node modules on-the-fly at a host building the port during the fetch phase. - Need to adapt to different package builders used (electron-builder, electron-packager, and electron-forge) Different package builders have different commands and options. With electron.mk, porters don't have to worry about those differences using USE_ELECTRON=build feature. PR: 291321 Reviewed by: arrowd Approved by: portmgr (implicit) Differential Revision: https://reviews.freebsd.org/D54005
* security/openssl32: Revert "Remove expired port"Matthias Andree2025-10-011-3/+1
| | | | | | | | This reverts commit 38010f8c963447fe75bb7965f62e61e8f0e37c87. I am removing the patch because it contains unapproved changes to Mk/ while the approval for the following is pending: PR: 289938
* security/openssl32: Remove expired portMatthias Andree2025-10-011-1/+3
| | | | | | | | 2025-09-30 security/openssl32: Please use security/openssl35 (LTS) At the same time, update Mk/ infrastructure to remove traces of openssl31 (forgotten at the time when we removed it) and openssl32, and fill in openssl34 openssl35 openssl36 instead.
* Mk/Scripts/cargo-crates-git-common.awk: add support for codeberg.orgHiroki Tagato2025-07-291-0/+20
| | | | | | | | | | This change adds support for URLs beginning with git+https://codeberg.org. Now a rust-based port can pull in its dependent crates from Codeberg.org. PR: 288481 Reviewed by: mikael Approved by: mikael (rust)
* databases/libgdamm5: removeBaptiste Daroussin2025-07-251-1/+0
| | | | | libgdamm5 is depending on gnome components not supported anymore and has no consumers in the ports tree.
* gnome: remove gconfmm from the gnome frameworkBaptiste Daroussin2025-07-241-1/+0
| | | | | gconf is deprecated, and only one consumer is left in the ports tree, this consumer is not using the gnome framework for this dependency.
* check_have_symbols.sh: remove pipefail shell optionAndriy Gapon2025-07-031-1/+0
| | | | | | | | | | | | | | | | | 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
* Mk/Scripts/qa.sh: Fix false positives in LIB_DEPENDS warningsJoseph Mingrone2025-06-161-1/+1
| | | | | | | | | | | | | | | | 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
* Mk/Scripts/qa.sh: Fix typo in commentJoseph Mingrone2025-06-141-1/+1
| | | | Sponsored by: The FreeBSD Foundation
* Mk/Uses/gnome.mk: remove metacity componentBaptiste Daroussin2025-06-111-1/+0
|
* Mk/Uses: rename nautilus3 into nautilus4Olivier Duchateau2025-06-111-1/+1
|
* Mk: add a new HAS_SYMBOL_VERSIONBaptiste Daroussin2025-03-201-0/+27
| | | | | | 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.
* gnome.mk: rename gdkpixbuf2 to gdkpixbuf to prepare for port moveCharlie Li2025-03-171-1/+1
| | | | | | The GTK 1-based gdk-pixbuf has not existed for some time. No functional or package changes.
* KDE: remove reference to kipiMax Brazhnikov2025-02-221-1/+0
|
* Framework: Allow setting the 'vital' flag from a portGleb Popov2025-01-281-1/+2
| | | | | | Approved by: bapt Differential Revision: https://reviews.freebsd.org/D48697 Sponsored by: Future Crew, LLC
* Mk/Scripts/qa.sh: Add warnings for Qt6 componentsJason E. Hale2024-12-151-0/+3
| | | | | | Reviewed by: arrowd, mat Approved by: portmgr (mat) Differential Revision: https://reviews.freebsd.org/D48028
* Scripts/check_leftovers.sh: Remove exceptions for GHCGleb Popov2024-11-081-4/+0
| | | | | | | | | | | | 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
* Mk/Scripts/desktop-categories.sh: fix whitespace issue, alphabetizeRobert Clausecker2024-11-081-2/+2
| | | | | | | | | | 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
* filesystems: add new category for file systems and related utilitiesRobert Clausecker2024-11-062-1/+2
| | | | | | | | | | | | | | | | | | 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
* Mk/Scripts: Fix typosMuhammad Moinur Rahman2024-09-121-1/+1
| | | | Approved by: portmgr (just-fix-it)
* Mk/: Possible values for "ssl" are inconsistentMichael Osipov2024-08-031-0/+4
| | | | | | | 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
* Mk/Scripts/do-users-groups.sh: Make users and groups creation fail-fastMichael Osipov2024-05-031-3/+3
| | | | | | | | | | 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
* Mk/Scripts: Fix qa for manprefixMuhammad Moinur Rahman2024-04-121-5/+2
| | | | | | | As man pages have been moved PREFIX/share/man adjust the qa check. Reported by: eduardo Approved by: portmgr (blanket)
* Mk/Scripts/do-users-groups.sh: Make message endings consistent (cleanup)Michael Osipov2024-04-101-11/+11
| | | | | Approved by: jrm (mentor), otis (mentor), rene (portmgr) Differential Revision: https://reviews.freebsd.org/D44694
* Mk/Scripts/do-depends.sh: Avoid make -D flagTijl Coosemans2024-03-061-2/+2
| | | | | | | | | | | | | | | | 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
* Mk/Scripts: Add qa check for man pagesMuhammad Moinur Rahman2024-02-291-1/+12
| | | | | | | | | | | | 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
* Features/debuginfo.mk: Automatically generate a subpackage with debugging info.Gleb Popov2024-02-032-5/+14
| | | | | | | Differential Revision: https://reviews.freebsd.org/D43515 Tested by: flo Approved by: portmgr, emaste
* Scripts/qa.sh: fine tune USES=ssl recommendationFernando Apesteguía2024-01-201-4/+8
| | | | | | | | | 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
* component: add SUBPACKAGESLuca Pizzamiglio2024-01-013-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* www/kf5-kdewebkit: Remove expired portMuhammad Moinur Rahman2023-12-311-8/+7
| | | | 2023-12-31 www/kf5-kdewebkit: Depends on deprecated www/qt5-webkit
* dialog: force UTF-8 localeBaptiste Daroussin2023-10-111-2/+2
| | | | | | | 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
* config: switch from dialog4ports to portconfigBaptiste Daroussin2023-10-101-2/+2
| | | | | | | | | | | | 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>
* Mk/Scripts/cargo-crates-git-configure.awk: Generate the patch.crates-io ↵Mikael Urankar2023-10-081-7/+11
| | | | | | | | | | | | 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
* cargo.mk: Strip vV from GitHub tags only when followed by a digitTobias Kortkamp2023-10-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Mk/Scripts/qa.sh: Fix typoPo-Chuan Hsieh2023-09-221-1/+1
| | | | Approved by: portmgr (blanket)
* sanity: warn about unnused LIB_DEPENDS entriesTobias C. Berner2023-09-121-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | `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
* Mk: depulicate WWW informationBaptiste Daroussin2023-08-211-9/+1
| | | | | | | | | | | | 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
* devel/llvm: recommend USES=llvm for stage-qaJan Beich2023-08-101-1/+1
|
* www/py-django: drop unused stage-qa check after ff89f3f090b3Jan Beich2023-08-101-3/+0
| | | | Depending on non-existent ports is already illegal.
* lang/julia: allow consumers after fed755e222a5Jan Beich2023-08-101-3/+0
| | | | Only one Julia version is currently supported, so it's not a meta port.
* lang/mono: convert to a meta port after 6c225bcc570eJan Beich2023-08-101-0/+3
| | | | | | | - Removing everything in favor of RUN_DEPENDS - Add QA check to prevent future consumers PR: 251795
* framework: Fix fetch-url-list and fetch-urlall-listMateusz Piotrowski2023-07-121-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Mk/Scripts: Fix ports depends-list.shAndrew "RhodiumToad" Gierth2023-06-131-3/+3
| | | | | | | | | | | | | | | | 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
* Mk/Scripts: Add quotes to $0 in the stripped() function in qa.shYuri Victorovich2023-06-051-1/+1
| | | | | | | | This is a followup to the previous patch that fixed the bug with missing unstripped file suggestions. PR: 270398 Suggested by: mat@
* Mk/Scripts: Fix the 'stripped' check from 'make check-plist' to report all ↵Yuri Victorovich2023-06-021-1/+1
| | | | | | | | | | | | | | | | | | | 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)
* strip_RECORD.py: move to Mk/ScriptsCharlie Li2023-03-091-0/+46
| | | | Requested by: mat
* x11/budgie: + Budgie desktop environment.Olivier Duchateau2023-03-041-0/+1
| | | | | | | | | | | | | 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
* Mk/Scripts/makesum.sh: Fix for distinfo files with nothing but a TIMESTAMPTijl Coosemans2022-12-251-1/+1
| | | | PR: 267904
* Mk/Scripts: Fix potential error creating .metadir/+DESCBryan Drewery2022-12-141-7/+9
| | | | | | | | | | 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
* Uses/cargo: Fix invalid WRKSRC for crates fetched from GitLab with tagTobias Kortkamp2022-10-081-2/+9
| | | | | | | | | | | | | | | | | | 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