corona

主にTGAフォーマット形式の画像ファイルを扱うライブラリーらしい。最後のバージョンがリリースされてから10年以上経っているけれども、たまにメンテされているようで、今でも動くようだ。
付属のshell scriptの改行コードがことごとくWindowsのものになっているのでnkfで変換していますが、こういう時にまずnkfに頼ってしまうのは日本人だからだろう。
例によってTESTがありません。あってもsedを使ってしまっているからHomebrewのPRは通らないでしょう。

The following script installs corona on OSX with Homebrew.

class Corona < Formula
  desc "image reading/writing library for C++"
  homepage "http://corona.sourceforge.net/"
  url "https://downloads.sourceforge.net/project/corona/corona/1.0.2/corona-1.0.2-src.tar.bz2"
  sha256 "1b5da4a78ce54b3c342cc48b7a635c6f57f2a8e93920700f478978c81b6df0f5"

  depends_on "autoconf" => :build
  depends_on "automake" => :build
  depends_on "libtool" => :build
  depends_on "nkf" => :build
  depends_on "pkg-config" => :build
  depends_on "jpeg"
  depends_on "libpng"

  resource "OpenTGA" do
    url "https://sourceforge.net/p/corona/code/259/tree//trunk/corona/src/OpenTGA.cpp?format=raw"
    sha256 "67d5bf08b824407400dc8deab1fed2df38086451ed750d1c020366d5034b5f66"
  end
  resource "Convert" do
    url "https://sourceforge.net/p/corona/code/259/tree/trunk/corona/src/Convert.cpp?format=raw"
    sha256 "21e9624b6935180014e06f250736d673a8782dfb00ab63c8cab7a59fd167a136"
  end
  resource "SavePNG" do
    url "https://sourceforge.net/p/corona/code/258/tree//trunk/corona/src/SavePNG.cpp?format=raw"
    sha256 "6b28ebb27844177e955ca706c3996072040c9e030ddc9c9f95dc9e810a057dce"
  end
  resource "OpenPNG" do
    url "https://sourceforge.net/p/corona/code/256/tree//trunk/corona/src/OpenPNG.cpp?format=raw"
    sha256 "4d5c83821fa3c84d1e423412aa8ef5b65d876d6e2a3a003c26e7b0d21cb8f66f"
  end

  def install
    system "nkf", "--overwrite", "-Lu", "bootstrap"
    inreplace "bootstrap", "libtool", "glibtool"
    system "nkf", "--overwrite", "-Lu", "configure.in"
    system "nkf", "--overwrite", "-Lu", "corona-config.in"
    rm_f ["src/OpenTGA.cpp", "src/Convert.cpp", "src/SavePNG.cpp", "src/OpenPNG.cpp", "SConstruct"]
    resource("OpenTGA").stage{ (buildpath/"src").install "OpenTGA.cpp"}
    resource("Convert").stage{ (buildpath/"src").install "Convert.cpp"}
    resource("SavePNG").stage{ (buildpath/"src").install "SavePNG.cpp"}
    resource("OpenPNG").stage{ (buildpath/"src").install "OpenPNG.cpp"}
    system "./bootstrap"
    system "sed", "-i", "-e",'68,77s/$/\\\\/', "configure.in"
    system "./configure", "--disable-debug",
                          "--disable-dependency-tracking",
                          "--disable-silent-rules",
                          "--prefix=#{prefix}"
    system "make", "install"
  end
end