summary refs log tree commit diff
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2021-04-22 10:09:22 +0100
committerGitHub <noreply@github.com>2021-04-22 10:09:22 +0100
commit7482c7ca9d4de39008727ea25ec105e9fca1adc5 (patch)
treeb386135b4f54062d04dd389345eb4aea97636e5e
parent128953f4012c90684575771244007322437428f0 (diff)
parent81b1905c864b3feb61b3ea042c726d313919cd6b (diff)
downloadnixpkgs-7482c7ca9d4de39008727ea25ec105e9fca1adc5.tar
nixpkgs-7482c7ca9d4de39008727ea25ec105e9fca1adc5.tar.gz
nixpkgs-7482c7ca9d4de39008727ea25ec105e9fca1adc5.tar.bz2
nixpkgs-7482c7ca9d4de39008727ea25ec105e9fca1adc5.tar.lz
nixpkgs-7482c7ca9d4de39008727ea25ec105e9fca1adc5.tar.xz
nixpkgs-7482c7ca9d4de39008727ea25ec105e9fca1adc5.tar.zst
nixpkgs-7482c7ca9d4de39008727ea25ec105e9fca1adc5.zip
Merge pull request #120146 from Mic92/radare2
radare2: 5.2.0 -> 5.2.1
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix39
-rwxr-xr-xpkgs/development/tools/analysis/radare2/update.py107
2 files changed, 9 insertions, 137 deletions
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;
-
-  #<generated>
-  # DO NOT EDIT! Automatically generated by ./update.py
-  gittap = "5.2.0";
-  gittip = "cf3db945083fb4dab951874e5ec1283128deab11";
-  rev = "5.2.0";
-  version = "5.2.0";
-  sha256 = "08azxfk6mw2vr0x4zbz0612rk7pj4mfz8shrzc9ima77wb52b8sm";
-  #</generated>
-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 "#<generated>" in l:
-                    in_block = True
-                    print(
-                        f"""  #<generated>
-  # DO NOT EDIT! Automatically generated by ./update.py
-  gittap = "{info["gittap"]}";
-  gittip = "{info["gittip"]}";
-  rev = "{info["rev"]}";
-  version = "{version}";
-  sha256 = "{info["sha256"]}";
-  #</generated>"""
-                    )
-                elif "#</generated>" in l:
-                    in_block = False
-                elif not in_block:
-                    print(l, end="")
-
-
-if __name__ == "__main__":
-    main()