2009-10-30 10:46:25 +00:00
|
|
|
require 'formula'
|
|
|
|
|
2010-07-13 21:07:54 +00:00
|
|
|
# Note: this project doesn't save old releases, so it breaks often as
|
|
|
|
# downloads disappear.
|
2009-11-05 18:13:00 +00:00
|
|
|
|
2011-03-10 05:11:03 +00:00
|
|
|
class Pyqt < Formula
|
2012-02-12 23:05:11 +00:00
|
|
|
url 'http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-mac-gpl-4.9.1.tar.gz'
|
2009-10-30 10:46:25 +00:00
|
|
|
homepage 'http://www.riverbankcomputing.co.uk/software/pyqt'
|
2012-02-12 23:05:11 +00:00
|
|
|
sha1 '6c0dbf0edb9a0f07fb3ed95f6c3b4b5d0458dbe7'
|
2009-10-30 10:46:25 +00:00
|
|
|
|
2009-11-05 18:13:00 +00:00
|
|
|
depends_on 'sip'
|
2009-10-30 10:46:25 +00:00
|
|
|
depends_on 'qt'
|
|
|
|
|
|
|
|
def install
|
2009-11-05 18:13:00 +00:00
|
|
|
ENV.prepend 'PYTHONPATH', "#{HOMEBREW_PREFIX}/lib/python", ':'
|
2010-04-07 05:58:35 +00:00
|
|
|
|
2010-10-25 12:19:39 +00:00
|
|
|
system "python", "./configure.py", "--confirm-license",
|
2009-11-05 18:13:00 +00:00
|
|
|
"--bindir=#{bin}",
|
2012-02-08 18:42:19 +00:00
|
|
|
"--destdir=#{lib}/#{which_python}/site-packages",
|
2009-11-05 18:13:00 +00:00
|
|
|
"--sipdir=#{share}/sip"
|
|
|
|
system "make"
|
2009-10-30 10:46:25 +00:00
|
|
|
system "make install"
|
|
|
|
end
|
2009-11-05 18:13:00 +00:00
|
|
|
|
2012-02-08 18:42:19 +00:00
|
|
|
def caveats; <<-EOS.undent
|
|
|
|
For non-homebrew Python, you need to amend your PYTHONPATH like so:
|
|
|
|
export PYTHONPATH=#{HOMEBREW_PREFIX}/lib/#{which_python}/site-packages:$PYTHONPATH
|
|
|
|
EOS
|
|
|
|
end
|
|
|
|
|
|
|
|
def which_python
|
|
|
|
"python" + `python -c 'import sys;print(sys.version[:3])'`.strip
|
2009-11-05 18:13:00 +00:00
|
|
|
end
|
2010-10-25 16:28:50 +00:00
|
|
|
|
|
|
|
def test
|
|
|
|
test_program = <<-EOS
|
|
|
|
#!/usr/bin/env python
|
|
|
|
# Taken from: http://zetcode.com/tutorials/pyqt4/firstprograms/
|
|
|
|
|
|
|
|
import sys
|
|
|
|
from PyQt4 import QtGui, QtCore
|
|
|
|
|
|
|
|
|
|
|
|
class QuitButton(QtGui.QWidget):
|
|
|
|
def __init__(self, parent=None):
|
|
|
|
QtGui.QWidget.__init__(self, parent)
|
|
|
|
|
|
|
|
self.setGeometry(300, 300, 250, 150)
|
|
|
|
self.setWindowTitle('Quit button')
|
|
|
|
|
|
|
|
quit = QtGui.QPushButton('Close', self)
|
|
|
|
quit.setGeometry(10, 10, 60, 35)
|
|
|
|
|
|
|
|
self.connect(quit, QtCore.SIGNAL('clicked()'),
|
|
|
|
QtGui.qApp, QtCore.SLOT('quit()'))
|
|
|
|
|
|
|
|
|
|
|
|
app = QtGui.QApplication(sys.argv)
|
|
|
|
qb = QuitButton()
|
|
|
|
qb.show()
|
|
|
|
app.exec_()
|
|
|
|
sys.exit(0)
|
|
|
|
EOS
|
|
|
|
|
|
|
|
ohai "Writing test script 'test_pyqt.py'."
|
|
|
|
open("test_pyqt.py", "w+") do |file|
|
|
|
|
file.write test_program
|
|
|
|
end
|
|
|
|
|
2011-05-03 20:01:36 +00:00
|
|
|
ENV['PYTHONPATH'] = "#{HOMEBREW_PREFIX}/lib/python"
|
2010-10-25 16:28:50 +00:00
|
|
|
system "python test_pyqt.py"
|
|
|
|
|
|
|
|
ohai "Removing test script 'test_pyqt.py'."
|
|
|
|
rm "test_pyqt.py"
|
|
|
|
end
|
2009-10-30 10:46:25 +00:00
|
|
|
end
|