From: Toni Janz <toni@forlackofawittyname.com>
To: notmuch@notmuchmail.org
Subject: notmuch 0.9~rc1 install on OS X Lion using homebrew
Date: Sun, 2 Oct 2011 17:29:55 -0400 [thread overview]
Message-ID: <20111002212955.GB70670@argentum> (raw)
tldr; I got notmuch running on OS X 10.7.1 (Lion) and have posted the
homebrew formulas below.
If you are on OS X and don't know what Homebrew is then http://mxcl.github.com/homebrew/
may be worth your time.
I thought I'd post on this list in the hopes that some other people find
it useful and ends up saving them time.
Short Dependency Version Summary:
talloc: 2.0.7
gmime: 2.4.24
xapian: 1.2.7
notmuch: 0.9~rc1
The Homebrew formulas for these are below
Talloc caused my problems because OS X can't deal with relative pathing
so I changed the formula to include an "--disable-rpath" to configure.
Gmime caused me problems with homebrew because the current formula in
homebrew git compiles it with "--disable-dependancy-checking" which
leads to the error below.
dyld: Symbol not found: _url_addrspec_end
Referenced from: /usr/local/Cellar/gmime/2.4.24/lib/libgmime-2.4.2.dylib
Expected in: flat namespace
in /usr/local/Cellar/gmime/2.4.24/lib/libgmime-2.4.2.dylib
[1] 66350 trace trap ./notmuch-shared
The formulas begin below. (I may go ahead and submit them to the
homebrew repo as well, but I figure having this in the mailing archive
shouldn't hurt).
Now, I'm posting it here because "It Works For Me", and "It *might* work
for you"--but, again, YMMV.
## begin homebrew formula for 0.9~rc1 (current Head and subject to change)
require 'formula'
class Notmuch < Formula
head 'git://notmuchmail.org/git/notmuch'
homepage 'http://notmuchmail.org'
md5 '983cd907a7bf5ee0d12ebfb54cff784f'
depends_on 'xapian'
depends_on 'talloc'
depends_on 'gmime'
def install
system "./configure", "--prefix=#{prefix}"
# notmuch requires a newer emacs than macosx provides. So we either
# disable the emacs bindings or make notmuch depend on the homebrew
# emacs package.
# And there is a race condition in the makefile, so we have to either
# deparallelize the process or run make and make install separately.
system "make HAVE_EMACS=0"
system "make install HAVE_EMACS=0"
end
end
## Begin homebrew formula for gmime 2.4.24
require 'formula'
class Gmime < Formula
homepage 'http://spruce.sourceforge.net/gmime/'
url 'ftp://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/gmime-2.4.24.tar.bz2'
sha256 'e1255dc565416b65e6f8e7b207074b86d955897169eb19a975e90b34ae660c14'
depends_on 'pkg-config' => :build
depends_on 'glib'
def install
system "./configure", "--prefix=#{prefix}",
"--enable-largefile",
"--disable-mono"
system "make install"
end
end
## Begin Homebrew formula for talloc
require 'formula'
class Talloc < Formula
url 'http://www.samba.org/ftp/talloc/talloc-2.0.7.tar.gz'
homepage 'http://talloc.samba.org/'
md5 'dbfb3146f4cc47054e13b8a2988299f9'
def install
system "./configure", "--prefix=#{prefix}", "--disable-rpath"
# See https://bugzilla.samba.org/show_bug.cgi?id=7000
# It seems that the patch included there is not enough
inreplace 'Makefile', 'SONAMEFLAG = #', 'SONAMEFLAG = -install_name'
system "make install"
end
end
## Begin homebrew formula for Xapian
require 'formula'
class XapianBindings < Formula
url 'http://oligarchy.co.uk/xapian/1.2.7/xapian-bindings-1.2.7.tar.gz'
homepage 'http://xapian.org'
md5 '44b83efe4b025c3b5ea3eff4e0f17a9a'
end
class Xapian < Formula
url 'http://oligarchy.co.uk/xapian/1.2.7/xapian-core-1.2.7.tar.gz'
homepage 'http://xapian.org'
md5 '6684eb7a990b9cedf4257f41bfddb584'
def options
[
["--ruby", "Ruby bindings"],
["--python", "Python bindings"],
["--php", "PHP bindings"],
["--java", "Java bindings"],
]
end
def skip_clean? path
path.extname == '.la'
end
def build_any_bindings?
ARGV.include? '--ruby' or ARGV.include? '--python' or ARGV.include? '--java' or ARGV.include? '--php'
end
def arg_for_lang lang
(ARGV.include? "--#{lang}") ? "--with-#{lang}" : "--without-#{lang}"
end
def install
ENV.O3 # takes forever otherwise
system "./configure", "--prefix=#{prefix}", "--disable-assertions",
"--disable-dependency-tracking"
system "make install"
if build_any_bindings?
XapianBindings.new.brew do
args = [
"XAPIAN_CONFIG=#{bin}/xapian-config",
"--prefix=#{prefix}",
"--disable-debug",
"--disable-dependency-tracking",
"--without-csharp",
"--without-tcl"
]
args << arg_for_lang('ruby')
args << arg_for_lang('java')
if ARGV.include? '--python'
python_lib = lib + "python"
ENV.append 'PYTHONPATH', python_lib
python_lib.mkpath
ENV['OVERRIDE_MACOSX_DEPLOYMENT_TARGET'] = '10.4'
ENV['PYTHON_LIB'] = "#{python_lib}"
args << "--with-python"
else
args << "--without-python"
end
if ARGV.include? '--php'
extension_dir = lib+'php/extensions'
extension_dir.mkpath
args << "--with-php PHP_EXTENSION_DIR=#{extension_dir}"
else
args << "--without-php"
end
system "./configure", *args
system "make install"
end
end
end
def caveats
s = ""
if ARGV.include? "--python"
s += <<-EOS.undent
The Python bindings won't function until you amend your PYTHONPATH like so:
export PYTHONPATH=#{HOMEBREW_PREFIX}/lib/python:$PYTHONPATH
EOS
end
end
end
--
__
(oO)
/||\... Toni
reply other threads:[~2011-10-02 21:30 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111002212955.GB70670@argentum \
--to=toni@forlackofawittyname.com \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).