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

development/jdk23: Added (Java Development Kit). #9028

Closed
wants to merge 1 commit into from
Closed
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
14 changes: 14 additions & 0 deletions development/jdk23/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
jdk23 (Java Platform Standard Edition Development Kit)

The Java Platform Standard Edition Development Kit (JDK) includes
both the runtime environment (Java virtual machine, the Java platform
classes and supporting files) and development tools (compilers,
debuggers, tool libraries and other tools). The JDK is a development
environment for building applications, applets and components that
can be deployed with the Java Platform Standard Edition Runtime
Environment.

More details: https://www.oracle.com/java/technologies/downloads/#java23

After installation you will need to log out from the system and log in
back for environment variables get updated.
116 changes: 116 additions & 0 deletions development/jdk23/jdk23.SlackBuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#!/bin/bash

# Slackware build script for jdk23

# Copyright 2024 Ebben Aries <[email protected]>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=jdk23
VERSION=${VERSION:-23}
SEMVER=${SEMVER:-23.0.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}

if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$(uname -m) ;;
esac
fi

if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$SEMVER-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi

set -e

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
else
echo "$ARCH port is not supported"
exit 1
fi

set -e

rm -rf $PKG
mkdir -p $TMP $OUTPUT \
$PKG/{install,etc/profile.d,usr/{lib${LIBDIRSUFFIX},doc/$PRGNAM-$SEMVER}}

cd $PKG/usr/lib${LIBDIRSUFFIX}
tar -xvf $CWD/jdk-$VERSION?linux*.tar.gz
mv $(tar -tf $CWD/jdk-$VERSION?linux*.tar.gz | head -1 | cut -d/ -f1) $PRGNAM-$SEMVER

chown -R root:root $PRGNAM-$SEMVER
find -L $PRGNAM-$SEMVER \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

find $PRGNAM-$SEMVER -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

find $PRGNAM-$SEMVER/man -type f -exec gzip -9q {} \; 2> /dev/null || true
for i in $(find $PRGNAM-$SEMVER/man -type l 2> /dev/null); do ln -s $(readlink $i).gz $i.gz ; rm $i ; done

ln -sf $PRGNAM-$SEMVER/lib/libjawt.so
ln -sf $PRGNAM-$SEMVER/lib/server/libjvm.so
ln -sf $PRGNAM-$SEMVER/lib/libjava.so
ln -sf $PRGNAM-$SEMVER/lib/libawt.so
ln -sf $PRGNAM-$SEMVER/lib/libawt_xawt.so
ln -sf $PRGNAM-$SEMVER/lib/libverify.so

cd ../doc/$PRGNAM-$SEMVER
ln -s ../../lib${LIBDIRSUFFIX}/$PRGNAM-$SEMVER/legal
ln -s ../../lib${LIBDIRSUFFIX}/$PRGNAM-$SEMVER/README.html
ln -s ../../lib${LIBDIRSUFFIX}/$PRGNAM-$SEMVER/release
cat $CWD/$PRGNAM.SlackBuild > $PRGNAM.SlackBuild
cat $CWD/slack-desc > slack-desc

cd $PKG
cat > etc/profile.d/$PRGNAM.sh << EOF
#!/bin/sh
export JAVA_HOME=/usr/lib${LIBDIRSUFFIX}/$PRGNAM-$SEMVER
export MANPATH=\${MANPATH}:\${JAVA_HOME}/man
export PATH=\${PATH}:\${JAVA_HOME}/bin
EOF

cat > etc/profile.d/$PRGNAM.csh << EOF
#!/bin/csh
setenv JAVA_HOME /usr/lib${LIBDIRSUFFIX}/$PRGNAM-$SEMVER
setenv MANPATH \${MANPATH}:\${JAVA_HOME}/man
setenv PATH \${PATH}:\${JAVA_HOME}/bin
EOF

chmod 755 etc/profile.d/*
cat $CWD/slack-desc > install/slack-desc

/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$SEMVER-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
10 changes: 10 additions & 0 deletions development/jdk23/jdk23.info
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
PRGNAM="jdk23"
VERSION="23.0.1"
HOMEPAGE="https://www.oracle.com/technetwork/java/javase/downloads/index.html"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://download.oracle.com/java/23/latest/jdk-23_linux-x64_bin.tar.gz"
MD5SUM_x86_64="ac1e90d98058435df033e21c8f7c119a"
REQUIRES=""
MAINTAINER="Ebben Aries"
EMAIL="[email protected]"
19 changes: 19 additions & 0 deletions development/jdk23/slack-desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 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------------------------------------------------------|
jdk23: jdk23 (Java Platform Standard Edition Development Kit)
jdk23:
jdk23: The Java Platform Standard Edition Development Kit (JDK) includes
jdk23: both the runtime environment (Java virtual machine,
jdk23: the Java platform classes and supporting files) and development tools
jdk23: (compilers, debuggers, tool libraries and other tools).
jdk23: The JDK is a development environment for building applications,
jdk23: applets and components that can be deployed with the
jdk23: Java Platform Standard Edition Runtime Environment.
jdk23:
jdk23: https://developer.oracle.com/java/