mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-09 15:37:56 -05:00
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
60 lines
2.6 KiB
Ruby
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
|