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.
ClosesHomebrew/homebrew#48694.
Signed-off-by: Andrew Janke <andrew@apjanke.net>
These methods will be used in `brew --version`, `brew config`
and `brew doctor` after core/formula separation.
ClosesHomebrew/homebrew#49796.
Signed-off-by: Xu Cheng <xucheng@me.com>
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.
If a formula's class name contains an uppercase-spelled acronym, the
messages given by `brew install` can be pretty confusing (it recommends
a formula named exactly the same…)
ClosesHomebrew/homebrew#49639.
Signed-off-by: Tim D. Smith <git@tim-smith.us>
Based on recent feedback on some pull requests, I touched up the section about adding tests to formula.
I wanted to make it clearer that the examples demonstrate how to create files on the fly and add a pointer to the tinyxml2 formula (DomT4 pointed it out to me as a good example).
ClosesHomebrew/homebrew#49641.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
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.
ClosesHomebrew/homebrew#49538.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
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)
ClosesHomebrew/homebrew#49534.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
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.
ClosesHomebrew/homebrew#48817.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
* 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.
* 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.
* 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.
* 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.
ClosesHomebrew/homebrew#49484.
Signed-off-by: Xu Cheng <xucheng@me.com>
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.
ClosesHomebrew/homebrew#49425.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
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.
ClosesHomebrew/homebrew#49299.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
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.
ClosesHomebrew/homebrew#47950.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
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#47950ClosesHomebrew/homebrew#49158.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
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."
FixesHomebrew/homebrew#49045FixesHomebrew/homebrew#49348ClosesHomebrew/homebrew#49369.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
The default HOMEBREW_LIBRARY_PATH should be
/usr/local/Library/Homebrew
not
/usr/local/Library/Homebrew/Homebrew
ClosesHomebrew/homebrew#49384.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
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.
ClosesHomebrew/homebrew#49378.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
* 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.
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.
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.
ClosesHomebrew/homebrew#49372.