1431 Commits

Author SHA1 Message Date
Camillo Lugaresi
c59be1a930 Remove libiconv duplicate
Commit ee2c3ab ("Remove spurious libiconv dependencies") pruned all
existing "depends_on 'libiconv'" usages from Homebrew in preparation for
removing the libiconv dupe itself.

Now that is done, and we can remove and blacklist it. It can be obtained
from Homebrew-alt.

Closes Homebrew/homebrew#10464.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-13 19:38:17 -05:00
Max Howell
6ded0d0cbb Use /Library/Caches/Homebrew
We don't penalise existing users; if ~/Library/Caches/Homebrew already exists and is writable, we select that.

This is the correct choice, the cache should be the same directory whichever user is used and whatever instance of brew is invoked.

The Cache directory is set to 0777 this allows any user to write to it and fixes Homebrew/homebrew#10857.
2012-03-14 00:05:46 +00:00
Jack Nagel
b8edc0cd73 Adjust compat's fails_with_llvm call
handle_llvm_failure was moved into FailsWithLLVM and renamed.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-13 10:07:16 -05:00
Adam Vandenberg
379a9353b0 Quote the .xz path in case of spaces 2012-03-13 06:58:01 -07:00
Adam Vandenberg
e133cba770 brew doctor: check for DYLD_INSERT_LIBRARIES 2012-03-12 21:14:33 -07:00
Adam Vandenberg
5aa6aefa96 Allow multiple digits in GitHub version parts 2012-03-11 14:37:44 -07:00
Jack Nagel
6424cbf0de Update external deps tests
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-11 15:41:45 -05:00
Jack Nagel
8973d1dbcf Remove redundant versions and update version tests
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-11 15:18:56 -05:00
Jack Nagel
5b1957f13a keg: don't skip linking based on relative pathname
ed1a674c ("keg: allow selective linking at the file level") had a
regression which caused the link step to skip files with the same name
as a directory in the user's CWD.

Keg#link_dir yields a relative pathname, so assumptions cannot be made
about the nature of that pathname in the block.

Instead, introduce ":skip_dir" and ":skip_file" to replace the existing
":skip" directive. This way, we won't skip things marked ":skip_dir"
when linking a file, and vice-versa.

Fixes Homebrew/homebrew#10860.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-11 10:18:12 -05:00
Adam Vandenberg
27288547aa Add specialty formulase to inheritance check 2012-03-10 10:26:06 -08:00
Adam Vandenberg
c947dbc580 Use HOMEBREW_REPOSITORY for freshness check
Homebrew itself is found under HOMEBREW_REPOSITORY,
which *may* be the same HOMEBREW_PREFIX, but does not have
to be if you link brew into /usr/local/bin from another location.
2012-03-10 10:08:16 -08:00
Adam Vandenberg
715f808421 roll back stricter version check 2012-03-10 10:02:05 -08:00
Adam Vandenberg
cef5429f93 Use new Requirements code in Homebrew 2012-03-10 09:24:10 -08:00
Adam Vandenberg
fee00469f6 New external dependency implementation. 2012-03-10 09:24:07 -08:00
Mike McQuaid
b86ead91ea Revert "Always build bottles universally."
This reverts commit 72a477f2734939d4c5805247588c4cdea69b5383.
2012-03-10 19:28:46 +13:00
Mike McQuaid
6d940a5bcc Always build bottles universally. 2012-03-10 18:11:12 +13:00
Mike McQuaid
552dcdc703 Move most bottle stuff to a bottles.rb file. 2012-03-10 18:10:40 +13:00
Mike McQuaid
4a306f32f4 Support bottles for non-Lion OSX versions. 2012-03-10 18:09:35 +13:00
Mike McQuaid
22f908d520 Make brew-bottle an internal command. 2012-03-10 17:57:10 +13:00
Adam Vandenberg
aef580261b Tell the user when build logs are copied 2012-03-09 18:48:23 -08:00
Adam Vandenberg
04088ba96d Do a stricter version check
A version should always be set when going through the constructor
so tighten this check. Also do some style clean ups here.
2012-03-09 18:44:48 -08:00
Charlie Sharpsteen
275d22db9e ENV.rb: Set GCC-style CPU flags for GFortran
GFortran chokes when it is passed CPU flags specific to Clang. This change
ensures the environment variables `FCFLAGS` and `FFLAGS` contain the same CPU
flags that would be set for the GCC compiler.

Fixes Homebrew/homebrew#10424.
Fixes Homebrew/homebrew#10744.

Closes Homebrew/homebrew#10774.

Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-03-09 12:14:08 -08:00
Charlie Sharpsteen
55d4f48746 ENV.rb: Generalize method for setting CPU flags
All logic has been copied into a new method `set_cpu_flags` that accepts an
additional argument, `flags`, which contains a list of environment variables
for which the CPU flags are to be adjusted.

`set_cpu_cflags` now recalls `set_cpu_flags` and passes `cflags_flags` as the
first argument.

Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-03-09 12:14:05 -08:00
Charlie Sharpsteen
1805e87529 ENV.rb: Modifier methods accept lists of flags
`ENV` methods that modify environment variables, `prepend`, `append` and
`remove`, can now accept lists of flags as well as a single flag.

The list of flags affected by `append_to_cflags` and `remove_from_cflags` are
now definied in a shortcut method `cc_flag_vars`.

Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-03-09 12:14:04 -08:00
Jack Nagel
880f566867 Remove unnecessary hyphen
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-09 13:29:56 -06:00
Mike McQuaid
cd13553d59 Remove bad exit status; need to fix another way. 2012-03-10 08:18:42 +13:00
Jack Nagel
d60f4ffcd8 Restore cleaning of lib/charset.alias
Even though we now prevent linking of this file into the prefix in
Keg#link, its presence still triggers a "non-lib in lib" warning during
installation. So keep cleaning it, and leave the check in Keg#link so
things that skip_clean 'lib' still won't have it linked.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-09 12:41:22 -06:00
Jack Nagel
fe25e4f7ec Fix typo in test_arch_for_command
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-09 11:50:27 -06:00
Max Howell
981605d199 Don't cleanup the wrong things
This still isn't perfect, but it will handle hyphens in formula-names better now. A proper solution is not easy or maybe even possible unless we ban hyphens in versions AND formula names, or use a different character as a separate in downloaded cache files which we then ban from formula-name and version strings.

Refs Homebrew/homebrew#2923.
2012-03-09 15:25:09 +00:00
Mike McQuaid
5f1a9098c9 Add better Unix exit codes.
Closes Homebrew/homebrew#10809.
2012-03-09 19:16:33 +13:00
Mike McQuaid
a005834d7a Run tests from anywhere and provide an exit code. 2012-03-09 18:28:47 +13:00
Mike McQuaid
0e2258f0fa Fix test_ENV on 10.7/Xcode 4. 2012-03-09 16:49:19 +13:00
Mike McQuaid
31e2ec485b Fix test_arch_for_command on 10.7. 2012-03-09 16:49:19 +13:00
Jack Nagel
d6851033f9 Fix gdk-pixbuf module installation
When other packages install gdk-pixbuf modules, they get installed into
the gdk-pixbuf keg. To avoid this, we explicitly create the top level
lib directories for gdk-pixbuf and hack the pkgconfig file to point at
the top-level directories instead of the keg.

This results in other packages installing modules into the top-level
directory and as such they are "lost" and treated as unbrewed files, but
that is still better than losing them during upgrades of gdk-pixbuf
itself.

If we had a post-link hook, we could keep everything confined to its own
keg, linked into the top-level modules directory, and then run

    gdk-pixbuf-query-loaders --update-cache

ourselves. In the abscence of that, I think this is the best compromise.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-08 20:40:26 -06:00
Oscar Del Ben
94bafe05f4 Include vi in list of binaries already in OS X
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-03-07 21:25:20 -08:00
Max Howell
4e3c99d96f Don't attempt to cleanup source checkouts
Fixes Homebrew/homebrew#10751.
2012-03-07 17:14:06 +00:00
Max Howell
5b0d97efc7 Suggest full path to Xcode 4.3 /Developer
Some people seem to have an older xcode-select even after installing the CLT from inside Xcode or otherwise. So this is works for both.

Now we aren't future-proofed in case Apple change the location, but hopefully they won't, seems unlikely.

Refs Homebrew/homebrew#10743. Fixes Homebrew/homebrew#10745.
2012-03-07 15:19:30 +00:00
Adam Vandenberg
c7ec737f86 Remove silly path method 2012-03-07 06:57:23 -08:00
Max Howell
8fd2778a95 Allow dependencies to still install
Oops bug.
2012-03-07 13:48:04 +00:00
Max Howell
d830e17a12 Protect against unwritable cache location 2012-03-07 12:51:02 +00:00
Max Howell
6988a75b84 Don't allow sudo brew upgrade if not sensible 2012-03-07 12:50:15 +00:00
Max Howell
a13ff43886 Don't abort upgrade if one formula won't build
Also, unlink previous keg before installing to prevent issues when existing installed brews cause build problems for the newer installed brew.

If the build fails the active keg is relinked before aborting.

Fixes #10341.
2012-03-07 12:34:40 +00:00
Max Howell
76aa0a62f3 Stop supporting `brew install --force'
Rationale: it breaks stuff. You should not be able to install over something already installed *and* linked. brew now prompts you to unlink the existing linked keg first.

I came to fix this because I discovered that `brew install foo` works without --force provided foo's formula version is different to that which is installed and linked. I'm not sure if this was intentionally broken, but it led to at least two tickets I found where people were getting crazy issues trying to install over the top of already installed previous versions.

So I also fixed a whole category of other issues, mostly by moving error handling into FormulaInstaller. Now error's can be caught in Homebrew.install and handled on a formula-by-formula basis. I will next port this behaviour to upgrade.
2012-03-07 12:33:47 +00:00
Max Howell
15a70c36d0 Move brew output for BuildError into BuildError
So upgrade can output errors but continue to upgrade the rest of the installation.
2012-03-07 12:33:47 +00:00
Max Howell
735b6337a1 If multiple kegs, default to formula keg
If it exists, ARGV.kegs will return the Formula.prefix keg for each rack examined.

So for ARGV=[wget, foo] and the following Cellar (wget/1.11, wget/1.12, foo/1.0) you'll get [wget/1.12, foo/1.0] from ARGV.kegs provided 1.12 is the formula version of wget.
2012-03-07 12:33:47 +00:00
Jack Nagel
67c3f1b2b4 Extend FileUtils rather than include it
Fixes Homebrew/homebrew#10729.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-06 19:23:51 -06:00
Max Howell
158efd8c9a brew cleanup cleans up the download-cache
Manpage updated.

The -s switch is "scrub" and removes downloads for uninstall formula which are downloads for the latest version of that formula still.

Please NOTE cache is NOT cleaned if a formula argument is provided. I couldn't be bothered. Patches welcome :)

Closes Homebrew/homebrew#2923.
2012-03-06 20:28:06 +00:00
Max Howell
1b4b8a722e Pathname.stem knows about bottles 2012-03-06 20:28:06 +00:00
Max Howell
b63ec18564 Proper single character switch handling
Includes a test. So now you can do `brew cleanup -ns` and it will work.
2012-03-06 20:28:06 +00:00
Max Howell
9c5ddb5721 The doctor checks if you need to brew update
Well at least it checks to see if it's been a while since the last one.
2012-03-06 20:28:05 +00:00