NOTE: these are only added if the related variables are defined by the port.
This should ease the configuration of launcher shell scripts used for Java
application ports, when they are using javavmwrapper to invoke a JVM. From now,
a simple launcher that suits most of the Java application ports can be writen
using the following scheme:
#!/bin/sh
JAVA_VERSION="%%JAVA_VERSION%%" \
"%%LOCALBASE%%/bin/java" -jar "%%JAVAJARDIR%%/myport.jar" "$@"
As mentioned above, this is of course only correct provided that the port
defines JAVA_VERSION.
Approved by: glewis (co-maintainer)
conflicts with the default values for JAVA_BUILD and JAVA_RUN. Those variables
are indeed set a default value when none of the them (together with
JAVA_EXTRACT) is defined. Having USE_ANT set a value for JAVA_BUILD will cause
JAVA_RUN not to be set its default value.
This has RUN_DEPENDS not correctly set (missing the JDK entry) on many ports
that use USE_ANT.
This patch addresses this issue by moving the statements dealing with default
values to have them executed before USE_ANT handling.
Approved by: glewis (co-maintainer)
this patch, for instance:
$ cd /usr/port/devel/apache-ant
$ make JAVA_HOME=toto
apache-ant-1.6.2: Environement error: "JAVA_HOME" should not be defined.
*** Error code 1
PR: 70914
Reported by: Rong-En Fan <rafan@infor.org>
Approved by: glewis (co-maintainer)
building the port but not added to BUILD_DEPENDS)
- Use ${VAR:U} to test YES/NO values a more simple way
- Refactor: Jikes now has its own sub-stages (error-handling and support)
together in Stage 6
- New variable to be used by porters (and used internally by bsd.java.mk),
HAVE_JIKES
Approved by: glewis (mentor)
performing all of the recent changes.
. Add to the header comment to document JAVASHAREDIR, JAVAJARDIR and
JAVALIBDIR.
. Add a definition for JAVALIBDIR. This is where other ports have
installed their JAR files (a port should install in JAVAJARDIR but
look for other JARs in JAVALIBDIR).
Java-based port with ant, using MAKE_ENV, MAKE_ARGS and ALL_TARGET but
using ant instead of make. When a port is built this way it also
causes ant to respect the JDK selected by bsd.java.mk rather than
using the JDK that ant was build with.
Most ports should just be able to do
USE_ANT= yes
You may also need to set ALL_TARGET if your port doesn't use the
default ant target.
See the comments on USE_ANT at the head of bsd.java.mk for more
information.
PR: 59997
Reviewed by: hq (who spotted a bug and provided the comments
documenting USE_ANT).
got spammed in the update to bsd.java.mk 2.0. They replace .BEGIN blocks
with check-makevars:: targets.
PR: 68516
Submitted by: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
PLIST_SUB.
. Define java utility variables such as JAVA, JAVAC, JAVAH, APPLETVIEWER,
etc. conditionally (?=) rather than explicitly (=). This is in line with
both bsd.port.mk and the earlier version of bsd.java.mk.
Reviewed by: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
. Added '-bootclasspath ${JAVA_CLASSES}' to the command-line for JAVAC when
jikes is used as a substitute for javac.
PR: 66349
Submitted by: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
line with bsd.port.mk and prevents errors when ${OSVERSION} is (somehow)
undefined.
Problem report from: Thomas Abthorpe <thomas@stthomas.stthomasanglican.org>
. Make the USE_JIKES setting to actually work.
. Simplified backwards compatibility with the old bsd.java.mk.
. Allowed java dependency selection with JAVA_PREFERRED_PORTS.
. More error checking on variable settings.
. Allowed USE_JAVA=yes to work without specifying a version.
. Expanded the meta-info for the individual ports so the full version
is now available, among other things.
Submitted by: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
. Use the appropriate command variable (e.g. ${SED}) rather than the raw
command itself. Most of the files in Mk appear to do this, although
there are some exceptions. Certainly bsd.port.mk does.
The one exception is uniq, for which there isn't yet a defined variable.
PR: 65210
Submitted by: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
bsd.java.mk now provides a new set of macros to be used by ports that
require a JDK. When USE_JAVA is set, the following variables may be set
in order to give to precision regarding the requirements of the port:
- JAVA_VERSION: A list of space-separated suitable java versions for the
port. An optional "+" allows you to specify a range of versions.
(allowed values: 1.1[+] 1.2[+] 1.3[+] 1.4[+])
- JAVA_OS: A list of space-separated suitable JDK port operating systems
for the port. (allowed values: native linux)
- JAVA_VENDOR: A list of space-sperated suitable JDK port vendors for
the port. (allowed values: freebsd bsdjava sun ibm blackdown)
- JAVA_BUILD: When set, it means that the selected JDK port should be
added to build dependencies for the port.
- JAVA_RUN: This variable works exactly the same as JAVA_BUILD but
regarding run dependencies.
Here are some of the macros defined after setting USE_JAVA:
- JAVA_PORT: The name of the JDK port (e.g. java/jdk14)
- JAVA_HOME: The home of the JDK port in the local base
- JAVA_PORT_VERSION: The version of the JDK port.
- JAVA_PORT_OS: The operating system used by the JDK port.
- JAVA_PORT_VENDOR: The vendor of the JDK port.
- And many macros for the commonly used java executables, such as JAVA,
JAVAC, JAVADOC, JAVAH, RMID, JAR...
bsd.java.mk 2.0 is backward compatible with the previous version. Using
the new features is strongly encouraged, since the old bsd.java.mk 1.0
features will be deprecated and removed in the near future.
You will find more detailed info (as well as a quick tutorial) at:
http://www.esil.univ-mrs.fr/~hquiroz/freebsd/bsd.java.mk-2.0.html
If you experience any problems with java based ports that you believe
is due to this change then please let me know.
PR: 63511
Submitted by: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
* Add ghostscript knobs [1]
* Add per-port persistent build options with a menu-driven front-end [2]
* Allow porters to override the message generated when do-configure fails [3]
* Add patch to obviate many pkg-plist files [4]
* Fix the PKG_DBDIR comment [5]
* Make ports framework more robust with regard to make index [6]
* Add new command macros to bsd.port.mk [7]
* Remove direct command use from bsd.port.mk [8]
* Make the ports system respect WITHOUT_CPU_CFLAGS [9]
* Break the SDL code out into bsd.sdl.mk [10]
* Add working support for USE_SIZE [11]
* Fix RANDOMIZE_MASTER_SITES on -CURRENT [12]
* Convert some spaces to tabs [13]
* Add new physcial categories accessibility and x11-themes [14]
* Speed up GNU configure scripts [15]
* Remove "//" from MLINKS items in PLISTs and fix make -s install and
make -s deinstall [16]
* Be more specific about looking for files in distinfo [17]
* Add new run-autotools target, and resort configure targets [18]
* Make CONFLICTS compare prefix for installed packages and PREFIX [19]
* Change directory to ${.CURDIR} before running certain make commands [20]
* When INSTALL_AS_USER is set, run ldconfig with failures ignored [21]
* Speed up the security check phase [22]
* Fix some corner cases in the PORTDOCS code [23]
* Add a new DEPRECATED macro [24]
* Make INDEX breakage more informative [25]
Look for a full write-up to follow on ports@ and ports-developers@.
PR: 36112 [1]
59909 [4]
61351 [6]
59058 [7]
59058 [8]
59493 [9]
55494 [10]
59058 [11]
59315 [12]
59058 [13]
59811 [15]
59058 [16]
59058 [17]
60882 [18]
58149 [19]
59058 [20]
61133 [21]
55331 [22]
59070 [23]
59362 [24]
59626 [25]
Submitted by: linimon [1]
eivind [2]
marcus [3]
trevor [4]
gerald [5]
linimon [6]
eik [7]
eik [8]
jeh [9]
edwin [10]
eik [11]
Sergey Matveychuk <sem@ciam.ru> [12]
eik [13]
trevor gnome [14]
adamw [15]
eik [16]
eik [17]
edwin [18]
clement [19]
eik [20]
edwin lev [21]
Eugene M. Kim <ab@astralblue.com> [22]
eik [23]
linimon [24]
eik [25]
would not have been picked up if USE_JAVA was set to "1.3+".
The behaviour is now as follows if USE_JAVA is set to
"1.3+":
- If the setting is 1.3+, then use an already installed 1.3
or 1.4 JDK. If there is no such JDK, then set USE_JAVA to
1.3. The FreeBSD JDK 1.4 is preferred over all other
JDK's.
Noticed by: pav
complete previous commit by adding support of Blackdown and IBM 1.4.1 JDKs
(existing in ports tree for long time), add support for Sun JDK 1.2.2 and
fix/update comments appropriately to this and previous Maxim's commits.
they will not be overridden.
Reviewed by: freebsd-java
Approved by: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
Dave Glowacki <dglo@hyde.ssec.wisc.edu>