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
f36e676bc9
Don't ignore dependencies when actually building a dependency
...
Since the primary FormulaInstaller instance handles the entire
dependency tree, we set ignore_deps to true when instantiated the class
for each dependency in over to avoid repeated work.
However, now that arguments for the build process are whitelisted
instead of blacklisted, we have begun adding "--ignore-dependencies" if
ignore_deps is true.
This isn't quite right when we are installing a dependency. We want to
skip the calculation and installation of *its* dependencies, since the
primary installer takes care of that, but we still want to consider them
in the build process, so that they are available in the build
environment.
2014-03-13 19:25:59 -05:00
Jack Nagel
25164350d6
Revert "Roll ignore_deps change back temporarily"
...
This reverts commit 067f4d474cb158debb8ad7d19d664fb2540cb09f.
2014-03-13 19:10:41 -05:00
Jack Nagel
f0bb1a936d
Stop letting GitDependency inject HOMEBREW_PREFIX/bin into the environment
2014-03-13 18:07:11 -05:00
Jack Nagel
4cb3d121a4
Roll ignore_deps change back temporarily
2014-03-13 17:40:22 -05:00
Jack Nagel
c7a54f8da1
Use ARGV.env
2014-03-13 16:37:11 -05:00
Jack Nagel
16fde6fbdb
Rewrite postfix conditional
2014-03-13 15:59:54 -05:00
Jack Nagel
0f4f7aa271
Simplify ARGV.filter_for_dependencies
2014-03-13 15:59:54 -05:00
Jack Nagel
3b68723fa8
Make FormulaInstaller setup more readable
2014-03-13 15:59:54 -05:00
Jack Nagel
ce5e2aa65c
Make debug an installer mode
2014-03-13 15:59:54 -05:00
Jack Nagel
4d02849d43
Make verbose an installer mode
2014-03-13 15:59:54 -05:00
Jack Nagel
908d2ba792
Make interactive an installer mode
2014-03-13 15:59:53 -05:00
Jack Nagel
05836649fe
Add predicate methods for inspecting the installer mode
2014-03-13 15:59:53 -05:00
Jack Nagel
d1e6f04651
Remove unnecessary check for pour_bottle?
...
@start_time will be nil if we're pouring a bottle, so we don't need to
also check pour_bottle?.
2014-03-13 15:59:53 -05:00
Jack Nagel
7c62275e13
Whitelist arguments that are passed to build process
2014-03-13 15:59:53 -05:00
Jack Nagel
60caf14ce2
Don't set installer options to their default
...
ignore_deps and show_header default to false.
2014-03-13 15:59:53 -05:00
Jack Nagel
aa5c023b76
Add ARGV.env
2014-03-13 15:59:53 -05:00
Jack Nagel
d965bbba47
Allow the debugger to work from inside staged resources
...
References Homebrew/homebrew#23263 .
Closes Homebrew/homebrew#27445 .
2014-03-13 10:05:57 -05:00
Jack Nagel
7dcb54a963
Set bottle name so brew fetch --retry
works
2014-03-13 10:01:01 -05:00
Mike McQuaid
35093b7a37
Revert "software_spec: set a name for bottles."
...
This reverts commit 7cdcd13aa08ed91a73837b73dc185ad9147f7130.
2014-03-13 13:13:06 +00:00
Mike McQuaid
5d11b5e7a5
software_spec: set a name for bottles.
...
Avoids errors on `brew fetch --retry` with bottles.
2014-03-13 11:22:33 +00:00
Mike McQuaid
0e52cc6188
bottle: remove pyc files before bottling.
...
Allows more `cellar :any` bottles.
2014-03-13 10:05:20 +00:00
Mike McQuaid
916e751596
keg: add delete_pyc_files! method.
2014-03-13 10:05:20 +00:00
Mike McQuaid
5b6d872459
python_dependency: always bottle with brew Python.
2014-03-13 10:05:20 +00:00
Mike McQuaid
c789f907eb
utils: return empty issues array when no API.
2014-03-13 10:05:20 +00:00
Mike McQuaid
0fd32118c7
requirements: remove unneeded Python27Dependency.
...
PythonDependency now implies this.
2014-03-12 13:57:10 +00:00
Mike McQuaid
c594053449
python_dependency: fixes, features, cleanup.
...
- PythonDependency now implies Python 2.7
- PythonDependency now uses brewed Python for bottling
- Use double-quotes everywhere
Closes Homebrew/homebrew#27112 .
2014-03-12 13:56:41 +00:00
Mike McQuaid
34edc35b9b
Add Language::Python module.
2014-03-12 13:56:27 +00:00
Mike McQuaid
d8ef8d4f82
caveats: recommend Python .pth file instead.
...
This is better than PYTHONPATH as it doesn't mess with incompatible
versions of Python.
Closes Homebrew/homebrew#27138 .
2014-03-12 13:29:19 +00:00
Jack Nagel
9030c19418
Don't chdir just to do a glob
2014-03-11 18:45:55 -05:00
Jack Nagel
da26203912
Fix brew bottle --merge
2014-03-11 09:16:14 -05:00
Tung Nguyen
c8478e8ce3
formula_specialties: fix AWS standard_instructions
...
Closes Homebrew/homebrew#27398 .
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-03-11 08:03:04 +00:00
Jack Nagel
2dbd5fd509
Drop executable bit from linkapps.rb
2014-03-10 16:25:08 -05:00
Jack Nagel
cca7d1a96f
Update latest CLT version check
2014-03-10 15:39:16 -05:00
Jack Nagel
5bd5e05541
Recognize Xcode 5.1 and CLT 5.1
...
Closes Homebrew/homebrew#27389 .
Fixes Homebrew/homebrew#27390 .
2014-03-10 15:26:36 -05:00
Jack Nagel
85ee742737
Update --cache command for generalized bottle implementation
2014-03-10 14:56:03 -05:00
Jack Nagel
0129542ede
Update bottle command for generalized bottle implementation
2014-03-10 14:56:02 -05:00
Jack Nagel
a8fe989733
Update fetch command for generalized bottle implementation
2014-03-10 14:56:02 -05:00
Jack Nagel
7f875419c6
Update info command for generalized bottle implementation
2014-03-10 14:56:02 -05:00
Jack Nagel
a96c1a2afc
Make force_bottle an explicit installer mode
2014-03-10 14:56:02 -05:00
Jack Nagel
7b6fa8b7bb
Inline install_bottle? logic into the installer
2014-03-10 14:56:02 -05:00
Jack Nagel
32ab18c189
Wrap cellar compatibility check in a method
2014-03-10 14:56:02 -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
2182ce4d16
Remove some obsoleted hacks from the installer
2014-03-10 14:56:02 -05:00
Jack Nagel
9bc8d0820e
Reduce the number of things that trigger ARGV.build_from_source?
...
The newly generalized bottle implementation removes the need to
defensively check for --devel, --HEAD, and others in this method.
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
97dd5f61c4
install: explicitly pass used options to the installer
2014-03-10 14:56:02 -05:00
Jack Nagel
a911dd5066
Make build_from_source an explicit installer mode
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