mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-10 07:57:59 -05:00
51 lines
1.5 KiB
Ruby
51 lines
1.5 KiB
Ruby
require 'package'
|
|
|
|
class Flutter < Package
|
|
description "Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase."
|
|
homepage 'https://flutter.dev/'
|
|
version '3.0.5'
|
|
license 'BSD-3'
|
|
compatibility 'all'
|
|
source_url 'https://github.com/flutter/flutter.git'
|
|
git_hashtag version
|
|
|
|
depends_on 'libglu'
|
|
|
|
no_compile_needed
|
|
|
|
def self.build
|
|
system 'bin/flutter'
|
|
end
|
|
|
|
def self.install
|
|
FileUtils.mkdir_p CREW_DEST_HOME
|
|
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin"
|
|
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/flutter"
|
|
FileUtils.cp_r Dir['.'], "#{CREW_DEST_PREFIX}/share/flutter"
|
|
FileUtils.touch "#{CREW_DEST_HOME}/.flutter_tool_state"
|
|
FileUtils.ln_sf "#{CREW_PREFIX}/share/flutter/bin/dart", "#{CREW_DEST_PREFIX}/bin/dart" unless File.exist? "#{CREW_PREFIX}/bin/dart"
|
|
FileUtils.ln_sf "#{CREW_PREFIX}/share/flutter/bin/flutter", "#{CREW_DEST_PREFIX}/bin/flutter"
|
|
end
|
|
|
|
def self.postinstall
|
|
puts "\nType 'flutter' to get started.\n".lightblue
|
|
end
|
|
|
|
def self.remove
|
|
print 'Would you like to remove the config directories? [y/N] '
|
|
response = $stdin.gets.chomp.downcase
|
|
config_dirs = ["#{HOME}/.flutter", "#{CREW_PREFIX}/share/flutter"]
|
|
config_dirs.each do |config_dir|
|
|
next unless Dir.exist? config_dir
|
|
|
|
case response
|
|
when 'y', 'yes'
|
|
FileUtils.rm_rf config_dir
|
|
puts "#{config_dir} removed.".lightred
|
|
else
|
|
puts "#{config_dir} saved.".lightgreen
|
|
end
|
|
end
|
|
end
|
|
end
|