homebrew-core/Formula/pyqt.rb

73 lines
1.8 KiB
Ruby
Raw Normal View History

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-10-30 10:46:25 +00:00
class Pyqt <Formula
url 'http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-mac-gpl-4.8.3.tar.gz'
2009-10-30 10:46:25 +00:00
homepage 'http://www.riverbankcomputing.co.uk/software/pyqt'
md5 '14bade8b251660177ccc1a0cbbe33aba'
2009-10-30 10:46:25 +00:00
depends_on 'sip'
2009-10-30 10:46:25 +00:00
depends_on 'qt'
def install
ENV.prepend 'PYTHONPATH', "#{HOMEBREW_PREFIX}/lib/python", ':'
system "python", "./configure.py", "--confirm-license",
"--bindir=#{bin}",
"--destdir=#{lib}/python",
"--sipdir=#{share}/sip"
system "make"
2009-10-30 10:46:25 +00:00
system "make install"
end
2010-07-13 21:07:54 +00:00
def caveats; <<-EOS
This formula won't function until you amend your PYTHONPATH like so:
export PYTHONPATH=#{HOMEBREW_PREFIX}/lib/python:$PYTHONPATH
2010-07-13 21:07:54 +00:00
EOS
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
ENV.prepend 'PYTHONPATH', "#{HOMEBREW_PREFIX}/lib/python", ':'
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