homebrew-fonts/Formula/font-chrone.rb
Matt Troutman 59d8175d75
Fix post_install: use system cp -f to handle existing fonts
Ruby's cp raises EPERM if the target file already exists.
Using system "cp", "-f" overwrites gracefully.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 21:31:49 -06:00

70 lines
2 KiB
Ruby

# typed: false
# frozen_string_literal: true
# This file was generated by the font folder cleanup script
# Do not edit this file directly
# Installs: TTF OTF
class FontChrone < Formula
desc "Font: chrone"
homepage "http://clancy.genet-godzilla.ts.net:8085/Fonts/homebrew-fonts"
url "http://clancy.genet-godzilla.ts.net:8085/Fonts/homebrew-fonts/archive/main.tar.gz"
version "1.0.0"
def install
# Create font directories
(share/"fonts").mkpath
(share/"fonts/truetype").mkpath
(share/"fonts/opentype").mkpath
(share/"fonts/webfonts").mkpath
# Install TTF fonts
Dir.glob("font_files/font-chrone/ttf/*.ttf").each do |font|
system "cp", font, share/"fonts/truetype"
end
# Install OTF fonts
Dir.glob("font_files/font-chrone/otf/*.otf").each do |font|
system "cp", font, share/"fonts/opentype"
end
# Install web fonts
Dir.glob("font_files/font-chrone/web/*.{woff,woff2,eot,svg}").each do |font|
system "cp", font, share/"fonts/webfonts"
end
# Install documentation and other files
(share/"chrone").mkpath
Dir.glob("font_files/font-chrone/other_files/*").each do |file|
system "cp", "-r", file, share/"chrone"
end
end
def post_install
user_fonts = Pathname.new(File.expand_path("~/Library/Fonts"))
user_fonts.mkpath
Dir.glob(share/"fonts/truetype/*.ttf").each do |f|
system "cp", "-f", f, user_fonts.to_s
end
Dir.glob(share/"fonts/opentype/*.otf").each do |f|
system "cp", "-f", f, user_fonts.to_s
end
end
def caveats
<<~EOS
Fonts have been copied to ~/Library/Fonts/ and should appear in Font Book.
Web fonts and other files are available in:
#{share}/fonts/webfonts
#{share}/chrone
EOS
end
test do
assert (share/"fonts/truetype").glob("*.ttf").any?, "No TTF fonts installed"
assert (share/"fonts/opentype").glob("*.otf").any?, "No OTF fonts installed"
assert_predicate share/"chrone", :directory?, "Other files dir missing"
end
end