Files
chromebrew/packages/openjdk17.rb
Ed Reel 973145c07d Update all no_compile_needed packages (#11896)
Acquia_cli 2.41.0 => 2.41.1

Act 0.2.76 => 0.2.77

Appflowy 0.8.9 => 0.9.1

Btop 1.4.0 => 1.4.3

Bun 1.2.10 => 1.2.13

Cpu_x 5.2.0 => 5.3.0

Crystal 1.16.1 => 1.16.2

Dbeaver 25.0.2 => 25.0.4

Frp 0.62.0 => 0.62.1

Fzf 0.61.1 => 0.61.2

Github_cli 2.70.0 => 2.72.0

Glab 1.55.0 => 1.57.0

Go 1.24.2 => 1.24.3

Gradle 8.13 => 8.14.0

Joplin 3.3.5 => 3.3.12

Nocodb 0.260.5 => 0.263.1

Nushell 0.103.0 => 0.104.0

Nvm 0.40.2 => 0.40.3

Ollama 0.6.5 => 0.6.8

Openjdk17 17.0.14 => 17.0.15

Rclone 1.69.1 => 1.69.2

Rustdesk 1.3.9 => 1.4.0

Shrinkpdf 1.1 => 1.2

Starship 1.22.1 => 1.23.0

Terminus 3.6.2 => 4.0.0

Vscodium 1.99.32562 => 1.100.03093

Zed 0.182.11 => 0.185.15
2025-05-11 13:04:32 +00:00

60 lines
2.6 KiB
Ruby

require 'package'
class Openjdk17 < Package
description 'The JDK is a development environment for building applications, applets, and components using the Java programming language.'
homepage 'https://openjdk.org/'
version '17.0.15'
license 'GPL-2'
compatibility 'all'
# Visit https://www.azul.com/downloads/?version=java-17-lts&package=jdk#zulu to download the binaries.
source_url({
aarch64: 'https://cdn.azul.com/zulu-embedded/bin/zulu17.58.21-ca-jdk17.0.15-c2-linux_aarch32hf.tar.gz',
armv7l: 'https://cdn.azul.com/zulu-embedded/bin/zulu17.58.21-ca-jdk17.0.15-c2-linux_aarch32hf.tar.gz',
i686: 'https://cdn.azul.com/zulu/bin/zulu17.58.21-ca-jdk17.0.15-linux_i686.tar.gz',
x86_64: 'https://cdn.azul.com/zulu/bin/zulu17.58.21-ca-jdk17.0.15-linux_x64.tar.gz'
})
source_sha256({
aarch64: '5b5a5dcd0e0120b1f69b3b056de32f14dabfc5e045d1da8d57e30f0402193157',
armv7l: '5b5a5dcd0e0120b1f69b3b056de32f14dabfc5e045d1da8d57e30f0402193157',
i686: '38f2538d74699eeb2dc6b2e599aa0e219af7508c9b52303b07c41c4294e48361',
x86_64: '0d8a0f58daef02e8014bc47fae4526b038125493c6fb2a90653fcda6e8b71984'
})
no_compile_needed
no_shrink
print_source_bashrc
def self.preflight
jdkver = `java -version 2>&1`[/version "(.*?)"/, 1].to_s
unless jdkver.empty? || jdkver.include?('No such file or directory') || jdkver.include?('not found')
jdkname = `java -version 2>&1`[/(.*?)\s/, 1].to_s
jdkname = 'jdk' if jdkname == 'java'
majver = jdkver[/(\d+)\./, 1].to_s
majver = '8' if majver == '1'
unless jdkname == 'openjdk' && majver == '17'
puts "Package #{jdkname}#{majver} already installed.".lightgreen
abort "Enter `crew remove #{jdkname}#{majver} && crew install openjdk17` to install this version."
end
end
end
def self.install
FileUtils.mkdir_p CREW_DEST_MAN_PREFIX
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/openjdk17"
FileUtils.mv Dir['*'], "#{CREW_DEST_PREFIX}/share/openjdk17/"
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin"
Dir["#{CREW_DEST_PREFIX}/share/openjdk17/bin/*"].each do |binfile|
@basename = File.basename(binfile)
FileUtils.ln_s "#{CREW_PREFIX}/share/openjdk17/bin/#{@basename}", "#{CREW_DEST_PREFIX}/bin/#{@basename}"
end
FileUtils.mv Dir["#{CREW_DEST_PREFIX}/share/openjdk17/man/*"], CREW_DEST_MAN_PREFIX
# Add environment variable.
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d/"
javaenv = <<~EOF
# Java configuration
JAVA_HOME=#{CREW_PREFIX}
EOF
File.write("#{CREW_DEST_PREFIX}/etc/env.d/10-openjdk17", javaenv)
end
end