Skip to content
  • Tijl Coosemans's avatar
    Mk/*: Build with a clean environment · 572f2361
    Tijl Coosemans authored
    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
    572f2361
To find the state of this project's repository at the time of any of these versions, check out the tags.