diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index cdade7c273c..e59c48f91d3 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,5 +1,4 @@
{ lib
-, fetchpatch
, stdenv
, fetchFromGitHub
, buildPackages
@@ -27,44 +26,24 @@
, luaBindings ? false
}:
-let
- inherit (lib) optional;
-
- #
- # DO NOT EDIT! Automatically generated by ./update.py
- gittap = "5.2.0";
- gittip = "cf3db945083fb4dab951874e5ec1283128deab11";
- rev = "5.2.0";
- version = "5.2.0";
- sha256 = "08azxfk6mw2vr0x4zbz0612rk7pj4mfz8shrzc9ima77wb52b8sm";
- #
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
pname = "radare2";
- inherit version;
+ version = "5.2.1";
src = fetchFromGitHub {
owner = "radare";
repo = "radare2";
- inherit rev sha256;
+ rev = version;
+ sha256 = "0n3k190qjhdlj10fjqijx6ismz0g7fk28i83j0480cxdqgmmlbxc";
};
- patches = [
- # fix build against openssl, included in next release
- (fetchpatch {
- url = "https://github.com/radareorg/radare2/commit/e5e7469b6450c374e0884d35d44824e1a4eb46b4.patch";
- sha256 = "sha256-xTmMHvUdW7d2QG7d4hlvMgEcegND7pGU745TWGqzY44=";
- })
- ];
-
postInstall = ''
install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm
'';
WITHOUT_PULL = "1";
makeFlags = [
- "GITTAP=${gittap}"
- "GITTIP=${gittip}"
+ "GITTAP=${version}"
"RANLIB=${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.bintools.targetPrefix}ranlib"
];
configureFlags = [
@@ -89,10 +68,10 @@ stdenv.mkDerivation {
zlib
openssl
libuv
- ] ++ optional useX11 [ gtkdialog vte gtk2 ]
- ++ optional rubyBindings [ ruby ]
- ++ optional pythonBindings [ python3 ]
- ++ optional luaBindings [ lua ];
+ ] ++ lib.optional useX11 [ gtkdialog vte gtk2 ]
+ ++ lib.optional rubyBindings [ ruby ]
+ ++ lib.optional pythonBindings [ python3 ]
+ ++ lib.optional luaBindings [ lua ];
propagatedBuildInputs = [
# radare2 exposes r_lib which depends on these libraries
diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py
deleted file mode 100755
index e1dfc071cd3..00000000000
--- a/pkgs/development/tools/analysis/radare2/update.py
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -p nix -p python3 -p git -i python
-# USAGE - just run the script: ./update.py
-# When editing this file, make also sure it passes the mypy typecheck
-# and is formatted with black.
-import fileinput
-import json
-import xml.etree.ElementTree as ET
-from urllib.parse import urlparse
-import re
-import subprocess
-import tempfile
-import urllib.request
-from datetime import datetime
-from pathlib import Path
-from typing import Dict
-
-SCRIPT_DIR = Path(__file__).parent.resolve()
-
-
-def sh(*args: str) -> str:
- out = subprocess.check_output(list(args))
- return out.strip().decode("utf-8")
-
-
-def prefetch_github(owner: str, repo: str, ref: str) -> str:
- return sh(
- "nix-prefetch-url",
- "--unpack",
- f"https://github.com/{owner}/{repo}/archive/{ref}.tar.gz",
- )
-
-
-def get_radare2_rev() -> str:
- feed_url = "https://github.com/radareorg/radare2/releases.atom"
- with urllib.request.urlopen(feed_url) as resp:
- tree = ET.fromstring(resp.read())
- releases = tree.findall(".//{http://www.w3.org/2005/Atom}entry")
- for release in releases:
- link = release.find("{http://www.w3.org/2005/Atom}link")
- assert link is not None
- url = urlparse(link.attrib["href"])
- tag = url.path.split("/")[-1]
- if re.match(r"[0-9.]+", tag):
- return tag
- else:
- print(f"ignore {tag}")
- raise RuntimeError(f"No release found at {feed_url}")
-
-
-def git(dirname: str, *args: str) -> str:
- return sh("git", "-C", dirname, *args)
-
-
-def get_repo_info(dirname: str, rev: str) -> Dict[str, str]:
- sha256 = prefetch_github("radare", "radare2", rev)
-
- return dict(
- rev=rev,
- sha256=sha256,
- version_commit=git(dirname, "rev-list", "--all", "--count"),
- gittap=git(dirname, "describe", "--tags", "--match", "[0-9]*"),
- gittip=git(dirname, "rev-parse", "HEAD"),
- )
-
-
-def main() -> None:
- version = get_radare2_rev()
-
- with tempfile.TemporaryDirectory() as dirname:
- git(
- dirname,
- "clone",
- "--branch",
- version,
- "https://github.com/radare/radare2",
- ".",
- )
- nix_file = str(SCRIPT_DIR.joinpath("default.nix"))
-
- info = get_repo_info(dirname, version)
-
- timestamp = git(dirname, "log", "-n1", "--format=%at")
-
- in_block = False
- with fileinput.FileInput(nix_file, inplace=True) as f:
- for l in f:
- if "#" in l:
- in_block = True
- print(
- f""" #
- # DO NOT EDIT! Automatically generated by ./update.py
- gittap = "{info["gittap"]}";
- gittip = "{info["gittip"]}";
- rev = "{info["rev"]}";
- version = "{version}";
- sha256 = "{info["sha256"]}";
- #"""
- )
- elif "#" in l:
- in_block = False
- elif not in_block:
- print(l, end="")
-
-
-if __name__ == "__main__":
- main()