Commit Graph
8378 Commits
Author SHA1 Message Date
Xu Cheng a3023c3ce8 add compat/tap
To keep backward compatibility for API name changing.
2016-03-07 19:43:46 +08:00
Xu Cheng 28f3dae8cd rename CoreFormulaRepository to CoreTap
Core tap will be separated from core code in the near future.
It makes sense to rename it to CoreTap.
2016-03-07 19:43:46 +08:00
Matthew FluetandXu Cheng 2b32cfe7b0 mlton 20130715 (new formula)
MLton is whole-program, optimizing compiler for Standard ML.

A previous mlton formula simply installed the upstream binary release
and was moved to the boneyard as a binary-only formula (see
Homebrew/homebrew#21780).

This new mlton formula builds from source, using the upstream binary
release to bootstrap.

Closes Homebrew/homebrew#48694.

Signed-off-by: Andrew Janke <andrew@apjanke.net>
2016-03-07 19:43:46 +08:00
Xu Cheng c540343903 download_strategy: correct S3 url regex 2016-03-06 13:51:06 +08:00
Xu Cheng 9f96e41b40 tap: add methods to get git related information
These methods will be used in `brew --version`, `brew config`
and `brew doctor` after core/formula separation.

Closes Homebrew/homebrew#49796.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-03-06 13:51:06 +08:00
Xu Cheng a2d0d88bf1 CoreFormulaRepository: move require statements to the top
This commit will help to mitigate bug Homebrew/homebrew#42553 on certain old Homebrew installations
(e.g. `osx_image: xcode6.4` on Travis CI) for future core/formula
separation.

On that particular Homebrew installations, `formulary.rb` will be loaded after
`git pull` is finished during `brew update`, which will then load `core_formular_repository.rb`.

By introducing `require "tap_migrations"` and `require "formula_renames"` at the top of
`core_formular_repository.rb`, we could use `tap_migrations.rb` as a
vector to preform certain hack for future core/formula separation.
2016-03-05 19:52:12 +08:00
Kel CecilandTim D. Smith 59536356b6 Allow S3 buckets to have dots
Closes Homebrew/homebrew#49729.

Signed-off-by: Tim D. Smith <git@tim-smith.us>
2016-03-03 09:43:04 -08:00
Josh HaginsandMike McQuaid e404a71e43 diagnostic: only warn about local newline config
cd to `HOMEBREW_REPOSITORY` before checking git newline settings.

Closes Homebrew/homebrew#49565.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-03-01 13:25:24 -08:00
Tim D. Smith b4edf23a36 test-bot: make bottle stats visible by default
Closes Homebrew/homebrew#49620.
2016-02-28 09:51:14 -08:00
Martin Afanasjew bd679c7dc3 brew.sh: improve empty argument handling
Follow-up to Homebrew/homebrew#49327 that leaves empty argument handling to the Ruby code
(it is a bit more sophisticated and distinguished between `help` and an
empty argument list and treats them differently) instead of hard-wiring
the former to the `help` command.

Closes Homebrew/homebrew#49538.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-02-27 18:34:31 +01:00
Martin Afanasjew 2ab4f74527 brew.sh: drop reference to removed 'update-ruby'
This is a follow-up fix to a minor oversight in Homebrew/homebrew#49523.
2016-02-26 14:33:40 +01:00
Xu Cheng eb6f970b90 tap: support --quieter flag
Closes Homebrew/homebrew#49551.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-26 18:42:36 +08:00
Xu Cheng 43c6061bc9 Tap#install: support quiet option 2016-02-26 18:42:36 +08:00
Usman AkejuandMike McQuaid bbe4191c61 formula: sort outdated versions naturally.
Because the versions are read from directory listings, we get
alphabetical sorts of version numbers in `brew outdated` output:

   some-keg (10.1.10, 10.1.11, 10.1.9 < 10.1.12)

This is nicer:

   some-keg (10.1.9, 10.1.10, 10.1.11 < 10.1.12)

Closes Homebrew/homebrew#49534.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-26 09:04:05 +00:00
Xu Cheng b52af53e71 various: use Tap abstraction
formula_rename and tap_migrations are now handled inside Tap.

Closes Homebrew/homebrew#49549.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-26 17:00:17 +08:00
Xu Cheng 73b79de7bc ARGV: switch? should only has one dash
If user inputs argument such as `-with-flag`, we can assume it's a bad flag.

Closes Homebrew/homebrew#49256

Closes Homebrew/homebrew#49550.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-26 16:50:55 +08:00
Xu Cheng ba147818cb test_formulary: use CoreFormulaRepository abstraction 2016-02-26 13:33:36 +08:00
Martin Afanasjew c20809526c os/mac/ruby_mach: don't hide actual parse errors
The current approach of suppressing all output regardless of what the
error is makes it very hard to debug any issues and misread but valid
Mach-O files will be silently interpreted as non-Mach-O files instead.

Prefer to fail if we are a Homebrew developer or running on the bot
(`HOMEBREW_DEVELOPER=1`), so that problems will be noticed and fixed
before the silent failure leads to hard-to-diagnose user problems.

Closes Homebrew/homebrew#48817.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-02-25 21:54:42 +01:00
Martin Afanasjew 01d642f150 vendor/macho: update to 0.2.2-39-ge2fbedc9 2016-02-25 21:54:41 +01:00
Xu Cheng 2496bdf280 remove update-ruby
Closes Homebrew/homebrew#49523.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-25 23:05:39 +08:00
Xu Cheng 9a4987533a update-report: fix new_full_name in report 2016-02-25 17:27:50 +08:00
Xu Cheng 79a01a47cc test_update_report: fix test
Closes Homebrew/homebrew#48546.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-25 17:22:28 +08:00
Xu Cheng 239c860863 update-report: refactoring
* Better variable/class name. `update-report` isn't response to actual
  update.
* Use abstraction offered by Reporter and ReproterHub class.
* Failure on one tap won't affect migration preformed by other taps.
* Simplify logic and prepare for core/formula separation.
2016-02-25 17:22:28 +08:00
Xu Cheng 95a6067702 update-report: refactoring ReporterHub
* Better variable/class name.
* Remove obsolete update_renamed, this is now handled inside each
  reporter.
* Remove obsolete formula file path to name computation, which is also
  handled by reporter.
* Hide low lever implementation detail to offer better abstraction.
  Use `add(reporter)` instead of `Hash#update` to add new report.
2016-02-25 17:22:28 +08:00
Xu Cheng 849e62c736 update-report: use tap inside Reporter
* Avoid tons of unnecessary file path manipulation. Use abstraction
offered by Tap class if possible.
* Handle formula rename/tap migration inside reporter in per tap basis.
* Avoid duplicated computation.
* Remove redundant/dead code.
2016-02-25 17:22:28 +08:00
Xu Cheng 87ecd621eb add Tap#tap_migrations
This enables tap migration feature in per tap case, which will
ultimately help core/formula separation.
2016-02-25 17:22:28 +08:00
Misty De MeoandMike McQuaid a7869783ad Haskell: cap cabal-install make jobs at 64
Fixes Homebrew/homebrew#49509.

Closes Homebrew/homebrew#49511.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-25 08:08:34 +00:00
Xu Cheng 6ac6cb4fcd TapLoader: improve load logic
* Use `Tap#formula_dir` instead of `Tap#formula_files` to find formula
  file to have better performance and avoid caching issue.
* Change the loader logic to search name -> search alias -> search old name.
  This is more consistence with what we do when loading core formula
  file.

Closes Homebrew/homebrew#49484.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-24 20:51:35 +08:00
Paul PhillipsandBaptiste Fontaine 6b6159a858 list: exclude .github from unbrewed
Recently added files polluting brew ls --unbrewed results.

Closes Homebrew/homebrew#49456.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-02-23 22:39:14 +01:00
ilovezfsandMike McQuaid 4c1e415bff haskell: fix empty flags build failures
Fixes a regression introduced by Homebrew/homebrew#47950 in 9e3ee3e causing build
failures with the error

  cabal: The file does not exist ''.

This will occur whenever the optional :flags key isn't in the options
hash passed to install_cabal_package.

Closes Homebrew/homebrew#49425.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-22 16:16:50 +00:00
Baptiste Fontaine 1208e26c74 audit: a couple more tests
Closes Homebrew/homebrew#49404.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-02-22 12:31:51 +01:00
Mike McQuaid 3505509bae update: better handle merge conflicts.
When there are merge conflicts we fail pretty hard. This is still
possible after this commit but at least we've given Git enough pointers
to make it less likely.

Closes Homebrew/homebrew#49299.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-22 09:00:35 +00:00
Cedric StaubandDominyk Tiller cc3e2e8f0f git-annex: force-enable "webapp" flag
To address issue Homebrew/homebrew#47346 (git-annex-webapp missing), we explicitly
enable the "webapp" flag for git-annex. This should prevent git-annex
from being built without the webapp and make the build fail if there is
e.g. a dependency issue.

Closes Homebrew/homebrew#47950.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-02-22 01:32:42 +00:00
Baptiste Fontaine bb37aa2824 go: warn about no-op stage_deps calls
Closes Homebrew/homebrew#49389.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-02-21 21:21:23 +01:00
ilovezfsandMike McQuaid 6a1a57423b Haskell#cabal_install more robust deps resolution
The default max-backjumps can be too low, especially since
Language::Haskell::Cabal doesn't guarantee an LTS config.

In particular, this fixes a git-annex build failure in Homebrew/homebrew#47950

Closes Homebrew/homebrew#49158.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-21 18:40:36 +00:00
ilovezfsandMike McQuaid 2517d396aa FileUtils::mktemp fix for OS X 10.6.7 and earlier
FileUtils::fu_get_gid only started doing the conversion of the group
to_s automatically from OS X 10.6.8 (ruby-1.8.7-p358) forward.

OS X 10.6.7 (ruby-1.8.7-p174) would fail in brew's FileUtils::mktemp with the
error "Error: can't convert Fixnum into String."

Fixes Homebrew/homebrew#49045
Fixes Homebrew/homebrew#49348

Closes Homebrew/homebrew#49369.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-21 17:34:19 +00:00
ilovezfsandMike McQuaid e6501c3768 HOMEBREW_LIBRARY_PATH: remove redundant /Homebrew
The default HOMEBREW_LIBRARY_PATH should be
  /usr/local/Library/Homebrew
not
  /usr/local/Library/Homebrew/Homebrew

Closes Homebrew/homebrew#49384.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-21 17:34:17 +00:00
Zhiming WangandDominyk Tiller 18b20c9eaf synfigstudio: boneyard
Main reasons for boneyard:

* As this formula now stands, it fails to build (with a mysterious
  error) against FFmpeg 3.0 (#49178);

* This is a GUI-only tool (look at its awkward test), so it doesn't
  quite belong to core to begin with; and due to the build issue above,
  work is needed if it is to be revived in homebrew/gui;

* There's not enough interest, seeing that we are two releases or half a
  year behind, and no user even proposed a version bump;

* Upstream's preferred method of installation is the app bundle (which
  seems to be a much more complete solution, given the app bundle's
  size), distributed in binary disk images.

More discussions in Homebrew/homebrew#49178.

Closes Homebrew/homebrew#49378.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-02-21 04:24:34 +00:00
Dominyk Tiller e00375e381 test_pathname: add append_lines tests
Closes Homebrew/homebrew#49233.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-02-21 04:22:23 +00:00
Dominyk Tiller ff4d16deeb pathname: add append_lines method
* Blocks writing of new files via accidental typos, etc, which the normal open("blah", "a") doesn't.
* Where files don't exist they should ideally be using `(buildpath/"dog").write` instead of open("blah", "a") already.
* It's a bit less cluttered looking if you need several writes to different files in the formula, IMO.
2016-02-21 04:22:23 +00:00
Xu Cheng 7c9dff1f1e plist_caveats: ensure it ending with newline
Closes Homebrew/homebrew#49374.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-21 12:15:31 +08:00
Dominyk Tiller bfbdfe8d9d env/shared: ignore perl opts
In theory, letting these be set once wasn't an awful idea because it allows
users choice on where Perl modules end up.

In reality, as we've moved closer to sandboxing and at the same time accepted more
perl binding options into formulae it has been exposed as something of a hellraiser.

It's not that uncommon for Perl users to set a custom `INSTALL_BASE` in the ENV which
means we end up with quite a few formula that fail hard with this sort of error:

```
Only one of PREFIX or INSTALL_BASE can be given. Not both.
```

The other common error, which we discovered via sandboxing, is that the Perl modules
end up outside Homebrew's control which means we don't automatically remove them
when the package is removed. Sandboxing blocks this, which means when we eventually
move to enable that by default for users as well as CI it'll quickly become a
prominent issue.
2016-02-20 19:30:31 +00:00
Dominyk Tiller 7572e91a60 diagnostic: add new osxfuse exceptions
The recent updates to OSXFuse include two new elements that get flagged by
`brew doctor`. Adding them here so it's consistent with how we handle the rest
of OSXFuse.

Closes Homebrew/homebrew#49372.
2016-02-20 19:24:30 +00:00
Alex DunnandAlex Dunn f15532452e version: correctly parse codeload URLs
Needed for Homebrew/homebrew#49346.

Closes Homebrew/homebrew#49354.

Signed-off-by: Alex Dunn <dunn.alex@gmail.com>
2016-02-19 17:36:42 -08:00
Zhiming WangandDominyk Tiller 6f952779c8 phash: boneyard
Boneyarding because:

1. Not compatible with FFmpeg 3.0 (#49178);
2. Not developed in the open, only release tarballs are available, so
   tracking progress is hard;
3. Latest release is from April 2013;
4. Has to join a mailing list to report bugs, the archive of which was
   last built in 2014.

In summary, there's no evidence that this library is not abandoned.

See also discussions in Homebrew/homebrew#49178.

Closes Homebrew/homebrew#49268.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-02-19 23:04:51 +00:00
Xu Cheng cfc5fed7ce update: fix fork bomb caused by brew update --help
Fixes Homebrew/homebrew#49334.

Closes Homebrew/homebrew#49343.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-19 17:28:37 +08:00
Misty De MeoandMike McQuaid d431f20d88 brew: print help when no commands given
Fixes Homebrew/homebrew#49325.

Closes Homebrew/homebrew#49327.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-19 09:04:22 +00:00
Martin Afanasjew f8a86e5962 tests: add groups and project name to coverage
Groups make it easier to get an overview of the coverage without having
to scan through a single very long list of files. They also display a
possibly helpful per-group coverage.

The project name is normally derived from the `root` directory which
happens to be `Library` in our case, thus make it explicitly `Homebrew`.

Closes Homebrew/homebrew#49303.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-02-18 21:54:14 +01:00
ilovezfsandMike McQuaid 8e6c3ab039 update: always checkout master.
This should help to prevent situations where a user accidentally ends up
"stranded" in a branch indefinitely.

Additionally, the stash is never popped automatically at the end of a
successful update, but the stash-pop message is printed if something is
stashed.

When an interrupt occurs, the original behavior is still in place
(switch back to the old branch and revision, and pop the stash), though
this could be changed as well.

This commit modifies the behavior of both `brew update` and
"update-bash.sh" in the manner described above.

The idea for this approach is from Mike McQuaid.

Issue Homebrew/homebrew#48812

Closes Homebrew/homebrew#48993.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-18 10:44:14 +00:00
Mike McQuaid 3ac1c7b653 update: use GitHub API to avoid unneeded fetches.
Check to see if `HEAD` is the same as what we have locally. If it is:
don't bother to `git fetch`.

Closes Homebrew/homebrew#47888.

Closes Homebrew/homebrew#49219.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-18 10:43:10 +00:00