diff options
| author | nibbles 2bits | 2012-10-20 10:43:28 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2012-10-21 22:44:08 -0700 |
| commit | 3267ddf4740a8b78d229a4140464b2695ed0778d (patch) | |
| tree | dd1a356928f3ff9e85c24af83b0fbf4e577e79e2 /Library/Formula | |
| parent | 48c616e67b335c74b7c959548aa5d6976ecbd094 (diff) | |
| download | homebrew-3267ddf4740a8b78d229a4140464b2695ed0778d.tar.bz2 | |
fontconfig: add patch for universal builds
fontconfig fails to build universally due to SIZEOF_VOID issues
that are solved by adapting the Macports patch for that to our
newer version of fontconfig.
Closes #15567.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library/Formula')
| -rw-r--r-- | Library/Formula/fontconfig.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Library/Formula/fontconfig.rb b/Library/Formula/fontconfig.rb index 9b72e037d..73ef5a3c3 100644 --- a/Library/Formula/fontconfig.rb +++ b/Library/Formula/fontconfig.rb @@ -12,9 +12,38 @@ class Fontconfig < Formula depends_on :freetype depends_on 'pkg-config' => :build + # Patch adapted from Macports patch for 2.9.0 defines sizeof based on __LP64__ + # Fixes universal builds but seems groovy enough to apply in all cases. + # https://trac.macports.org/browser/trunk/dports/graphics/fontconfig/files/patch-check-arch-at-runtime.diff + def patches; DATA; end + def install ENV.universal_binary if build.universal? system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}" system "make install" end end + +__END__ +--- a/src/fcarch.h 2012-07-23 19:01:32.000000000 -0700 ++++ b/src/fcarch.h 2012-10-20 10:29:15.000000000 -0700 +@@ -46,6 +46,19 @@ + * be64 1234 8 8 + */ + ++#ifdef __APPLE__ ++# include <machine/endian.h> ++# undef SIZEOF_VOID_P ++# undef ALIGNOF_DOUBLE ++# ifdef __LP64__ ++# define SIZEOF_VOID_P 8 ++# define ALIGNOF_DOUBLE 8 ++# else ++# define SIZEOF_VOID_P 4 ++# define ALIGNOF_DOUBLE 4 ++# endif ++#endif ++ + #if defined(__DARWIN_BYTE_ORDER) && __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN + # define FC_ARCH_ENDIAN "le" + #elif defined(__DARWIN_BYTE_ORDER) && __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN |
