1111 Commits

Author SHA1 Message Date
Jack Nagel
525e5f791f Remove knowledge of DSL implementation from initialize 2014-08-01 20:15:57 -05:00
Jack Nagel
f4ae1c9e1b Hide the options data structure better 2014-07-31 19:59:09 -05:00
Jack Nagel
5a94cfc4a3 Use a module since the @build ivar is going away soon 2014-07-30 22:24:24 -05:00
Jack Nagel
5ccce044ca Use the tab in place of build during tests 2014-07-30 21:04:17 -05:00
Jack Nagel
bc937f56e7 Rename resource? to resource_defined? 2014-07-30 18:56:37 -05:00
Jack Nagel
a55e196f5f Simplify internal representation of patches
- remove support for IO objects, since we no longer access ::DATA
   directly
 - since we don't need to support IO objects, use a separate class for
   string patches and stop wrapping strings in StringIO ojects
2014-07-29 16:22:06 -05:00
Jack Nagel
3f12ddbccd Decouple DATA patches from the executing script 2014-07-29 16:22:06 -05:00
Jack Nagel
9c5149b85a Stop exposing mirrors array 2014-07-23 13:09:28 -05:00
Jack Nagel
74ad97ce7f Remove intermediate method 2014-07-19 22:55:49 -05:00
Jack Nagel
dff74d9c67 Don't set @env on instances 2014-07-07 21:32:35 -05:00
Jack Nagel
a5a2141a15 Hide the cxxstdlib data structure better 2014-07-06 15:51:43 -05:00
Jack Nagel
b78308d2d5 Fix Formula#<=> on trunk Ruby
Arguably this method shouldn't exist and sort_by(&:name) used instead.
2014-07-03 15:00:41 -05:00
Jack Nagel
5375f2397e Better Formula#inspect string 2014-07-01 18:39:15 -05:00
Jack Nagel
4d9d01893e Move deprecated Formula class methods to compat
These have all been moved to Formulary.
2014-06-22 15:03:17 -05:00
Jack Nagel
90183877ff Simplify extending Formula with Enumerable 2014-06-22 15:03:17 -05:00
Jack Nagel
4b0255f7aa Keep DSL related code in one place 2014-06-22 15:03:17 -05:00
Jack Nagel
10fda9e9b9 Decouple spec selection from ARGV 2014-06-20 21:32:36 -05:00
Jack Nagel
5beaa512e6 Pass the requested spec into the formula instance 2014-06-20 21:32:36 -05:00
Jack Nagel
db9f16e2cd Formula equality reflects the active spec 2014-06-20 21:32:36 -05:00
Jack Nagel
2122620d71 Fix brew test when conflicting minitest gems are installed 2014-06-18 23:20:56 -05:00
Jack Nagel
801cdd9045 Remove default values from formula constructor parameters
Closes Homebrew/homebrew#30017.
2014-06-10 15:41:45 -05:00
Jack Nagel
375c073cec Remove unused attribute 2014-05-28 19:02:30 -05:00
Jack Nagel
28fa5b0261 Remove some evals from formula DSL
The default arguments were removed from these methods long ago, so
nothing is standing in the way of using define_method here.
2014-05-27 21:03:47 -05:00
Adam Vandenberg
d9ed121c46 add --installed to json info
Closes Homebrew/homebrew#29315.
2014-05-16 09:03:12 -07:00
Adam Vandenberg
d4b0599a86 --config -> config 2014-04-30 19:09:29 -07:00
Mike McQuaid
249aae177f formula: move cxxstdlib methods to the class.
This allows disabling this checks when e.g. pouring bottles.
2014-04-23 08:10:48 +01:00
Finn Smith
eed3368039 Fix keg version in Formula#to_hash
Closes Homebrew/homebrew#28550.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-04-21 09:29:53 -05:00
Misty De Meo
9af3917ebf Formula: provide compiler failure collections
`needs` allows formulae to specify dependencies on cross-compiler
dependencies, allowing multiple failures to be specified in a single
statement. For instance, `needs :cxx11` adds seven compiler failures.

Closes Homebrew/homebrew#22912.
2014-04-12 10:36:00 -07:00
Jack Nagel
c1366b111f Initialize cxxstdlib set lazily
This is used rarely and only at build-time, so we don't need to create
it when instantiating the formula.
2014-04-06 18:41:27 -05:00
Jack Nagel
da2a2ab748 drop unnecessary nil checks 2014-04-06 16:11:02 -05:00
Jack Nagel
cfee535786 Remove now unnecessary realpath calls 2014-04-06 00:31:07 -05:00
Jack Nagel
20f4b31763 Implement canonical_name in Formulary 2014-04-05 22:03:49 -05:00
Jack Nagel
ce1f598e98 Avoid realpath where it is not necessary
Symlinks in opt and LinkedKegs point directly at a keg in the cellar, so
only resolving one symlink should suffice, and make it clear what path
we are actually interested in.
2014-04-05 12:17:19 -05:00
Jack Nagel
7584b2ca2b Aliases never point at symlinks, so just use resolved_path 2014-03-30 15:55:37 -05:00
Jack Nagel
c8c85b4ac4 Always call Process.wait with an argument 2014-03-29 17:47:42 -05:00
Jack Nagel
c27eed10bd Simplify collecting options 2014-03-28 20:42:55 -05:00
Jack Nagel
a487909e9a Don't rely on Dependency#to_s 2014-03-28 20:42:20 -05:00
Jack Nagel
3871165c58 Add revision to brew info --json
Closes Homebrew/homebrew#27820.
2014-03-28 20:41:02 -05:00
Jack Nagel
1c558d49dd Filter arguments for setup.py and build.py 2014-03-28 19:04:31 -05:00
Jack Nagel
56feb978b8 Make ENV changes in the child so we don't have to roll them back 2014-03-28 19:04:05 -05:00
Jack Nagel
86cdd812a2 Teach fetch to download patches 2014-03-13 21:35:41 -05: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
4b80d30bab Remove used options check from install_bottle?
This is now handled by requiring that options are always passed to the
installer explicitly.
2014-03-10 14:56:02 -05:00
Jack Nagel
7da459874f Make bottle implementation more generic 2014-03-10 14:56:02 -05:00
Jack Nagel
42e60f7c59 Make build_bottle an explicit installer mode 2014-03-10 14:56:01 -05:00
Adam Vandenberg
452d671008 add opt shortcuts to formula 2014-03-07 07:08:52 -08:00
Adam Vandenberg
5cb3b25d43 document formula path helpers 2014-03-07 07:08:52 -08:00
Jack Nagel
d6937c9d3f Oops 2014-03-05 21:11:45 -06:00
Jack Nagel
44dc21ca5d Prepare bottle tooling for formula revisions 2014-03-05 20:45:44 -06:00