aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/extend
AgeCommit message (Collapse)Author
2013-01-26Move option comparison into BuildOptionsJack Nagel
2013-01-21Object#instance_exec for Ruby 1.8.6Jack Nagel
Not thread safe! But I don't think we care. We want to evaluate the env DSL block in the context of ENV for asthetic reasons, but we also want access to methods on the requirement instance. We can use #instance_exec to pass the requirement itself into the block: class Foo < Requirement env do |req| append 'PATH', req.some_path end def some_path which 'something' end end Also add a simplified version of Object#instance_exec for Ruby 1.8.6.
2013-01-21ENV.with_build_environmentJack Nagel
2013-01-10Restore ARGV even if an exception is raisedJack Nagel
2013-01-09Define Symbol#to_proc for Ruby 1.8.6Jack Nagel
Ruby 1.8.6 doesn't have Symbol#to_proc, which allows things like map(&:to_s) rather than map { |o| o.to_s }. 1.8.7 does, though, and since it is used in a bunch of the superenv code we should attempt to keep it compatible with 1.8.6. Closes Homebrew/homebrew#16046.
2013-01-04Only add -F if the frameworks folder existsAdam Vandenberg
Closes Homebrew/homebrew#16901.
2013-01-01Add --homebrew-developer flagMike McQuaid
2012-12-26Allow requirements to specify env optionsJack Nagel
2012-12-11pathname.rb: Pass -s to du instead of -d0Shaun Jackman
The option `du -s` is equivalent to `du -d0`. The former is a POSIX standard (IEEE Std 1003.1-2008), whereas the latter is a BSD extension. From the BSD man page: `-s Display an entry for each specified file. (Equivalent to -d 0)` From SUSv4: `-s Instead of the default output, report only the total sum for each of the specified files.` http://pubs.opengroup.org/onlinepubs/9699919799/utilities/du.html Closes Homebrew/homebrew#16516. Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-12-04Improve bottle error messages.Mike McQuaid
On installation or creation of a bottle error out of the current machine does not support bottles. References Homebrew/homebrew#16291.
2012-11-25Rewrite plists when installing from a bottleJack Nagel
2012-11-25Overwrite plists.Mike McQuaid
2012-11-19separate ENV/pkgconfig dirs by OS versionCamillo Lugaresi
Closes Homebrew/homebrew#16063. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-11-19add necessary .pc files for LeopardCamillo Lugaresi
add missing libcrypto.pc override broken system libcurl.pc Closes Homebrew/homebrew#16063. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-11-14Try to remove a single .DS_Store when uninstallingAdam Vandenberg
Closes Homebrew/homebrew#12976. Closes Homebrew/homebrew#15975.
2012-11-13ENV.rb: Configure Objective-C++ compilerCharlie Sharpsteen
Ensures the `OBJCXX` environment variable is correctly set. Also adds `OBJC` and `OBJCXX` to `ENV.remove_cc_etc`.
2012-11-12Don't error out if metafiles are linkedAdam Vandenberg
Closes Homebrew/homebrew#16008.
2012-11-11Teach Pathname how to scan for metafilesAdam Vandenberg
2012-11-11Move vendored .pc files to ENVAdam Vandenberg
Closes Homebrew/homebrew#15961.
2012-11-06Inject framework paths into stdenv compiler flagsJack Nagel
2012-10-29Add support for 7zip archivesSijawusz Pur Rahnama
Closes Homebrew/homebrew#15723. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-10-27Pathname: add exec and jar helpersAdam Vandenberg
Closes Homebrew/homebrew#13318.
2012-10-25ComparableSet#merge returns selfJack Nagel
Set#merge is supposed to return self, and Formula#recursive_requirements depended on this being true. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-10-24Return the block value in ARGV.filter_for_dependenciesJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-10-20brew ln --force is now brew ln --overwriteMisty De Meo
* Renames --force to --overwrite, freeing up brew ln --force for Homebrew/homebrew#13349 * Changes --dry-run to preview linking by default, rather than overwriting. An overwrite dry-run can be simulated via both --dry-run --overwrite * Adds some basic Keg tests
2012-10-15Manage Requirements using ComparableSetMisty De Meo
ComparableSet only allows a single object of a given class, choosing the object with the greatest value. This was mainly created for Requirements, so that, e.g., two X11Dependencies of differing strictness don't both end up in the same requirement set. Fixes Homebrew/homebrew#15240.
2012-10-04Don't count mkpath in ObserverPathnameExtensionMisty De Meo
mkpathed directories aren't really "linked" or "unlinked" per se, and link/unlink handle directories differently. It's easier just to ignore them, which finally synchronizes link/unlink counts.
2012-09-30Don't use bottles for HEAD, devel or universal.Mike McQuaid
2012-09-28Fix ENV.fortran info textsMax Howell
They were being truncated.
2012-09-27Improve text_executable heuristicJack Nagel
Previously we detected this by reading the first line of the file. However, "first line" is meaningless when dealing with binary files, but IO#readline will happily keep reading until it finds a newline character, which can result in some unnecessarily large buffers. Aside from the performance issue, this causes an additional problem under Ruby 1.9: trying to match the binary string against a pattern will raise ArgumentError (unless the binary string just happens to also be valid UTF-8, heh). Fix both issues: only read the first 1024 bytes, as no sane shebang will ever be that long, and use a plain read(), which returns an ASCII encoded string even on 1.9. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-27FileUtils: backport #copy_metadata fixMisty De Meo
Entry_#copy_metadata has a nasty bug that makes copying symlinks across filesystems fail. This lasted all the way through 1.9.3p194 before *finally* being fixed. This backports the official fix. Fixes Homebrew/homebrew#14710.
2012-09-26stdenv: stop setting LDMisty De Meo
superenv stopped setting LD in 8e4c0a141171666270529da4be026d529d474467, seems sensible to follow suit in stdenv too. See Homebrew/homebrew#14943. Fixes Homebrew/homebrew#15090.
2012-09-25ENV.fortran adds back superenv removed PATHsMax Howell
Fixes Homebrew/homebrew#15103.
2012-09-25Clean up and improve build-error output and logsMax Howell
All logs are now stored from each command executed in Formula.install. Error output is truncated to five lines in an attempt to not overwhelm the user and to encourage users to read the error output and report the bug properly. Maybe we can get that figure up from 70% to 90%.
2012-09-18Fix building bottles from source.Mike McQuaid
2012-09-17ARGV: add .jsonMisty De Meo
Used by brew info; may be used by other commands in the future.
2012-09-05ENV: put X11 aclocal dir in ACLOCAL_PATH when appropriateJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-03Sort out remaining XQuartz/stdenv issuesJack Nagel
We use PKG_CONFIG_LIBDIR to reset the default search path, overriding whatever is baked into the pkg-config executable. This way, we can later append XQuartz paths here while still allowing any brewed libs to take precedence, keg-only or not. Hopefully this will resolve any remaining issues, and let us get rid of some per-formula hacks. c.f. Homebrew/homebrew#14474. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-03ENV: update commentJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-03Stop warning in ENV.x11Jack Nagel
It has been long enough since `depends_on :x11` was introduced that we can make it the caller's responsibility to ensure X11 is present before invoking ENV.x11, so stop outputting a warning. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-29Don't catch build errorsMax Howell
2012-08-29Block form of chdir can only be used onceMax Howell
If you nest them, the library complains. So let's not do that. /cc @jacknagel
2012-08-29Use fortran from std-env in superenvMax Howell
Fixes Homebrew/homebrew#14524.
2012-08-29Ensure mktemp cleans up after itselfMax Howell
Ignore interrupts.
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-29Record HEAD SHA and date of installs in receiptMax Howell
2012-08-29Produce good error messages for bad tarballsMax Howell
2012-08-25Miscellaneous bottle code cleanup.Mike McQuaid
2012-08-25Fix ARGV and bottles circular dependency.Mike McQuaid
2012-08-25Move used_options and unused_options to ARGV.Mike McQuaid