3595 Commits

Author SHA1 Message Date
Jack Nagel
625d61fe5d Treat target as binary when unpacking gzip-only archives 2013-09-16 14:39:54 -05:00
Samuel Cochran
23c869afee Cater to download strategies not yielding a file
Closes Homebrew/homebrew#22580.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-09-16 14:32:40 -05:00
Jack Nagel
84cbfb164e Open files in binary mode where appropriate 2013-09-16 12:50:31 -05:00
Jack Nagel
71b21c920f Copies of BuildOptions should not share underlying collections 2013-09-14 17:03:56 -05:00
Jack Nagel
cecf9a564f Tear down the cache after installation tests 2013-09-14 11:53:32 -05:00
Jack Nagel
a31fcb554c Move SoftwareSpec to a separate file 2013-09-14 10:16:52 -05:00
Mike McQuaid
07142a2a32 PythonHelper: move old_env outside begin block. 2013-09-14 12:21:49 +01:00
Mike McQuaid
315c7a1212 Rename PythonInstalled to PythonDependency.
Make it more consistent with other requirements.
2013-09-14 12:21:49 +01:00
Mike McQuaid
a16394fde8 MinimumMacOSRequirement: rename file.
Should be using minimum_mac_os_requirement.rb
2013-09-14 12:21:49 +01:00
Jack Nagel
7804d2d5f3 Remove unused attr 2013-09-13 22:43:07 -05:00
Jack Nagel
adceeb52f6 Stop exposing the download strategy from Formula 2013-09-13 22:33:46 -05:00
Jack Nagel
320356236d head DSL can accept a block 2013-09-13 11:13:12 -05:00
Jack Nagel
f2ebc0e325 Stop mutating dependency specifications 2013-09-13 09:57:53 -05:00
Jack Nagel
448ce26980 Use SoftwareSpec directly when using a stable block 2013-09-12 19:43:22 -05:00
Adam Vandenberg
809fc87da0 Allow resource fetching
Closes Homebrew/homebrew#20047.
2013-09-11 22:05:27 -07:00
Adam Vandenberg
d4cf3ef212 Implement Resources
Closes Homebrew/homebrew#20212.
2013-09-11 22:05:26 -07:00
Mike McQuaid
6718ca119c bottle: loosen prefix grep check.
/usr/local is in lots of things unrelated to Homebrew so be more specific and look for opt instead.
2013-09-10 21:56:39 +01:00
Jack Nagel
4c55082e7c update: restore previous state when interrupted
Fixes Homebrew/homebrew#19460.
Closes Homebrew/homebrew#22375.
2013-09-10 15:12:39 -05:00
Misty De Meo
15a3ae3d28 Fix CompilerSelector test for llvm
Update test to reflect that llvm-gcc should take precedence over
non-Apple GCC.
2013-09-10 13:08:03 -07:00
Misty De Meo
55004d81b6 Compiler priority: fix llvm-gcc priority
llvm-gcc should still get priority over non-Apple GCCs.

Fixes Homebrew/homebrew#22424.
2013-09-10 08:17:28 -07:00
Mike McQuaid
3a0204dd0b git-etc: add removed files too. 2013-09-09 16:15:33 +01:00
Jack Nagel
20ed26c655 Close read pipe immediately after reading and only when initialized
c.f. Homebrew/homebrew#22386.
2013-09-07 22:20:26 -05:00
Mike McQuaid
4eb31ac676 audit: print warning and description. 2013-09-07 17:38:15 +01:00
Jack Nagel
4489a8684f Rewrite conditions in more natural way 2013-09-07 11:09:32 -05:00
Jack Nagel
771a28427c Use block-form of File.open and let Ruby do the cleanup 2013-09-07 10:22:58 -05:00
Jack Nagel
8b2a8d0595 ARGV.verbose? is always false here 2013-09-07 10:22:11 -05:00
Mike McQuaid
ab20ed0bc2 Optionally use git to keep brew etc versioned.
Still in alpha state.
Handles defaults and merging changes with new versions.
Enable by setting the HOMEBREW_GIT_ETC environment variable.

Closes Homebrew/homebrew#15751.
Closes Homebrew/homebrew#17713.
2013-09-07 13:39:43 +01:00
Jack Nagel
a1f165c02d Fix file descriptor leak in Formula#system 2013-09-06 23:17:50 -05:00
Jack Nagel
77b5805fda Close the read end of the error pipe after the build 2013-09-06 22:49:31 -05:00
Xiyue Deng
45d5471a43 Enable verbose compile command in create template.
* Add "--disable-silent-rules" option to autotools-based configure
  options.
  - Also add comments to notify user removing unrecognized configure
    options.
* Add "-DCMAKE_VERBOSE_MAKEFILE=ON" to cmake-based configure options.
2013-09-06 17:59:58 -07:00
Jack Nagel
6d7cda77e9 ENV: remove trailing slash from OpenGL header path 2013-09-06 12:38:56 -05:00
Jack Nagel
a871baadf5 Fix breakage in option recognition
Fixes Homebrew/homebrew#22347.
2013-09-05 18:51:27 -05:00
Xiyue Deng
896173a999 Revert Library/Homebrew/cmd/install.rb to 4b320eec.
* Fix problem when install exception got swallow and reinstall thinks it
  succeeded.
2013-09-05 12:24:21 -07:00
Max Howell
fad1df9359 Suggest installing pip via easy_install 2013-09-05 12:03:54 -05:00
Samuel John
59a0c1e1b5 Improve python tests for brew bots
Allow `build.with?` and similar methods to be used during the test
phase. The BuildOptions (`build`) are initialized with the
`Tab.used_options` unless explicitly overwritten on the command line.

So basically `build.with?` works in `def install` and in `test do` as
one would naively expect. (For the test, gramatically it should be
`built.with?` but who cares)

If a formula was installed `--with-python`, now the tests are also
run `--with-python`. This enables us to use the `python do ... end` in
a meaningful manner.

Using `python do ... end` blocks for the tests, because the bot.brew.sh has
system python per default and we need to set the PYTHONPATH for the test.
Potentially to different values for Python 2.x and 3.x.
2013-09-05 15:26:57 +02:00
Samuel John
6ae2e872d3 reinstall cleanup 2013-09-05 14:59:33 +02:00
Xiyue Deng
8aae1dac7b Make reinstall transaction safe.
* Aborting during reinstall will now restore the originally installed
  keg.
  - Change install code to pass on CannotInstallFormulaError exception
    to caller so it can be reused in reinstall.
* Add "--force-new-install" flag to force installing a new formula.

Closes Homebrew/homebrew#22190.

Signed-off-by: Samuel John <github@SamuelJohn.de>
2013-09-05 14:02:29 +02:00
Jack Nagel
7e079fc37d ENV: convert values to strings in cc setters 2013-09-03 10:07:53 -05:00
Jack Nagel
ce48366ab1 ENV: use cc accessor 2013-09-03 10:06:55 -05:00
Samuel John
576f08a8eb pil: is now blacklisted.
PIL has been removed and users should use pillow either
by `pip install pillo` or `brew install samueljohn/python/pillow`.
2013-09-03 13:14:54 +02:00
Samuel John
9b755e5ad2 brew search <user>/<repo> [substring]
For example `brew search homebrew/science` to get a list of all formulae
from that tap, even if not yet tapped.

`brew search <user>/<repo>/<substr>` or
`brew search <user>/<repo> <substr>` to grep for `<substr>`
inside of the tap `<user>/<repo>`.
2013-09-03 11:52:34 +02:00
Samuel John
a260bb1906 doctor: be more helpful with suggestion about PATH
- Show a one liner that will append to
  the user's ~/.bash_profile. In 95% this will be
  ok and we assume zsh people are smart enough
  to know what they have to do.
2013-09-03 11:44:48 +02:00
Samuel John
5515fda59a PythonInstalled: Allow formulae to set/append PYTHONPATH
Improve robustness of `PYTHONPATH` by first unsetting it (during
`satisfy`) so that the `PythonInstalled` can get the `python.version`
and so forth and then, after that, setting the `PYTHONPATH` to our
`global_site_packages`.
In the `python_helper` we append to the `PYTHONPATH` so if that var has
been set in a formula, it is respected.
Brew audit does no longer complain about setting the
`ENV['PYTHONPATH']`.
2013-09-03 10:46:06 +02:00
Samuel John
dbaac79f17 PythonInstalled: Adding a private_site_packages
that live in the `libexec` dir of a `Cellar`.
2013-09-03 10:41:54 +02:00
Samuel John
0d75de42bb python_helper: Comment wording 2013-09-03 10:36:58 +02:00
Misty De Meo
922a4f1b77 Formula: record full path to non-core formula
If a formula is passed with a relative path, the build process might
try to expand it in the wrong directory, where it doesn't exist.

Fixes Homebrew/homebrew#22266.
2013-09-02 10:01:36 -07:00
Misty De Meo
e92fa147b3 Remove attr_rw for CompilerFailure version attribute
This reverts commit 7db9ef9650a44ef8155bf66efd88703e580057b0.
2013-09-01 22:37:03 -07:00
Misty De Meo
ca3ed1e5ff CompilerFailure: specify attr_rw for version 2013-09-01 21:26:30 -07:00
Misty De Meo
96b50e013e Remove HOMEBREW_CC warning from ENV.compiler
ENV.compiler is called outside setting up the build environment, where
values unsupported for user input might have been specified - for
example, GNU GCC executables.
2013-09-01 14:42:37 -07:00
Misty De Meo
7c3d6ea81c Check dependencies for a compatible C++ stdlib
There are now a few possible C++ standard libraries a given build could
be using, with subtle incompatibilities and possibility of breakage
when mixed. This makes sure that the dependency chain was compiled in
a compatible manner.

Fortunately all of the Apple compilers use the same libstdc++, and we
don't yet support building with libc++, so this will primarily only
nag users trying to use GNU gcc who already have software installed
with Apple compilers.

Future TODOs:

* Add general support for building with libc++ (compatibility checking
  already handled here)
* Possibly track formulae which actually build C++ bindings, so that
  users aren't bothered by spurious nagging re: interpreted languages,
  pure-C software, etc.
2013-09-01 13:19:13 -07:00