Commit graph

13 commits

Author SHA1 Message Date
zimbatm cef857e8b7 bundlerApp: avoid unecessary rebuilds when gemdir changes
Because the gemdir was referenced on the derivation, it would cause the
whole gemdir to get added to the store, which would in turn force the
derivation to be rebuilt whenever unrelated folder files would change.
2019-09-13 11:40:40 +00:00
worldofpeace 741163efdb
Merge pull request #65370 from Ma27/package-3llo
_3llo: init at 0.3.0
2019-08-25 15:42:13 -04:00
Maximilian Bosch ebc4a417d0
ruby/bundlerApp: ignore gemset in env attribute set
The `gemset` field can be an attribute set as well in `buildRubyGem`,
however attribute sets can't be coerced to strings for the environment
set.

The impact should be relatively small as the environment variables are
only used by the `runCommand` script for `bunlderApp` which doesn't
refer to `gemset` at all.
2019-08-19 13:46:52 +02:00
Nick Novitski ec3f7e3e54 bundlerApp: meta.platforms defaults to platforms of ruby dependency (#65697) 2019-08-01 08:44:30 +00:00
Lily Ballard 39eb49c9f0 bundlerApp: Set up passthru properly
The manual documents both bundlerEnv and bundlerApp as providing `env`
and `wrappedRuby` attributes on the resulting derivations. However only
bundlerEnv actually had these attributes. Update bundlerApp to provide
the same passthru that bundlerEnv does.
2019-06-10 14:13:04 -07:00
Michael Fellinger 5e1e055817 bundlerApp: don't execute postBuild twice 2019-04-30 17:16:31 +02:00
Lily Ballard 8e9796cae2 Make gemdir optional for bundlerApp
Like `bundlerEnv`, the `gemdir` parameter to `bundlerApp` can be omitted
if all 3 of `gemfile`, `lockfile`, and `gemset` are provided.
2019-04-10 13:26:31 -07:00
Nick Novitski f2c07cd63e xcpretty: init at 0.3.0 (#48494) 2018-11-28 12:21:37 +01:00
Alyssa Ross 69dcb1a2c0 bundlerApp: take buildInputs (#45435)
It would be reasonable to have a Ruby program that depends on some other
program being in the PATH. In this case, the obvious thing to do would
be something like this:

    bundlerApp {
      # ...
      buildInputs = [ makeWrapper ];
      postBuild = ''
        wrapProgram "$out/bin/foo" \
          --prefix PATH : ${lib.makeBinPath [ dep ]}
      '';
    }

However, this doesn't work, because even though it just forwards most of
its arguments to `runCommand`, `bundlerApp` won't take a `buildInputs`
parameter. It doesn't even specify its own `buildInputs`, which means
that the `scripts` parameter to `bundlerApp` (which depends on
`makeWrapper`) is completely broken, and, as far as I can tell, has been
since its inception. I've added a `makeWrapper` build input if the
scripts parameter is present to fix this.

I've added a `buildInputs` option to `bundlerApp`. It's also passed
through to bundled-common because `postBuild` scripts are run there as
well. This actually means that in this example we'd end up going through
two layers of wrappers (one from `bundlerApp` and one from
bundled-common), but that has always been the case and isn't likely to
break anything. That oddity does suggest that it might be prudent to
not forward `postBuild` to bundled-common (or to at least use a
different option) though...

FWIW, as far as I can tell no package in nixpkgs uses either the
`scripts` or `postBuild` options to `bundlerApp`.
2018-10-29 22:39:51 +01:00
Michael Fellinger 34e1fa4a50 buildRubyGem: Provide manpages for Ruby gems (#49334) 2018-10-29 01:48:05 +01:00
Joe Hermaszewski 69017e46ae ruby bundlerApp: Allow passing gemConfig through to bundlerEnv 2018-04-09 18:51:34 +08:00
Judson e149f02344
Using pname and fetching versions 2017-06-27 22:33:18 -07:00
Judson 70e7e543c5
A few cleanups and renames. One feature remains... 2017-06-27 10:56:36 -07:00