Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openjdk-21: initial package release #6394

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions cross/cups/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ PKG_NAME = cups
PKG_VERS = 2.3.3
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS)-source.$(PKG_EXT)
PKG_DIST_SITE = https://github.com/apple/$(PKG_NAME)/releases/download/v$(PKG_VERS)
PKG_DIST_SITE = https://github.com/apple/cups/releases/download/v$(PKG_VERS)
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

HOMEPAGE = https://www.cups.org/
COMMENT = CUPS printing system
COMMENT = CUPS printing system.
LICENSE = GPLv2

PRE_CONFIGURE_TARGET = cups_pre_configure
Expand Down Expand Up @@ -36,5 +36,5 @@ include ../../mk/spksrc.cross-cc.mk

.PHONY: cups_pre_configure
cups_pre_configure:
$(RUN) aclocal -I config-scripts
$(RUN) autoconf -f -I config-scripts
@$(RUN) aclocal -I config-scripts
@$(RUN) autoconf -f -I config-scripts
27 changes: 0 additions & 27 deletions cross/cups/PLIST
Original file line number Diff line number Diff line change
@@ -1,35 +1,8 @@
rsc:bin/cups-config
bin:bin/ippeveprinter
bin:bin/ipptool
rsc:include/cups/adminutil.h
rsc:include/cups/array.h
rsc:include/cups/backend.h
rsc:include/cups/cups.h
rsc:include/cups/dir.h
rsc:include/cups/file.h
rsc:include/cups/http.h
rsc:include/cups/ipp.h
rsc:include/cups/language.h
rsc:include/cups/ppd.h
rsc:include/cups/pwg.h
rsc:include/cups/raster.h
rsc:include/cups/sidechannel.h
rsc:include/cups/transcode.h
rsc:include/cups/versioning.h
lib:lib/cups/command/ippevepcl
lib:lib/cups/command/ippeveps
lnk:lib/libcupsimage.so
lib:lib/libcupsimage.so.2
lnk:lib/libcups.so
lib:lib/libcups.so.2
rsc:share/locale/ca/cups_ca.po
rsc:share/locale/cs/cups_cs.po
rsc:share/locale/de/cups_de.po
rsc:share/locale/en/cups_en.po
rsc:share/locale/es/cups_es.po
rsc:share/locale/fr/cups_fr.po
rsc:share/locale/it/cups_it.po
rsc:share/locale/ja/cups_ja.po
rsc:share/locale/pt_BR/cups_pt_BR.po
rsc:share/locale/ru/cups_ru.po
rsc:share/locale/zh_CN/cups_zh_CN.po
136 changes: 136 additions & 0 deletions cross/java-21-openjdk/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
PKG_NAME = java-21-openjdk
JAVA_REPO_NAME = jdk21u
JAVA_NAME = jdk
JAVA_RELEASE = 11
JAVA_VERSION = 21.0.5
PKG_VERS = $(JAVA_VERSION).$(JAVA_RELEASE)
PKG_EXT = tar.gz
PKG_DIST_NAME = $(JAVA_NAME)-$(JAVA_VERSION)+$(JAVA_RELEASE).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/openjdk/jdk21u/archive
PKG_DIR = $(JAVA_REPO_NAME)-$(JAVA_NAME)-$(JAVA_VERSION)-$(JAVA_RELEASE)

# build instructions:
# https://openjdk.java.net/groups/build/doc/building.html

BUILD_DEPENDS = native/openjdk-21
# Dependencies required at build time only:
BUILD_DEPENDS += cross/cups
BUILD_DEPENDS += cross/alsa-lib
BUILD_DEPENDS += cross/libX11
BUILD_DEPENDS += cross/libXrender
BUILD_DEPENDS += cross/libXrandr
BUILD_DEPENDS += cross/libXtst
BUILD_DEPENDS += cross/libXt

# REMARKS:
# for a (currently) unknown reason, building in the cross folder fails
# - it does not find system libraries like libjpeg, libpng, ...
# but building as package dependency in the spk folder works.

# Dependencies used as system dependencies:
DEPENDS = cross/alsa-lib
DEPENDS += cross/fontconfig
DEPENDS += cross/zlib
DEPENDS += cross/libpng
DEPENDS += cross/libjpeg
DEPENDS += cross/giflib
DEPENDS += cross/lcms2

HOMEPAGE = https://openjdk.org/projects/jdk/21/
COMMENT = OpenJDK 21 is the open-source reference implementation of version 21 of the Java SE Platform as specified by JSR 396 in the Java Community Process.
LICENSE = GPLv2 with the Classpath Exception

PRE_CONFIGURE_TARGET = java-21-openjdk_pre_configure
PRE_COMPILE_TARGET = java-21-openjdk_pre_compile
POST_INSTALL_TARGET = java-21-openjdk_post_install

CONFIGURE_ARGS = --openjdk-target=$(TC_TARGET)
CONFIGURE_ARGS += --with-boot-jdk=$(WORK_DIR)/../../../native/openjdk-21/work-native/jdk-21
CONFIGURE_ARGS += --with-version-build=$(JAVA_RELEASE)
CONFIGURE_ARGS += --with-version-pre=
CONFIGURE_ARGS += --with-version-opt=LTS
CONFIGURE_ARGS += --with-native-debug-symbols=none
CONFIGURE_ARGS += --prefix=$(INSTALL_PREFIX)
CONFIGURE_ARGS += --with-zlib=system
CONFIGURE_ARGS += --with-libjpeg=system
CONFIGURE_ARGS += --with-giflib=system
CONFIGURE_ARGS += --with-libpng=system
CONFIGURE_ARGS += --with-lcms=system
CONFIGURE_ARGS += --with-alsa=$(INSTALL_DIR)/$(INSTALL_PREFIX)
CONFIGURE_ARGS += --with-stdc++lib=dynamic
CONFIGURE_ARGS += --disable-javac-server
CONFIGURE_ARGS += --disable-warnings-as-errors
CONFIGURE_ARGS += --with-cups=$(INSTALL_DIR)/$(INSTALL_PREFIX)
CONFIGURE_ARGS += --with-fontconfig=$(INSTALL_DIR)/$(INSTALL_PREFIX)
CONFIGURE_ARGS += --with-freetype=system
CONFIGURE_ARGS += --with-freetype-include=$(INSTALL_DIR)/$(INSTALL_PREFIX)/include/freetype2
CONFIGURE_ARGS += --with-freetype-lib=$(INSTALL_DIR)/$(INSTALL_PREFIX)/lib
CONFIGURE_ARGS += --with-extra-cflags="$(CFLAGS) -fno-stack-protector -Wno-deprecated-declarations"
CONFIGURE_ARGS += --with-extra-cxxflags="$(CPPFLAGS) -fno-stack-protector -Wno-deprecated-declarations"
CONFIGURE_ARGS += --with-extra-ldflags="$(LDFLAGS) -Xlinker -z -Xlinker relro -Xlinker -Bsymbolic-functions"
CONFIGURE_ARGS += --disable-manpages
CONFIGURE_ARGS += --with-cacerts-file=/etc/ssl/certs/ca-certificates.crt
CONFIGURE_ARGS += --with-cacerts-src=/etc/ssl/certs
# Disable all GUI related
CONFIGURE_ARGS += --enable-headless-only
# customize for SynoCommunity
CONFIGURE_ARGS += --with-vendor-name=SynoCommunity
CONFIGURE_ARGS += --with-vendor-url=https://synocommunity.com/package/java-21-openjdk
CONFIGURE_ARGS += --with-vendor-bug-url=https://github.com/SynoCommunity/spksrc/issues
CONFIGURE_ARGS += --with-vendor-vm-bug-url=https://github.com/SynoCommunity/spksrc/issues

# arguments not taken from environment
CONFIGURE_ARGS += READELF=$(READELF)
CONFIGURE_ARGS += AR=$(AR)
CONFIGURE_ARGS += STRIP=$(STRIP)
CONFIGURE_ARGS += NM=$(TC_PATH)/$(TC_PREFIX)nm
CONFIGURE_ARGS += OBJCOPY=$(OBJCOPY)
CONFIGURE_ARGS += OBJDUMP=$(OBJDUMP)

# Build images twice, second time with newly built JDK
COMPILE_MAKE_OPTIONS += product-images

# debian patches
# https://udd.debian.org/patches.cgi?src=openjdk-21&version=21.0.5%2B11-1
PATCHES_LEVEL = 1

# Filter out any -jN since java's configure will autodetect number of CPU's
# Use make JOBS=N to set number of CPU's in this package
DISABLE_PARALLEL_MAKE = 1
COMPILE_MAKE_OPTIONS += JOBS=$(NCPUS)

include ../../mk/spksrc.cross-cc.mk

ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH))
# force cross compilation
CONFIGURE_ARGS += --build=x86_64-pc-linux-gnu
PLIST_TRANSFORM = sed -e '/lib\/libjsvml/d' -e '/lib\/server\/classes/d' -e '/jmods\/jdk.internal.vm/d'

# ABI profile for ARM builds:
# arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt, aarch64
else ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH))
CONFIGURE_ARGS += --with-abi-profile=aarch64
PLIST_TRANSFORM = sed -e '/lib\/libjsvml/d' -e '/lib\/server\/classes/d'
else ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH))
CONFIGURE_ARGS += --with-abi-profile=arm-vfp-hflt
PLIST_TRANSFORM = sed -e '/lib\/libjsvml/d' -e '/lib\/server\/classes/d' -e '/jmods\/jdk.internal.vm/d'
endif

.PHONY: java-21-openjdk_pre_configure
java-21-openjdk_pre_configure:
@$(MSG) "- Make configure script executable"
@cd $(WORK_DIR)/$(PKG_DIR) && chmod +x ./configure

.PHONY: java-21-openjdk_pre_compile
java-21-openjdk_pre_compile:
@$(MSG) "- Force openjdk to install into the package install folder"
@sed -i -e "s|\$$(INSTALL_PREFIX)|$(STAGING_INSTALL_PREFIX)|g" $(WORK_DIR)/$(PKG_DIR)/make/Install.gmk

.PHONY: java-21-openjdk_post_install
java-21-openjdk_post_install:
@$(MSG) "- Link binaries into bin folder"
@cd $(STAGING_INSTALL_PREFIX)/bin && ln -sf ../jvm/openjdk-$(JAVA_VERSION)/bin/* .
@$(MSG) "- Add license files"
@cp -pf $(WORK_DIR)/$(PKG_DIR)/LICENSE $(STAGING_INSTALL_PREFIX)/jvm/openjdk-$(JAVA_VERSION)/
@cp -pf $(WORK_DIR)/$(PKG_DIR)/ADDITIONAL_LICENSE_INFO $(STAGING_INSTALL_PREFIX)/jvm/openjdk-$(JAVA_VERSION)/
@cp -pf $(WORK_DIR)/$(PKG_DIR)/ASSEMBLY_EXCEPTION $(STAGING_INSTALL_PREFIX)/jvm/openjdk-$(JAVA_VERSION)/
168 changes: 168 additions & 0 deletions cross/java-21-openjdk/PLIST
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
lnk:bin/jar
lnk:bin/jarsigner
lnk:bin/java
lnk:bin/javac
lnk:bin/javadoc
lnk:bin/javap
lnk:bin/jcmd
lnk:bin/jconsole
lnk:bin/jdb
lnk:bin/jdeprscan
lnk:bin/jdeps
lnk:bin/jfr
lnk:bin/jhsdb
lnk:bin/jimage
lnk:bin/jinfo
lnk:bin/jlink
lnk:bin/jmap
lnk:bin/jmod
lnk:bin/jpackage
lnk:bin/jps
lnk:bin/jrunscript
lnk:bin/jshell
lnk:bin/jstack
lnk:bin/jstat
lnk:bin/jstatd
lnk:bin/jwebserver
lnk:bin/keytool
lnk:bin/rmiregistry
lnk:bin/serialver
bin:jvm/openjdk-21.0.5/bin/*
rsc:jvm/openjdk-21.0.5/conf/
rsc:jvm/openjdk-21.0.5/include/classfile_constants.h
rsc:jvm/openjdk-21.0.5/include/jawt.h
rsc:jvm/openjdk-21.0.5/include/jdwpTransport.h
rsc:jvm/openjdk-21.0.5/include/jni.h
rsc:jvm/openjdk-21.0.5/include/jvmti.h
rsc:jvm/openjdk-21.0.5/include/jvmticmlr.h
rsc:jvm/openjdk-21.0.5/include/linux/jawt_md.h
rsc:jvm/openjdk-21.0.5/include/linux/jni_md.h
rsc:jvm/openjdk-21.0.5/jmods/java.base.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.compiler.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.datatransfer.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.desktop.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.instrument.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.logging.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.management.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.management.rmi.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.naming.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.net.http.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.prefs.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.rmi.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.scripting.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.se.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.security.jgss.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.security.sasl.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.smartcardio.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.sql.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.sql.rowset.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.transaction.xa.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.xml.crypto.jmod
rsc:jvm/openjdk-21.0.5/jmods/java.xml.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.accessibility.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.attach.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.charsets.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.compiler.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.crypto.cryptoki.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.crypto.ec.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.dynalink.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.editpad.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.hotspot.agent.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.httpserver.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.incubator.vector.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.internal.ed.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.internal.jvmstat.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.internal.le.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.internal.opt.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.internal.vm.ci.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.internal.vm.compiler.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.internal.vm.compiler.management.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jartool.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.javadoc.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jcmd.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jconsole.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jdeps.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jdi.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jdwp.agent.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jfr.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jlink.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jpackage.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jshell.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jsobject.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.jstatd.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.localedata.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.management.agent.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.management.jfr.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.management.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.naming.dns.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.naming.rmi.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.net.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.nio.mapmode.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.random.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.sctp.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.security.auth.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.security.jgss.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.unsupported.desktop.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.unsupported.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.xml.dom.jmod
rsc:jvm/openjdk-21.0.5/jmods/jdk.zipfs.jmod
rsc:jvm/openjdk-21.0.5/legal/
rsc:jvm/openjdk-21.0.5/lib/classlist
rsc:jvm/openjdk-21.0.5/lib/ct.sym
bin:jvm/openjdk-21.0.5/lib/jexec
rsc:jvm/openjdk-21.0.5/lib/jfr/default.jfc
rsc:jvm/openjdk-21.0.5/lib/jfr/profile.jfc
rsc:jvm/openjdk-21.0.5/lib/jrt-fs.jar
bin:jvm/openjdk-21.0.5/lib/jspawnhelper
rsc:jvm/openjdk-21.0.5/lib/jvm.cfg
lib:jvm/openjdk-21.0.5/lib/libattach.so
lib:jvm/openjdk-21.0.5/lib/libawt.so
lib:jvm/openjdk-21.0.5/lib/libawt_headless.so
lib:jvm/openjdk-21.0.5/lib/libdt_socket.so
lib:jvm/openjdk-21.0.5/lib/libextnet.so
lib:jvm/openjdk-21.0.5/lib/libfontmanager.so
lib:jvm/openjdk-21.0.5/lib/libinstrument.so
lib:jvm/openjdk-21.0.5/lib/libj2gss.so
lib:jvm/openjdk-21.0.5/lib/libj2pcsc.so
lib:jvm/openjdk-21.0.5/lib/libj2pkcs11.so
lib:jvm/openjdk-21.0.5/lib/libjaas.so
lib:jvm/openjdk-21.0.5/lib/libjava.so
lib:jvm/openjdk-21.0.5/lib/libjavajpeg.so
lib:jvm/openjdk-21.0.5/lib/libjawt.so
lib:jvm/openjdk-21.0.5/lib/libjdwp.so
lib:jvm/openjdk-21.0.5/lib/libjimage.so
lib:jvm/openjdk-21.0.5/lib/libjli.so
lib:jvm/openjdk-21.0.5/lib/libjsig.so
lib:jvm/openjdk-21.0.5/lib/libjsound.so
lib:jvm/openjdk-21.0.5/lib/libjsvml.so
lib:jvm/openjdk-21.0.5/lib/liblcms.so
lib:jvm/openjdk-21.0.5/lib/lible.so
lib:jvm/openjdk-21.0.5/lib/libmanagement.so
lib:jvm/openjdk-21.0.5/lib/libmanagement_agent.so
lib:jvm/openjdk-21.0.5/lib/libmanagement_ext.so
lib:jvm/openjdk-21.0.5/lib/libmlib_image.so
lib:jvm/openjdk-21.0.5/lib/libnet.so
lib:jvm/openjdk-21.0.5/lib/libnio.so
lib:jvm/openjdk-21.0.5/lib/libprefs.so
lib:jvm/openjdk-21.0.5/lib/librmi.so
lib:jvm/openjdk-21.0.5/lib/libsaproc.so
lib:jvm/openjdk-21.0.5/lib/libsctp.so
lib:jvm/openjdk-21.0.5/lib/libsyslookup.so
lib:jvm/openjdk-21.0.5/lib/libverify.so
lib:jvm/openjdk-21.0.5/lib/libzip.so
rsc:jvm/openjdk-21.0.5/lib/modules
rsc:jvm/openjdk-21.0.5/lib/psfont.properties.ja
rsc:jvm/openjdk-21.0.5/lib/psfontj2d.properties
rsc:jvm/openjdk-21.0.5/lib/security/blocked.certs
rsc:jvm/openjdk-21.0.5/lib/security/cacerts
rsc:jvm/openjdk-21.0.5/lib/security/default.policy
rsc:jvm/openjdk-21.0.5/lib/security/public_suffix_list.dat
rsc:jvm/openjdk-21.0.5/lib/server/classes.jsa
rsc:jvm/openjdk-21.0.5/lib/server/classes_nocoops.jsa
lib:jvm/openjdk-21.0.5/lib/server/libjsig.so
lib:jvm/openjdk-21.0.5/lib/server/libjvm.so
rsc:jvm/openjdk-21.0.5/lib/tzdb.dat
rsc:jvm/openjdk-21.0.5/release
rsc:jvm/openjdk-21.0.5/LICENSE
rsc:jvm/openjdk-21.0.5/ADDITIONAL_LICENSE_INFO
rsc:jvm/openjdk-21.0.5/ASSEMBLY_EXCEPTION
3 changes: 3 additions & 0 deletions cross/java-21-openjdk/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
jdk-21.0.5+11.tar.gz SHA1 180c48bf33a50944d3978c0af57bdd7f5448d498
jdk-21.0.5+11.tar.gz SHA256 8d57ea0ba57310fffb9257d8018e54a264d940c472228eb04d37a21b584885ac
jdk-21.0.5+11.tar.gz MD5 e8ff61ad5d077c6c78e99df42b609169
Loading
Loading