aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2012-08-29Homebrew 0.9.3 for superenv0.9.3Adam Vandenberg
2012-08-29`brew sh`: a shell with superenv loadedMax Howell
If you need to build software on OS X by hand, a brew shell is the way to do it. Closes Homebrew/homebrew#14381.
2012-08-29superenv only adds X11 paths if requiredMax Howell
Since we are moving towards only depending on X11 for X-headers, superenv now doesn't automatically add X11 compilation. I was reluctant to do this, but it is the right thing to do now that X11 is not automatically installed by OS X or Xcode. I didn't implement ENV.x11 because the order that the X headers are inserted is important. It must be done at initial setup to ensure that brewed versions of e.g. freetype and Cairo are used and not the ones installed by XQuartz.
2012-08-29Doctor suggest `git clean -f` if unstaged filesMax Howell
This is safe, I tested various scenarios, including Homebrew installed in ~. The only files that are removed are unexpected files in Homebrew's already managed directories.
2012-08-29If exception has no message raise againMax Howell
Shows full backtrace, which is useful. Now blank "raise" statements are the equivalent of admitting programmer error. The backtrace will be useful.
2012-08-29Warn user if they set CFLAGS, etc. with superenvMax Howell
Since we remove some CFLAGS under their noses, this would otherwise be quite confusing. Notably, this will now trigger in numerous formula. Sucks.
2012-08-29Speed up brew instantiationMax Howell
Adding MacOS.dev_tools_path to our PATH was slow. We no longer need to do this because of the previous commit making a script wrapper for git and svn. It was slow because the function calls out to lots of slow utilities to determine this path.
2012-08-29Always find git and svn without trying hardMax Howell
Two wrapper scripts that find git and svn using the ENV variables we support and then searching through the PATH and looking inside Xcode.app if necessary. Now just calling git or svn in Homebrew code will find and exec the right tool and we can stop fussing. Apologies to @adamv who is probably unimpressed that the cmds directory has non-commands in it now. If it's consolation these are temporary pending some more work on superenv whereby some more directories are created under the superenv root.
2012-08-29Make `brew --prefix` very fastMax Howell
Because people use this in .bash_profile etc. We should be as fast as possible.
2012-08-29Attempt to fix opt link if absentMax Howell
This is mainly to prevent errors when users for the transitionary period where most installed kegs do not have an opt link.
2012-08-29Ensure mktemp cleans up after itselfMax Howell
Ignore interrupts.
2012-08-29If installed but not linked, say soMax Howell
Rationale: if ack is unlinked but installed, typing ack does nothing, but then user tries to install and it says it is already installed. What gives? The user thinks. Formula ending up unlinked can happen due to failures during the link phase and we recommend unlinking formula for conflicts. So common enough to justify this amendment.
2012-08-29Much better CTRL-C handlingMax Howell
Let's not show weird error messages when user interrupts during various stages of brew initialization. Tested by doing `for x in $(brew search); do brew install $x; done` and pressing CTRL-C at random short intervals.
2012-08-29Allow eg. `brew --env libxml2`Max Howell
Example useful usage: eval $(brew --env gettext) && clang -Wl,-t -lssl 2>/dev/null
2012-08-29Superenv wrapper for sedMax Howell
Fixes Mountain Lion specific sed issue. Provided scripts don't use the full-path to see we are fine. They never do though, that would assume too much.
2012-08-29Support HOMEBREW_MAKE_JOBSMax Howell
2012-08-29Force --env=std for stuff using scons, etc.Max Howell
Python et al, require stdenv because otherwise pip, gem, etc. don't work. Can be fixed, just I'm not doing it now. We want a DSL to do this but I couldn't be bothered to make that work etc. I want to commit. Apologies.
2012-08-29superenv: build-environments that just workMax Howell
1. A minimal build environment, we don't set CFLAGS, CPPFLAGS, LDFLAGS, etc. the rationale being, the less that is set, the less variables we are introducing that can break builds. 2. A set of scripts that replace cc, ld, etc. and inject the -I, -L, etc. flags we need into the args passed to the build-tools. Because we now have complete control over compiler instantiations we do a variety of clean-up tasks, like removing bad flags, enforcing universal builds and ensuring makefiles don't try to change the order of library and include paths from ones that work to ones that don't. The previous ENV-system is still available when --env=std is specified. superenv applies to Xcode >= 4.3 only currently.
2012-08-29Use opt paths in keg-only messagesMax Howell
2012-08-29Figure out if we can cleanup keg-only kegsMax Howell
2012-08-29Create active symlinks for installed formulaMax Howell
Similar to the LinkedKegs record, we write a symlink for installed kegs to PREFIX/opt. Unlike the linked-keg record, unlinking doesn't remove the link, only uninstalling, and keg-only formula have a record too. The reason for this addition is so that formula that depend on keg-only formula can build against the opt directory and not the cellar keg. Thus surviving upgrades. To enforce this fix_install_names and built were adapted to use the opt path. Standard kegs also create an opt symlink so that caveats can now refer to the opt directory and thus provide steps that survive upgrades too. Thus the choice of /opt. It is short, neat and the right choice: POSIX dictates that opt is for stand-alone prefixes of software.
2012-08-29Record HEAD SHA and date of installs in receiptMax Howell
2012-08-29Produce good error messages for bad tarballsMax Howell
2012-08-28Don't download bottles when building from sourceJack Nagel
The recent fix that prevents "-v" from triggering source downloads exposed a different bug that allowed the build script to download the bottled package instead of the source package; fix the logic. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-28Refactor brew listAdam Vandenberg
2012-08-28brew list: check for CellarAdam Vandenberg
If the Cellar doesn't exist yet, don't print an error message or exit with an error status. Fixes Homebrew/homebrew#14503.
2012-08-28Add Version.slice to compat suiteMax Howell
Refs Homebrew/homebrew#14299.
2012-08-27audit: Formula#deps returns Dependency objectsJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-27Prevent CLT.version being ""Max Howell
Also cache the response if N/A as it is slow to keep repeating that. And only do one pkgutil call if possible.
2012-08-27Use full paths to mdfind and pkgutilMax Howell
2012-08-27audit: fix redundant version checkJack Nagel
The == comparison was comparing the versions rather than directly comparing the strings, which lead to false positives. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-26Formula factory: add commentAdam Vandenberg
2012-08-26Formula factory: re-raise certain NameErrors.Adam Vandenberg
Some name errors, such as NoMethodError, represent programming errors. Re-raise them to get a usable error message. Closes Homebrew/homebrew#14467.
2012-08-26Ask the user for help if MacOS.compilers_standard? failsJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-26create: allow --set-name and --set-versionAdam Vandenberg
Closes Homebrew/homebrew#10873. Closes Homebrew/homebrew#14401. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-08-25formula_installer: make "linking" more clearsamueljohn
When building software "linking step did not complete" sounds like ld failed. Let's be clear about this. Closes Homebrew/homebrew#14407. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-08-25tests: adjust test_bottle_spec_selection for new bottle codeJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-25brew-test-bot: add missing 'formula' require.Mike McQuaid
2012-08-25Don't fail to cleanup redacted formula.Mike McQuaid
2012-08-25Miscellaneous bottle code cleanup.Mike McQuaid
2012-08-25Check formula options properly to rule out bottle.Mike McQuaid
Fixes Homebrew/homebrew#14148.
2012-08-25Fix ARGV and bottles circular dependency.Mike McQuaid
2012-08-25Rename tab 'built_bottle' to 'build_as_bottle'.Mike McQuaid
2012-08-25Move used_options and unused_options to ARGV.Mike McQuaid
2012-08-25Fix tests and NoMethodError with no X11 installed.Mike McQuaid
2012-08-25erlang: fix version detection and bottles.Mike McQuaid
2012-08-25audit checks for passing dashes to build.include?Adam Vandenberg
2012-08-24XCodeDependency: Clarify that Xcode.app is neededCharlie Sharpsteen
Clarify the error message arising from XCodeDependency so that users know XCode.app is needed and that just installing the CLT does not count as "installing XCode".
2012-08-23Compact whitespace when removing flagsJack Nagel
This prevents multiple calls to flag-modifying ENV methods from resulting in large amounts of consecutive spaces. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-23Version: make MacOSVersion comparison more robustJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>