Unverified Commit b387c7e1 authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

angrr: 0.1.1 -> 0.1.3 (#446006)

parents aa4625a7 c45673a6
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@

let
  cfg = config.services.angrr;
  direnvCfg = config.programs.direnv.angrr;
in
{
  meta.maintainers = pkgs.angrr.meta.maintainers;
@@ -77,6 +78,20 @@ in
        };
      };
    };
    programs.direnv.angrr = {
      enable = lib.mkEnableOption "angrr direnv integration" // {
        default = true;
        example = false;
      };
      autoUse = lib.mkOption {
        type = lib.types.bool;
        default = true;
        example = false;
        description = ''
          Whether to automatically use angrr before loading .envrc.
        '';
      };
    };
  };

  config = lib.mkIf cfg.enable (
@@ -106,6 +121,8 @@ in
            Type = "oneshot";
          };
        };

        environment.systemPackages = [ cfg.package ];
      }

      (lib.mkIf cfg.timer.enable {
@@ -123,6 +140,13 @@ in
          before = [ "nix-gc.service" ];
        };
      })

      (lib.mkIf (config.programs.direnv.enable && direnvCfg.enable) {
        environment.etc."direnv/lib/angrr.sh".source = "${cfg.package}/share/direnv/lib/angrr.sh";
        programs.direnv.direnvrcExtra = lib.mkIf direnvCfg.autoUse ''
          use angrr
        '';
      })
    ]
  );
}
+25 −0
Original line number Diff line number Diff line
@@ -15,6 +15,11 @@
      # For `nix build /run/current-system --out-link`,
      # `nix-build` does not support this use case.
      nix.settings.experimental-features = [ "nix-command" ];

      # Test direnv integration
      programs.direnv.enable = true;
      # Verbose logging for angrr in direnv
      environment.variables.ANGRR_DIRENV_LOG = "angrr=debug";
    };
  };

@@ -59,5 +64,25 @@
    # All auto GC roots are removed
    machine.succeed("test ! -f /tmp/root-auto-gc-root-2")
    machine.succeed("test ! -f /tmp/user-auto-gc-root-2")

    # Direnv integration test
    machine.succeed("mkdir /tmp/test-direnv")
    machine.succeed("echo >/tmp/test-direnv/.envrc") # Simply create an empty .envrc
    machine.succeed("nix build /run/current-system --out-link /tmp/test-direnv/.direnv/gc-root")
    machine.succeed("cd /tmp/test-direnv; direnv allow; direnv exec . true")

    # The root will be removed if we does not use the direnv recently
    machine.succeed("date -s '8 days'")
    machine.systemctl("start nix-gc.service")
    machine.succeed("test ! -f /tmp/test-direnv/.direnv/gc-root")

    # Recreate the root
    machine.succeed("nix build /run/current-system --out-link /tmp/test-direnv/.direnv/gc-root")

    # The root will not be remove if we use the direnv recently
    machine.succeed("date -s '8 days'")
    machine.succeed("cd /tmp/test-direnv; direnv exec . true")
    machine.systemctl("start nix-gc.service")
    machine.succeed("readlink /tmp/test-direnv/.direnv/gc-root")
  '';
}
+7 −4
Original line number Diff line number Diff line
@@ -11,19 +11,22 @@

rustPlatform.buildRustPackage (finalAttrs: {
  pname = "angrr";
  version = "0.1.1";
  version = "0.1.3";

  src = fetchFromGitHub {
    owner = "linyinfeng";
    repo = "angrr";
    tag = "v${finalAttrs.version}";
    hash = "sha256-SL4UBDoD0pvpCKokQvKLAcS9cQJaFiA+IjswFARswdM=";
    hash = "sha256-pBVbzrTy/IWIo6WlhM1qgowfxSU31awyHcRDHNArBMo=";
  };

  cargoHash = "sha256-lo9JpsHkvyrEqFnIiGlU2o4rREeQeqWpe9WMwisvw+4=";
  cargoHash = "sha256-DoQIJCs36ZmTxdsDCzquKAeOSIUBbo2V+DTx68FZiu4=";

  nativeBuildInputs = [ installShellFiles ];
  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
  postInstall = ''
    install -m400 -D ./direnv/angrr.sh $out/share/direnv/lib/angrr.sh
  ''
  + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
    installShellCompletion --cmd angrr \
      --bash <($out/bin/angrr completion bash) \
      --fish <($out/bin/angrr completion fish) \