2009-10-15 08:07:12 +00:00
|
|
|
require 'formula'
|
2009-09-17 18:41:05 +00:00
|
|
|
|
2011-03-10 05:11:03 +00:00
|
|
|
class Weechat < Formula
|
2010-02-08 12:18:02 +00:00
|
|
|
homepage 'http://www.weechat.org'
|
2013-05-23 19:35:25 +00:00
|
|
|
url 'http://www.weechat.net/files/src/weechat-0.4.1.tar.bz2'
|
|
|
|
sha1 'a5185d6b8a2b330713ea354f06601a205270e3a2'
|
2012-01-22 22:43:32 +00:00
|
|
|
|
2013-06-04 16:41:26 +00:00
|
|
|
head 'git://git.savannah.nongnu.org/weechat.git'
|
|
|
|
|
2010-09-19 17:21:57 +00:00
|
|
|
depends_on 'cmake' => :build
|
2009-09-18 13:38:43 +00:00
|
|
|
depends_on 'gnutls'
|
2012-11-11 04:16:03 +00:00
|
|
|
depends_on 'libgcrypt'
|
2013-01-21 09:33:56 +00:00
|
|
|
depends_on 'guile' => :optional
|
|
|
|
depends_on 'aspell' => :optional
|
|
|
|
depends_on 'lua' => :optional
|
|
|
|
depends_on :python => :optional
|
2012-05-23 18:25:43 +00:00
|
|
|
|
2013-06-18 22:27:29 +00:00
|
|
|
option 'with-perl', 'Build the perl module'
|
|
|
|
option 'with-ruby', 'Build the ruby module'
|
2009-09-17 18:41:05 +00:00
|
|
|
|
2013-05-28 00:03:22 +00:00
|
|
|
# cmake finds brewed python when installed, but when searching for the
|
|
|
|
# libraries it searches for system libraries first. This patch disables
|
2013-05-23 19:35:25 +00:00
|
|
|
# default search paths and ensures that brewed python is found first, if not
|
|
|
|
# it falls back to system python.
|
|
|
|
def patches
|
|
|
|
DATA
|
|
|
|
end
|
|
|
|
|
2009-09-17 18:41:05 +00:00
|
|
|
def install
|
2010-08-08 20:51:00 +00:00
|
|
|
# Remove all arch flags from the PERL_*FLAGS as we specify them ourselves.
|
2012-01-22 22:43:32 +00:00
|
|
|
# This messes up because the system perl is a fat binary with 32, 64 and PPC
|
weechat: switch from cmake to configure
* Switch to using `configure`
* Remove `head` because it requires gtk.
* Add a build time dep on gettext, otherwise link errors.
* Add `--disable-perl` to stop segfault on program exit.
* Add `--disable-aspell` which is still being reviewed.
* Add `--disable-static` to stop building duplicate plugins.
* Add `--disable-python` unless Python is a framework.
* Note that the one `inreplace` is fixed in HEAD.
* Delete the plugin symlinks to stop runtime warnings.
Weechat-0.3.7 can be built using cmake or configure, but their
cmake build scripts are prone to errors when building the ruby
bindings. By switching to `configure` the formula is greatly
simplified, and all the plugins it creates get neatly installed
into lib+'weechat/plugins' automatically.
Weechat `head` builds require `gtk` even if the `gtk` gui is
not enabled, which it isn't because it's b0rked. So remove head.
Weechat comes with an internal gettext and libintl that cause
errors when linking. So add a dep on Homebrew's gettext.
As reported by another user and confirmed through gdb, the perl
plugin causes a segfault on exit. So disable building that.
Aspell is still under construction in Homebrew, and weechat will
compile that plug by default. So disable aspell for now.
Disable the static plugins and delete the plugin symlinks. That
leaves only one `.so` for each plugin and stops a dozen warnings
when running weechat about _can't load duplicate plugins._
Disable building the Python plugin unless Python is a framework
because it will build but fail to load the plugin with an error
that it can't dlopen a module expected in flat namespace.
Even if we add a dep on Homebrew/dupes/ncurses to get the wide
variety of it, that formula doesn't actually create `-lnursesw`.
So that is not added, because it can't be found.
The gtk interface to weechat is not added as a user option because
it runs but doesn't make a useable gui. It's blank & unresponsive.
Weechat compiles, runs, and connects to freenode without error
using clang and llvm on Lion, tested against system Ruby, system
Python, and Homebrew Python frameworks.
Fixes Homebrew/homebrew#11289.
Fixes Homebrew/homebrew#11835.
Fixes Homebrew/homebrew#12066.
Closes Homebrew/homebrew#12193.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-10 19:38:26 +00:00
|
|
|
# compiles, but our deps don't have that. Remove at v0.3.8, fixed in HEAD.
|
2012-08-23 22:28:02 +00:00
|
|
|
archs = %W[-arch ppc -arch i386 -arch x86_64].join('|')
|
2012-10-02 11:05:20 +00:00
|
|
|
inreplace "src/plugins/perl/CMakeLists.txt",
|
2010-08-08 20:51:00 +00:00
|
|
|
'IF(PERL_FOUND)',
|
|
|
|
'IF(PERL_FOUND)' +
|
2012-01-22 22:43:32 +00:00
|
|
|
%Q{\n STRING(REGEX REPLACE "#{archs}" "" PERL_CFLAGS "${PERL_CFLAGS}")} +
|
|
|
|
%Q{\n STRING(REGEX REPLACE "#{archs}" "" PERL_LFLAGS "${PERL_LFLAGS}")}
|
2010-08-08 20:51:00 +00:00
|
|
|
|
weechat: switch back to cmake, support aspell
The weechat devs have informed us that configure is deprecated.
Switch back to cmake.
Add a user option to enable the aspell module.
Add a user option to enable the lua module.
Add an inreplace to fix the bad path in HB framework Python's
LINKFORSHARED variable and an explanation for it.
Add deps for lua and apsell if the user options those.
Add a caveat suggesting the user install aspell manually before
installing weechat, otherwise they won't have any dictionaries.
Remove the code that deleted the extra module symlinks.
The Aspell dep could be made into a requirement, but it would be
nice if Aspell installed at least the en dictionary by default.
All bindings work except the Ruby bindings when built against
rbenv and ruby-1.9. This has been reported upstream and is the
main reason for switching back to cmake, so we can get support.
Tested on Lion using clang and llvm from XCode-4.3.3 against
system Python, HB framework and non-framework python, the current
Aspell, Lua, and Guile, system Ruby, and system Perl.
Fixes Homebrew/homebrew#12377
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-12 06:23:07 +00:00
|
|
|
args = std_cmake_args + %W[
|
|
|
|
-DPREFIX=#{prefix}
|
|
|
|
-DENABLE_GTK=OFF
|
weechat: switch from cmake to configure
* Switch to using `configure`
* Remove `head` because it requires gtk.
* Add a build time dep on gettext, otherwise link errors.
* Add `--disable-perl` to stop segfault on program exit.
* Add `--disable-aspell` which is still being reviewed.
* Add `--disable-static` to stop building duplicate plugins.
* Add `--disable-python` unless Python is a framework.
* Note that the one `inreplace` is fixed in HEAD.
* Delete the plugin symlinks to stop runtime warnings.
Weechat-0.3.7 can be built using cmake or configure, but their
cmake build scripts are prone to errors when building the ruby
bindings. By switching to `configure` the formula is greatly
simplified, and all the plugins it creates get neatly installed
into lib+'weechat/plugins' automatically.
Weechat `head` builds require `gtk` even if the `gtk` gui is
not enabled, which it isn't because it's b0rked. So remove head.
Weechat comes with an internal gettext and libintl that cause
errors when linking. So add a dep on Homebrew's gettext.
As reported by another user and confirmed through gdb, the perl
plugin causes a segfault on exit. So disable building that.
Aspell is still under construction in Homebrew, and weechat will
compile that plug by default. So disable aspell for now.
Disable the static plugins and delete the plugin symlinks. That
leaves only one `.so` for each plugin and stops a dozen warnings
when running weechat about _can't load duplicate plugins._
Disable building the Python plugin unless Python is a framework
because it will build but fail to load the plugin with an error
that it can't dlopen a module expected in flat namespace.
Even if we add a dep on Homebrew/dupes/ncurses to get the wide
variety of it, that formula doesn't actually create `-lnursesw`.
So that is not added, because it can't be found.
The gtk interface to weechat is not added as a user option because
it runs but doesn't make a useable gui. It's blank & unresponsive.
Weechat compiles, runs, and connects to freenode without error
using clang and llvm on Lion, tested against system Ruby, system
Python, and Homebrew Python frameworks.
Fixes Homebrew/homebrew#11289.
Fixes Homebrew/homebrew#11835.
Fixes Homebrew/homebrew#12066.
Closes Homebrew/homebrew#12193.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-10 19:38:26 +00:00
|
|
|
]
|
2013-01-21 09:33:56 +00:00
|
|
|
args << '-DENABLE_LUA=OFF' unless build.with? 'lua'
|
|
|
|
args << '-DENABLE_PERL=OFF' unless build.with? 'perl'
|
|
|
|
args << '-DENABLE_RUBY=OFF' unless build.with? 'ruby'
|
|
|
|
args << '-DENABLE_ASPELL=OFF' unless build.with? 'aspell'
|
|
|
|
args << '-DENABLE_GUILE=OFF' unless build.with? 'guile'
|
2013-04-02 14:57:42 +00:00
|
|
|
|
|
|
|
# NLS/gettext support disabled for now since it doesn't work in stdenv
|
|
|
|
# see https://github.com/mxcl/homebrew/issues/18722
|
|
|
|
args << "-DENABLE_NLS=OFF"
|
2012-11-20 01:05:26 +00:00
|
|
|
args << '..'
|
2012-02-29 01:58:59 +00:00
|
|
|
|
2012-11-20 01:05:26 +00:00
|
|
|
mkdir 'build' do
|
2013-01-21 09:33:56 +00:00
|
|
|
if python do
|
|
|
|
system 'cmake', *args
|
|
|
|
end
|
|
|
|
else
|
|
|
|
# The same cmake call but without any python set up.
|
|
|
|
args << '-DENABLE_PYTHON=OFF'
|
|
|
|
system 'cmake', *args
|
|
|
|
end
|
2012-11-20 01:05:26 +00:00
|
|
|
system 'make install'
|
|
|
|
end
|
weechat: switch from cmake to configure
* Switch to using `configure`
* Remove `head` because it requires gtk.
* Add a build time dep on gettext, otherwise link errors.
* Add `--disable-perl` to stop segfault on program exit.
* Add `--disable-aspell` which is still being reviewed.
* Add `--disable-static` to stop building duplicate plugins.
* Add `--disable-python` unless Python is a framework.
* Note that the one `inreplace` is fixed in HEAD.
* Delete the plugin symlinks to stop runtime warnings.
Weechat-0.3.7 can be built using cmake or configure, but their
cmake build scripts are prone to errors when building the ruby
bindings. By switching to `configure` the formula is greatly
simplified, and all the plugins it creates get neatly installed
into lib+'weechat/plugins' automatically.
Weechat `head` builds require `gtk` even if the `gtk` gui is
not enabled, which it isn't because it's b0rked. So remove head.
Weechat comes with an internal gettext and libintl that cause
errors when linking. So add a dep on Homebrew's gettext.
As reported by another user and confirmed through gdb, the perl
plugin causes a segfault on exit. So disable building that.
Aspell is still under construction in Homebrew, and weechat will
compile that plug by default. So disable aspell for now.
Disable the static plugins and delete the plugin symlinks. That
leaves only one `.so` for each plugin and stops a dozen warnings
when running weechat about _can't load duplicate plugins._
Disable building the Python plugin unless Python is a framework
because it will build but fail to load the plugin with an error
that it can't dlopen a module expected in flat namespace.
Even if we add a dep on Homebrew/dupes/ncurses to get the wide
variety of it, that formula doesn't actually create `-lnursesw`.
So that is not added, because it can't be found.
The gtk interface to weechat is not added as a user option because
it runs but doesn't make a useable gui. It's blank & unresponsive.
Weechat compiles, runs, and connects to freenode without error
using clang and llvm on Lion, tested against system Ruby, system
Python, and Homebrew Python frameworks.
Fixes Homebrew/homebrew#11289.
Fixes Homebrew/homebrew#11835.
Fixes Homebrew/homebrew#12066.
Closes Homebrew/homebrew#12193.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-10 19:38:26 +00:00
|
|
|
end
|
2012-02-29 01:58:59 +00:00
|
|
|
|
weechat: switch from cmake to configure
* Switch to using `configure`
* Remove `head` because it requires gtk.
* Add a build time dep on gettext, otherwise link errors.
* Add `--disable-perl` to stop segfault on program exit.
* Add `--disable-aspell` which is still being reviewed.
* Add `--disable-static` to stop building duplicate plugins.
* Add `--disable-python` unless Python is a framework.
* Note that the one `inreplace` is fixed in HEAD.
* Delete the plugin symlinks to stop runtime warnings.
Weechat-0.3.7 can be built using cmake or configure, but their
cmake build scripts are prone to errors when building the ruby
bindings. By switching to `configure` the formula is greatly
simplified, and all the plugins it creates get neatly installed
into lib+'weechat/plugins' automatically.
Weechat `head` builds require `gtk` even if the `gtk` gui is
not enabled, which it isn't because it's b0rked. So remove head.
Weechat comes with an internal gettext and libintl that cause
errors when linking. So add a dep on Homebrew's gettext.
As reported by another user and confirmed through gdb, the perl
plugin causes a segfault on exit. So disable building that.
Aspell is still under construction in Homebrew, and weechat will
compile that plug by default. So disable aspell for now.
Disable the static plugins and delete the plugin symlinks. That
leaves only one `.so` for each plugin and stops a dozen warnings
when running weechat about _can't load duplicate plugins._
Disable building the Python plugin unless Python is a framework
because it will build but fail to load the plugin with an error
that it can't dlopen a module expected in flat namespace.
Even if we add a dep on Homebrew/dupes/ncurses to get the wide
variety of it, that formula doesn't actually create `-lnursesw`.
So that is not added, because it can't be found.
The gtk interface to weechat is not added as a user option because
it runs but doesn't make a useable gui. It's blank & unresponsive.
Weechat compiles, runs, and connects to freenode without error
using clang and llvm on Lion, tested against system Ruby, system
Python, and Homebrew Python frameworks.
Fixes Homebrew/homebrew#11289.
Fixes Homebrew/homebrew#11835.
Fixes Homebrew/homebrew#12066.
Closes Homebrew/homebrew#12193.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-10 19:38:26 +00:00
|
|
|
def caveats; <<-EOS.undent
|
2013-07-04 19:57:35 +00:00
|
|
|
Weechat can depend on Aspell if you choose the --with-aspell option, but
|
weechat: switch back to cmake, support aspell
The weechat devs have informed us that configure is deprecated.
Switch back to cmake.
Add a user option to enable the aspell module.
Add a user option to enable the lua module.
Add an inreplace to fix the bad path in HB framework Python's
LINKFORSHARED variable and an explanation for it.
Add deps for lua and apsell if the user options those.
Add a caveat suggesting the user install aspell manually before
installing weechat, otherwise they won't have any dictionaries.
Remove the code that deleted the extra module symlinks.
The Aspell dep could be made into a requirement, but it would be
nice if Aspell installed at least the en dictionary by default.
All bindings work except the Ruby bindings when built against
rbenv and ruby-1.9. This has been reported upstream and is the
main reason for switching back to cmake, so we can get support.
Tested on Lion using clang and llvm from XCode-4.3.3 against
system Python, HB framework and non-framework python, the current
Aspell, Lua, and Guile, system Ruby, and system Perl.
Fixes Homebrew/homebrew#12377
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-12 06:23:07 +00:00
|
|
|
Aspell should be installed manually before installing Weechat so that
|
|
|
|
you can choose the dictionaries you want. If Aspell was installed
|
|
|
|
automatically as part of weechat, there won't be any dictionaries.
|
weechat: switch from cmake to configure
* Switch to using `configure`
* Remove `head` because it requires gtk.
* Add a build time dep on gettext, otherwise link errors.
* Add `--disable-perl` to stop segfault on program exit.
* Add `--disable-aspell` which is still being reviewed.
* Add `--disable-static` to stop building duplicate plugins.
* Add `--disable-python` unless Python is a framework.
* Note that the one `inreplace` is fixed in HEAD.
* Delete the plugin symlinks to stop runtime warnings.
Weechat-0.3.7 can be built using cmake or configure, but their
cmake build scripts are prone to errors when building the ruby
bindings. By switching to `configure` the formula is greatly
simplified, and all the plugins it creates get neatly installed
into lib+'weechat/plugins' automatically.
Weechat `head` builds require `gtk` even if the `gtk` gui is
not enabled, which it isn't because it's b0rked. So remove head.
Weechat comes with an internal gettext and libintl that cause
errors when linking. So add a dep on Homebrew's gettext.
As reported by another user and confirmed through gdb, the perl
plugin causes a segfault on exit. So disable building that.
Aspell is still under construction in Homebrew, and weechat will
compile that plug by default. So disable aspell for now.
Disable the static plugins and delete the plugin symlinks. That
leaves only one `.so` for each plugin and stops a dozen warnings
when running weechat about _can't load duplicate plugins._
Disable building the Python plugin unless Python is a framework
because it will build but fail to load the plugin with an error
that it can't dlopen a module expected in flat namespace.
Even if we add a dep on Homebrew/dupes/ncurses to get the wide
variety of it, that formula doesn't actually create `-lnursesw`.
So that is not added, because it can't be found.
The gtk interface to weechat is not added as a user option because
it runs but doesn't make a useable gui. It's blank & unresponsive.
Weechat compiles, runs, and connects to freenode without error
using clang and llvm on Lion, tested against system Ruby, system
Python, and Homebrew Python frameworks.
Fixes Homebrew/homebrew#11289.
Fixes Homebrew/homebrew#11835.
Fixes Homebrew/homebrew#12066.
Closes Homebrew/homebrew#12193.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-10 19:38:26 +00:00
|
|
|
EOS
|
2009-09-17 18:41:05 +00:00
|
|
|
end
|
|
|
|
end
|
2013-05-23 19:35:25 +00:00
|
|
|
|
|
|
|
__END__
|
|
|
|
--- weechat-0.4.1-original/cmake/FindPython.cmake 2013-05-20 03:06:14.000000000 -0500
|
|
|
|
+++ weechat-0.4.1/cmake/FindPython.cmake 2013-05-23 14:24:33.000000000 -0500
|
|
|
|
@@ -41,7 +41,8 @@
|
|
|
|
ELSE(ENABLE_PYTHON3)
|
|
|
|
FIND_PROGRAM(PYTHON_EXECUTABLE
|
|
|
|
NAMES python2.7 python2.6 python2.5 python
|
|
|
|
- PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
|
|
|
+ PATHS HOMEBREW_PREFIX/bin /usr/bin
|
|
|
|
+ NO_DEFAULT_PATH
|
|
|
|
)
|
|
|
|
ENDIF(ENABLE_PYTHON3)
|
|
|
|
|
|
|
|
@@ -74,6 +75,7 @@
|
|
|
|
FIND_LIBRARY(PYTHON_LIBRARY
|
|
|
|
NAMES python2.7 python2.6 python2.5 python
|
|
|
|
PATHS ${PYTHON_POSSIBLE_LIB_PATH}
|
|
|
|
+ NO_DEFAULT_PATH
|
|
|
|
)
|
|
|
|
ENDIF(ENABLE_PYTHON3)
|
|
|
|
|