aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/pyside.rb
blob: 36e1c5b2a23e80552f7d1eb86b628f20d5d02ef9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
class Pyside < Formula
  homepage "http://qt-project.org/wiki/PySide"
  url "https://download.qt.io/official_releases/pyside/pyside-qt4.8+1.2.2.tar.bz2"
  mirror "https://distfiles.macports.org/py-pyside/pyside-qt4.8+1.2.2.tar.bz2"
  sha1 "955e32d193d173faa64edc51111289cdcbe3b96e"

  head "https://gitorious.org/pyside/pyside.git"

  bottle do
    sha1 "8137d4ab768f0b621c76f3e8f51aff9594527b7a" => :yosemite
    sha1 "23cceb7a03918cb1aa1e897c9ed1b3224610c2d2" => :mavericks
    sha1 "370b1d0fc1099689977ba04eb3602c41b5def89c" => :mountain_lion
  end

  # don't use depends_on :python because then bottles install Homebrew's python
  option "without-python", "Build without python 2 support"
  depends_on :python => :recommended if MacOS.version <= :snow_leopard
  depends_on :python3 => :optional

  option "without-docs", "Skip building documentation"

  depends_on "cmake" => :build
  depends_on "qt"

  if build.with? "python3"
    depends_on "shiboken" => "with-python3"
  else
    depends_on "shiboken"
  end

  resource "sphinx" do
    url "https://pypi.python.org/packages/source/S/Sphinx/Sphinx-1.2.3.tar.gz"
    sha1 "3a11f130c63b057532ca37fe49c8967d0cbae1d5"
  end

  def install
    if build.with? "docs"
      ENV.prepend_create_path "PYTHONPATH", buildpath+"sphinx/lib/python2.7/site-packages"
      resources.each do |r|
        r.stage do
          system "python", *Language::Python.setup_install_args(buildpath/"sphinx")
        end
      end

      ENV.prepend_path "PATH", (buildpath/"sphinx/bin")
    else
      rm buildpath/"doc/CMakeLists.txt"
    end

    # Add out of tree build because one of its deps, shiboken, itself needs an
    # out of tree build in shiboken.rb.
    Language::Python.each_python(build) do |python, version|
      mkdir "macbuild#{version}" do
        qt = Formula["qt"].opt_prefix
        args = std_cmake_args + %W[
          -DSITE_PACKAGE=#{lib}/python#{version}/site-packages
          -DALTERNATIVE_QT_INCLUDE_DIR=#{qt}/include
          -DQT_SRC_DIR=#{qt}/src
        ]
        if version.to_s[0,1] == "2"
          args << "-DPYTHON_SUFFIX=-python#{version}"
        else
          major_version = version.to_s[0,1]
          minor_version = version.to_s[2,3]
          args << "-DPYTHON_SUFFIX=.cpython-#{major_version}#{minor_version}m"
          args << "-DUSE_PYTHON3=1"
        end
        args << ".."
        system "cmake", *args
        system "make"
        system "make", "install"
      end
    end
  end

  test do
    Language::Python.each_python(build) do |python, version|
      system python, "-c", "from PySide import QtCore"
    end
  end
end