require 'package' Package.load_package("#{__dir__}/llvm19_build.rb") class Llvm19_lib < Package description 'LibLLVM and llvm-strip' homepage Llvm19_build.homepage version '19.1.7' # When upgrading llvm*_build, be sure to upgrade llvm_lib*, llvm_dev*, libclc, and openmp in tandem. puts "#{self} version differs from llvm version #{Llvm19_build.version}".orange if version != Llvm19_build.version license Llvm19_build.license compatibility 'all' source_url 'SKIP' binary_compression 'tar.zst' binary_sha256({ aarch64: '121376f71ddaecf39d6df13097b6e086cef515f1e656b0855f41aa438c70bf6f', armv7l: '121376f71ddaecf39d6df13097b6e086cef515f1e656b0855f41aa438c70bf6f', i686: 'ad4b390cd3c589ef6b8be8a563ffc6ffb7eece97ce6ff55f25db5dfaafd04528', x86_64: '29c4fb9a2642e76a379c9112a734df1fac7ee75a71782b4c68f82b235b3f00b6' }) depends_on 'gcc_lib' # R depends_on 'glibc' # R depends_on 'libedit' # R depends_on 'libffi' # R depends_on 'libxml2' # R depends_on 'llvm19_build' => :build depends_on 'zlib' # R depends_on 'zstd' # R conflicts_ok no_shrink no_source_build no_strip def self.install puts 'Installing llvm19_build to pull files for build...'.lightblue @filelist_path = File.join(CREW_META_PATH, 'llvm19_build.filelist') abort 'File list for llvm19_build does not exist!'.lightred unless File.file?(@filelist_path) @filelist = File.readlines(@filelist_path, chomp: true).grep(/^(?!#)/) @filelist.each do |filename| next unless (filename.include?('.so') && filename.include?('libLLVM')) || filename.include?('llvm-strip') @destpath = File.join(CREW_DEST_DIR, filename) @filename_target = File.realpath(filename) FileUtils.install @filename_target, @destpath end end end