aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/pyside.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Formula/pyside.rb')
-rw-r--r--Library/Formula/pyside.rb59
1 files changed, 28 insertions, 31 deletions
diff --git a/Library/Formula/pyside.rb b/Library/Formula/pyside.rb
index 25b8f7c1e..87d3b8d2c 100644
--- a/Library/Formula/pyside.rb
+++ b/Library/Formula/pyside.rb
@@ -7,42 +7,39 @@ class Pyside < Formula
sha1 'c0119775f2500e48efebdd50b7be7543e71b2c24'
depends_on 'cmake' => :build
- depends_on 'shiboken'
-
- def which_python
- "python" + `python -c 'import sys;print(sys.version[:3])'`.strip
- end
+ depends_on :python => :recommended
+ depends_on :python3 => :optional
+ depends_on 'shiboken' => '--with-python3' if build.with? 'python3'
+ depends_on 'qt'
def install
- # The build will be unable to find Qt headers buried inside frameworks
- # unless the folder containing those frameworks is added to the compiler
- # search path.
- qt = Formula.factory 'qt'
- ENV.append_to_cflags "-F#{qt.frameworks}"
-
- # Also need `ALTERNATIVE_QT_INCLUDE_DIR` to prevent "missing file" errors.
- # Add out of tree build because one of its deps, shiboken, itself needs an
- # out of tree build in shiboken.rb.
- args = std_cmake_args + %W[
- -DALTERNATIVE_QT_INCLUDE_DIR=#{qt.frameworks}
- -DSITE_PACKAGE=lib/#{which_python}/site-packages
- -DBUILD_TESTS=NO
- ..
- ]
- mkdir 'macbuild' do
- system 'cmake', *args
- system 'make'
- system 'make install'
+ python do
+ # Add out of tree build because one of its deps, shiboken, itself needs an
+ # out of tree build in shiboken.rb.
+ mkdir "macbuild#{python.if3then3}" do
+ args = std_cmake_args + %W[
+ -DSITE_PACKAGE=#{lib}/#{python.xy}/site-packages
+ -DALTERNATIVE_QT_INCLUDE_DIR=#{Formula.factory('qt').frameworks}
+ -DBUILD_TESTS=NO
+ ..
+ ]
+ # The next two lines are because shiboken needs them
+ args << "-DPYTHON_SUFFIX='-python2.7'" if python2
+ args << "-DPYTHON_SUFFIX='.cpython-33m'" if python3
+ system 'cmake', *args
+ system 'make'
+ system 'make install'
+ # Todo: How to deal with pyside.pc file? It doesn't support 2.x and 3.x!
+ end
end
end
- def caveats
- <<-EOS
-PySide Python modules have been linked to:
- #{HOMEBREW_PREFIX}/lib/#{which_python}/site-packages
+ def test
+ system 'python', '-c', "from PySide import QtCore" if Tab.for_formula('Pyside').with? 'python'
+ system 'python3', '-c', "from PySide import QtCore" if Tab.for_formula('Pyside').with? 'python3'
+ end
-Make sure this folder is on your PYTHONPATH. For PySide development tools,
-install the `pyside-tools` formula.
- EOS
+ def caveats
+ python.standard_caveats if python
end
end