2011-09-28 04:46:15 +00:00
|
|
|
require 'formula'
|
|
|
|
|
2012-04-17 18:38:24 +00:00
|
|
|
class NeedsSnowLeopard < Requirement
|
|
|
|
def satisfied?
|
2012-09-04 23:15:31 +00:00
|
|
|
MacOS.version >= :snow_leopard
|
2012-04-17 18:38:24 +00:00
|
|
|
end
|
|
|
|
|
2012-05-24 19:32:43 +00:00
|
|
|
def fatal?
|
|
|
|
true
|
|
|
|
end
|
|
|
|
|
2012-04-17 18:38:24 +00:00
|
|
|
def message; <<-EOS.undent
|
|
|
|
The version of Freetype that comes with Leopard is too old to build MuPDF
|
|
|
|
against. It is possible to get MuPDF working on Leopard using the Freetype
|
|
|
|
formula from Homebrew-Dupes and some tweaks to the Makefile.
|
|
|
|
|
|
|
|
Doing so is left as an exercise for the reader.
|
|
|
|
EOS
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-09-28 04:46:15 +00:00
|
|
|
class Mupdf < Formula
|
|
|
|
homepage 'http://mupdf.com'
|
2012-10-31 06:16:03 +00:00
|
|
|
url 'http://mupdf.googlecode.com/files/mupdf-1.1-source.tar.gz'
|
|
|
|
sha1 'e2c2cd555d790ed97bd6507accf29817945dfe81'
|
2011-09-28 04:46:15 +00:00
|
|
|
|
2012-04-17 18:38:24 +00:00
|
|
|
depends_on NeedsSnowLeopard.new
|
|
|
|
|
2011-09-28 04:46:15 +00:00
|
|
|
depends_on 'jpeg'
|
|
|
|
depends_on 'openjpeg'
|
|
|
|
depends_on 'jbig2dec'
|
2012-10-31 06:16:03 +00:00
|
|
|
depends_on :x11 # libpng, freetype and the X11 libs
|
2011-09-28 04:46:15 +00:00
|
|
|
|
|
|
|
def patches
|
2012-01-04 06:05:05 +00:00
|
|
|
# Fix up the Makefile so it doesn't mess with our CFLAGS.
|
2011-09-28 04:46:15 +00:00
|
|
|
DATA
|
|
|
|
end
|
|
|
|
|
|
|
|
def install
|
2012-10-31 06:16:03 +00:00
|
|
|
openjpeg = Formula.factory 'openjpeg'
|
|
|
|
ENV.append 'CPPFLAGS', "-I#{Dir[openjpeg.include/'openjpeg-*'].first}"
|
|
|
|
ENV.append 'CFLAGS', '-DNDEBUG'
|
2012-11-08 01:16:05 +00:00
|
|
|
ENV['SYS_FREETYPE_INC'] = "-I#{MacOS::X11.include}/freetype2"
|
2012-10-31 06:16:03 +00:00
|
|
|
|
2012-05-15 18:31:21 +00:00
|
|
|
system "make", "install", "prefix=#{prefix}"
|
2012-04-17 18:38:24 +00:00
|
|
|
end
|
2011-09-28 04:46:15 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
__END__
|
|
|
|
|
|
|
|
Remove some Makefile rules that Homebrew takes care of through CFLAGS and
|
|
|
|
LDFLAGS. MuPDF doesn't look at CPPFLAGS, so we piggyback it onto CFLAGS.
|
|
|
|
|
|
|
|
diff --git a/Makerules b/Makerules
|
2012-10-31 06:16:03 +00:00
|
|
|
index 3e036f6..c9ddc69 100644
|
2011-09-28 04:46:15 +00:00
|
|
|
--- a/Makerules
|
|
|
|
+++ b/Makerules
|
2012-10-31 06:16:03 +00:00
|
|
|
@@ -5,24 +5,6 @@ OS := $(OS:MINGW%=MINGW)
|
2011-09-28 04:46:15 +00:00
|
|
|
|
|
|
|
CFLAGS += -Wall
|
|
|
|
|
|
|
|
-ifeq "$(build)" "debug"
|
2012-05-24 19:32:43 +00:00
|
|
|
-CFLAGS += -pipe -g -DDEBUG
|
2011-09-28 04:46:15 +00:00
|
|
|
-else ifeq "$(build)" "profile"
|
|
|
|
-CFLAGS += -pipe -O2 -DNDEBUG -pg
|
|
|
|
-LDFLAGS += -pg
|
|
|
|
-else ifeq "$(build)" "release"
|
|
|
|
-CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer
|
2012-10-31 06:16:03 +00:00
|
|
|
-else ifeq "$(build)" "coverage"
|
|
|
|
-CFLAGS += -pipe -g -DDEBUG -pg -fprofile-arcs -ftest-coverage
|
|
|
|
-LIBS += -lgcov
|
2011-09-28 04:46:15 +00:00
|
|
|
-else ifeq "$(build)" "native"
|
|
|
|
-CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer -march=native -mfpmath=sse
|
2012-05-24 19:32:43 +00:00
|
|
|
-else ifeq "$(build)" "memento"
|
|
|
|
-CFLAGS += -pipe -g -DMEMENTO -DDEBUG
|
2011-09-28 04:46:15 +00:00
|
|
|
-else
|
|
|
|
-$(error unknown build setting: '$(build)')
|
|
|
|
-endif
|
|
|
|
-
|
|
|
|
ifeq "$(OS)" "Linux"
|
|
|
|
SYS_FREETYPE_INC := `pkg-config --cflags freetype2`
|
|
|
|
X11_LIBS := -lX11 -lXext
|
2012-10-31 06:16:03 +00:00
|
|
|
@@ -36,18 +18,9 @@ endif
|
|
|
|
|
2011-09-28 04:46:15 +00:00
|
|
|
# Mac OS X build depends on some thirdparty libs
|
|
|
|
ifeq "$(OS)" "Darwin"
|
2012-10-31 06:16:03 +00:00
|
|
|
-SYS_FREETYPE_INC := -I/usr/X11R6/include/freetype2
|
2011-09-28 04:46:15 +00:00
|
|
|
-CFLAGS += -I/usr/X11R6/include
|
|
|
|
-LDFLAGS += -L/usr/X11R6/lib
|
|
|
|
+CFLAGS += $(CPPFLAGS)
|
2012-05-24 19:32:43 +00:00
|
|
|
RANLIB_CMD = ranlib $@
|
2011-09-28 04:46:15 +00:00
|
|
|
X11_LIBS := -lX11 -lXext
|
|
|
|
-ifeq "$(arch)" "amd64"
|
|
|
|
-CFLAGS += -m64
|
|
|
|
-LDFLAGS += -m64
|
|
|
|
-else
|
|
|
|
-CFLAGS += -m32
|
|
|
|
-LDFLAGS += -m32
|
|
|
|
-endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
# The following section is an example of how to simply do cross-compilation
|