1{
2 fetchurl,
3 gitUpdater,
4 lib,
5 stdenv,
6}:
7
8stdenv.mkDerivation rec {
9 pname = "rubygems";
10 version = "3.6.6";
11
12 src = fetchurl {
13 url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
14 hash = "sha256-tGQv4WWY+5PUDWvN6faSUN68DxMjjK1BCnUFwM90Da0=";
15 };
16
17 patches = [
18 ./0001-add-post-extract-hook.patch
19 ./0002-binaries-with-env-shebang.patch
20 ./0003-gem-install-default-to-user.patch
21 ];
22
23 installPhase = ''
24 runHook preInstall
25 cp -r . $out
26 runHook postInstall
27 '';
28
29 passthru.updateScript = gitUpdater {
30 url = "https://github.com/rubygems/rubygems.git";
31 rev-prefix = "v";
32 ignoredVersions = "(pre|alpha|beta|rc|bundler).*";
33 };
34
35 meta = with lib; {
36 description = "Package management framework for Ruby";
37 changelog = "https://github.com/rubygems/rubygems/blob/v${version}/CHANGELOG.md";
38 homepage = "https://rubygems.org/";
39 license = with licenses; [
40 mit # or
41 ruby
42 ];
43 mainProgram = "gem";
44 maintainers = with maintainers; [ zimbatm ];
45 };
46}