* CPU functions now exist in Hardware::CPU
* Added compatibility functions in compat/hardware_compat.rb
* Names are less specific to Mac hardware, e.g. CPU.family instead of
Hardware.intel_family
* Hardware::CPU.family works for both Intel and PowerPC
* New helper methods on CPU, like .sse4? and .altivec?
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
- The Library/ENV/4.3/xcrun shim now respects
ENV['DEVELOPER_DIR'] instead assuming the location
of /Applications/Xcode.app/Contents/Developer.
- The env var DEVELOPER_DIR is set if it is not
already. So, during superenv this var is always set
and we no longer have to care about people with unset
or wrongly set xcode-select stuff. This has been
a major PITA in the past.
- determine_developer_dir (which is used to set
the DEVELOPER_DIR var) now uses MacOS::Xcode.prefix
which is proven and very capable and uses splotlight
correctly.
- Replace (and remove) MacSystem.xcode43_developer_dir
with Xcode.prefix
ClosesHomebrew/homebrew#18618
- Store in the tab if a bottle was poured for the build.
- Add an additional line of output to `brew info` outputting whether
the formula was built from source or poured from a bottle.
ClosesHomebrew/homebrew#18430.
ClosesHomebrew/homebrew#18475.
Reader methods for specific checksum types have been absent from the
Formula class for some time, so there isn't any reason to expose them in
SoftwareSpec, either.
Thus, these methods now only act as setters, and #checksum should be
used to access the constructed Checksum object.
Under certain conditions, `brew update` will show doubles. It's a rare
edge-case, but if you have a tap where the name of the formula is identical
with the name of the insalled file, then you see output like this:
==> Updated Formulae
aalib ssh-copy-id
casperjs sshuttle
jack telemachus/anytap/brew-any-tap
mogenerator telemachus/anytap/brew-any-tap
I believe this should fix that.
ClosesHomebrew/homebrew#18495.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
The existing case-statement with nested if-statements is gross and hard
to extend. Replacing it with a priority queue simplifies the logic and
makes it very easy to add new compilers to the fails_with system, which
we will likely want to do in the future.
The original constraints that led to using a custom collection rather
than Array or Set here no longer exist, so let's avoid the pointless
abstraction here.
* Add url check for GitHub home pages using http.
* Add url check for GitHub repo urls using http.
* Include url in error messages about url issues.
ClosesHomebrew/homebrew#18372.
Given the current state of OS X compilers, the original fails_with
behavior is becoming less useful, mostly resulting in build failures
each time the compiler is updated. So make the following changes:
When a build is specified, we retain the old behavior: switch compilers
if the available compiler is <= the build, don't switch if it is > the
build.
When no build is specified, unconditionally switch compilers, and don't
output the advice message. This allows us to mark formulae as
perpetually failing, avoiding the need to update formulae each time a
new compiler build is made available.
As a bonus, this makes the logic much easier to reason about.
ClosesHomebrew/homebrew#18175.
Currently `brew tap` only works on repos with 'homebrew-' in their name.
This version tries the repo name as is and then falls back to try
'homebrew-repo' only if that fails.
I've also tweaked the regex in tap_args to allow '-' in repo names. The
previous regex required a match on \w. This made it impossible for people
to tap repos with names like 'username/why-not'.
ClosesHomebrew/homebrew#18366.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
IO#read does not raise EOFError, it just returns an empty string for
each call after it consumes the underlying file or stream.
This module is going to be refactored and the begin/rescue is going to
be removed anyway.
This has two parts:
1. Bottles are temporarily relocated on bottling and tested if that is
sufficient for them to contain no longer reference the prefix or
cellar. If so, they are marked as relocatable.
2. On installation if bottles are marked as relocatable they will be
relocated using install_name_tool to the current prefix and cellar.
ClosesHomebrew/homebrew#18374.