Sha256: 3d5893c562204937a3e16f97b126a1ba5e4d5936f4c46ba5f999b86cc8683192
Contents?: true
Size: 1.49 KB
Versions: 5
Compression:
Stored size: 1.49 KB
Contents
# frozen_string_literal: true require "mini_portile2" module LibarchiveBinary FORMATS = { "arm64-apple-darwin" => "Mach-O 64-bit dynamically linked shared library arm64", "x86_64-apple-darwin" => "Mach-O 64-bit dynamically linked shared library x86_64", "aarch64-linux-gnu" => "ELF 64-bit LSB shared object, ARM aarch64", "x86_64-linux-gnu" => "ELF 64-bit LSB shared object, x86-64", "x86_64-w64-mingw32" => "PE32+ executable (DLL) (console) x86-64, for MS Windows", }.freeze ARCHS = { "arm64-apple-darwin" => "arm64", "x86_64-apple-darwin" => "x86_64", }.freeze LIBNAMES = { "x86_64-w64-mingw32" => "libarchive.dll", "x86_64-linux-gnu" => "libarchive.so", "aarch64-linux-gnu" => "libarchive.so", "x86_64-apple-darwin" => "libarchive.dylib", "arm64-apple-darwin" => "libarchive.dylib", }.freeze class BaseRecipe < MiniPortile def initialize(name, version) super @printed = {} end def apple_arch_flag(host) fl = ARCHS[host] fl.nil? ? "" : " -arch #{fl}" end def cflags(host) "CFLAGS=-fPIC#{apple_arch_flag(host)}" end def ldflags(host) "LDFLAGS=-fPIC#{apple_arch_flag(host)}" end def message(text) return super unless text.start_with?("\rDownloading") match = text.match(/(\rDownloading .*)\((\s*)(\d+)%\)/) pattern = match ? match[1] : text return if @printed[pattern] && match[3].to_i != 100 @printed[pattern] = true super end end end
Version data entries
5 entries across 5 versions & 1 rubygems