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
- java/openjdk7* has been removed from the tree since 2022-09-03 however
the relevant codebases in bsd.java.mk has not been removed and the
consumers has also not been updated to use the next jdk version. This
commit updates all relevant consumers to use JAVA_VERSION=8 instead of
JAVA_VERSION=1.7
- Since the introduction of jdk version 18 it looks like similar with
jdk version 8(java version string 1.8). This is prone to error as it
looks similar and is only seperated by a '.'. Remove using
JAVA_VERSION with dotted fomat of java version string and update all
consumers to utilize version 8 instead of 1.8.
Approved by: portmgr (blanket)
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
Adjust ports depending on expired versions of OpenJDK:
- biology/snpeff: 12+ -> 17+
- devel/RStudio: 12 -> 11
- www/closure-compiler: 13 -> 11+
Allow java/openjdk17 to use java/openjdk17-bootstrap on i386
too, this builds just fine on 13.1-i386
Remove jdk12-doc as it is no longer relevant.
Clean up Java version calculations in bsd.java.mk
Reviewed by: jwb, java (glewis)
Differential Revision: https://reviews.freebsd.org/D35280
Anchor the matched patterns to be at the beginning of each word to
prevent unexpected surprises
e.g. with JAVA_VERSION= 17+ it results in _JAVA_VERSION set to
unexpected "17 8 11 12 13 14 15 16 17 18", instead of "17 18"
PR: 263483
Reported by: jrm
Reviewed by: glewis
Approved by: glewis
Run Tools/scripts/indent_make_if.pl on all of Mk.
These white space changes contribute greatly to the readability of those files.
As we have a version control system, finding out the reasons for the changes
prior to these white space changes is still easily possible
Differential Revision: https://reviews.freebsd.org/D35024
Reviewed by: portmgr (rene, bapt)
java/openjdk6 support was removed from Mk/bsd.java.mk (r512662) and
java/openjdk6 and java/openjdk6-jre were removed from the ports tree
(r512663). Now this patch completely removes remaining stuff from the
ports tree.
PR: 241953 (exp-run)
Reviewed by: glewis
Approved by: portmgr (antoine)
Differential Revision: https://reviews.freebsd.org/D22342
* All 9 and 10 JDKs have been removed and no ports explicitly list either
as a desired version, so remove references to simplify the versioning
substitutions a little.
* Remove comment references to 9 and 10 as possible version specifications.
Note that 9 and 10 aren't actually removed as valid versions as there is
one port with a reference (news/nzbhydra2).
* Add 13 as a valid version.
* Add configuration for openjdk13.
* Modify the construction of _JAVA_VERSION to force 9 and 10 to 11.
Sponsored by: The FreeBSD Foundation
* Remove references to "6" in comments and examples
* Remove java/openjdk6 from the list of Java ports that are considered to
satisfy a dependency
* Don't yet remove "6" as a valid version since many ports have "1.6+" as
a version specifier (although none have just 1.6). Instead force this
to mean "1.7+".
PR: 234792
Sponsored by: The FreeBSD Foundation
* Add configuration for newer versions of the JDK (11, 12)
* Switch to modern Java versioning (e.g. 8 rather than 1.8)
* Retain backwards compatibility with existing version specification
* Support the few ports that set USE_JAVA to the requested version
PR: 237054, 238758 (exp-run)
Currently, validation of JAVA_{VERSION,VENDOR,ERROR} does not constitute an
error and make(1) will happily continue, potentially doing the wrong thing.
Adjust the behavior as follows:
- Only validate each var if it's defined
- Remain verbose about what error exists and what's expected
- Fail the build if validation fails
bsd.java.mk exhibited this behavior up until r217132 inadvertently changed
it to be non-fatal.
PR: 220737
Approved by: portmgr (bdrewery)
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
over java/openjdk8. java/openjdk8 is still in its infancy.
- Retire redundant _JAVA_PREFERRED_PORTS hack. We only have one preferred
port since r290539 and we want to keep it that way.
JAVA_VERSION=1.5
or
JAVA_VERSION=1.5+
The previous revision took this out as a valid version number meaning
that we end up with the non-existent "/bin/java" as the desired JDK.
Expand 1.5 to 1.6 and 1.5+ to 1.6 1.7 for now. This can be reverted
once all the ports are updated.
removal of the different 1.5 jre and jdk vendors
Removing outdated jdk16 vendors:
removing all the bsdjava and freebsd vendors, consider using openjdk6 or
openjsk7 instead.
Discussed with: java (glarkin)