homebrew-core/Formula/gettext.rb
Jack Nagel 8d72b8ddcc gettext: always use bundled libraries
We have been explicitly passing "--without-included-glib", etc. to the
but this doesn't make sense: the flag does not mean "don't use glib at
all", it means "don't use the bundled glib", which means "use an
external copy of glib if one exists, but otherwise fall back to the
included version anyway".

This can lead to subtle breakage: if a user has installed glib, and then
gettext is built from source, gettext will link to the external glib.
When the user goes to upgrade glib the next time around, the build will
fail when it tries to use the now broken gettext binaries.

So in most cases, our gettext formula has been using these bundled
libraries anyway. The most obvious case is the bottles, which do not
have external linkage to glib, libunistring, etc.

In order to cover all cases, _always_ build with the included libraries.

There is no need to rebuild the bottles for these changes, as they are
correct already.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-10-20 17:22:07 -05:00

52 lines
1.9 KiB
Ruby

require 'formula'
class Gettext < Formula
homepage 'http://www.gnu.org/software/gettext/'
url 'http://ftpmirror.gnu.org/gettext/gettext-0.18.1.1.tar.gz'
mirror 'http://ftp.gnu.org/gnu/gettext/gettext-0.18.1.1.tar.gz'
sha1 '5009deb02f67fc3c59c8ce6b82408d1d35d4e38f'
keg_only "OS X provides the BSD gettext library and some software gets confused if both are in the library path."
bottle do
sha1 'd1ad5ad15bfe8fe813ee37e5d6b514fc79924b9a' => :mountainlion
sha1 'c75fdb192f1b49c9e7e2039c66e24f60f26bc027' => :lion
sha1 'b8958544542fc160b4c74db5d83cb441d12741c7' => :snowleopard
end
option :universal
option 'with-examples', 'Keep example files'
def patches
# Patch to allow building with Xcode 4; safe for any compiler.
p = {:p0 => ['https://trac.macports.org/export/79617/trunk/dports/devel/gettext/files/stpncpy.patch']}
unless build.include? 'with-examples'
# Use a MacPorts patch to disable building examples at all,
# rather than build them and remove them afterwards.
p[:p0] << 'https://trac.macports.org/export/79183/trunk/dports/devel/gettext/files/patch-gettext-tools-Makefile.in'
end
return p
end
def install
ENV.libxml2
ENV.universal_binary if build.universal?
system "./configure", "--disable-dependency-tracking",
"--disable-debug",
"--prefix=#{prefix}",
"--with-included-gettext",
"--with-included-glib",
"--with-included-libcroco",
"--with-included-libunistring",
"--without-emacs",
# Don't use VCS systems to create these archives
"--without-git",
"--without-cvs"
system "make"
ENV.deparallelize # install doesn't support multiple make jobs
system "make install"
end
end