| 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
82
83
84
85
86
87
88
89
90
91
 | require 'formula'
class Pyqwt < Formula
  homepage 'http://pyqwt.sourceforge.net'
  url 'http://sourceforge.net/projects/pyqwt/files/pyqwt5/PyQwt-5.2.0/PyQwt-5.2.0.tar.gz'
  md5 'fcd6c6029090d473dcc9df497516eae7'
  depends_on 'qt'
  depends_on 'qwt'
  depends_on 'sip'
  depends_on 'pyqt'
  def patches
    # Patch to build system to allow for specific
    #  installation directories.
    {:p0 => DATA}
  end
  def install
    cd "configure" do
      system "python",
             "configure.py",
             "--module-install-path=#{lib}/#{which_python}/site-packages/PyQt4/Qwt5",
             "--sip-install-path=#{share}/sip/Qwt5",
             "--uic-install-path=#{lib}/#{which_python}/site-packages/PyQt4",
             "-Q", "../qwt-5.2"
      system "make install"
    end
  end
  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
  end
  def test
    system "python", "-c", "from PyQt4 import Qwt5 as Qwt"
  end
end
__END__
--- configure/configure.py	2011-10-24 19:14:41.000000000 -0500
+++ configure/configure.py	2011-10-24 19:15:03.000000000 -0500
@@ -846,14 +846,14 @@
     pattern = os.path.join(os.pardir, 'sip', options.qwt, 'common', '*.sip')
     sip_files += [os.path.join(os.pardir, f) for f in glob.glob(pattern)]
     installs.append(
-        [sip_files, os.path.join(configuration.pyqt_sip_dir, 'Qwt5')])
+        [sip_files, os.path.join(options.sip_install_path, 'Qwt5')])
 
     # designer
     if configuration.qt_version > 0x03ffff:
         plugin_source_path = os.path.join(
             os.pardir, 'qt4lib', 'PyQt4', 'uic', 'widget-plugins') 
         plugin_install_path = os.path.join(
-            configuration.pyqt_mod_dir, 'uic', 'widget-plugins')
+            options.uic_install_path, 'uic', 'widget-plugins')
         compileall.compile_dir(plugin_source_path, ddir=plugin_install_path)
         pattern = os.path.join(plugin_source_path, '*.py*')
         plugin_files = [os.path.join(os.pardir, f) for f in glob.glob(pattern)]
@@ -1025,6 +1025,14 @@
         '--module-install-path', default='', action='store',
         help= 'specify the install directory for the Python modules'
         )
+    install_options.add_option(
+        '--sip-install-path', default='', action='store',
+        help= 'specify the install directory for the sip files [share/sip]'
+        )
+    install_options.add_option(
+        '--uic-install-path', default='', action='store',
+        help= 'specify the install directory for the uic plugins [lib/python/PyQt4]'
+        )
     parser.add_option_group(install_options)
 
     options, args =  parser.parse_args()
@@ -1084,6 +1092,10 @@
     if not options.module_install_path:
         options.module_install_path = os.path.join(
             configuration.pyqt_mod_dir, 'Qwt5')
+    if not options.sip_install_path:
+        options.sip_install_path = configuration.pyqt_sip_dir
+    if not options.uic_install_path:
+        options.uic_install_path = configuration.pyqt_mod_dir
 
     print
     print 'Extended command line options:'
 |