aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/extend
AgeCommit message (Collapse)Author
2016-04-01Pathname: improve compute_disk_usageXu Cheng
* Count .DS_Store disk usage but not file count. * Count symlink's own disk usage instead of ignoring it. * Count hardlinks disk usage only once. * Add testcase. Closes Homebrew/homebrew#50563. Closes Homebrew/homebrew#50566. Signed-off-by: Xu Cheng <xucheng@me.com>
2016-03-31Pathname#version: only parse version from file basenameXu Cheng
i.e. Ignoring the file's directory for version parsing. Closes Homebrew/homebrew#50568. Signed-off-by: Xu Cheng <xucheng@me.com>
2016-03-31Xcode 7 MACOSX_DEPLOYMENT_TARGET and SDK fixesilovezfs
SDK 10.10 isn't something that exists for Xcode 7, so stop looking for it and rely on MACOSX_DEPLOYMENT_TARGET instead. See PR Homebrew/homebrew#50137 Yosemite build failure Closes Homebrew/homebrew#50355. Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-03-21add HOMEBREW_ENV_PATH internal variableXu Cheng
`Library/ENV` like `Library/Homebrew` is part of Homebrew basecode. It should be able to be accessed during the `brew tests`. By adding HOMEBREW_ENV_PATH variable, we allow test suit to locate these codes.
2016-03-20deprecate SHA1Xu Cheng
2016-03-19Revert "Avoid constructing paths by string interpolation"Tim D. Smith
This reverts commit 8c7f3d859e8f715b6c63e4fe75e7a636aee4167f.
2016-03-19Avoid constructing paths by string interpolationTim D. Smith
Closes Homebrew/homebrew#50154.
2016-03-13superenv: fix make_jobs regular expressionilovezfs
HOMEBREW_MAKE_JOBS can be a multidigit number. The regex should match the entire number not just the last digit. Closes Homebrew/homebrew#50016. Signed-off-by: Tim D. Smith <git@tim-smith.us>
2016-03-08install_renamed: handle recursive installs.Mike McQuaid
Closes Homebrew/homebrew#49845. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-26ARGV: switch? should only has one dashXu Cheng
If user inputs argument such as `-with-flag`, we can assume it's a bad flag. Closes Homebrew/homebrew#49256 Closes Homebrew/homebrew#49550. Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-21FileUtils::mktemp fix for OS X 10.6.7 and earlierilovezfs
FileUtils::fu_get_gid only started doing the conversion of the group to_s automatically from OS X 10.6.8 (ruby-1.8.7-p358) forward. OS X 10.6.7 (ruby-1.8.7-p174) would fail in brew's FileUtils::mktemp with the error "Error: can't convert Fixnum into String." Fixes Homebrew/homebrew#49045 Fixes Homebrew/homebrew#49348 Closes Homebrew/homebrew#49369. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-21pathname: add append_lines methodDominyk Tiller
* Blocks writing of new files via accidental typos, etc, which the normal open("blah", "a") doesn't. * Where files don't exist they should ideally be using `(buildpath/"dog").write` instead of open("blah", "a") already. * It's a bit less cluttered looking if you need several writes to different files in the formula, IMO.
2016-02-20env/shared: ignore perl optsDominyk Tiller
In theory, letting these be set once wasn't an awful idea because it allows users choice on where Perl modules end up. In reality, as we've moved closer to sandboxing and at the same time accepted more perl binding options into formulae it has been exposed as something of a hellraiser. It's not that uncommon for Perl users to set a custom `INSTALL_BASE` in the ENV which means we end up with quite a few formula that fail hard with this sort of error: ``` Only one of PREFIX or INSTALL_BASE can be given. Not both. ``` The other common error, which we discovered via sandboxing, is that the Perl modules end up outside Homebrew's control which means we don't automatically remove them when the package is removed. Sandboxing blocks this, which means when we eventually move to enable that by default for users as well as CI it'll quickly become a prominent issue.
2016-02-11ARGV: stop supporting --homebrew-developer optionMartin Afanasjew
Homebrew developers have the corresponding variable permanently set in their environment and wanting to appear like a Homebrew developer for a single invocation is exceedingly rare. Additionally, the option won't be recognized by `bin/brew`. (It is also undocumented.) Using `HOMEBREW_DEVELOPER=1 brew <command>` is still possible, and not more inconvenient than passing the `--homebrew-developer` option. Closes Homebrew/homebrew#48322. Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-02-06make HOMEBREW_BREW_FILE a Pathname objectXu Cheng
Currently HOMEBREW_BREW_FILE is a String, while other of HOMEBREW_* variables are all Pathname. This commit unifies them all as Pathname, so it will not cause any confusion. Closes Homebrew/homebrew#48872. Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-05Don't accidentally inherit group "wheel" from /tmpilovezfs
Because files on OS X are assigned the group of the directory in which they are created, using /tmp during the installation process would result in some installed files having the group "wheel" even though "admin" was intended. Thanks to Xu Cheng for suggesting a simpler location for the fix. Closes Homebrew/homebrew#45869 Closes Homebrew/homebrew#48732. Signed-off-by: Xu Cheng <xucheng@me.com>
2016-01-03pathname: remove redundant spacingDominyk Tiller
2016-01-03pathname: become less introspectiveDominyk Tiller
These self references are unnecessary.
2015-12-30pathname: don't try to calculate symlink size.Mike McQuaid
Closes https://github.com/Homebrew/homebrew/issues/47532 Closes https://github.com/Homebrew/homebrew-dupes/issues/542
2015-12-30pathname: improve compute_disk_usageXu Cheng
* Avoid parallel assignment. * Use Pathname#size instead of File#size * Use Pathname#directory? instead of File#directory? * Use basename to check `.DS_Store`. Original regex has poor performance, and may match with incorrect file.
2015-12-30pathname: fix use of `find` on Ruby 1.8.Mike McQuaid
2015-12-30pathname: store file count and disk usage.Rakesh
especially for directory instances of `Pathname` class and all instances of `Keg` class.
2015-12-23ENV: avoid misleading Fortran setup warningsMartin Afanasjew
Fixes Homebrew/homebrew#31156. Closes Homebrew/homebrew#47246. Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2015-12-18env: add java_cache envDominyk Tiller
2015-12-10ENV: warn_if_universal_binaries_not_supportedRyan Hendrickson
Raise an error when attempting to create universal binaries with a GCC that can't do so. Closes Homebrew/homebrew#46630. Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-12-07superenv: set SDKROOT, MACOSX_DEPLOYMENT_TARGETMisty De Meo
2015-12-03add String#strip_prefixXu Cheng
2015-11-17Stdenv: add note on possible future deprecationXu Cheng
Closes Homebrew/homebrew#46043. Signed-off-by: Xu Cheng <xucheng@me.com>
2015-11-17move more deprecated methods to compat folderXu Cheng
2015-11-17Stdenv should be tagged as private rather deprecatedXu Cheng
2015-11-10ARGV: add explicit option for disabling sandbox.Mike McQuaid
2015-10-18move mach.rb to os/mac/mach.rbXu Cheng
2015-10-18remove unnecessary require statementsXu Cheng
2015-10-08ObserverPathnameExtension: only puts first 100 operationsXu Cheng
Fixes https://github.com/Homebrew/homebrew/issues/44320#issuecomment-143951973 Closes Homebrew/homebrew#44440. Signed-off-by: Xu Cheng <xucheng@me.com>
2015-09-28ENV#userpaths!: ensure Superenv.bin and opt path come at firstXu Cheng
This ensures that binaries in /usr/local/bin would not overwrite superenv. Closes Homebrew/homebrew#44376. Signed-off-by: Xu Cheng <xucheng@me.com>
2015-09-12Accept "gcc" for --cc=gcc-5 even if not installedMisty De Meo
2015-08-29More API documentation.Mike McQuaid
And remove the documented stuff from the `example-formula.rb`. Closes Homebrew/homebrew#43241. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-28tweak String#undent so that only leading whitespace up to the first ↵William Woodruff
indentation level is gsubbed, change test_undent to reflect change and add test_undent_nested to test new behavior
2015-08-22core file style updateXu Cheng
2015-08-21Merge bottle install without Xcode branchMisty De Meo
Merge branch 'bottle_hooks'
2015-08-21Add no-Xcode documentation for all classes, methodsWilliam Woodruff
2015-08-21Add guards to calls that would trigger Xcode install requestsWilliam Woodruff
add guard in Formula#file_modified? to prevent git popup add guard in Superenv.bin before calling MacOS::Xcode.version add guard against missing Xcode/CLT in Xcode.uncached_version return nil instread of 0 in uncached_version when Xcode/CLT are not present, to distinguish from linuxbrew behavior checks against pour_bottle? and needs_relocation?, add guard around keg.relocate_install_names to check pour_bottle?/needs_relocation? as well needs_relocation? becomes skip_relocation?, use cellar attr to indicate relocation instead of does_not_need_relocation MacOS.can_build? becomes MacOS.has_apple_developer_tools?
2015-08-21Install: add BuildToolsError and BuildFlagsErrorWilliam Woodruff
Add these new errors, and guards in formula installation and cmd/{,un,re}install to match, move can_build? to the MacOS module, flatten conditions, remove redundant can_build? check reinstate removed (doctor) check
2015-08-15Revert "work around missing __debug header in Xcode CLT 6.3"Tim D. Smith
Ding, dong, the witch is dead... This reverts commit fd5ca9ba16f5afc181364369210cb94e997a5a5e. Ref Homebrew/homebrew#38514, Homebrew/homebrew#38735. Closes Homebrew/homebrew#41843.
2015-08-10ARGV#resolved_formula: use to_rackXu Cheng
2015-08-10don't use new name rack if old name rack is a dirVlad Shablinsky
Everything that used HOMEBREW_CELLAR/canonical_name could point to something that doesn't exist because loader_for tries to load new name formula if no old name found. However there can be software installed from path with the same name that renamed formulae had and we still need to link/unlink/uninstall etc that software. The solution is Formulary#to_rack method that returns rack for given name. - Add Formulary#to_rack - Update ARGV.kegs - Update cmd/switch
2015-08-10implement formulary#find_with_priorityCNA-Bld
2015-08-09ARGV#resolved_formulae: use canonical_name to locate rackXu Cheng
Closes Homebrew/homebrew#42537. Signed-off-by: Xu Cheng <xucheng@me.com>
2015-08-06backport flat_map for Ruby 1.8Xu Cheng
Code is copied from https://github.com/marcandre/backports/blob/master/lib/backports/1.9.2/enumerable/flat_map.rb (MIT License by Marc-Andre Lafortune) Closes Homebrew/homebrew#42543. Signed-off-by: Xu Cheng <xucheng@me.com>
2015-08-06favor flat_map over map...flattenXu Cheng