mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-09 15:37:56 -05:00
Add jdk16 package (#6050)
Include preflight fake packages in dependency resolver
This commit is contained in:
3
bin/crew
3
bin/crew
@@ -1040,7 +1040,8 @@ end
|
||||
|
||||
def resolve_dependencies_and_install
|
||||
@resolve_dependencies_and_install = 1
|
||||
unless @pkg.is_fake?
|
||||
preflight_fake_packages = ['hunspell', 'imagemagick', 'jdk', 'php']
|
||||
unless @pkg.is_fake? and ! preflight_fake_packages.include?(@pkg.name)
|
||||
# Process preflight block to see if package should even
|
||||
# be downloaded or installed.
|
||||
pre_flight
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Defines common constants used in different parts of crew
|
||||
|
||||
CREW_VERSION = '1.16.0'
|
||||
CREW_VERSION = '1.16.1'
|
||||
|
||||
ARCH_ACTUAL = `uname -m`.strip
|
||||
# This helps with virtualized builds on aarch64 machines
|
||||
|
||||
@@ -3,7 +3,7 @@ require 'package'
|
||||
class Jdk < Package
|
||||
description 'The JDK is a development environment for building applications, applets, and components using the Java programming language.'
|
||||
homepage 'https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html'
|
||||
version '8u281-15.0.2'
|
||||
version '8u301-16.0.2'
|
||||
license 'Oracle-BCLA-JavaSE'
|
||||
compatibility 'all'
|
||||
|
||||
@@ -11,21 +11,25 @@ class Jdk < Package
|
||||
|
||||
def self.preflight
|
||||
jdkver = `java -version 2>&1 | head -1 | cut -d'"' -f2`.chomp
|
||||
unless jdkver.include? 'No such file or directory' or jdkver.include? 'not found'
|
||||
abort "JDK version #{jdkver} already installed.".lightgreen
|
||||
unless jdkver.empty? or jdkver.include? 'No such file or directory' or jdkver.include? 'not found'
|
||||
majver = `java -version 2>&1 | head -1 | cut -d'"' -f2 | cut -d'.' -f1`.chomp
|
||||
majver = '8' if majver == '1'
|
||||
puts "Package jdk#{majver} already installed.".lightgreen
|
||||
abort "Enter `crew remove jdk#{majver} && crew install jdk` to install a different version."
|
||||
end
|
||||
puts
|
||||
puts "Select version:"
|
||||
puts " 8 = JDK 8u281"
|
||||
puts " 8 = JDK 8u301"
|
||||
if ARCH == 'x86_64'
|
||||
puts "11 = JDK 11.0.10"
|
||||
puts "11 = JDK 11.0.12"
|
||||
puts "15 = JDK 15.0.2"
|
||||
puts "16 = JDK 16.0.2"
|
||||
end
|
||||
puts " 0 = Cancel"
|
||||
|
||||
while version = STDIN.gets.chomp
|
||||
case version
|
||||
when '8', '11', '15'
|
||||
when '8', '11', '15', '16'
|
||||
depends_on 'jdk' + version
|
||||
break
|
||||
when '0'
|
||||
|
||||
@@ -18,6 +18,7 @@ class Jdk11 < Package
|
||||
def self.preflight
|
||||
abort "JDK8 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk8"
|
||||
abort "JDK15 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk15"
|
||||
abort "JDK16 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk16"
|
||||
end
|
||||
|
||||
def self.install
|
||||
|
||||
@@ -18,6 +18,7 @@ class Jdk15 < Package
|
||||
def self.preflight
|
||||
abort "JDK8 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk8"
|
||||
abort "JDK11 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk11"
|
||||
abort "JDK16 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk16"
|
||||
end
|
||||
|
||||
def self.install
|
||||
|
||||
57
packages/jdk16.rb
Normal file
57
packages/jdk16.rb
Normal file
@@ -0,0 +1,57 @@
|
||||
require 'package'
|
||||
|
||||
class Jdk16 < Package
|
||||
description 'The JDK is a development environment for building applications, applets, and components using the Java programming language.'
|
||||
homepage 'https://www.oracle.com/java/technologies/javase-jdk16-downloads.html'
|
||||
version '16.0.2'
|
||||
license 'Oracle-BCLA-JavaSE'
|
||||
compatibility 'x86_64'
|
||||
source_url 'SKIP'
|
||||
|
||||
binary_url ({
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/jdk16/16.0.2_x86_64/jdk16-16.0.2-chromeos-x86_64.tar.xz',
|
||||
})
|
||||
binary_sha256 ({
|
||||
x86_64: '7acd295a21ee61486b1ef0baef3eaee1978d296d10cf1f767a0266fabb5c74f5',
|
||||
})
|
||||
|
||||
def self.preflight
|
||||
abort "JDK8 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk8"
|
||||
abort "JDK11 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk11"
|
||||
abort "JDK15 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk15"
|
||||
end
|
||||
|
||||
def self.install
|
||||
jdk_bin = "#{HOME}/Downloads/jdk-#{version}_linux-x64_bin.tar.gz"
|
||||
jdk_sha256 = '630e3e56c58f45db3788343ce842756d5a5a401a63884242cc6a141071285a62'
|
||||
unless File.exists? jdk_bin then
|
||||
puts
|
||||
puts "Oracle now requires an account to download the JDK.".orange
|
||||
puts
|
||||
puts "You must login at https://login.oracle.com/mysso/signon.jsp and then visit:".orange
|
||||
puts "https://www.oracle.com/java/technologies/javase-jdk16-downloads.html".orange
|
||||
puts
|
||||
puts "Download the JDK for your architecture to #{HOME}/Downloads to continue.".orange
|
||||
puts
|
||||
abort
|
||||
end
|
||||
abort 'Checksum mismatch. :/ Try again.'.lightred unless Digest::SHA256.hexdigest( File.read(jdk_bin) ) == jdk_sha256
|
||||
system "tar xvf #{jdk_bin}"
|
||||
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin"
|
||||
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/jdk16"
|
||||
FileUtils.mkdir_p "#{CREW_DEST_MAN_PREFIX}/man1"
|
||||
FileUtils.cd "jdk-#{version}" do
|
||||
FileUtils.rm_f 'lib/src.zip'
|
||||
FileUtils.mv Dir['*'], "#{CREW_DEST_PREFIX}/share/jdk16/"
|
||||
end
|
||||
FileUtils.cd "#{CREW_DEST_PREFIX}/share/jdk16/bin" do
|
||||
system "find -type f -exec ln -s #{CREW_PREFIX}/share/jdk16/bin/{} #{CREW_DEST_PREFIX}/bin/{} \\;"
|
||||
end
|
||||
FileUtils.rm "#{CREW_DEST_PREFIX}/share/jdk16/man/man1/kinit.1" # conflict with krb5 package
|
||||
FileUtils.rm "#{CREW_DEST_PREFIX}/share/jdk16/man/man1/klist.1" # conflict with krb5 package
|
||||
system "compressdoc --gzip -9 #{CREW_DEST_PREFIX}/share/jdk16/man/man1"
|
||||
FileUtils.cd "#{CREW_DEST_PREFIX}/share/jdk16/man/man1" do
|
||||
system "find -type f -exec ln -s #{CREW_PREFIX}/share/jdk16/man/man1/{} #{CREW_DEST_MAN_PREFIX}/man1/{} \\;"
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -24,6 +24,7 @@ class Jdk8 < Package
|
||||
def self.preflight
|
||||
abort "JDK11 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk11"
|
||||
abort "JDK15 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk15"
|
||||
abort "JDK16 installed.".lightgreen if Dir.exists? "#{CREW_PREFIX}/share/jdk16"
|
||||
end
|
||||
|
||||
def self.install
|
||||
|
||||
Reference in New Issue
Block a user