As we discussed in the last meeting, we reset the ports tree and began from scratch, even though this change involves porting all the packages. Starting small and growing gradually, this approach will reduce build times and consequently lower energy consumption in a world affected by climate change. We will add new ports as users needs arise; ok h3artbl33d@
This commit is contained in:
parent
83a0aaf92c
commit
9a3af55370
59377 changed files with 98673 additions and 4712155 deletions
|
@ -1,23 +1,22 @@
|
|||
ONLY_FOR_ARCHS= i386 amd64 aarch64
|
||||
ONLY_FOR_ARCHS= i386 amd64 aarch64 sparc64
|
||||
USE_WXNEEDED= Yes
|
||||
USE_NOBTCFI= Yes
|
||||
DPB_PROPERTIES= parallel
|
||||
|
||||
COMMENT= OpenJDK Software Development Kit v${VERSION_STR}
|
||||
BASE_VER= 11.0.20
|
||||
PATCH_VER= 8
|
||||
BSD_PORT_REL= 1
|
||||
BASE_VER= 11.0.23
|
||||
PATCH_VER= 9
|
||||
BSD_PORT_REL= 2
|
||||
VERSION_STR= ${BASE_VER}+${PATCH_VER}-${BSD_PORT_REL}
|
||||
PACKAGE_VER= ${BASE_VER}.${PATCH_VER}.${BSD_PORT_REL}
|
||||
PKGNAME= jdk-${PACKAGE_VER}
|
||||
PKGSTEM= jdk-11
|
||||
EPOCH= 0
|
||||
REVISION= 0
|
||||
|
||||
DIST_SUBDIR= jdk
|
||||
DISTNAME= jdk-${VERSION_STR}
|
||||
WRKDIST= ${WRKDIR}/jdk11u-jdk-${BASE_VER}-${PATCH_VER}-${BSD_PORT_REL}
|
||||
BOOTJDK_DATE= 20230630
|
||||
BOOTJDK_DATE= 20240331
|
||||
|
||||
CATEGORIES= devel/jdk java
|
||||
|
||||
|
@ -27,8 +26,8 @@ FLAVOR?=
|
|||
HOMEPAGE= http://openjdk.java.net/
|
||||
|
||||
SITES= https://github.com/battleblow/jdk11u/archive/
|
||||
SITES.boot= https://spacehopper.org/mirrors/ \
|
||||
http://www.intricatesoftware.com/distfiles/
|
||||
SITES.boot= http://www.intricatesoftware.com/distfiles/ \
|
||||
https://spacehopper.org/mirrors/
|
||||
|
||||
MAINTAINER= Kurt Miller <kurt@openbsd.org>
|
||||
|
||||
|
@ -45,7 +44,8 @@ NO_TEST= Yes
|
|||
SUPDISTFILES.boot = \
|
||||
openjdk-jdk11u-bootjdk-i386-${BOOTJDK_DATE}.tar.gz \
|
||||
openjdk-jdk11u-bootjdk-amd64-${BOOTJDK_DATE}.tar.gz \
|
||||
openjdk-jdk11u-bootjdk-aarch64-${BOOTJDK_DATE}.tar.gz
|
||||
openjdk-jdk11u-bootjdk-aarch64-${BOOTJDK_DATE}.tar.gz \
|
||||
openjdk-jdk11u-bootjdk-sparc64-${BOOTJDK_DATE}.tar.gz
|
||||
|
||||
COMPILER= base-clang ports-gcc
|
||||
|
||||
|
@ -60,7 +60,8 @@ BUILD_DEPENDS+= jdk->=11v0,<12v0:devel/jdk/11
|
|||
BOOT_JDK= ${LOCALBASE}/jdk-11
|
||||
.else
|
||||
BOOT_JDK_DIST= openjdk-jdk11u-bootjdk-${MACHINE_ARCH}-${BOOTJDK_DATE}.tar.gz
|
||||
. if (${MACHINE_ARCH}==amd64) || (${MACHINE_ARCH}==i386) || (${MACHINE_ARCH}==aarch64)
|
||||
. if (${MACHINE_ARCH}==amd64) || (${MACHINE_ARCH}==i386) || \
|
||||
(${MACHINE_ARCH}==aarch64) || (${MACHINE_ARCH}==sparc64)
|
||||
DISTFILES.boot= ${BOOT_JDK_DIST}
|
||||
. endif
|
||||
MAKE_ENV+= LD_LIBRARY_PATH=${WRKDIR}/bootjdk-libs
|
||||
|
@ -112,6 +113,7 @@ CONFIGURE_ARGS= DOT="" FLOCK="" GIT="" HG="" PANDOC="" \
|
|||
--with-giflib=system \
|
||||
--with-giflib-include=${LOCALBASE}/include \
|
||||
--with-giflib-lib=${LOCALBASE}/lib \
|
||||
--with-stdc++lib=dynamic \
|
||||
--disable-option-checking \
|
||||
--disable-ccache \
|
||||
--disable-hotspot-gtest \
|
||||
|
@ -151,11 +153,11 @@ PKG_ARGS+= -Dci=1
|
|||
PKG_ARGS+= -Dci=0
|
||||
.endif
|
||||
|
||||
JVMARCH= ${MACHINE_ARCH:S/i386/x86/:S/amd64/x86_64/}
|
||||
JVMARCH= ${MACHINE_ARCH:S/i386/x86/:S/amd64/x86_64/:S/sparc64/sparcv9/}
|
||||
BUILDDIR= ${WRKDIST}/build/bsd-${JVMARCH}-normal-server-release
|
||||
IMAGEDIR= ${BUILDDIR}/images/jdk
|
||||
WRKTMP= ${WRKDIR}/tmp
|
||||
|
||||
|
||||
post-extract:
|
||||
sed -i "s|#!/bin/bash|#!\${LOCALBASE}/bin/bash|" ${WRKDIST}/configure
|
||||
chmod +x ${WRKDIST}/configure
|
||||
|
@ -174,7 +176,7 @@ post-build:
|
|||
|
||||
do-install:
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/${PKGSTEM}
|
||||
cd ${IMAGEDIR} && tar -cf - * | tar -C ${PREFIX}/${PKGSTEM} -xf -
|
||||
cd ${IMAGEDIR} && tar -cf - * | tar -C ${PREFIX}/${PKGSTEM} -xf -
|
||||
|
||||
# The bootjdk is the jdk image with some parts deleted
|
||||
# and a copy of the system shared libs needed to run it.
|
||||
|
@ -187,17 +189,19 @@ build-bootjdk: build
|
|||
@${_PBUILD} mkdir -p ${WRKTMP}/bootjdk-libs
|
||||
@cd ${IMAGEDIR} && \
|
||||
tar -cf - * | \
|
||||
${_PBUILD} tar -C ${WRKTMP}/bootjdk -xf -
|
||||
${_PBUILD} tar -C ${WRKTMP}/bootjdk -xf -
|
||||
@cd ${WRKTMP}/bootjdk && \
|
||||
${_PBUILD} rm -rf demo jmods man sample
|
||||
@cd ${WRKTMP}/bootjdk/lib && \
|
||||
${_PBUILD} rm libsplashscreen.so libinstrument.so libawt_xawt.so \
|
||||
liblcms.so libfontmanager.so libjdwp.so libjavajpeg.so
|
||||
${_PBUILD} rm libsplashscreen.so libinstrument.so \
|
||||
libawt_xawt.so liblcms.so libfontmanager.so libjdwp.so \
|
||||
libjavajpeg.so
|
||||
@find ${WRKTMP}/bootjdk/lib ${WRKTMP}/bootjdk/bin \
|
||||
-exec sh -c 'file {} | grep -q ELF && \
|
||||
${_PBUILD} strip -S {}' \;
|
||||
@LD_LIBRARY_PATH="${WRKTMP}/bootjdk/lib" \
|
||||
find ${WRKTMP}/bootjdk -type f -perm -500 -exec ldd {} + 2>/dev/null | \
|
||||
find ${WRKTMP}/bootjdk -type f -perm -500 \
|
||||
-exec ldd {} + 2>/dev/null | \
|
||||
grep rlib | cut -d"/" -f 2-20 | sort -u | grep -v "\.so$$" | \
|
||||
xargs -I % ${_PBUILD} cp /% ${WRKTMP}/bootjdk-libs
|
||||
@cd ${WRKTMP} && \
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
SHA256 (jdk/jdk-11.0.20+8-1.tar.gz) = T7f8zEYqjGWY+gZa6iA6GzA+8bb/r/Ox/bBOKxnjBsw=
|
||||
SHA256 (jdk/openjdk-jdk11u-bootjdk-aarch64-20230630.tar.gz) = 0Y+t94GfrfSHIls9LeH1G1pN45VL3JRQ/fMdFhntIyQ=
|
||||
SHA256 (jdk/openjdk-jdk11u-bootjdk-amd64-20230630.tar.gz) = MwLQzx6Lw5fvzGAyhwmreLwhMTY188J0Oa9xY0AvbdM=
|
||||
SHA256 (jdk/openjdk-jdk11u-bootjdk-i386-20230630.tar.gz) = BsW8OBLxjNzkCCPpWM8mxRSB/wm2YSuSnlpzuH8MIp0=
|
||||
SIZE (jdk/jdk-11.0.20+8-1.tar.gz) = 116277026
|
||||
SIZE (jdk/openjdk-jdk11u-bootjdk-aarch64-20230630.tar.gz) = 113608056
|
||||
SIZE (jdk/openjdk-jdk11u-bootjdk-amd64-20230630.tar.gz) = 114794808
|
||||
SIZE (jdk/openjdk-jdk11u-bootjdk-i386-20230630.tar.gz) = 103778873
|
||||
SHA256 (jdk/jdk-11.0.23+9-2.tar.gz) = 3StfPuSAq7KH17NtXsn6AtPUoTQYKNss4nA1JYyOEf8=
|
||||
SHA256 (jdk/openjdk-jdk11u-bootjdk-aarch64-20240331.tar.gz) = 6skKydxPeLmFShPvL3bEFAhpQCZtABnsr3lZAQNLhBo=
|
||||
SHA256 (jdk/openjdk-jdk11u-bootjdk-amd64-20240331.tar.gz) = jL36o7kWGZ3V92z+P9iuwXjy7/sajPCO0hNQhmPpvfU=
|
||||
SHA256 (jdk/openjdk-jdk11u-bootjdk-i386-20240331.tar.gz) = B/UNqvHV7dTlo00uNzK1DZs1Pxftujj7O0ojDTi3sQ8=
|
||||
SHA256 (jdk/openjdk-jdk11u-bootjdk-sparc64-20240331.tar.gz) = eU7fzUu7xWUcrkacuv25/18rzC/w7grqOL1rW3FzwdM=
|
||||
SIZE (jdk/jdk-11.0.23+9-2.tar.gz) = 116467928
|
||||
SIZE (jdk/openjdk-jdk11u-bootjdk-aarch64-20240331.tar.gz) = 114820919
|
||||
SIZE (jdk/openjdk-jdk11u-bootjdk-amd64-20240331.tar.gz) = 115315575
|
||||
SIZE (jdk/openjdk-jdk11u-bootjdk-i386-20240331.tar.gz) = 104499540
|
||||
SIZE (jdk/openjdk-jdk11u-bootjdk-sparc64-20240331.tar.gz) = 107472498
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
Index: make/autoconf/flags-ldflags.m4
|
||||
--- make/autoconf/flags-ldflags.m4.orig
|
||||
+++ make/autoconf/flags-ldflags.m4
|
||||
@@ -127,12 +127,12 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
if test "x$OPENJDK_TARGET_OS_ENV" = xbsd.openbsd; then
|
||||
AC_MSG_CHECKING([if ld requires -z wxneeded])
|
||||
PUSHED_LDFLAGS="$LDFLAGS"
|
||||
- LDFLAGS="$LDFLAGS -Wl,-z,wxneeded"
|
||||
+ LDFLAGS="$LDFLAGS -Wl,-z,wxneeded -Wl,-z,nobtcfi"
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { }]])],
|
||||
[
|
||||
if $READELF -l conftest$ac_exeext | $GREP WXNEED > /dev/null; then
|
||||
AC_MSG_RESULT([yes])
|
||||
- OS_LDFLAGS="-Wl,-z,wxneeded"
|
||||
+ OS_LDFLAGS="-Wl,-z,wxneeded -Wl,-z,nobtcfi"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
|
@ -5,7 +5,7 @@ get the debug package without bloating the size of the jdk package.
|
|||
Index: make/common/NativeCompilation.gmk
|
||||
--- make/common/NativeCompilation.gmk.orig
|
||||
+++ make/common/NativeCompilation.gmk
|
||||
@@ -1003,9 +1003,7 @@ define SetupNativeCompilationBody
|
||||
@@ -1008,9 +1008,7 @@ define SetupNativeCompilationBody
|
||||
# Setup the command line creating debuginfo files, to be run after linking.
|
||||
# It cannot be run separately since it updates the original target file
|
||||
$1_CREATE_DEBUGINFO_CMDS := \
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
Index: src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp
|
||||
--- src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp.orig
|
||||
+++ src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp
|
||||
@@ -1321,7 +1321,6 @@ address TemplateInterpreterGenerator::generate_native_
|
||||
__ ldr(r10, Address(rmethod, Method::native_function_offset()));
|
||||
address unsatisfied = (SharedRuntime::native_method_throw_unsatisfied_link_error_entry());
|
||||
__ mov(rscratch2, unsatisfied);
|
||||
- __ ldr(rscratch2, rscratch2);
|
||||
__ cmp(r10, rscratch2);
|
||||
__ br(Assembler::NE, L);
|
||||
__ call_VM(noreg,
|
|
@ -1,18 +0,0 @@
|
|||
Add support for detecting the primordial thread
|
||||
|
||||
Index: src/hotspot/os/bsd/os_bsd.cpp
|
||||
--- src/hotspot/os/bsd/os_bsd.cpp.orig
|
||||
+++ src/hotspot/os/bsd/os_bsd.cpp
|
||||
@@ -4407,6 +4407,12 @@ static void current_stack_region(address * bottom, siz
|
||||
os::current_stack_pointer() < *bottom + *size, "just checking");
|
||||
}
|
||||
|
||||
+#ifdef __OpenBSD__
|
||||
+bool os::is_primordial_thread() {
|
||||
+ return (pthread_main_np() == 1);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
address os::current_stack_base() {
|
||||
address bottom;
|
||||
size_t size;
|
|
@ -0,0 +1,19 @@
|
|||
Reduce the number of sched_yield(2) before sleeping 10ms to work-around an
|
||||
issue on sparc64
|
||||
|
||||
Index: src/hotspot/share/gc/shared/gc_globals.hpp
|
||||
--- src/hotspot/share/gc/shared/gc_globals.hpp.orig
|
||||
+++ src/hotspot/share/gc/shared/gc_globals.hpp
|
||||
@@ -376,10 +376,10 @@
|
||||
develop(uintx, PromotionFailureALotInterval, 5, \
|
||||
"Total collections between promotion failures a lot") \
|
||||
\
|
||||
- experimental(uintx, WorkStealingSleepMillis, 1, \
|
||||
+ experimental(uintx, WorkStealingSleepMillis, 10, \
|
||||
"Sleep time when sleep is used for yields") \
|
||||
\
|
||||
- experimental(uintx, WorkStealingYieldsBeforeSleep, 5000, \
|
||||
+ experimental(uintx, WorkStealingYieldsBeforeSleep, 1, \
|
||||
"Number of yields before a sleep is done during work stealing") \
|
||||
\
|
||||
experimental(uintx, WorkStealingHardSpins, 4096, \
|
|
@ -1,14 +0,0 @@
|
|||
Add support for detecting the primordial thread
|
||||
|
||||
Index: src/hotspot/share/runtime/os.hpp
|
||||
--- src/hotspot/share/runtime/os.hpp.orig
|
||||
+++ src/hotspot/share/runtime/os.hpp
|
||||
@@ -508,7 +508,7 @@ class os: AllStatic {
|
||||
// need special-case handling of the primordial thread if it attaches
|
||||
// to the VM.
|
||||
static bool is_primordial_thread(void)
|
||||
-#if defined(_WINDOWS) || defined(BSD)
|
||||
+#if defined(_WINDOWS) || (defined(BSD) && !defined(__OpenBSD__))
|
||||
// No way to identify the primordial thread.
|
||||
{ return false; }
|
||||
#else
|
|
@ -1,19 +0,0 @@
|
|||
Disable stack guarding on the primordial thread because its protections
|
||||
are immutable. Note this will interfere with the primordial thread throwing
|
||||
StackOverflowError exceptions.
|
||||
|
||||
Index: src/hotspot/share/runtime/thread.cpp
|
||||
--- src/hotspot/share/runtime/thread.cpp.orig
|
||||
+++ src/hotspot/share/runtime/thread.cpp
|
||||
@@ -2608,7 +2608,11 @@ size_t JavaThread::_stack_shadow_zone_size = 0;
|
||||
void JavaThread::create_stack_guard_pages() {
|
||||
if (!os::uses_stack_guard_pages() ||
|
||||
_stack_guard_state != stack_guard_unused ||
|
||||
+#ifdef __OpenBSD__
|
||||
+ (os::is_primordial_thread())) {
|
||||
+#else
|
||||
(DisablePrimordialThreadGuardPages && os::is_primordial_thread())) {
|
||||
+#endif
|
||||
log_info(os, thread)("Stack guard page creation for thread "
|
||||
UINTX_FORMAT " disabled", os::current_thread_id());
|
||||
return;
|
|
@ -1,14 +0,0 @@
|
|||
Start using waitid(2)
|
||||
|
||||
Index: src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c
|
||||
--- src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c.orig
|
||||
+++ src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c
|
||||
@@ -259,7 +259,7 @@ Java_java_lang_ProcessHandleImpl_waitForProcessExit0(J
|
||||
return status;
|
||||
}
|
||||
} else {
|
||||
-#if defined(__OpenBSD__)
|
||||
+#if defined(__OpenBSD__) && OpenBSD < 202304
|
||||
return os_waitForProcessExitNoReap(pid);
|
||||
#else
|
||||
/*
|
|
@ -1,24 +0,0 @@
|
|||
Start using waitid(2)
|
||||
|
||||
Index: src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h
|
||||
--- src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h.orig
|
||||
+++ src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h
|
||||
@@ -25,6 +25,10 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
+#ifdef __OpenBSD__
|
||||
+ #include <sys/param.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Declaration of ProcessHandleImpl functions common on all Unix platforms.
|
||||
* 'unix_' functions have a single implementation in ProcessHandleImpl_unix.c
|
||||
@@ -75,6 +79,6 @@ extern void unix_fillArgArray(JNIEnv *env, jobject jin
|
||||
|
||||
extern void os_initNative(JNIEnv *env, jclass clazz);
|
||||
|
||||
-#if defined(__OpenBSD__)
|
||||
+#if defined(__OpenBSD__) && OpenBSD < 202304
|
||||
extern int os_waitForProcessExitNoReap(pid_t pid);
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue