diff options
| author | Dominyk Tiller | 2014-12-29 16:17:22 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2014-12-31 14:23:23 +0000 |
| commit | 8fcd0232b02cbf06428bd18cba2ed396e890d680 (patch) | |
| tree | 4fb92f0bc8a0cbcdc15973d4487fa4420aebcb62 /Library/Formula/ipe.rb | |
| parent | 92452566c5fc919b8b927ba954fbc3019a775a7a (diff) | |
| download | homebrew-8fcd0232b02cbf06428bd18cba2ed396e890d680.tar.bz2 | |
ipe 7.1.6
Version bump, Modernisation of syntax, removes the patch in favour of
flags to reflect recent upstream changes, patches the shared objects
into dylibs.
Closes #35340.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Formula/ipe.rb')
| -rw-r--r-- | Library/Formula/ipe.rb | 124 |
1 files changed, 29 insertions, 95 deletions
diff --git a/Library/Formula/ipe.rb b/Library/Formula/ipe.rb index 70c174af9..559ec85c7 100644 --- a/Library/Formula/ipe.rb +++ b/Library/Formula/ipe.rb @@ -1,32 +1,16 @@ -require 'formula' - class Ipe < Formula - homepage 'http://ipe7.sourceforge.net' - url 'https://downloads.sourceforge.net/project/ipe7/ipe/7.1/ipe-7.1.5-src.tar.gz' - mirror 'https://raw.githubusercontent.com/DomT4/LibreMirror/master/Ipe/ipe-7.1.5-src.tar.gz' - sha1 'a30257e3026f936d550cf950f6dfcc980cf42bf4' - - depends_on 'pkg-config' => :build - depends_on 'makeicns' => :build - depends_on 'lua' - depends_on 'qt' - depends_on 'cairo' - depends_on 'jpeg-turbo' - depends_on 'freetype' - - # configure library paths using pkg-config - # because ipe assumes that Qt and other libs are installed in - # some fixed default paths (and homebrew does not agree) - # reported upstream: - # https://sourceforge.net/apps/mantisbt/ipe7/view.php?id=105 + homepage "http://ipe7.sourceforge.net" + url "https://downloads.sourceforge.net/project/ipe7/ipe/7.1/ipe-7.1.6-src.tar.gz" + mirror "https://raw.githubusercontent.com/DomT4/LibreMirror/master/Ipe/ipe-7.1.6-src.tar.gz" + sha1 "72fc2532cfa0a8591447dde3f60e5e4b2ecbf0d6" - # TODO: clean up this patch; upstream doesn't want to carry it. - # Also, we will always have pkg-config installed, so we don't need - # the patch to handle the case where it isn't. - # Recommend we take upstream's recommendation and set ENV vars for - # the paths to override those in configure. - # @adamv - patch :DATA + depends_on "pkg-config" => :build + depends_on "makeicns" => :build + depends_on "lua" + depends_on "qt" + depends_on "cairo" + depends_on "jpeg-turbo" + depends_on "freetype" fails_with :clang do build 318 @@ -37,75 +21,25 @@ class Ipe < Formula end def install - cd 'src' do - system "make", "IPEPREFIX=#{prefix}" - ENV.j1 # Parallel install fails + # There's a weird race condition around setting flags for Freetype + # If we ever go back to using flags instead of pkg-config be wary of that. + ENV.deparallelize + + cd "src" do + # Ipe also build shared objects instead of dylibs. Boo. + # https://sourceforge.net/p/ipe7/tickets/20 + # Will be fixed in next release, allegedly. + inreplace "common.mak" do |s| + s.gsub! ".so.$(IPEVERS)", ".$(IPEVERS).dylib" + s.gsub! "lib$1.so", "lib$1.dylib" + s.gsub! "ipelets/$1.so", "ipelets/$1.dylib" + end + + # Comment this out so we can make use of pkg-config. + # Upstream have said they will *never* support OS X, so we have free reign. + inreplace "config.mak", "ifndef MACOS", "ifdef MACOS" + system "make", "IPEPREFIX=#{HOMEBREW_PREFIX}" system "make", "IPEPREFIX=#{prefix}", "install" end end end - -__END__ ---- a/src/config.mak 2014-05-07 03:28:31.000000000 -0400 -+++ b/src/config.mak 2014-05-14 10:09:51.000000000 -0400 -@@ -61,28 +61,45 @@ - # - else - # --# Settings for Mac OS 10.6 -+# Settings for Mac OS 10.9 -+# -+# Use pkg-config if available (typically installed by homebrew or macports) -+# -+HAVE_PKG_CONFIG=$(shell which pkg-config > /dev/null && echo 1) - # - CONFIG += x86_64 - DL_LIBS ?= -ldl - ZLIB_CFLAGS ?= - ZLIB_LIBS ?= -lz -+# The jpeg-turbo package doesn't seem to have a pkg-config file - JPEG_CFLAGS ?= - JPEG_LIBS ?= -lturbojpeg --FREETYPE_CFLAGS ?= -I/usr/X11/include/freetype2 -I/usr/X11/include --FREETYPE_LIBS ?= -L/usr/X11/lib -lfreetype --CAIRO_CFLAGS ?= -I/usr/X11/include/cairo -I/usr/X11/include/pixman-1 \ -- -I/usr/X11/include/freetype2 -I/usr/X11/include \ -- -I/usr/X11/include/libpng12 --CAIRO_LIBS ?= -L/usr/X11/lib -lcairo --LUA_CFLAGS ?= -I/usr/local/include --LUA_LIBS ?= -L/usr/local/lib -llua52 -lm --QT_CFLAGS ?= -I/Library/Frameworks/QtCore.framework/Versions/4/Headers \ -- -I/Library/Frameworks/QtGui.framework/Versions/4/Headers --QT_LIBS ?= -F/Library/Frameworks -L/Library/Frameworks \ -- -framework QtCore -framework ApplicationServices \ -- -framework QtGui -framework AppKit -framework Cocoa -lz -lm --MOC ?= moc -+LUA_CFLAGS ?= -+LUA_LIBS ?= -llua -lm -+ifeq "$(HAVE_PKG_CONFIG)" "1" -+ FREETYPE_CFLAGS ?= $(shell pkg-config --cflags freetype2) -+ FREETYPE_LIBS ?= $(shell pkg-config --libs freetype2) -+ CAIRO_CFLAGS ?= $(shell pkg-config --cflags cairo) -+ CAIRO_LIBS ?= $(shell pkg-config --libs cairo) -+ GTK_CFLAGS ?= $(shell pkg-config --cflags gtk+-2.0) -+ GTK_LIBS ?= $(shell pkg-config --libs gtk+-2.0) -+ QT_CFLAGS ?= $(shell pkg-config --cflags QtGui QtCore) -+ QT_LIBS ?= $(shell pkg-config --libs QtGui QtCore) -+else -+ FREETYPE_CFLAGS ?= -I/usr/X11/include/freetype2 -I/usr/X11/include -+ FREETYPE_LIBS ?= -L/usr/X11/lib -lfreetype -+ CAIRO_CFLAGS ?= -I/usr/X11/include/cairo -I/usr/X11/include/pixman-1 \ -+ -I/usr/X11/include/freetype2 -I/usr/X11/include \ -+ -I/usr/X11/include/libpng12 -+ CAIRO_LIBS ?= -L/usr/X11/lib -lcairo -+ QT_CFLAGS ?= -I/Library/Frameworks/QtCore.framework/Versions/4/Headers \ -+ -I/Library/Frameworks/QtGui.framework/Versions/4/Headers -+ QT_LIBS ?= -F/Library/Frameworks -L/Library/Frameworks \ -+ -framework QtCore -framework ApplicationServices \ -+ -framework QtGui -framework AppKit -framework Cocoa -lz -lm -+endif -+ -+MOC ?= moc - endif - # - # -------------------------------------------------------------------- |
