34 Commits

Author SHA1 Message Date
Vlad Shablinsky
3fb5d70a72
Unify Version.create usage
Substitue each Version.new and HeadVersion.new with Version.create
to unify Version and HeadVersion instantiation among core code.

Note that this does not relate to Mac::OS::Version class.
2016-07-16 20:39:13 +08:00
Dominyk Tiller
373d927e37
languages/go: die on empty arrays if HOMEBREW_DEVELOPER 2016-07-10 21:26:39 +01:00
Martin Afanasjew
4f2e31b3e3 language/python: fix bogus require
Including the extension is not an error, but we don't normally do this.
2016-07-09 11:58:43 +02:00
ilovezfs
7b2d1a5b08 Haskell::Cabal: fix overquoting of flags
Since `system` escapes its own spaces, cabal was interpreting
`--flags='webapp s3'` as `+'webapp +s3'` rather than `+webapp +s3`.

Closes #267.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-05-21 15:11:48 -07:00
Martin Afanasjew
8600b9edf1 Update Homebrew/homebrew references in comments
Replace `homebrew` with `brew`, `homebrew-core`, or `legacy-homebrew`
depending on context.
2016-05-02 21:19:09 +02:00
Christian Moritz
bc98fd3788 Language::Node.npm_install_args: add helper method (#37)
* add Language::Node helper module

This adds a language module for Node module based formulas.
It contains the 2 public methods `std_npm_install_args(libexec)` and
`local_npm_install_args`:

* `std_npm_install_args` is intended to be used in formulas for
  standard node modules and returns `npm install` args for a global
  style module installation to libexec.
* `local_npm_install_args` is for formulas, in which the `npm install`
  step is only one of multiple parts of the installation process and
  returns `npm install` args for a default local installation in place.

Both methods have in common, that they are

* making sure that a working copy of npm and node-gyp from node's
  libexec is prepended to the PATH (to not rely of a user managed npm)
* seting the npm cache to HOMEBREW_CACHE/npm, which fixes issues caused
  by overriding $HOME resulting in long install times + high disk usage
  (see https://github.com/Homebrew/brew/pull/37#issuecomment-208840366)

* audit: update npm install check for Language::Node

* cleanup: remove npm_cache too

* doc: add Node-for-Formula-Authors.md
2016-04-27 17:08:44 +01:00
Misty De Meo
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
ilovezfs
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
Cedric Staub
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
ilovezfs
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
Dominyk Tiller
d91caa2b92 languages/haskell: style nits 2016-01-03 19:08:11 +00:00
Dominyk Tiller
fff140cb9d language/haskell: wrap options in parens
Fixes:
language/haskell.rb:65: warning: `*' interpreted as argument prefix
2016-01-03 19:08:10 +00:00
Misty De Meo
21d70a2816 Haskell: call fails_with on correct object
Fixes Homebrew/homebrew#47533.
2015-12-30 15:51:57 -04:00
Miëtek Bak
68361be36c Improve Haskell language support
Removes the need to call setup_ghc_compilers in every Haskell language
formula, by automatically calling fails_with.

Adds a :home option to the cabal_sandbox method.  This option allows a
specific temporary HOME to be used instead of the current working
directory, and in turn allows a single Cabal package database to be reused
between multiple calls to this method.

Avoids updating the Cabal package database more than once if cabal_sandbox
is called multiple times.

Removes the need to call cabal_clean_lib whenever cabal_sandbox is called,
by automatically cleaning the lib directory.

Adds a :keep_lib option to the cabal_sandbox method.  This option allows
opting out of the automatic cleaning.

Ensures build products are always removed from the current working
directory.

Removes a workaround for versions of cabal-install older than 1.20.0.0.

Adds a cabal_sandbox_add_source method.

Adds a :using option to the install_cabal_package method.  This option
allows specifying the Haskell language tools that are required to install
a particular formula, and in turn allows formulae to be simplified by
replacing calls to multiple methods with a single call to this method.

Allows customizing the call to install_cabal_package by giving a block.

Removes empty method shells.

Closes Homebrew/homebrew#47293.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-25 21:05:28 +00:00
Mike McQuaid
b745546943 Overhaul, simplify and cleanup documentation.
Remove duplication, link to the API documentation more often,
tweak wording, add `@UniqMartin` as a maintainer, note `@jacknagel`'s
and `@adamv`'s significant past contributions to Homebrew, delete some
outdated or unneeded documentation, add some missing `Formula` API.
entries and simplify/improve `CONTRIBUTING.md`.

Closes Homebrew/homebrew#46179.

Closes Homebrew/homebrew#46618.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-07 13:37:49 +00:00
BrewTestBot
13d544e11e Core files style updates.
Closes Homebrew/homebrew#42354.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03 13:22:35 +01:00
Misty De Meo
0abe16673e Cabal: move fails_with to a class method
Fixes Homebrew/homebrew#39950.
2015-05-28 19:30:10 -07:00
Geoff Nixon
1600658fcc ghc: cleanup/decruft.
- Fix static GMP
- Remove --32-bit option (ghc 7.6 or newer is needed to build).
- Building with llvm-gcc and 7.6.3 works on Snow Leopard and Lion.

Closes Homebrew/homebrew#39134.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-05-13 11:27:55 +01:00
Xu Cheng
6dc9506edc java overridable_java_home_env
Closes Homebrew/homebrew#37622
2015-03-13 18:43:42 +08:00
Tim D. Smith
b1d9169ae6 language/python: add package_available? helper
Add helper to check whether a module is importable.

Closes Homebrew/homebrew#37345.

Signed-off-by: Tim D. Smith <git@tim-smith.us>
2015-03-03 06:31:29 -08:00
Xu Cheng
2222834107 java: move java_dependency into a separate file and add Language::Java.java_home_env
Also update activemq to test against it

Closes Homebrew/homebrew#37218.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-02-28 01:42:09 +08:00
Mike McQuaid
3a3f56e9a3 language/haskell: optionally add args to install. 2015-01-17 19:29:36 +01:00
Tim D. Smith
c195f072d1 language/python: add --no-user-cfg to setuptools options
Closes Homebrew/homebrew#35681.
2015-01-09 23:13:36 -08:00
Tim D. Smith
65a7a631ea Language::Python.setup_install: add deprecation warning 2014-12-10 14:18:24 -08:00
Tim D. Smith
75535395ac language/python: setup_install_args
Add a helper like std_cmake_args that returns the correct incantation
for invoking setup.py in a consistent way and with our preferred
arguments. Replaces setup_install.
2014-12-10 14:18:23 -08:00
Tim D. Smith
7348206e53 language/python: make sure site_packages is writable 2014-11-14 16:05:18 -08:00
Tim D. Smith
cb684f6c1a language/python: new setup_install method
Closes Homebrew/homebrew#33988.
2014-11-10 15:41:57 -08:00
Tim D. Smith
b584689afa language/python: add helper methods for pth detection 2014-11-02 10:30:21 -08:00
Jack Nagel
20923363c9 Avoid intermediate array 2014-09-07 14:07:12 -05:00
Misty De Meo
4743fc1662 Add Go language module, resources
This introduces a new GoResource category of resource. GoResources
have a specialized stage method which allows a resource to stage
itself into a gopath.

The new Go language module provides a one-liner to stage all
GoResources present in the formula.
2014-09-01 19:56:43 -07: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
Gaëtan Lehmann
313f8b137f git-annex: 5.20140421
installing git-annex with cabal-install is quite long and requires to install
some heavy packages. It also has several external lib dependencies and needs a
few configuration flags to build so it is quite difficult to install too.
This formula should make it easy and quick to install with a bottle.

The huge number of haskell dependencies is built within the formula and statically
linked to git-annex. The haskell libraries built are discarded - cabal-install
should be used instead of this package in order to keep them.
2014-05-07 08:06:14 +01:00
Mike McQuaid
34edc35b9b Add Language::Python module. 2014-03-12 13:56:27 +00:00