gle

今度こそほんまもんのgleである。

$ brew list gle
/usr/local/Cellar/gle/3.1.1/include/GL/gle.h
/usr/local/Cellar/gle/3.1.1/lib/libgle.2.dylib
/usr/local/Cellar/gle/3.1.1/lib/libgle.a
/usr/local/Cellar/gle/3.1.1/lib/libgle.dylib
/usr/local/Cellar/gle/3.1.1/share/doc/ (81 files)
/usr/local/Cellar/gle/3.1.1/share/man/ (14 files)

たまたまgleの official site をみたら Githubソースコードのレポジトリーを移動したとのことなので、早速 issue へクレームを書き込んだら、PR作ってくれと言われ、仕方なくPRを出したら、ものの2分も経たないうちに即効マージされたでござる。
「Win32でテストしてませんよ」って書いておいたのだが、「自分もWindowsのことはわからん。だが、だめだったら報告が来るだろうからその時に対応すればいい」とのこと。そんなヤバゲでアレゲな方針でいいのか。
さらにautoreconfした時のバグを教えてあげたら、キレ気味に「autotoolsなんか使っている人が何人居るんだ」と開き直ったので「じゃあ何でそんな機能作り込んであるんだよ」と言いたかったけど大人の対応したら、その日のうちに指摘した部分を直してやがった。もうあんまり関わらんでおこう。

2017.11/12 追記

OpenGL Frameworkとリンクしているのに、install nameにOpenGL Frameworkの名前がないという不具合を解消しました。

$ otool -L /usr/local/Cellar/gle/3.1.1/lib/libgle.2.dylib
/usr/local/Cellar/gle/3.1.1/lib/libgle.2.dylib:
	/usr/local/opt/gle/lib/libgle.2.dylib (compatibility version 4.0.0, current version 4.1.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)




The following script installs GLE on OSX with Homebrew.

class Gle < Formula
  desc "OpenGL programming API"
  homepage "http://linas.org/gle/"
  url "https://github.com/linas/glextrusion.git", :revision => "4e0dcf8d8da8856ee50ebdaa15aeb69273ecb310"
  version "3.1.1"

  depends_on "autoconf" => :build
  depends_on "automake" => :build
  depends_on "libtool" => :build
  depends_on "pkg-config" => :build
  depends_on "swig" => :build

  resource "config" do
    url "https://opensource.apple.com/source/pyobjc/pyobjc-26/pyobjc/PyOpenGL-2.0.2.01/src/gle/config.h"
    sha256 "424025f7779b3d643c73e66c0c88d7562b43e00f0b1a36b41c403bf0c47b7a8b"
  end

  resource "Makein" do
    url "https://opensource.apple.com/source/pyobjc/pyobjc-26/pyobjc/PyOpenGL-2.0.2.01/src/gle/src/Makefile.in"
    sha256 "bf6bdba96cbd8fc28ddf5124f91bb9a8f588b1b92dde2092bf4c4f2665178a46"
  end
  resource "Makeam" do
    url "https://opensource.apple.com/source/pyobjc/pyobjc-26/pyobjc/PyOpenGL-2.0.2.01/src/gle/src/Makefile.am"
    sha256 "875ff384676499e13d877b18027a289de804d0c36c9f86b10b71f62413e47d2f"
  end

  resource "port" do
    url "https://opensource.apple.com/source/pyobjc/pyobjc-26/pyobjc/PyOpenGL-2.0.2.01/src/gle/src/port.h"
    sha256 "79be9aeb94e4923a0ddc4ba685bd903d5932bfdbb21e87615013c8fd83ecdeca"
  end

  def install
    cp "src/GL/gle.h", "src/"
    # Do not build exaamples.
    inreplace ["Makefile.am", "Makefile.in"], "SUBDIRS = src doc examples man ms-visual-c swig", "SUBDIRS = src doc man ms-visual-c swig"
    resource("port").stage do
      cp "port.h", "#{buildpath}/src/port.h"
    end
    resource("Makein").stage do
      cp "Makefile.in", "#{buildpath}/src/Makefile.in"
    end
    resource("Makeam").stage do
      cp "Makefile.am", "#{buildpath}/src/Makefile.am"
    end
    inreplace ["src/Makefile.in", "src/Makefile.am"], "3:2:0", "3:1:1"
    system "autoreconf", "-vi"
    ENV.append "CPPFLAGS", "-framework OpenGL"
    ENV.append "LDFLAGS", "-framework OpenGL"
    system "./configure", "--disable-debug",
                          "--disable-dependency-tracking",
                          "--disable-silent-rules",
                          "--mandir=#{man}",
                          "--prefix=#{prefix}"
    resource("config").stage do
      cp "config.h", "#{buildpath}/config.h"
    end
    system "make"
    system "make", "install"
  end
end