Unverified Commit c1956e94 authored by nixpkgs-ci[bot]'s avatar nixpkgs-ci[bot] Committed by GitHub
Browse files

Merge master into staging-next

parents 231aaf24 a132f087
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ In the Nixpkgs tree, Ruby packages can be found throughout, depending on what th

There are two main approaches for using Ruby with gems. One is to use a specifically locked `Gemfile` for an application that has very strict dependencies. The other is to depend on the common gems, which we'll explain further down, and rely on them being updated regularly.

The interpreters have common attributes, namely `gems`, and `withPackages`. So you can refer to `ruby.gems.nokogiri`, or `ruby_3_2.gems.nokogiri` to get the Nokogiri gem already compiled and ready to use.
The interpreters have common attributes, namely `gems`, and `withPackages`. So you can refer to `ruby.gems.nokogiri`, or `ruby_3_4.gems.nokogiri` to get the Nokogiri gem already compiled and ready to use.

Since not all gems have executables like `nokogiri`, it's usually more convenient to use the `withPackages` function like this: `ruby.withPackages (p: with p; [ nokogiri ])`. This will also make sure that the Ruby in your environment will be able to find the gem and it can be used in your Ruby code (for example via `ruby` or `irb` executables) via `require "nokogiri"` as usual.

+2 −0
Original line number Diff line number Diff line
@@ -146,6 +146,8 @@
    and backwards incompatible database migrations. Ensure backups are valid and run a Full Scan after
    starting the new version.

- `deabbeef` no longer support `gtk2`.

- `tooling-language-server` has been renamed to `deputy` (both the package and binary), following the rename of the upstream project.

- `fetchFromBitBucket` has gained a `fetchgit` backend when passing in git-related arguments similar to `fetchFromGitHub`.
+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ in
      enable = lib.mkEnableOption "Redmine, a project management web application";

      package = lib.mkPackageOption pkgs "redmine" {
        example = "redmine.override { ruby = pkgs.ruby_3_2; }";
        example = "redmine.override { ruby = pkgs.ruby_3_4; }";
      };

      user = lib.mkOption {
+40 −1
Original line number Diff line number Diff line
@@ -91,6 +91,14 @@ in
            virtualisation.fileSystems."/".device = lib.mkForce "auto";
          };

          automount.configuration = {
            virtualisation.fileSystems."/testauto" = {
              device = "tmpfs";
              fsType = "tmpfs";
              options = [ "x-systemd.automount" ];
            };
          };

          swap.configuration.swapDevices = lib.mkVMOverride [
            {
              device = "/swapfile";
@@ -627,6 +635,17 @@ in
                (pkgs.writeText "dbus-reload-dummy" "dbus reload dummy")
              ];
            };

          generators.configuration =
            { lib, pkgs, ... }:
            {
              systemd.generators.simple-generator = pkgs.writeShellScript "simple-generator" ''
                ${lib.getExe' pkgs.coreutils "cat"} >$1/simple-generated.service <<EOF
                [Service]
                ExecStart=${lib.getExe' pkgs.coreutils "sleep"} infinity
                EOF
              '';
            };
        };
      };

@@ -826,9 +845,21 @@ in
          assert_lacks(out, "\nrestarting the following units:")
          assert_lacks(out, "\nstarting the following units:")
          assert_lacks(out, "the following new units were started:")
          # add an automount
          out = switch_to_specialisation("${machine}", "automount")
          assert_lacks(out, "stopping the following units:")
          assert_lacks(out, "\nrestarting the following units:")
          assert_lacks(out, "\nstarting the following units:")
          assert_contains(out, "the following new units were started: testauto.automount\n")
          # remove the automount
          out = switch_to_specialisation("${machine}", "")
          assert_contains(out, "stopping the following units: testauto.automount\n")
          assert_lacks(out, "reloading the following units:")
          assert_lacks(out, "\nrestarting the following units:")
          assert_lacks(out, "\nstarting the following units:")
          assert_lacks(out, "the following new units were started:")

      with subtest("swaps"):
          switch_to_specialisation("${machine}", "")
          # add a swap
          out = switch_to_specialisation("${machine}", "swap")
          assert_lacks(out, "stopping the following units:")
@@ -1520,5 +1551,13 @@ in
          assert_lacks(out, "\nrestarting the following units:")
          assert_lacks(out, "\nstarting the following units:")
          assert_lacks(out, "the following new units were started:")

      with subtest("generators"):
          out = switch_to_specialisation("${machine}", "generators")
          # The service is not started by anything, so we start it manually
          machine.succeed("systemctl start simple-generated.service && systemctl is-active simple-generated.service")
          out = switch_to_specialisation("${machine}", "")
          # Assert switching to a different generation doesn't touch units created by generators
          machine.succeed("systemctl is-active simple-generated.service")
    '';
}
+2 −28
Original line number Diff line number Diff line
@@ -3,17 +3,12 @@
  config,
  clangStdenv,
  fetchFromGitHub,
  autoconf,
  automake,
  autoreconfHook,
  libtool,
  intltool,
  pkg-config,
  jansson,
  swift-corelibs-libdispatch,
  # deadbeef can use either gtk2 or gtk3
  gtk2Support ? false,
  gtk2,
  gtk3Support ? true,
  gtk3,
  gsettings-desktop-schemas,
  wrapGAppsHook3,
@@ -65,8 +60,6 @@
  curl,
}:

assert gtk2Support || gtk3Support;

let
  inherit (lib) optionals;

@@ -87,11 +80,6 @@ clangStdenv.mkDerivation {
  buildInputs = [
    jansson
    swift-corelibs-libdispatch
  ]
  ++ optionals gtk2Support [
    gtk2
  ]
  ++ optionals gtk3Support [
    gtk3
    gsettings-desktop-schemas
  ]
@@ -158,29 +146,15 @@ clangStdenv.mkDerivation {
  ];

  nativeBuildInputs = [
    autoconf
    automake
    autoreconfHook
    intltool
    libtool
    pkg-config
  ]
  ++ optionals gtk3Support [
    wrapGAppsHook3
  ];

  enableParallelBuilding = true;

  preConfigure = ''
    ./autogen.sh
  '';

  postPatch = ''
    # Fix the build on c++17 compiler:
    #   https://github.com/DeaDBeeF-Player/deadbeef/issues/3012
    # TODO: remove after 1.9.5 release.
    substituteInPlace plugins/adplug/Makefile.am --replace 'adplug_la_CXXFLAGS = ' 'adplug_la_CXXFLAGS = -std=c++11 '
  '';

  meta = with lib; {
    description = "Ultimate Music Player for GNU/Linux";
    mainProgram = "deadbeef";
Loading