require 'formula' class MuttHtmldocs < Formula head 'http://dev.mutt.org/doc/manual.html', :using => :nounzip end class Mutt < Formula homepage 'http://www.mutt.org/' url 'ftp://ftp.mutt.org/mutt/devel/mutt-1.5.21.tar.gz' sha1 'a8475f2618ce5d5d33bff85c0affdf21ab1d76b9' head 'http://dev.mutt.org/hg/mutt#HEAD', :using => :hg option "with-debug", "Build with debug option enabled" option "with-sidebar-patch", "Apply sidebar (folder list) patch" unless build.head? option "with-trash-patch", "Apply trash folder patch" option "with-slang", "Build against slang instead of ncurses" option "with-ignore-thread-patch", "Apply ignore-thread patch" option "with-pgp-verbose-mime-patch", "Apply PGP verbose mime patch" option "with-confirm-attachment-patch", "Apply confirm attachment patch" depends_on 'tokyo-cabinet' depends_on 's-lang' => :optional if build.head? depends_on :autoconf depends_on :automake end def patches urls = [ ['with-sidebar-patch', 'http://lunar-linux.org/~tchan/mutt/patch-1.5.21.sidebar.20130219.txt'], ['with-trash-patch', 'http://patch-tracker.debian.org/patch/series/dl/mutt/1.5.21-6.2/features/trash-folder'], # original source for this went missing, patch sourced from Arch at # https://aur.archlinux.org/packages/mutt-ignore-thread/ ['with-ignore-thread-patch', 'https://gist.github.com/mistydemeo/5522742/raw/1439cc157ab673dc8061784829eea267cd736624/ignore-thread-1.5.21.patch'], ['with-pgp-verbose-mime-patch', 'http://patch-tracker.debian.org/patch/series/dl/mutt/1.5.21-6.2/features-old/patch-1.5.4.vk.pgp_verbose_mime'], ['with-confirm-attachment-patch', 'https://gist.github.com/tlvince/5741641/raw/c926ca307dc97727c2bd88a84dcb0d7ac3bb4bf5/mutt-attach.patch'], ] if build.with? "ignore-thread-patch" and build.with? "sidebar-patch" puts "\n" onoe "The ignore-thread-patch and sidebar-patch options are mutually exlusive. Please pick one" exit 1 end p = [] urls.each do |u| p << u[1] if build.include? u[0] end return p end def install args = ["--disable-dependency-tracking", "--disable-warnings", "--prefix=#{prefix}", "--with-ssl", "--with-sasl", "--with-gss", "--enable-imap", "--enable-smtp", "--enable-pop", "--enable-hcache", "--with-tokyocabinet", # This is just a trick to keep 'make install' from trying to chgrp # the mutt_dotlock file (which we can't do if we're running as an # unpriviledged user) "--with-homespool=.mbox"] args << "--with-slang" if build.with? 's-lang' if build.with? 'debug' args << "--enable-debug" else args << "--disable-debug" end if build.head? system "./prepare", *args else system "./configure", *args end system "make" system "make", "install" if build.head? MuttHtmldocs.new.brew { (share/'doc/mutt').install 'manual.html' } end end end