Unverified Commit 9525316e authored by ppom's avatar ppom
Browse files

reaction: 1.4.1 -> 2.0.1

reaction has been rewritten in Rust.
parent 59fc7b8f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -33,7 +33,8 @@

### Breaking changes {#sec-nixpkgs-release-25.11-lib-breaking}

- Create the first release note entry in this section!
- `reaction` has been updated to version 2, which includes some breaking changes.
  For more information, [check the release article](https://blog.ppom.me/en-reaction-v2).


### Deprecations {#sec-nixpkgs-release-25.11-lib-deprecations}
+21 −21
Original line number Diff line number Diff line
{
  lib,
  buildGoModule,
  fetchFromGitLab,
  rustPlatform,
  nix-update-script,
  installShellFiles,
}:
let
  version = "1.4.1";
in
buildGoModule {
  inherit version;
rustPlatform.buildRustPackage (finalAttrs: {
  pname = "reaction";
  version = "2.0.1";

  src = fetchFromGitLab {
    domain = "framagit.org";
    owner = "ppom";
    repo = "reaction";
    rev = "v${version}";
    hash = "sha256-UL3ck+gejZAu/mZS3ZiZ78a2/I+OesaSRZUhHirgu9o=";
    tag = "v${finalAttrs.version}";
    hash = "sha256-HpnLh0JfGZsHcvDQSiKfW62QcCe/QDsVP/nGBo9x494=";
  };

  vendorHash = "sha256-THUIoWFzkqaTofwH4clBgsmtUlLS9WIB2xjqW7vkhpg=";
  cargoHash = "sha256-i8KZygESxgty8RR3C+JMuE1aAsBxoLuGsL4jqjdGr0E=";

  ldflags = [
    "-X main.version=${version}"
    "-X main.commit=unknown"
  nativeBuildInputs = [
    installShellFiles
  ];

  postBuild = ''
    $CC helpers_c/ip46tables.c -o ip46tables
    $CC helpers_c/nft46.c -o nft46
  '';

  postInstall = ''
    cp ip46tables nft46 $out/bin
    installBin $releaseDir/ip46tables $releaseDir/nft46
    installManPage $releaseDir/reaction*.1
    installShellCompletion --cmd reaction \
      --bash $releaseDir/reaction.bash \
      --fish $releaseDir/reaction.fish \
      --zsh $releaseDir/_reaction
  '';

  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Scan logs and take action: an alternative to fail2ban";
    homepage = "https://framagit.org/ppom/reaction";
    changelog = "https://framagit.org/ppom/reaction/-/releases/v${version}";
    changelog = "https://framagit.org/ppom/reaction/-/releases/v${finalAttrs.version}";
    license = lib.licenses.agpl3Plus;
    mainProgram = "reaction";
    maintainers = with lib.maintainers; [ ppom ];
    platforms = lib.platforms.unix;
    platforms = lib.platforms.linux;
  };
}
})