diff options
Diffstat (limited to 'nixpkgs/pkgs/development/ruby-modules')
3 files changed, 34 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/development/ruby-modules/bundled-common/default.nix b/nixpkgs/pkgs/development/ruby-modules/bundled-common/default.nix index 86c885b52dcb..6aca502550b6 100644 --- a/nixpkgs/pkgs/development/ruby-modules/bundled-common/default.nix +++ b/nixpkgs/pkgs/development/ruby-modules/bundled-common/default.nix @@ -117,9 +117,10 @@ let meta = { platforms = ruby.meta.platforms; } // meta; - passthru = rec { - inherit ruby bundler gems confFiles envPaths; + passthru = (lib.optionalAttrs (pname != null) { inherit (gems.${pname}) gemType; + } // rec { + inherit ruby bundler gems confFiles envPaths; wrappedRuby = stdenv.mkDerivation { name = "wrapped-ruby-${pname'}"; @@ -172,7 +173,7 @@ let exit 1 ''; }; - }; + }); }; basicEnv = diff --git a/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix b/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix index c4c3cd8b8d23..05d1bfbf64e6 100644 --- a/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix +++ b/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix @@ -4,8 +4,8 @@ buildRubyGem rec { inherit ruby; name = "${gemName}-${version}"; gemName = "bundler"; - version = "2.4.22"; - source.sha256 = "sha256-dHulCw5n3yXL07SPlYMad6TVOlgdVfBjly/LFG0ULF8="; + version = "2.5.3"; + source.sha256 = "sha256-JJzQdaxPM1rnD3iMm+D0wYgJOk2n0FvVO+K67z8l58s="; dontPatchShebangs = true; postFixup = '' diff --git a/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix b/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix index 5a3ec1f68469..97715659be0d 100644 --- a/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix +++ b/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix @@ -27,6 +27,7 @@ , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk , bundler, libsass, dart-sass, libexif, libselinux, libsepol, shared-mime-info, libthai, libdatrie , CoreServices, DarwinTools, cctools, libtool, discount, exiv2, libepoxy, libxkbcommon, libmaxminddb, libyaml +, cargo, rustc, rustPlatform , autoSignDarwinBinariesHook, fetchpatch }@args: @@ -296,6 +297,33 @@ in in '' substituteInPlace lib/prometheus/client/page_size.rb --replace "getconf" "${lib.getBin getconf}/bin/getconf" ''; + } // lib.optionalAttrs (lib.versionAtLeast attrs.version "1.0") { + cargoRoot = "ext/fast_mmaped_file_rs"; + cargoDeps = rustPlatform.fetchCargoTarball { + src = stdenv.mkDerivation { + inherit (buildRubyGem { inherit (attrs) gemName version source; }) + name + src + unpackPhase + nativeBuildInputs + ; + dontBuilt = true; + installPhase = '' + cp -R ext/fast_mmaped_file_rs $out + ''; + }; + hash = "sha256-XuQZPbFWqPHlrJvllkvLl1FjKeoAUbi8oKDrS2rY1KM="; + }; + nativeBuildInputs = [ + cargo + rustc + rustPlatform.cargoSetupHook + rustPlatform.bindgenHook + ]; + preBuild = '' + cat ../.cargo/config > ext/fast_mmaped_file_rs/.cargo/config.toml + sed -i "s|cargo-vendor-dir|$PWD/../cargo-vendor-dir|" ext/fast_mmaped_file_rs/.cargo/config.toml + ''; }; glib2 = attrs: { |