Carlo Cabrera a01715f0ee
resource: support relative paths as targets of #stage
`#stage` takes an optional `target` argument, which specifies the
location in which to unpack the `resource`.

Passing relative paths to `#stage`, as in

    resource("foo").stage "bar"

does not work, because this calls `Pathname("bar").install` inside the
temporary directory that the contents of the resource are unpacked to.
This means that passing a relative path to `#stage` has the unintended
effect of moving files around inside a temporary directory the formula
has no access to.

Let's fix that by keeping track of the original working directory before
`#stage` was called and prepending this to `target` whenever `target` is
a relative path.
2022-07-10 01:27:21 +08:00
..
2022-06-14 16:42:10 -04:00
2022-06-15 16:35:49 -04:00
2022-07-07 14:46:41 -07:00
2022-05-30 14:59:14 +01:00
2022-05-10 00:12:06 +00:00
2022-06-29 11:47:57 -04:00
2022-07-05 09:57:10 -07:00
2022-07-08 11:35:20 +00:00
2022-07-08 11:29:43 +00:00
2022-02-22 15:27:43 +00:00
2022-06-14 16:06:05 -04:00
2022-06-14 16:06:05 -04:00
2022-04-28 10:40:16 -04:00
2022-04-30 22:05:35 +02:00
2022-06-30 08:56:21 +01:00
2022-06-30 08:56:21 +01:00
2022-06-14 16:06:05 -04:00
2022-05-18 18:48:16 -04:00
2022-06-29 11:34:49 -04:00
2022-06-30 03:39:29 +01:00
2022-07-04 10:13:01 -04:00
2022-06-29 11:34:49 -04:00
2022-06-29 11:47:57 -04:00
2022-06-10 19:32:32 +01:00
2022-06-30 08:56:21 +01:00
2022-06-29 11:34:49 -04:00
2022-06-17 19:47:57 +01:00
2022-06-02 03:25:55 +01:00

Homebrew Ruby API

This is the API for Homebrew.

The main class you should look at is the {Formula} class (and classes linked from there). That's the class that's used to create Homebrew formulae (i.e. package descriptions). Assume anything else you stumble upon is private.

You may also find the Formula Cookbook and Ruby Style Guide helpful in creating formulae.

Good luck!