diff --git a/flake.lock b/flake.lock index 3ba015ba6f7..c40f8135caf 100644 --- a/flake.lock +++ b/flake.lock @@ -2,12 +2,12 @@ "nodes": { "flake-compat": { "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" }, "original": { "type": "tarball", @@ -19,11 +19,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -34,16 +34,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729076285, - "narHash": "sha256-0pKZR4g2X3YTOcLQexuDrN2vIdFQJ1djqXSBfD0gEgE=", + "lastModified": 1742305402, + "narHash": "sha256-56UcjoVVkB7rAbiY9Y79Th4pOlx0e1hv6Cfny8rlP8U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2a3b139da1ffe0cdd6ab82583e147a75738ba4f8", + "rev": "6c8e4e4546146ddf05e9433ca560fa6260d00a14", "type": "github" }, "original": { "owner": "nixos", - "ref": "master", + "ref": "release-24.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index f2517590275..33fa8f9ad2b 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs/master"; + nixpkgs.url = "github:nixos/nixpkgs/release-24.11"; # cross-platform convenience flake-utils.url = "github:numtide/flake-utils"; @@ -17,40 +17,67 @@ pkgs = nixpkgs.legacyPackages.${system}; # control versions - ruby = pkgs.ruby_3_3; - llvm = pkgs.llvmPackages_16; - gcc = pkgs.gcc13; + ruby = pkgs.ruby_3_4; + llvm = pkgs.llvmPackages_19; + gcc = pkgs.gcc14; + + hook = '' + # get major.minor.0 ruby version + export RUBY_VERSION="$(ruby -e 'puts RUBY_VERSION.gsub(/\d+$/, "0")')" + + # make gem install work in-project, compatibly with bundler + export GEM_HOME="$(pwd)/vendor/bundle/ruby/$RUBY_VERSION" + + # make bundle work in-project + export BUNDLE_PATH="$(pwd)/vendor/bundle" + + # enable calling gem scripts without bundle exec + export PATH="$GEM_HOME/bin:$PATH" + + # enable implicitly resolving gems to bundled version + export RUBYGEMS_GEMDEPS="$(pwd)/Gemfile" + ''; + + deps = [ + pkgs.libyaml.dev + + # TODO: some gems insist on using `gcc` on Linux, satisfy them for now: + # - json + # - protobuf + # - ruby-prof + gcc + ]; in { - devShell = pkgs.llvm.stdenv.mkDerivation { + devShells.default = llvm.stdenv.mkDerivation { name = "devshell"; - buildInputs = with pkgs; [ - ruby - libyaml.dev + buildInputs = [ ruby ] ++ deps; - # TODO: some gems insist on using `gcc` on Linux, satisfy them for now: - # - json - # - protobuf - # - ruby-prof - gcc - ]; + shellHook = hook; + }; - shellHook = '' - # get major.minor.0 ruby version - export RUBY_VERSION="$(ruby -e 'puts RUBY_VERSION.gsub(/\d+$/, "0")')" + devShells.ruby33 = llvm.stdenv.mkDerivation { + name = "devshell"; - # make gem install work in-project, compatibly with bundler - export GEM_HOME="$(pwd)/vendor/bundle/ruby/$RUBY_VERSION" + buildInputs = [ pkgs.ruby_3_3 ] ++ deps; - # make bundle work in-project - export BUNDLE_PATH="$(pwd)/vendor/bundle" + shellHook = hook; + }; + + devShells.ruby32 = llvm.stdenv.mkDerivation { + name = "devshell"; + + buildInputs = [ pkgs.ruby_3_2 ] ++ deps; + + shellHook = hook; + }; + + devShells.ruby31 = llvm.stdenv.mkDerivation { + name = "devshell"; - # enable calling gem scripts without bundle exec - export PATH="$GEM_HOME/bin:$PATH" + buildInputs = [ pkgs.ruby_3_1 ] ++ deps; - # enable implicitly resolving gems to bundled version - export RUBYGEMS_GEMDEPS="$(pwd)/Gemfile" - ''; + shellHook = hook; }; } ); diff --git a/spec/datadog/tracing/contrib_spec.rb b/spec/datadog/tracing/contrib_spec.rb index ec3f8f37ca3..e1a1f924f1d 100644 --- a/spec/datadog/tracing/contrib_spec.rb +++ b/spec/datadog/tracing/contrib_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' RSpec.describe Datadog::Tracing::Contrib do - root = Gem::Specification.find_by_name('datadog').gem_dir + root = Gem.loaded_specs['datadog'].gem_dir # Our module names are camelized directory name with some exceptions mapping = {