4367 Commits

Author SHA1 Message Date
Jack Nagel
50c7c6bbd6 Check types in Formula#==
Comparing two objects should not raise an exception, even if they have
different types.

The semantics of #== are now the same as #eql?, so make one an alias.
2013-10-04 21:19:15 -05:00
Jack Nagel
43f0c63135 superenv: fix hardcoded X11 aclocal path 2013-10-04 21:06:19 -05:00
Jack Nagel
2bbe2dba16 ENV.x11: only use SDK when CLT is missing and X11 is from Apple 2013-10-04 21:06:18 -05:00
Jack Nagel
b2bb0e22f4 ENV.x11: always add include/freetype2 to CPPFLAGS 2013-10-04 21:06:18 -05:00
Jack Nagel
5b0e0c2570 config: squelch stderr when invoking git 2013-10-04 13:08:13 -05:00
Jack Nagel
7bb90c992a Fetch yields the key, use it 2013-10-04 12:44:05 -05:00
Jack Nagel
e887232b7e MacOS: remove unnecessary begin block 2013-10-04 12:42:31 -05:00
Xiyue Deng
592b5d91a0 Fix install_name_tool path for keg_only formulae
* When a versioned keg_only formula installs the same set of executables
  or libraries as a unversioned formula that links to $HOMEBREW_PREFIX,
  install_name_tool will prefer to use the linked paths for files in
  keg_only formula.  This breaks software that should link to the
  keg_only formula but links to the unversioned one instead.
* Add an additional "options" parameter with keg_only field to specify
  the correct install path for keg_only formulae.
2013-10-04 02:03:03 -07:00
Mike McQuaid
535c02674c Add Xcode 5.0.1.
Closes Homebrew/homebrew#23040.
2013-10-04 09:56:02 +01:00
Mike McQuaid
ee79f31516 xcode: Xcode 5.0 is the latest on 10.8. 2013-10-04 09:55:26 +01:00
Mike McQuaid
929a9f8b4c macos: cleanup whitespace. 2013-10-04 09:53:59 +01:00
Misty De Meo
b4f5be46d2 MacCPUs: distinguish between G5 32-bit and 64-bit 2013-10-03 20:05:32 -07:00
Jack Nagel
b35d9906e5 Pass the mktemp prefix as an argument 2013-10-02 22:01:31 -05:00
Jack Nagel
02a0e4e2e0 Fix mktemp directory naming 2013-10-02 19:41:05 -05:00
Jack Nagel
57560c03e6 Handle invalid names in download strategies
When subformulae are initialized without a name parameter, Homebrew
assigns the name "__UNKNOWN__". This may cause collisions in the cache.

Currently CurlDownloadStrategy and its descendants handles this by
extracting the basename form the URL and using that as the cached
filename. However, other strategies simply raise an exception.

We can improve the other strategies by URL-encoding the URL string and
using that as the cached directory name.

Note that this happens very rarely, especially now that resources (which
always have a name) are preferred to subformulae. The most common case
is a subformula that specifies a head download.

Closes Homebrew/homebrew#22949.
2013-09-30 22:56:02 -05:00
Misty De Meo
48dde74503 Move ld64 into SharedEnvExtension
Superenv is being tested on Xcode 3.1.4, so this needs to be supported
in both ENVs, not just stdenv.
2013-09-28 17:22:27 -07:00
Jack Nagel
a380265e90 BazaarDownloadStrategy: handle corrupt checkouts 2013-09-28 18:38:32 -05:00
Jack Nagel
06d2aa11ee Remove commented out code, this is in git after all 2013-09-28 18:38:30 -05:00
Jack Nagel
da2efa46aa SubversionDownloadStrategy: handle corrupt checkouts 2013-09-28 18:01:00 -05:00
Jack Nagel
5468733e63 MercurialDownloadStrategy: pull quietly in non-verbose mode 2013-09-28 17:09:05 -05:00
Jack Nagel
7deb2f85e8 MercurialDownloadStrategy: handle corrupt checkouts 2013-09-28 17:08:48 -05:00
Jack Nagel
c5289f2503 Infer dependencies from download strategies and URLs
Closes Homebrew/homebrew#20849.
Closes Homebrew/homebrew#22871.
2013-09-28 16:37:05 -05:00
Jack Nagel
a2c949bfb7 Allow Dependency objects to be marshaled
When an exception is raised in the build process, it is marshaled and
sent to the main process over a pipe. The marshaled exception has
a reference to the formula, so the formula and all objects it references
are marshaled as well.

Previously this did not include dependencies, as they were stored only
on the class and not referenced by an instance variable. However, now
they are stored on SoftwareSpec instances, to which the formula *does*
have a direct reference, so they must be marshalable.
2013-09-27 23:36:57 -05:00
Misty De Meo
29d204c697 Adjust CompilerSelectionError message 2013-09-27 20:33:15 -07:00
Jack Nagel
cb32f76f27 SoftwareSpec: remove dead code 2013-09-27 21:29:37 -05:00
Mike McQuaid
5c973bad74 pod2man: add ENV wrapper.
Closes Homebrew/homebrew#22528.
2013-09-27 21:35:03 +01:00
Mike McQuaid
72d1310636 brew-pull/test-bot: use stricter formula match. 2013-09-27 17:55:00 +01:00
Mike McQuaid
e4b6fc5ae0 Bottle: set version from stable spec. 2013-09-27 09:22:15 +01:00
Nikolaus Wittenstein
f17289f708 upgrade.rb: Fix plural_s when number = 0
Currently Upgrade prints out:
"Upgrading 0 outdated package, with result:"

This change makes it print:
"Upgrading 0 outdated packages, with result:"
correctly pluralizing "packages".

Closes Homebrew/homebrew#22854.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-09-26 22:54:51 -07:00
Jack Nagel
d1ce5bafc9 Raise when given an invalid download strategy spec
When DownloadStrategyDetector.detect is given a second argument, and
that argument is not a symbol or an AbstractDownloadStrategy subclass,
it is silently ignored, and we fall back to guessing the strategy based
on the URL.

This means I can do

  url 'http://foo.com/bar.tar.gz', :using => Class.new

and things will appear to work, even though I have clearly passed an
invalid value for :using.

A more useful behavior is to raise an exception for unknown strategy
specifications.
2013-09-26 17:00:00 -05:00
Jack Nagel
1fb9f85c5f Simplify setup for local bottle installation
Closes Homebrew/homebrew#22833.
2013-09-26 10:04:45 -05:00
Jack Nagel
e420683a07 Move "Pouring" message to relevant download strategies 2013-09-25 17:41:11 -05:00
Misty De Meo
cd3dc66696 Silence xcrun output in wrapper
Our wrapper always runs the real xcrun at least once, to try to find
the path of the tool being run, but this meant that we were generating
a huge number of error messages on every cc invocaton. Mostly this was
annoying but harmless, but notably it managed to break the compilation
of go.
2013-09-25 09:15:26 -07:00
Raymie Stata
694a9c2eed add S3DownloadStrategy
downloads tarballs from public and private S3 buckets

Closes Homebrew/homebrew#22779.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-09-24 20:43:34 -07:00
Mike McQuaid
8d0c8fd978 update: handle realpath exception. 2013-09-24 23:07:01 +01:00
Mike McQuaid
5e13933557 update: untap/retap formulae before/after pull.
This should fix problems like Homebrew/homebrew#19799 where we pull formulae from taps
into core. I want to get something similar merged ASAP so we can pull
GCC into core (see Homebrew/homebrew#20678).

Closes Homebrew/homebrew#19799.
2013-09-24 23:06:10 +01:00
Jack Nagel
c464c7549f Clean up SoftwareSpec and Resource initializers 2013-09-23 21:39:33 -05:00
Jack Nagel
567f3448c9 Set owner of resources to SoftwareSpec object 2013-09-23 21:39:33 -05:00
Jack Nagel
5d17f6fb97 Set name of SoftwareSpec to owner name 2013-09-23 21:39:32 -05:00
Jack Nagel
7e981fbedc Initialize cached filenames lazily
Closes Homebrew/homebrew#22751.
2013-09-23 21:39:24 -05:00
Mike McQuaid
b20335b314 bottle: add option to force no bottle revision. 2013-09-23 18:23:23 +01:00
Mike McQuaid
fd49e498fa bottle: fix merging .rb files. 2013-09-23 17:30:56 +01:00
Mike McQuaid
3de941f7c8 bottle: fix default Cellar output. 2013-09-23 17:30:55 +01:00
Adam Vandenberg
f218e87e32 don't audit jp sourceforge URLs 2013-09-22 22:06:53 -07:00
Jack Nagel
28c8395f3d Group DSL methods that delegate to the stable spec 2013-09-22 16:04:25 -05:00
Mike McQuaid
134210d9ed bottle: allow writing/committing new bottles. 2013-09-22 16:16:50 +01:00
Mike McQuaid
5d0f868f06 Move bottle.rb logic from test-bot to brew bottle. 2013-09-22 16:16:50 +01:00
Mike McQuaid
b2a983343b bottle: only output relocatable message if >1MB. 2013-09-22 16:01:03 +01:00
Mike McQuaid
fd34bd6b90 bottle: move bottle output to ERB. 2013-09-22 16:01:02 +01:00
Mike McQuaid
5de0b4964a SoftwareSpec: add method for bottle checksums. 2013-09-22 16:01:02 +01:00