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
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>
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
A big Thank You to the original contributors of these ports:
* Akinori MUSHA <knu@FreeBSD.org>
* Alejandro Pulver <alepulver@FreeBSD.org>
* Edwin Groothuis <edwin@freebsd.org>
* Ernst de Haan <znerd@FreeBSD.org>
* Florent Thoumie <flz@FreeBSD.org>
* Gabor Kovesdan <gabor@FreeBSD.org>
* Mark Linimon <linimon@FreeBSD.org>
* Shaun Amott <shaun@inerd.com>
With hat: portmgr
Reported by: mat
symlinks using install's relative symlinks feature.
If you were going through hoops doing things like this to get relative
symlinks:
${LN} -sf ../lib/some/thing ${STAGEDIR}${PREFIX}/bin
You can now use full paths for both the source and destination:
${RLN} ${STAGEDIR}${PREFIX}/libexec/some/thing ${STAGEDIR}${PREFIX}/bin
One caveat is that the source must exist when this is run, because
install needs to run realpath(1) on it.
Sponsored by: Absolight
locale set by the user. Add LANG=C and LC_ALL=C at the beginning of
bsd.port.mk and export them so all commands are executed with the C locale.
LC_ALL=C overrides all other LC_* variables. LANG is used by setlocale(3)
as default value for LC_* variables, so normally it isn't used when LC_ALL
is set, but there's code out there that looks at LANG directly so it's safer
to set it as well. The only commands not captured by this are !=
assignments before any inclusion of bsd.port.*mk.
Introduce USE_LOCALE=<locale> that adds LANG=<locale> and LC_ALL=<locale> to
CONFIGURE_ENV and MAKE_ENV so upstream build systems can be executed with a
different locale (e.g. USE_LOCALE=en_US.UTF-8).
PR: 215882
Exp-run by: antoine
Approved by: portmgr (antoine)
In many cases where objdump is currently used, readelf is a better
choice. Introduce a variable for ports that wish to use it.
Reviewed by: bapt
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D7761
Merge back bsd.pkgng.mk into bsd.port.mk
Add a note about @stopdaemon not being supported anymore
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D693
1) Move -a from XMKMF command variable to a new XMKMF_ARGS variable.
For ports that don't need -a introduce USES=imake:notall.
This way ports no longer have to redefine XMKMF.
2) xmkmf -a runs imake with the flags in IMAKECPPFLAGS as extra arguments
to set CPP, CC and CXX. This creates the top Makefile, and then xmkmf
runs make Makefiles. This Makefiles target runs imake for each
subdirectory but these imake invocations did not have the flags from
IMAKECPPFLAGS so the resulting makefiles used the wrong C preprocessor
when clang is used (/usr/bin/cpp instead of /usr/local/bin/tradcpp).
Instead of letting xmkmf pass IMAKECPPFLAGS from the environment to
imake let imake handle IMAKECPPFLAGS itself just like it handles
IMAKEINCLUDE.
This exposed configure errors in x11-clocks/mouseclock and x11-wm/fvwm.
Approved by: portmgr (bapt)
dialog4ports has been contributed by Ilya A. Arkhipov. It extends dialog(3) to
provide a mixed dialog widget allowing to represent all features provide by the
new options framework.
This allows the ports tree to not anymore depends on dialog(1) from base to configure
the options and be able to improve if needed on all supported plateforms at the same time.
Exp-run by: miwi
- use ${STAT} -f \"%z\" in make makesum to calculate size
- speed up USE_PKGCONFIG by using a more efficient syntax [1]
and test in the order it is most expected to appear: "yes/build"
first, "both" second, "run being the last one.
Reported by: dougb [1]
Exp-Run by: beat
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
PR: ports/116219
Submitted by: edwin
Make USE_DISPLAY more general: set up virtual X server when USE_DISPLAY is
defined and no DISPLAY variable is in environment; pass DISPLAY value in
CONFIGURE_ENV and MAKE_ENV.
PR: ports/116244
Submitted by: edwin
Define ${PW}.
PR: ports/119821
Submitted by: Matthew Seaman <m.seaman@infracaninophile.co.uk>
Move SHA256, MD5, GMAKE and XMKMF to bsd.commands.mk.
PR: ports/119879
Submitted by: edwin
Fix a build failure for ports that define their own MTREE File.
PR: ports/120200
Submitted by: dinoex
Don't recreate mtree symlinks if they are already present.
PR: ports/121681
Submitted by: sobomax
Fix LIB_DEPENDS for libraries whose name contains plus sign. Both intuitive and
old escaped syntax works.
PR: ports/121741 (based on)
Submitted by: fjoe
Disable post-install security checks if DISABLE_SECURITY_CHECK variable is
defined.
PR: ports/122224
Submitted by: Bjoern Koenig <bkoenig@alpha-tierchen.de>
Remove versioned Tcl/Tk categories.
PR: ports/122622
Submitted by: pav
bsd.commands.mk and can be easily reused within the infrastructure.
- Revert old DESTDIR implementation.
- Add a new, fully chrooted DESTDIR implementation as bsd.destdir.mk.
Sponsored by: Google Summer of Code 2007
Approved by: portmgr (pav)