diff options
| author | John Harrison | 2011-12-19 11:49:29 -0600 |
|---|---|---|
| committer | Adam Vandenberg | 2012-02-18 21:38:50 -0800 |
| commit | c3bab4cca52b3b408f781940e657fada6ae5e183 (patch) | |
| tree | 4c10282ff88932dfa2a0f4de511d0c13e4483dc6 /Library/Formula | |
| parent | 1fcfc3412087f12cc697481cba2b53dc44129542 (diff) | |
| download | homebrew-c3bab4cca52b3b408f781940e657fada6ae5e183.tar.bz2 | |
pygtk 2.24.0
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library/Formula')
| -rw-r--r-- | Library/Formula/pygtk.rb | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Library/Formula/pygtk.rb b/Library/Formula/pygtk.rb new file mode 100644 index 000000000..194d99e06 --- /dev/null +++ b/Library/Formula/pygtk.rb @@ -0,0 +1,68 @@ +require 'formula' + +class Pygtk < Formula + url 'http://ftp.acc.umu.se/pub/GNOME/sources/pygtk/2.24/pygtk-2.24.0.tar.bz2' + homepage 'http://www.pygtk.org/' + md5 'a1051d5794fd7696d3c1af6422d17a49' + + depends_on 'glib' + depends_on 'gtk+' + depends_on 'pygobject' + depends_on 'py2cairo' + + def options + [["--universal", "Builds a universal binary"]] + end + + def install + ENV.append 'CFLAGS', '-ObjC' + ENV.universal_binary if ARGV.build_universal? + system "./configure", "--disable-dependency-tracking", + "--prefix=#{prefix}" + system "make install" + end + + def test + mktemp do + (Pathname.new(Dir.pwd)+'test.py').write <<-EOS.undent + #!/usr/bin/env python + import pygtk + pygtk.require('2.0') + import gtk + + class HelloWorld(object): + def hello(self, widget, data=None): + print "Hello World" + + def delete_event(self, widget, event, data=None): + print "delete event occurred" + return False + + def destroy(self, widget, data=None): + print "destroy signal occurred" + gtk.main_quit() + + def __init__(self): + self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) + self.window.connect("delete_event", self.delete_event) + self.window.connect("destroy", self.destroy) + self.window.set_border_width(10) + self.button = gtk.Button("Hello World") + self.button.connect("clicked", self.hello, None) + self.button.connect_object("clicked", gtk.Widget.destroy, self.window) + self.window.add(self.button) + self.button.show() + self.window.show() + + def main(self): + gtk.main() + + if __name__ == "__main__": + hello = HelloWorld() + hello.main() + EOS + system "chmod +x test.py" + system "./test.py" + end + end +end |
