homebrew-core/Formula/pyqt5.rb

55 lines
1.7 KiB
Ruby

require 'formula'
class Pyqt5 < Formula
homepage 'http://www.riverbankcomputing.co.uk/software/pyqt/download5'
url 'http://downloads.sf.net/project/pyqt/PyQt5/PyQt-5.1.1/PyQt-gpl-5.1.1.tar.gz'
sha1 '90a3d6a805da7559ad83704866c1751d698f1873'
option 'enable-debug', "Build with debug symbols"
depends_on :python
depends_on 'qt5'
depends_on 'sip'
def install
args = [ "--confirm-license",
"--bindir=#{bin}",
"--destdir=#{lib}/python2.7/site-packages",
# To avoid conflicst with PyQt (for Qt4):
"--sipdir=#{share}/sip/Qt5/",
# sip.h could not be found automatically
"--sip-incdir=#{Formula.factory('sip').opt_prefix}/include",
# Force deployment target to avoid libc++ issues
"QMAKE_MACOSX_DEPLOYMENT_TARGET=#{MacOS.version}" ]
args << '--debug' if build.include? 'enable-debug'
system "python", "./configure.py", *args
system "make"
system "make", "install"
end
test do
(testpath/'test.py').write <<-EOS.undent
import sys
from PyQt5 import QtGui, QtCore, QtWidgets
class Test(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.setGeometry(300, 300, 400, 150)
self.setWindowTitle('Homebrew')
QtWidgets.QLabel("Python " + "{0}.{1}.{2}".format(*sys.version_info[0:3]) +
" working with PyQt5. Quitting now...", self).move(50, 50)
QtCore.QTimer.singleShot(1500, QtWidgets.qApp.quit)
app = QtWidgets.QApplication([])
window = Test()
window.show()
sys.exit(app.exec_())
EOS
system "python", "test.py"
end
end