Files
BMLFS/build-scripts/openjdk.build
2022-04-13 16:23:41 -05:00

120 lines
4.2 KiB
Bash

#! /bin/bash
# openJDK
# Source: https://github.com/openjdk/jdk17u/archive/refs/tags/jdk-17.0.3+5.tar.gz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: prebuilt-jre, lcms,libjpeg-turbo,libpng,giflib,libX11,libXrender
# Recommended: NONE
# Optional: NONE
# For non-GLX/non-X11 system:
# build openjdk as headless by adding :
# --enable-headless-only
# --without-x
# --with-extra-cflags="-DEGL_NO_X11 -DMESA_EGL_NO_X11_HEADERS "
# --with-extra-cxxflags="-DEGL_NO_X11 -DMESA_EGL_NO_X11_HEADERS "
# Still requires X11 headers
bash configure --prefix=/opt/jdk \
--enable-unlimited-crypto \
--disable-warnings-as-errors \
--with-stdc++lib=dynamic \
--with-giflib=system \
--with-lcms=system \
--with-libjpeg=system \
--with-libpng=system \
--with-zlib=system \
--with-debug-level=release \
--with-native-debug-symbols=none \
--with-jvm-variants=server \
--enable-dtrace=no \
--with-version-build="8" \
--with-version-pre="" \
--with-version-opt="MLFS-10.0.0-r0" \
--with-vendor-url="https://github.com/dslm4515/BMLFS" \
--with-vendor-bug-url="https://github.com/dslm4515/BMLFS/issues" \
--with-vendor-vm-bug-url="https://github.com/dslm4515/BMLFS/issues" \
--disable-precompiled-headers \
--with-jobs=4
read -p "Compile?" && make images JOBS=2 &&
sudo -S mkdir -pv $BUILD/opt/jdk
sudo -S cp -r build/linux-*-server-release/images/jdk/* $BUILD/opt/jdk
for s in 16 24 32 48; do
sudo -S install -vDm644 src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
$BUILD/usr/share/icons/hicolor/${s}x${s}/apps/java.png
done
sudo -S mkdir -pv $BUILD/opt/jdk-17.0.3-5 && \
sudo -S ln -vs jdk-17.0.3-5 $BUILD/opt/jdk && \
sudo -S mkdir -pv $BUILD/usr/share/applications && \
cat > /tmp/openjdk-java.desktop << "EOF"
[Desktop Entry]
Name=OpenJDK Java 17.0.3 Runtime
Comment=OpenJDK Java 17.0.3 Runtime
Exec=/opt/jdk/bin/java -jar
Terminal=false
Type=Application
Icon=java
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
NoDisplay=true
EOF
sudo -S mv /tmp/openjdk-java.desktop $BUILD/usr/share/applications/
cat > /tmp/openjdk-jconsole.desktop << "EOF"
[Desktop Entry]
Name=OpenJDK Java 17.0.3 Console
Comment=OpenJDK Java 17.0.3 Console
Keywords=java;console;monitoring
Exec=/opt/jdk/bin/jconsole
Terminal=false
Type=Application
Icon=java
Categories=Application;System;
EOF
sudo -S mv /tmp/openjdk-jconsole.desktop $BUILD/usr/share/applications/
sudo -S mkdir -pv /BMAN/install
sudo -S mkdir -pv /BMAN/opt/jdk
sudo -S mv $BUILD/opt/jdk/man /BMAN/opt/jdk/
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
cat > /tmp/slack-desc << "EOF"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
openjdk: openJDK
openjdk:
openjdk: An open-source implementation of Oracle's Java Standard Edition
openjdk: platform. OpenJDK is useful for developing Java programs, and
openjdk: provides a complete runtime environment to run Java programs.
openjdk:
openjdk: https://github.com/openjdk
openjdk:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/openjdk-17.0.3_5-$(uname -m)-mlfs.txz &&
cd /BMAN
cat > /tmp/slack-desc << "EOF"
openjdk-doc: Manuals for openJDK
openjdk-doc:
openjdk-doc: An open-source implementation of Oracle's Java Standard Edition
openjdk-doc: platform. OpenJDK is useful for developing Java programs, and
openjdk-doc: provides a complete runtime environment to run Java programs.
openjdk-doc:
openjdk-doc: https://github.com/openjdk
openjdk-doc:
EOF
sudo -S mv -v /tmp/slack-desc install/
sudo -S makepkg -l y -c n $PKGS/openjdk-doc-17.0.3_5-noarch-mlfs.txz
sudo -S rm -rf ${BUILD}/* /BMAN/*