diff --git a/Library/Formula/fontforge.rb b/Library/Formula/fontforge.rb index 54e8a59aa616..661a0c605df2 100644 --- a/Library/Formula/fontforge.rb +++ b/Library/Formula/fontforge.rb @@ -4,11 +4,15 @@ class Fontforge < Formula homepage "https://fontforge.github.io" stable do - url "https://github.com/fontforge/fontforge/archive/2.0.20140101.tar.gz" - sha1 "abce297e53e8b6ff6f08871e53d1eb0be5ab82e7" - - depends_on "cairo" => :optional - depends_on :python => :optional + url "https://github.com/fontforge/fontforge/releases/download/20141014/fontforge-20141014.tar.gz" + sha1 "b366293e423a94d213824368460fa80f9a1ad810" + + # Upstream commit allowing non-/Applications app bundle to run. + # Doesn't actually work for me yet in stable - Keep an eye on that. + patch do + url "https://github.com/fontforge/fontforge/commit/bce235d23b8.diff" + sha1 "8ec20f07bbf5f93c052bed7304c6e667046910ef" + end end bottle do @@ -17,19 +21,14 @@ class Fontforge < Formula sha1 "f1ff364ff4e0dc54483a370a8ea54abf150f4f22" => :lion end - head do - url "https://github.com/fontforge/fontforge.git" - - depends_on "zeromq" - depends_on "czmq" - depends_on "cairo" - depends_on :python if MacOS.version <= :snow_leopard - end + head "https://github.com/fontforge/fontforge.git" - option 'with-gif', 'Build with GIF support' - option 'with-x', 'Build with X11 support, building the app bundle' - option 'with-python', 'Build with Python extensions and scripting' + option "with-gif", "Build with GIF support" + option "with-x", "Build with X11 support, building the app bundle" + # Autotools are required to build from source in all releases. + # I have upstreamed a request to change this, so keep monitoring the situation. + # Libtool must be :libltdl or bottling errors occur. depends_on "autoconf" => :build depends_on "automake" => :build depends_on "pkg-config" => :build @@ -44,22 +43,39 @@ class Fontforge < Formula depends_on "giflib" if build.with? "gif" depends_on "libspiro" => :optional depends_on "fontconfig" + # The below two below dependencies are highly unrecommended for now + # https://github.com/fontforge/fontforge/issues/1837 + # They should be made recommended again when functional. + depends_on "zeromq" => :optional + depends_on "czmq" if build.with? "zeromq" + depends_on "cairo" + depends_on :python if MacOS.version <= :snow_leopard fails_with :llvm do build 2336 cause "Compiling cvexportdlg.c fails with error: initializer element is not constant" end + # Fix Fontforge collab tools causing folder to build inside bin + # That folder causes audit build failures + # https://github.com/fontforge/fontforge/pull/1838 + if build.with? "zeromq" + patch do + url "https://github.com/fontforge/fontforge/pull/1838.diff" + sha1 "5e7a848fd035b5b2aa18e9398f755feeb0bfafbb" + end + end + def install args = ["--prefix=#{prefix}"] - args << "--with-x" if build.with? 'x' - unless build.head? - # Cairo & Python are still optional in stable, but not in HEAD. - args << "--without-cairo" if build.without? "cairo" - args << "--disable-python-extension" if build.without? "python" - args << "--disable-python-scripting" if build.without? "python" - end + args << "--with-x" if build.with? "x" + + args << "--without-libpng" if build.without? "libpng" + args << "--without-libjpeg" if build.without? "jpeg" + args << "--without-libtiff" if build.without? "libtiff" + args << "--without-giflib" if build.without? "giflib" + args << "--without-libspiro" if build.without? "libspiro" # Fix linker error; see: http://trac.macports.org/ticket/25012 ENV.append "LDFLAGS", "-lintl" @@ -69,27 +85,25 @@ def install ENV.append "ZLIB_LIBS", "-L/usr/lib -lz" # And finding Homebrew's Python - if build.with? "python" - ENV.append_path "PKG_CONFIG_PATH", "#{HOMEBREW_PREFIX}/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig/" - ENV.prepend "LDFLAGS", "-L#{%x(python-config --prefix).chomp}/lib" - end + ENV.append_path "PKG_CONFIG_PATH", "#{HOMEBREW_PREFIX}/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig/" + ENV.prepend "LDFLAGS", "-L#{%x(python-config --prefix).chomp}/lib" # Reset ARCHFLAGS to match how we build ENV["ARCHFLAGS"] = "-arch #{MacOS.preferred_arch}" - system "./autogen.sh" if build.stable? - system "./bootstrap" if build.head? + # Fontforge is *really* bad at finding the ossp-uuid dependency. Help it. + # It wildly ignores the uuid pkg-config file, so manually give it flags. + ENV.prepend "LIBUUID_CFLAGS", "-I#{Formula["ossp-uuid"].include}" + ENV.prepend "LIBUUID_LIBS", "-L#{Formula["ossp-uuid"].lib}" + + # Bootstrap in every build. See the link below. + system "./bootstrap" #https://github.com/fontforge/fontforge/issues/1806 system "./configure", *args system "make" system "make", "install" - # Fix the broken fontforge_package_name issue - # This is fixed in the HEAD build. - if build.stable? - mv "#{include}/fontforge_package_name", "#{include}/fontforge" - mv "#{share}/fontforge_package_name", "#{share}/fontforge" - mv "#{share}/doc/fontforge_package_name", "#{share}/doc/fontforge" - end + # Link this to enable symlinking into /Applications with brew linkapps. + ln_s "#{share}/fontforge/osx/Fontforge.app", "#{prefix}" end test do diff --git a/Library/Formula/lilypond.rb b/Library/Formula/lilypond.rb index c2656b55d5da..571e082711a8 100644 --- a/Library/Formula/lilypond.rb +++ b/Library/Formula/lilypond.rb @@ -1,10 +1,10 @@ -require 'formula' +require "formula" class Lilypond < Formula homepage "http://lilypond.org/" url "http://download.linuxaudio.org/lilypond/sources/v2.18/lilypond-2.18.2.tar.gz" sha1 "09d3a1e0e9fadeb8ef6e279227a2b30812c7ee9b" - revision 2 + revision 3 devel do url "http://download.linuxaudio.org/lilypond/source/v2.19/lilypond-2.19.15.tar.gz" @@ -19,7 +19,7 @@ class Lilypond < Formula env :std - option 'with-doc', "Build documentation in addition to binaries (may require several hours)." + option "with-doc", "Build documentation in addition to binaries (may require several hours)." # Dependencies for LilyPond depends_on :tex @@ -29,7 +29,7 @@ class Lilypond < Formula depends_on "pango" depends_on "ghostscript" depends_on "mftrace" - depends_on "fontforge" => ["with-x", "with-cairo"] + depends_on "fontforge" => ["with-x"] depends_on "fondu" depends_on "texinfo" @@ -57,20 +57,20 @@ class Lilypond < Formula end fails_with :clang do - cause 'Strict C99 compliance error in a pointer conversion.' + cause "Strict C99 compliance error in a pointer conversion." end def install # The contents of the following block are taken from the guile18 formula # in homebrew/versions. - resource('guile18').stage do + resource("guile18").stage do system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}", "--with-libreadline-prefix=#{Formula["readline"].opt_prefix}" system "make", "install" # A really messed up workaround required on OS X --mkhl lib.cd { Dir["*.dylib"].each {|p| ln_sf p, File.basename(p, ".dylib")+".so" }} - ENV.prepend_path 'PATH', "#{bin}" + ENV.prepend_path "PATH", "#{bin}" end gs = Formula["ghostscript"] @@ -83,8 +83,8 @@ def install system "./configure", *args # Separate steps to ensure that lilypond's custom fonts are created. - system 'make all' - system "make install" + system "make all" + system "make", "install" # Build documentation if requested. if build.with? "doc" @@ -102,7 +102,7 @@ def caveats; <<-EOS.undent end test do - (testpath/'test.ly').write <<-EOS.undent + (testpath/"test.ly").write <<-EOS.undent \\header { title = "Do-Re-Mi" } { c' d' e' } EOS