* Disable CompressedClassPointers on aarch64. This fixes the build
on some aarch64 machines where it previously failed, e.g. RPI4,
and doesn't seem to affect the build on others (AWS aarch64 hardware).
This is based on and uses a patch initially created by ronald@
PR: 260187
Tested by: ronald@
During an exp-run for llvm 15 (see bug 265425), it turned out that
java/eclipse failed to build with clang 15:
[INFO] [exec] Building GTK3 bindings:
[INFO] [exec] gmake[1]: Entering directory '/wrkdirs/usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_24/eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.freebsd.amd64/tmpdir'
...
[INFO] [exec] cc -O -Wall -fPIC -DSWT_VERSION=4952r11 -DFREEBSD -DGTK -I`pkg-config --variable=prefix gtk+-3.0`/include -I/usr/local/openjdk11/include -I/usr/local/openjdk11/include/freebsd -DJNI64 -m64 -Werror `pkg-config --cflags gtk+-3.0 gtk+-unix-print-3.0` -c os.c
[INFO] [exec] os.c:10086:31: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
[INFO] [exec] rc = (jint)((jint (*)())arg0)(arg1, arg2, arg3);
[INFO] [exec] ^
[INFO] [exec] os.c:10098:31: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
[INFO] [exec] rc = (jint)((jint (*)())arg0)(arg1, arg2);
[INFO] [exec] ^
[INFO] [exec] os.c:10704:33: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
[INFO] [exec] rc = (jlong)((jlong (*)())arg0)(arg1, arg2, arg3, arg4);
[INFO] [exec] ^
[INFO] [exec] os.c:10716:33: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
[INFO] [exec] rc = (jlong)((jlong (*)())arg0)(arg1, arg2, arg3, arg4, arg5, arg6);
[INFO] [exec] ^
[INFO] [exec] os.c:10728:33: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
[INFO] [exec] rc = (jlong)((jlong (*)())arg0)(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
[INFO] [exec] ^
These -Werror warnings are in code generated by JNIGenerator, so they
cannot directly be fixed (at least not without hacking on JNIGenerator
itself).
Instead we need to add -Wno-deprecated-non-prototype for clang 15 and
higher. To achieve this, we have to pass CFLAGS to MAVEN_ENV, and adjust
the gtk build.sh script to respect the CFLAGS setting in the
environment.
PR: 269034
Approved by: jonc@chen.org.nz (maintainer)
MFH: 2023Q1
In my previous commit 18c6e18 I missed some ports where RUBY was
optional. This commit fixes those missing ports and fixes INDEX build.
Approved by: portmgr
Fixes: 18c6e18 Mk/**ruby.mk: Switch from USE_RUBY=yes to USES=ruby
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
During an exp-run for llvm 15 (see bug 265425), it turned out that
java/openjdk18 failed to build with clang 15:
/wrkdirs/usr/ports/java/openjdk18/work/jdk18u-jdk-18.0.2-9-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:374:41: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
proxies = (*g_proxy_resolver_lookup)(resolver, uri, NULL, &error);
^
/wrkdirs/usr/ports/java/openjdk18/work/jdk18u-jdk-18.0.2-9-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:393:63: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
(*g_network_address_parse_uri)(proxies[i], 0,
^
/wrkdirs/usr/ports/java/openjdk18/work/jdk18u-jdk-18.0.2-9-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:398:70: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
phost = (*g_network_address_get_hostname)(conn);
^
/wrkdirs/usr/ports/java/openjdk18/work/jdk18u-jdk-18.0.2-9-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:399:66: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
pport = (*g_network_address_get_port)(conn);
^
/wrkdirs/usr/ports/java/openjdk18/work/jdk18u-jdk-18.0.2-9-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:435:22: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
(*g_strfreev)(proxies);
^
This is because clang 15 warns by default about functions without
arguments in their prototypes. Fix this by suppressing the warning.
PR: 268373
Approved by: portmgr (tcberner)
MFH: 2022Q4
During an exp-run for llvm 15 (see bug 265425), it turned out that
java/openjdk17 failed to build with clang 15:
/wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.5-8-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:374:41: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
proxies = (*g_proxy_resolver_lookup)(resolver, uri, NULL, &error);
^
/wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.5-8-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:393:63: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
(*g_network_address_parse_uri)(proxies[i], 0,
^
/wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.5-8-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:398:70: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
phost = (*g_network_address_get_hostname)(conn);
^
/wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.5-8-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:399:66: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
pport = (*g_network_address_get_port)(conn);
^
/wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.5-8-1/src/java.base/unix/native/libnet/DefaultProxySelector.c:435:22: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
(*g_strfreev)(proxies);
^
This is because clang 15 warns by default about functions without
arguments in their prototypes. Fix this by suppressing the warning.
PR: 268366
Approved by: portmgr (tcberner)
MFH: 2022Q4
During an exp-run for llvm 15 (see bug 265425), it turned out that
java/openjdk8 failed to build with clang 15:
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:64:30: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion]
INVOKE(SplashLoadMemory, NULL)(pdata, size);
^~~~
/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:60:39: note: expanded from macro 'INVOKE'
#define INVOKE(name,def) _INVOKE(name,def,return)
^~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:57:25: note: expanded from macro '_INVOKE'
if (!proc) { return def; } \
^~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:68:28: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion]
INVOKE(SplashLoadFile, NULL)(filename);
^~~~
/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:60:39: note: expanded from macro 'INVOKE'
#define INVOKE(name,def) _INVOKE(name,def,return)
^~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:57:25: note: expanded from macro '_INVOKE'
if (!proc) { return def; } \
^~~
2 errors generated.
Indeed, instead of the pointer value NULL, the integer value 0 should be
used.
PR: 268223
Approved by: portmgr (tcberner)
MFH: 2022Q4
See also <https://bugs.openjdk.org/browse/JDK-8247766>.
Even though the upstream fix has been applied to this version of the
JDK, some users still report the assertion "guarantee(val < (1U <<
nbits)) failed: Field too big for insn" occurring, when it is built with
recent versions of clang.
Therefore, restore the workaround that uses clang 12 to build the JDK on
aarch64.
PR: 264065
MFH: 2022Q3
The WWW: lines in the pkg-descr files of these ports where not at the
end of those files and have been missed in prior conversion runs.
Approved by: portmgr (implicit)
Commit b7f05445c0 has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.
There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.
The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.
Approved by: portmgr (tcberner)
Recent LLVM versions issue warnings for "|" being used with boolean
operands. Such operations exist in OpenJDK and the source lines are
marked with comments to not use logical operations instead.
This breaks the build on 13.1 and -CURRENT when building with LLVM-13
or newer due to the -Werror option being passed to the compiler.
Fix this issue by casting one of the boolean operands to int, as
suggested by the compiler in the error message for the case that the
"|" operation should actually be used on purpose.
I had submitted this patch as an attachment to PR 265687 on
2022-08-07, but it has been ignored by the maintainer (java team).
PR: 265687
Approved by: portmgr (implicit)
Revert back the revert of the update of rust and related commits
This revert was drive by beside validation by portmgr via exp-run
and not respectful of the etiquette we have between committers
This reverts commit 8ecb1f8141.
This reverts commit 04d257baa1.
This reverts commit 2757c63bd0.
This reverts commit 75f4713de5.
This reverts commit e88e592111.
This reverts commit 783c056d7d.
With hat: portmgr
Go back to using LLVM 12, bin/java built with LLVM 13 crashes with:
* For target jdk__packages_attribute.done:
A fatal error has been detected by the Java Runtime Environment:
SIGILL (0x4) at pc=0x0000000802e3d438, pid=28756, tid=149399
JRE version: (11.0.16+8) (build )
Java VM: OpenJDK 64-Bit Server VM (11.0.16+8-1, mixed mode, tiered, compressed oops, serial gc, bsd-ppc64)
Problematic frame:
V [libjvm.so+0xe3d438] JVM_RaiseSignal+0x446bcc
Revert part of commit 3d803e4460 that should only have affected the
deskutils/calendar port.
This patch that has been committed by accident had already been
attached to PR 265687 to fix the build issue of openjdk11 on -CURRENT,
but it is up to the java@ team to apply this or some other fix.
Approved by: portmgr (implicit)
Update the man page to match the version the -CURRENT base system.
The only change is a better description of the // single line comment
syntax, i.e. that // is only considered to start a comment when it
appears at the start of the line or after white space. This allows to
embed URLs in calendar entries.
Even it's a build-time dependency, it's quite heavy nonetheless.
Since those new launchers are optional (traditional shell-based
versions are still provided), allow users to turn them off.
Reported by: Vyacheslav Olkhovchenkov
It should be fairly easy to make it compatible against Java 8~11, but
that's the task for another day. While here, bump the source/target
version to 1.6 and get rid of bogus `post-patch' target: LOCALBASE is
already passed on the MAKE_ENV.
PR: 264748
This release is 1.5 years overdue and 6 months out-of-date, but is
an important interim step to the 4.24 release due in June 2022.
Massive thanks go to Patrick Mackinlay who resolved the 2 critical
bugs preventing update from coming out sooner!
Author: Jonathan Chen <jonc@chen.org.nz>
PR: 264400
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
The author's properties file (from 2010) sets source- and target-versions
to 1.5, which is too old for JDK-1.7, for example. Instead of
patching the properties-file, overwrite the two settings on
command-line. Use the conservative value of 1.7...