aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
authorDominyk Tiller2014-10-14 15:45:57 +0100
committerMike McQuaid2014-10-23 08:56:35 +0100
commit0b19aa893f94ec4db1b46d8afc78e419d5e664c6 (patch)
tree0f80709fa35bc6e862fd2357ac94b2b1f7c3c897 /Library/Formula
parentde2871e7cc936ef9bd862b32734ddcaee4619626 (diff)
downloadhomebrew-0b19aa893f94ec4db1b46d8afc78e419d5e664c6.tar.bz2
fontforge 20141014
Version bump & appropriate changes for the Fontforge formula. This is another considerable update and consequently a lot has been moved around, updated, dependencies shifted, and so on. See the code comments for fuller details. Lilypond also receives a revision due to changes in the way Fontforge builds. Closes #33174. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/fontforge.rb86
-rw-r--r--Library/Formula/lilypond.rb20
2 files changed, 60 insertions, 46 deletions
diff --git a/Library/Formula/fontforge.rb b/Library/Formula/fontforge.rb
index 54e8a59aa..661a0c605 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 @@ class Fontforge < Formula
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 c2656b55d..571e08271 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 @@ class Lilypond < Formula
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 @@ class Lilypond < Formula
end
test do
- (testpath/'test.ly').write <<-EOS.undent
+ (testpath/"test.ly").write <<-EOS.undent
\\header { title = "Do-Re-Mi" }
{ c' d' e' }
EOS