1899 Commits

Author SHA1 Message Date
Jack Nagel
e9ee640024 Don't let broken symlinks halt linking 2014-03-27 09:35:10 -05:00
Mike McQuaid
e4f291084a bottle_version: handle pazpar2 style. 2014-03-24 09:56:14 +00:00
Jack Nagel
26fe9df9b2 Preserve permissions when using Pathname#atomic_write 2014-03-22 10:58:28 -05:00
Jack Nagel
45bdeadd94 Set bottle download strategy directly
We know what strategy we want, so going through DownloadStrategyDetector
is wasted work. Now we can remove those patterns from the detector and
have two fewer branches each time through.
2014-03-18 21:28:33 -05:00
Jack Nagel
aa7ed10968 Make relative symlinks in Pathname#install_symlink
Closes Homebrew/homebrew#27672.
2014-03-18 19:03:25 -05:00
Mike McQuaid
f115260a29 bottle_version: support lz4 style. 2014-03-17 10:35:53 +00:00
Jack Nagel
665b14c4a4 Enable new patch implementation with compatibility layer 2014-03-13 21:35:41 -05:00
Jack Nagel
bc6e4a1894 New patch implementation and DSL
This commit introduces a new patch implementation that supports
checksums and caching.

Patches are declared in blocks:

  patch do
    url ...
    sha1 ...
  end

A strip level of -p1 is assumed. It can be overridden using a symbol
argument:

  patch :p0 do
    url ...
    sha1 ...
  end

Patches can be declared in stable, devel, and head blocks. This form is
preferred over using conditionals.

  stable do
    # ...

    patch do
      url ...
      sha1 ...
    end
  end

Embedded (__END__) patches are declared like so:

  patch :DATA
  patch :p0, :DATA

Patches can also be embedded by passing a string. This makes it possible
to provide multiple embedded patches while making only some of them
conditional.

  patch :p0, "..."
2014-03-13 21:35:41 -05:00
Jack Nagel
ce5e2aa65c Make debug an installer mode 2014-03-13 15:59:54 -05:00
Jack Nagel
7da459874f Make bottle implementation more generic 2014-03-10 14:56:02 -05:00
Jack Nagel
9970c97c28 Clear dependency cache after each test 2014-03-09 12:38:19 -05:00
Jack Nagel
8bfcdf0bd8 Remove special X11 proxy deps 2014-03-05 20:45:44 -06:00
Jack Nagel
6008187d5f Encode formula revision in installation prefix
In order to allow kegs built with the same version but differing formula
revisions to coexist, we must encode the revision as part of the keg's
name. This is necessary to actually perform an upgrade, as we cannot
upgrade a keg in-place, and temporarily moving it pending the result of
the upgrade is error-prone and potentially slow.

To accomplish this, we introduce a new Formula#pkg_version method that
concatenates the active_spec version with the formula revision. An
exception is made for a formula that has no revision: the tag is
omitted. This preserves compatibility with existing installations.
2014-03-05 20:12:51 -06:00
Jack Nagel
4bacc8bb13 Simplify test formula setup 2014-03-03 15:04:23 -06:00
Jack Nagel
c6bc01ab58 Add TapDependency 2014-02-28 11:16:55 -06:00
Jack Nagel
4928b4e02c Set owner ivar in SoftwareSpec 2014-02-27 14:50:22 -06:00
Jack Nagel
1981e78eb2 Eliminate mutation of Dependency objects 2014-02-27 14:22:43 -06:00
Jack Nagel
b2ccbfe6af Add set union to Options 2014-02-27 14:22:42 -06:00
Jack Nagel
96df4fe1da Apply cyclic dependency hack unconditionally 2014-02-27 14:22:42 -06:00
Adam Vandenberg
9559e162b2 Cleaner: do work in clean instead of constructor 2014-02-23 15:53:25 -08:00
Mike McQuaid
0f2d1d7f72 bottle_version: add x264. 2014-02-22 17:15:15 +00:00
Mike McQuaid
ac81d3b0d8 bottle_version: improve test filenames. 2014-02-22 17:14:51 +00:00
Jack Nagel
e3e14a0cdf Eliminate nil check on path parameter 2014-02-21 20:07:41 -05:00
Jack Nagel
41a9ba8259 Move Formula.class_s to Formulary 2014-02-21 00:46:03 -05:00
Jack Nagel
fb350bad0f Remove downloader from Formula 2014-02-21 00:41:07 -05:00
Jack Nagel
662560e40d Remove test with too much implementation knowledge 2014-02-21 00:41:07 -05:00
Jack Nagel
ca0eff67fa Inline static exception text to remove a rescue 2014-02-18 13:27:35 -05:00
Jack Nagel
0b2c6e87f1 Implement equality for Dependencies collections 2014-02-13 16:31:12 -05:00
Jack Nagel
0f5a80a97b Fix tokenizing openssl style versions
Fixes Homebrew/homebrew#25736.
2014-01-11 20:00:34 -06:00
Misty De Meo
c247f66a13 stdenv tests: add gcc-4.0 test 2014-01-04 01:37:19 -08:00
Jack Nagel
5e1cbb50c1 cleaner: add more tests for current behavior 2013-12-22 13:43:00 -06:00
Jack Nagel
d19934dcb7 cleaner: clean up broken and orphaned symlinks 2013-12-21 23:28:04 -06:00
Jack Nagel
f55e93d9fc cleaner: add test to demonstrate that empty prefixes are removed 2013-12-21 23:28:03 -06:00
Jack Nagel
8430307fa5 cleaner: add tests to document current pruning behavior 2013-12-21 23:28:03 -06:00
Jack Nagel
b57e6006a6 cleaner: add tests to demonstrate some current failures 2013-12-21 23:28:03 -06:00
Jack Nagel
554490f9e0 cleaner: slightly less coupling in tests 2013-12-21 23:28:03 -06:00
Mike McQuaid
d7c13f84b6 Update string references to mxcl/homebrew. 2013-12-14 18:18:35 +00:00
Jack Nagel
3656f59508 Add HOMEBREW_TEMP to testing environment 2013-12-14 09:47:32 -06:00
Jack Nagel
3516bb68d3 Combine superenv tests 2013-12-12 15:42:35 -06:00
Jack Nagel
a55f66839a Add another fails_with test 2013-12-12 14:53:53 -06:00
Jack Nagel
5c18054341 Simplify prefix test 2013-12-11 19:18:23 -06:00
Jack Nagel
b6cbd08e93 Implement hash equality for Version 2013-12-09 19:43:07 -06:00
Jack Nagel
291cdea687 Extract constants for checkums in tests 2013-12-09 15:57:50 -06:00
Jack Nagel
677c78d77e Pass deps collection to be expanded as a parameter 2013-12-09 14:36:10 -06:00
Misty De Meo
e2af1cbeeb Use BottleCollector in Bottle SoftwareSpec 2013-12-05 18:24:51 -08:00
Misty De Meo
079d0556ad Add BottleCollector
The BottleCollector collects bottle tags and sha1s, and allows tags
to be fetched using more advanced logic than just fetching identical
tags.

Closes Homebrew/homebrew#23434.
2013-12-05 18:24:45 -08:00
Misty De Meo
5537abbe51 Adjust fails_with syntax for non-Apple compilers
The old version worked like this:

fails_with :gcc => '4.8.1'

That wasn't really flexible enough, and made it harder to distinguish
different releases in the same GCC series. Since no one was really
using it yet, this adjusts the syntax to be more similar to the
Apple compilers:

fails_with :gcc => '4.8' do
  release '4.8.1'
end

Like with Apple compilers, omitting `release` blacklists the entire
series.

This also unifies the `build` and `version` attributes and accessors,
and exposes them under both names.
2013-12-03 22:42:49 -08:00
Jack Nagel
d18a4001b4 Adjust tests for ac1fd380759ebe9aa3fe42465cd5d38b209c32b5 2013-12-03 22:23:14 -06:00
Jack Nagel
1bab14418c Add test for 5c1ee9c1aeee00e512919f37d3fa66fcf637e070 2013-11-26 23:31:53 -06:00
Jack Nagel
07b7abdc7a Add some missing test cases for brew update 2013-11-14 11:10:43 -06:00