Skip to content

Instantly share code, notes, and snippets.

@josepjaume
Created May 17, 2011 13:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save josepjaume/976426 to your computer and use it in GitHub Desktop.
Save josepjaume/976426 to your computer and use it in GitHub Desktop.
QT Head Formula
require 'formula'
require 'hardware'
class Qt < Formula
url 'http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.3.tar.gz'
md5 '49b96eefb1224cc529af6fe5608654fe'
homepage 'http://qt.nokia.com/'
head 'git://gitorious.org/qt/qt.git', :branch => 'master-stable'
def options
[
['--with-qtdbus', "Enable QtDBus module."],
['--with-qt3support', "Enable deprecated Qt3Support module."],
['--with-demos-examples', "Enable Qt demos and examples."],
['--with-debug-and-release', "Compile Qt in debug and release mode."],
['--universal', "Build both x86_64 and x86 architectures."],
]
end
depends_on "d-bus" if ARGV.include? '--with-qtdbus'
depends_on 'sqlite' if MacOS.leopard?
def install
ENV.x11
ENV.append "CXXFLAGS", "-fvisibility=hidden"
args = ["-prefix", prefix,
"-system-libpng", "-system-zlib",
"-L/usr/X11/lib", "-I/usr/X11/include",
"-confirm-license", "-opensource",
"-cocoa", "-fast" ]
# See: https://github.com/mxcl/homebrew/issues/issue/744
args << "-system-sqlite" if MacOS.leopard?
args << "-plugin-sql-mysql" if (HOMEBREW_CELLAR+"mysql").directory?
if ARGV.include? '--with-qtdbus'
args << "-I#{Formula.factory('d-bus').lib}/dbus-1.0/include"
args << "-I#{Formula.factory('d-bus').include}/dbus-1.0"
end
if ARGV.include? '--with-qt3support'
args << "-qt3support"
else
args << "-no-qt3support"
end
unless ARGV.include? '--with-demos-examples'
args << "-nomake" << "demos" << "-nomake" << "examples"
end
if MacOS.prefer_64_bit? or ARGV.build_universal?
args << '-arch' << 'x86_64'
end
if !MacOS.prefer_64_bit? or ARGV.build_universal?
args << '-arch' << 'x86'
end
if ARGV.include? '--with-debug-and-release'
args << "-debug-and-release"
# Debug symbols need to find the source so build in the prefix
Dir.chdir '..'
mv "qt-everywhere-opensource-src-#{version}", "#{prefix}/src"
Dir.chdir "#{prefix}/src"
else
args << "-release"
end
system "./configure", *args
system "make"
ENV.j1
system "make install"
# stop crazy disk usage
(prefix+'doc/html').rmtree
(prefix+'doc/src').rmtree
# what are these anyway?
(bin+'pixeltool.app').rmtree
(bin+'qhelpconverter.app').rmtree
# remove porting file for non-humans
(prefix+'q3porting.xml').unlink
# Some config scripts will only find Qt in a "Frameworks" folder
# VirtualBox is an example of where this is needed
# See: https://github.com/mxcl/homebrew/issues/issue/745
cd prefix do
ln_s lib, "Frameworks"
end
end
def caveats
"We agreed to the Qt opensource license for you.\nIf this is unacceptable you should uninstall."
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment