| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Thanks again to jbeich for noticing various things I overlooked.
Reviewed by: acm, ashish, eduardo, ehaupt, eugen, jbeich, martymac, mat, nobukata, sunpoet, tagattie, yuri, arrowd, kde
Differential Revision: https://reviews.freebsd.org/D45141
|
|
|
|
| |
This reverts commit 274cd4df4dcce0a9aa78da47bb6e35ab3dbcbf8c.
|
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D44487
|
|
|
|
|
|
| |
Reviewed by: portmgr (mat)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45607
|
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D44793
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For each feature (see in Mk/Features) users can now set these variables
in their make.conf. Using LTO as an example.
To enable globally:
WITH_LTO= yes
To disable globally (for example ssp is enabled by default):
WITHOUT_LTO= yes
To enable for a specific list of ports:
WITH_LTO_PORTS= lang/perl5.36
To disable for a specific list of ports:
WITHOUT_LTO_PORTS= lang/perl5.36
Differential Revision: https://reviews.freebsd.org/D44750
|
|
|
|
| |
This reverts commit d697653cffd19ddaf3cdee2589a830c72ab39777.
|
|
|
|
|
| |
PR: 277603
Approved by: portmgr
|
|
|
|
| |
PR: 276478
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And remove it from individual ports. Use WRK_ENV in custom build
commands where necessary.
FreeBSD make(1) includes /usr/share/mk/sys.mk and that includes
/etc/make.conf if it exists. This happens when you run make in a port
directory but it also happens when the upstream build system uses make.
This commit disables make.conf inclusion in the latter case because
users can define variables like CFLAGS in make.conf that override ports
framework variables and this can cause problems that are difficult to
diagnose.
If there are any build customisations made through make.conf that stop
working because of this commit then they should be made available by the
ports tree through some mechanism, e.g. an option in a port.
Some ports were picking up variables from Poudriere make.conf and
required fixes:
- astro/wmspaceweather x11-clocks/wmcalclock: Add OPSYS to MAKE_ENV.
- games/zhlt: Add ARCH to MAKE_ENV.
- graphics/tachyon: Upstream ARCH is not ports tree ARCH.
Set ALL_TARGET=bsd so upstream ARCH is defined correctly.
Enable multi-threading support while here.
PR: 277455
Exp-run by: antoine
|
|
|
|
|
|
|
|
| |
This is noop since the ports tree does nothing with the variables
anymore for a while
Reviewed by: mat
Differential Revision: https://reviews.freebsd.org/D44252
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both our make and gmake use the MAKEFLAGS environment variable but the
values aren't compatible and the latest version of gmake complains about
that. To rule out that any environment variable can cause problems like
this, add a new command SETENVI=/usr/bin/env -i that clears the
environment, and use it to run upstream build systems with a clean
environment.
Introduce a new variable WRK_ENV that contains the environment to use
with SETENVI in all targets that run upstream build commands. Variables
that are common between CONFIGURE_ENV and MAKE_ENV could be moved to
WRK_ENV but for now it just contains a minimal environment:
HOME=${WRKDIR}: Fixes USES=elixir ports that were using the user's HOME.
OSVERSION: For cross building; determines the output of uname -K and
getosreldate(3); affects net/freebsd-telnetd for example.
PATH: Fixes USES=gem ports that were using the user's PATH.
PWD=$${PWD}: Preserve current working directory; affects USES=go ports.
TERM: To preserve colored output to terminals.
TMPDIR: For users who define that.
UNAME_*: For cross building; determines the output of uname(1); affects
lang/python* for example.
This commit deals with everything under Mk/. Ports that have their own
targets running upstream build commands can switch to SETENVI later.
The ports tree adds its definition of ARCH to the MAKEFLAGS environment
variable, which is interpreted by sub-makes as command line arguments,
which means that any definition of ARCH in upstream makefiles was
overridden. The following ports required fixes now that this is no
longer the case.
games/iortcw, games/q3cellshading, games/tremulous:
These use Quake 3 engine code. Fix use of ARCH. Reduce diff between
FreeBSD code and Linux code.
games/legesmotus:
Remove ARCH related patches.
lang/ocaml:
Patch configure script so it detects amd64 correctly. Also make the
powerpc case consistent with the other architectures. This also affects
other ocaml ports like devel/ocaml-ocamlbuild and math/ocaml-num that
include a Makefile.config installed by lang/ocaml. While here, use
SETENVI in check-test target.
net/libnatpmp:
Use of upstream definition of ARCH triggers installation in PREFIX/lib64
on amd64. Disable this.
PR: 276478
Approved by: portmgr (antoine)
Exp-run by: antoine
|
|
|
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D43949
Sponsored by: Serenity Cybersecurity, LLC
|
|
|
|
|
|
|
|
|
| |
Setting WITH_TESTING=yes will cause running `make test` between `stage` and
`package` in the default pipeline.
This feature is off by default.
Sponsored by: Serenity Cybersecurity, LLC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before subpackages, when running package there where 2 cases:
case 1: ${PACKAGES} directory exist:
packages are created in the work/pkg directory then copies into
${PACKAGES} directory
case 2: ${PACKAGES} does not exist:
packages where only created in work/pkg
After subpackages in the case 2, the packages get copied into the
directory actually running the make package comment.
This change makes the framework behave like before subpackages
Reported by: Antonio Huete Jimenez (tuxilio from Dragonfly irc
channel)
|
|
|
|
|
|
|
|
|
| |
if the ports has flavors and subpackages then the list of names
are properly displayed 1 per line, but if the ports as no flavors
then it reported everything inline, breaking pkg version and
probably other tools
Reported by: many
|
|
|
|
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D43515
Tested by: flo
Approved by: portmgr, emaste
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For historical reasons FreeBSD had been using PREFIX/man to install man
pages and a variable MANPREFIX was utilized to do this. While the rest
of the UNIX/Linux world had been mostly using PREFIX/share. As the
first step of moving to PREFIX/share/man this commit removes all the
references to the MANPREFIX variable. Apart from MAKE_ARGS this
variable no longer exists and should not be used to refer to PREFIX
anymore in the future.
The entire shift to PREFIX/share/man will take some more times as there
are around 4000 ports which installs man page to PREFIX/man.
PR: 276551
Approved by: portmgr (exp-run)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Can be activated/deactivated globally via
WITH_SANITIZE
Can be activated individualy via
WITH_SANITIZE_PORTS
Each port can individually mark itself as not supporting the feature
via SANITIZE_UNSAFE=
Approved by: bapt, arrowd
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D43497
|
|
|
|
|
|
|
|
| |
Since FreeBSD 12 has been EOLed, the built-in make(1) variables
.MAKE.UID and .MAKE.GID are always available.
PR: 276259
Approved by: arrowd
|
|
|
|
|
|
|
|
|
| |
This allows enabling any feature supported by Ports Framework for a selected
ports. It was only possible to do WITH_DEBUG_PORTS before.
Differential Revision: https://reviews.freebsd.org/D43369
Approved by: bapt
|
|
|
|
|
|
|
|
|
| |
MAN?PREFIX where confusing (people kept messing around with them)
did not bring any real value or functionnality.
Reviewed by: portmgr (mat)
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D43392
|
|
|
|
|
|
|
|
|
|
|
| |
Before subpackages was introduced, flavors-package-names was printing
the full <name>-<version>, a regression was introduced with subpackages
which made it print <name>.
One of the side effect of this is pkg version -v -P was determining all
the ports as orphaned.
Reported by: stephen@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
Also move conditional flags for non sparc64/arm ARCH to fixed flags.
Reviewed by: brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068
|
|
|
|
|
|
|
|
| |
Remove duplicate pkg_depends when generating a JSON description of the three
Approved by: delphij@
Fixes: 3d9f300e01f5ecdb140027096c603623264ecc07
Differential Revision: https://reviews.freebsd.org/D42373
|
|
|
|
|
|
| |
Follow up to 3d9f300e01f5ecdb140027096c603623264ecc07.
Approved by: portmgr@ (bapt@ via mail)
|
|
|
|
| |
While here, spell two common Latin contractions properly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Create "describe-json" target to get a JSON-compliant representation of the
ports tree.
It can be invoked from a single port directory, a category directory or from the
ports tree top directory.
It supports FLAVORS. E.g. It is possible to execute the following:
cd math/qalculate-qt && make describe-json-qt6
Performance-wise it is equivalent to a simple "make describe" although it
offers a more complete vision of the port in an easily parseable format.
Times for describe:
1345.39 real 933.06 user 403.01 sys
1317.00 real 929.22 user 406.43 sys
1316.83 real 930.82 user 404.70 sys
1316.75 real 928.05 user 407.39 sys
1316.58 real 930.69 user 404.59 sys
Times for describe-json:
1320.38 real 924.80 user 414.48 sys
1320.66 real 926.14 user 413.41 sys
1320.41 real 924.08 user 415.30 sys
1320.37 real 922.96 user 416.35 sys
1320.25 real 924.25 user 414.95 sys
Some examples assuming the output is saved in the `describe.json` file.
Show all ports in the "accessibility" category:
jq '.accessibility' describe.json
Show ports in the "accessibility" category with a USES=iconv dependency:
jq '.accessibility.[] | select(.uses | index("iconv")) | .pkgorigin' describe.json
Show ports in the tree that Uses=kmod:
jq '.[].[] | select(.uses | index("kmod")) | .pkgorigin' describe.json
Show ports having a LIB_DEPENDS on devel/binutils:
jq '.[].[] | select(.lib_depends | map(test("devel/binutils")) | any) | .pkgorigin' describe.json
Show ports in the "database" category which have no maintainer and are marked as
deprecated:
jq '.databases.[] | select(.maintainer=="ports@FreeBSD.org" and .deprecated!=" ") | .pkgorigin, .deprecated' describe.json
Approved by: portmgr (bapt@)
Differential Revision: https://reviews.freebsd.org/D42131
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`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
|
|
|
|
|
|
|
| |
Approved by: portmgr (implicit), salvadore (gcc ports)
Reviewed by: jbeich
Differential Revision: https://reviews.freebsd.org/D40845
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since quite some time, it's possible to download generated tarballs from
gitlab for a tag name without knowing the corresponding git hash. This
is preferable because you have a single source of truth about the
software version.
Support this by replacing GL_COMMIT with GL_TAGNAME which also accepts a
commit hash, similar to USE_GITHUB. Unfortunately, there's a catch, the
DISTFILE must be named exactly: ${GL_PROJECT}-${GL_TAGNAME}.tar.bz2,
otherwise it extracts in a directory that contains the commit hash. So,
we can't add the gitlab account or the revision suffix to make it work.
Therefore, detect whether GL_TAGNAME contains a commit hash, and if it
does, use the old behavior of deriving DISTNAME and DISTFILES.
Document in CHANGES, also add a DEV_WARNING similar to USE_GITHUB when
there's an URL in MASTER_SITES that looks like a gitlab URL. With
support for tags, there shouldn't be any reason left to hardcode such an
URL in MASTER_SITES.
PR: 248967
Approved by: portmgr (tcberner, mentor)
Differential Revision: https://reviews.freebsd.org/D37077
|
|
|
|
|
|
|
|
|
|
|
|
| |
The recursive variants of fetch-url-list and fetch-urlall-list provide
a stable interface to a list of all the to-be-accessed URLs. That is
quite handy, e.g., when a list like that is necessary to implement
security policies.
Reviewed by: pizzamig
Approved by: portmgr (pizzamig)
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D40810
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
per-port overrides.
Currently the only way to specify make.conf variables (other than port
options which have their own mechanism) in a per-port fashion is to use
conditionals on .CURDIR, which is fragile since it tends to involve
assumptions about where the ports tree is mounted.
Instead, allow category_portname_VARS= to be set in make.conf to provide
arbitrary assignments when building a specified port. For example one
might use
devel_llvm10_VARS= MAKE_JOBS_NUMBER=2
or
converters_lua-iconv_VARS= TRYBROKEN=yes
This is intended to be consistent with the existing
category_portname_SET= variables for port options, and uses the same
syntax for values as option_VARS= in port makefiles, but without the
case-folding behavior since that makes it impossible to handle
mixed-case or lowercase variable names.
Reviewed by: koobs, mat, adamw, mandree, 0mp
Approved by: portmgr (bapt)
Differential Revision: https://reviews.freebsd.org/D24324
VAR+=val can be used to append to a variable, and VAR@ to unset one entirely.
|
|
|
|
|
|
|
|
|
| |
wrong path
To avoid confusion and silently fix issues that occurs
Reviewed by: mat
Approved by: portmgr (bofh)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Mk/bsd.port.mk: mark FreeBSD 12.3 as unsupported.
- Mk/Uses/cabal.mk: Remove the text-2 workaround for 12.3-RELEASE
- biology/wfa2-lib: remove obsolete patch
- databases/mongodb60: remove IGNORE for EOL FreeBSD 12.3
- devel/concurrencpp: remove workaround for EOL FreeBSD 12.3
- devel/electron22: remove IGNORE for EOL FreeBSD 12.3
- devel/malloy: this should build fine on 12.4-RELEASE
- devel/qcoro: remove BROKEN for EOL FreeBSD 12.3
- devel/root: remove workaround for EOL FreeBSD 12.3
- editors/imhex: remove IGNORE for EOL FreeBSD 12.3
- emulators/ppsspp: remove workaround for EOL FreeBSD 12.3
- emulators/rpcs3: remove workaround for EOL FreeBSD 12.3
- emulators/yuzu: remove workaround for EOL 12.3-RELEASE
- games/aquaria: remove support for EOL FreeBSD 12.3
- games/punchy: remove workaround for EOL FreeBSD 12.3
- graphics/cxxplot: remove support for EOL FreeBSD 12.3
- lang/gcc11*: bump a __FreeBSD_version in libphobos to 1204000
- lang/rust: untangle OSVERSION logic a bit
- misc/mbuffer: remove workaround for EOL FreeBSD 12.3 for aarch64
- sysutils/libdisplay-info: remove workaround for EOL FreeBSD 12.3
- www/*chromium: remove IGNORE for EOL FreeBSD 12.3
- x11/hyprpaper: remove workaround for expired FreeBSD 12.3
- x11-wm/labwc: remove workaround for EOL FreeBSD 12.3
- x11-wm/kwinft: remove workaround for EOL FreeBSD 12.3
- www/iridium: remove IGNORE for EOL FreeBSD 12.3
Differential Revision: https://reviews.freebsd.org/D38664
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
The former respects cpuset, while the latter does not.
$ cpuset -l 1 -- make -V MAKE_JOBS_NUMBER
1
As nproc is newly introduced, keep the previous variant as a fallback
for the time being.
Differential Revision: https://reviews.freebsd.org/D38457
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert the USE_LDAP=yes to USES=ldap and adds the following features:
- Adds the argument USES=ldap:server to add openldap2{4|5|6}-server as
RUN_DEPENDS
- Adds the argument USES=ldap<version> and replaces WANT_OPENLDAP_VER
- Adds OPENLDAP versions in bsd.default-versions.mk
- Adds USE_OPENLDAP/WANT_OPENLDAP_VER in Mk/bsd.sanity.mk
- Changes consumers to use the features
Reviewed by: delphij
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D38233
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch from Mk/bsd.ruby.mk to Mk/Uses/ruby.mk
Notable changes are.
- Mk/bsd.ruby.mk is moved to Mk/Uses/ruby.mk.
- USE_RUBY=yes is replaced with USES=ruby.
- USE_RUBY_EXTCONF is replaced with USES=ruby:extconf.
- USE_RUBY_RDOC is replaced with USES=ruby:rdoc.
- USE_RUBY_SETUP is replaces with USES=ruby:setup.
- RUBY_NO_BUILD_DEPENDS and RUBY_NO_RUN_DEPENDS are replaced with
USES=ruby:{build,none,run}.
- RUBY_REQUIRE isn't used anywhere, so removed.
- USES=gem now implies USES=ruby.
This is mainly the work of yasu@ at https://reviews.freebsd.org/D27863
I have just made some cosmetic changes and ran exp-run to test that the
tree is not in a BROKEN state.
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D37925
|
|
|
|
|
|
|
|
| |
Add check to detect colon in .CURDIR, because it's not supported
this patch detects the colon and shows a proper error message
Reviewed By: #portmgr, tcberner
Differential Revision: https://reviews.freebsd.org/D37500
|
|
|
|
|
|
| |
This fixes make makesum in Linux ports. Uses/linux.mk only defines
MASTER_SITE_SUBDIR if MASTER_SITES is undefined so it was empty in the
submake.
|
|
|
|
|
|
|
|
|
|
| |
This disables bsd.sanity.mk when PACKAGE_BUILDING is set such that it
only is loaded during 'make [all]' or 'make check-sanity'. It is assumed the
package tool will manually call the target if it wants the check. Otherwise
we get redundant logic and filesystem lookups from this file for every other
build target.
Prodded by: mjg
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Update all the consumers to use USES=tex
- USE_TEX=yes is the old way of writing USES=tex which has been removed
and replaced in all ports
- Almost all of the USE_TEX features remains unchanged
- Some consumers had the same variables defined both in the mk
infrastructure and also in the ports which have been removed from the
ports as those are redundant.
In case any of the consumers are failing to build please make sure that
the nexessary USES=tex is there. Unlike previous USE_TEX=yes will no
longer load the required VARS for tex and related dependencies.
Reviewed by: portmgr
Approved by: portmgr (blanket)
|
|
|
|
|
|
|
|
| |
As usual with features, this can be activated/deactivated via
WITH/WITHOUT_<feature>
Each port can individually mark itself as not supporting the feature
via <feature>_UNSAFE=
|
|
|
|
|
|
| |
This will allow utilization of ASLR provided by the kernel.
Sponsored by: Netflix
|
|
|
|
|
|
|
|
|
| |
Save an invocation of id(1) by using the built-in .MAKE.UID variable
instead. Check availability of .MAKE.UID first, since older versions
of bmake (12.x) don't have it yet.
PR: 266942
Approved by: bapt
|
|
|
|
|
|
|
| |
People should use 'make makepatch' instead which creates patches
with the expected filename and header.
Differential Revision: https://reviews.freebsd.org/D36767
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|