Created
November 13, 2013 18:25
-
-
Save birarda/7453848 to your computer and use it in GitHub Desktop.
Qt5 Patched Formula to remove CoreWLAN on OS X
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require 'formula' | |
| class Qt5 < Formula | |
| homepage 'http://qt-project.org/' | |
| url 'https://dl.dropboxusercontent.com/u/1864924/5.2.0-beta1/qt-everywhere-opensource-nocorewlan-src-5.2.0-beta1.tar.gz' | |
| sha1 'd9f646fd2e9ed6e086350b767ee5da81bca9e16b' | |
| head 'git://gitorious.org/qt/qt5.git', :branch => 'stable' | |
| bottle do | |
| revision 1 | |
| sha1 '7cf5fec167c1b0d8a8a719fad79756b9892d04dd' => :mountain_lion | |
| sha1 '5d6a4a10362ba66d6471cd45a40b1bcde8137f62' => :lion | |
| sha1 'd1790e3b17b5a0855efa8df68187a62774aad9b9' => :snow_leopard | |
| end | |
| keg_only "Qt 5 conflicts Qt 4 (which is currently much more widely used)." | |
| option :universal | |
| option 'with-docs', 'Build documentation' | |
| option 'developer', 'Build and link with developer options' | |
| depends_on "d-bus" => :optional | |
| depends_on "mysql" => :optional | |
| odie 'qt5: --with-qtdbus has been renamed to --with-d-bus' if build.include? 'with-qtdbus' | |
| odie 'qt5: --with-demos-examples is no longer supported' if build.include? 'with-demos-examples' | |
| odie 'qt5: --with-debug-and-release is no longer supported' if build.include? 'with-debug-and-release' | |
| def install | |
| ENV.universal_binary if build.universal? | |
| args = ["-prefix", prefix, | |
| "-system-zlib", | |
| "-confirm-license", "-opensource", | |
| "-nomake", "examples", | |
| "-release"] | |
| unless MacOS::CLT.installed? | |
| # ... too stupid to find CFNumber.h, so we give a hint: | |
| ENV.append 'CXXFLAGS', "-I#{MacOS.sdk_path}/System/Library/Frameworks/CoreFoundation.framework/Headers" | |
| end | |
| args << "-plugin-sql-mysql" if build.with? 'mysql' | |
| if build.with? 'd-bus' | |
| dbus_opt = Formula.factory('d-bus').opt_prefix | |
| args << "-I#{dbus_opt}/lib/dbus-1.0/include" | |
| args << "-I#{dbus_opt}/include/dbus-1.0" | |
| args << "-L#{dbus_opt}/lib" | |
| args << "-ldbus-1" | |
| end | |
| if MacOS.prefer_64_bit? or build.universal? | |
| args << '-arch' << 'x86_64' | |
| end | |
| if !MacOS.prefer_64_bit? or build.universal? | |
| args << '-arch' << 'x86' | |
| end | |
| args << '-developer-build' if build.include? 'developer' | |
| system "./configure", *args | |
| system "make" | |
| ENV.j1 | |
| system "make install" | |
| # Fix https://github.com/mxcl/homebrew/issues/20020 (upstream: https://bugreports.qt-project.org/browse/QTBUG-32417) | |
| system "install_name_tool", "-change", "#{pwd}/qtwebkit/lib/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets", #old | |
| "#{lib}/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets", #new | |
| "#{libexec}/QtWebProcess" # in this lib | |
| system "install_name_tool", "-change", "#{pwd}/qtwebkit/lib/QtWebKit.framework/Versions/5/QtWebKit", | |
| "#{lib}/QtWebKit.framework/Versions/5/QtWebKit", | |
| "#{prefix}/qml/QtWebKit/libqmlwebkitplugin.dylib" | |
| system "install_name_tool", "-change", "#{pwd}/qtwebkit/lib/QtWebKit.framework/Versions/5/QtWebKit", | |
| "#{lib}/QtWebKit.framework/Versions/5/QtWebKit", | |
| "#{lib}/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets" | |
| # Some config scripts will only find Qt in a "Frameworks" folder | |
| cd prefix do | |
| ln_s lib, frameworks | |
| end | |
| # The pkg-config files installed suggest that headers can be found in the | |
| # `include` directory. Make this so by creating symlinks from `include` to | |
| # the Frameworks' Headers folders. | |
| Pathname.glob(lib + '*.framework/Headers').each do |path| | |
| framework_name = File.basename(File.dirname(path), '.framework') | |
| ln_s path.realpath, include+framework_name | |
| end | |
| Pathname.glob(bin + '*.app').each do |path| | |
| mv path, prefix | |
| end | |
| end | |
| test do | |
| system "#{bin}/qmake", "-project" | |
| end | |
| def caveats; <<-EOS.undent | |
| We agreed to the Qt opensource license for you. | |
| If this is unacceptable you should uninstall. | |
| EOS | |
| end | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment