tangled
alpha
login
or
join now
tjh.dev
/
nixpkgs
Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
0
fork
atom
overview
issues
pulls
pipelines
radare2: 3.2.1 -> 3.3.0
Jörg Thalheim
7 years ago
c41ed752
2935a67e
+29
-23
2 changed files
expand all
collapse all
unified
split
pkgs
development
tools
analysis
radare2
default.nix
update.py
+22
-16
pkgs/development/tools/analysis/radare2/default.nix
···
29
rev,
30
version,
31
sha256,
32
-
cs_tip,
33
cs_sha256
34
}:
35
stdenv.mkDerivation rec {
···
46
owner = "aquynh";
47
repo = "capstone";
48
# version from $sourceRoot/shlr/Makefile
49
-
rev = cs_tip;
50
sha256 = cs_sha256;
51
};
52
in ''
53
-
if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi
54
-
# When using meson, it expects capstone source relative to build directory
55
mkdir -p build/shlr
56
-
cp -r ${capstone} shlr/capstone
57
-
chmod -R +w shlr/capstone
0
0
0
0
0
0
0
0
58
'';
59
60
postInstall = ''
···
104
#<generated>
105
# DO NOT EDIT! Automatically generated by ./update.py
106
radare2 = generic {
107
-
version_commit = "20591";
108
-
gittap = "3.2.1";
109
-
gittip = "25913f4745cb3b635d52f1aafc4d8ff2aad3988a";
110
-
rev = "3.2.1";
111
-
version = "3.2.1";
112
-
sha256 = "1c4zj96386sc9lvfcsdh9lhyh0rvv4zzfr6218gvjkg9fy6cc91y";
113
-
cs_tip = "0ff8220adef16a942697afd245afc5ab0f70cbf8";
114
-
cs_sha256 = "1ak8ysgivq28d23r77881p0z5v65jhpap5plm10p9j3y2x00n3zn";
115
};
116
r2-for-cutter = generic {
117
-
version_commit = "20591";
118
gittap = "2.9.0-310-gcb62c376b";
119
gittip = "cb62c376bef6c7427019a7c28910c33c364436dd";
120
rev = "cb62c376bef6c7427019a7c28910c33c364436dd";
121
version = "2018-10-07";
122
sha256 = "0z4nr1d2ca8ibq34441j15pj22wh46brcbr00j5hcqvn8y2lh96l";
123
-
cs_tip = "e2c1cd46c06744beaceff42dd882de3a90f0a37c";
124
cs_sha256 = "1czzqj8zdjgh7h2ixi26ij3mm4bgm4xw2slin6fv73nic8yaw722";
125
};
126
#</generated>
···
29
rev,
30
version,
31
sha256,
32
+
cs_ver,
33
cs_sha256
34
}:
35
stdenv.mkDerivation rec {
···
46
owner = "aquynh";
47
repo = "capstone";
48
# version from $sourceRoot/shlr/Makefile
49
+
rev = cs_ver;
50
sha256 = cs_sha256;
51
};
52
in ''
0
0
53
mkdir -p build/shlr
54
+
cp -r ${capstone} capstone-${cs_ver}
55
+
chmod -R +w capstone-${cs_ver}
56
+
# radare 3.3 compat for radare2-cutter
57
+
(cd shlr && ln -s ../capstone-${cs_ver} capstone)
58
+
tar -czvf shlr/capstone-${cs_ver}.tar.gz capstone-${cs_ver}
59
+
# necessary because they broke the offline-build:
60
+
# https://github.com/radare/radare2/commit/6290e4ff4cc167e1f2c28ab924e9b99783fb1b38#diff-a44d840c10f1f1feaf401917ae4ccd54R258
61
+
# https://github.com/radare/radare2/issues/13087#issuecomment-465159716
62
+
curl() { true; }
63
+
export -f curl
64
'';
65
66
postInstall = ''
···
110
#<generated>
111
# DO NOT EDIT! Automatically generated by ./update.py
112
radare2 = generic {
113
+
version_commit = "20942";
114
+
gittap = "3.3.0";
115
+
gittip = "5a9127d2599c8ff61d8544be7d4c9384402e94a3";
116
+
rev = "3.3.0";
117
+
version = "3.3.0";
118
+
sha256 = "11ap3icr8w0y49lq5dxch2h589qdmwf3qv9lsdyfsz4l0mjm49ri";
119
+
cs_ver = "4.0.1";
120
+
cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
121
};
122
r2-for-cutter = generic {
123
+
version_commit = "20942";
124
gittap = "2.9.0-310-gcb62c376b";
125
gittip = "cb62c376bef6c7427019a7c28910c33c364436dd";
126
rev = "cb62c376bef6c7427019a7c28910c33c364436dd";
127
version = "2018-10-07";
128
sha256 = "0z4nr1d2ca8ibq34441j15pj22wh46brcbr00j5hcqvn8y2lh96l";
129
+
cs_ver = "e2c1cd46c06744beaceff42dd882de3a90f0a37c";
130
cs_sha256 = "1czzqj8zdjgh7h2ixi26ij3mm4bgm4xw2slin6fv73nic8yaw722";
131
};
132
#</generated>
+7
-7
pkgs/development/tools/analysis/radare2/update.py
···
61
def get_repo_info(dirname: str, rev: str) -> Dict[str, str]:
62
sha256 = prefetch_github("radare", "radare2", rev)
63
64
-
cs_tip = None
65
with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile:
66
for l in makefile:
67
-
match = re.match("CS_TIP=(\S+)", l)
68
if match:
69
-
cs_tip = match.group(1)
70
-
assert cs_tip is not None
71
72
-
cs_sha256 = prefetch_github("aquynh", "capstone", cs_tip)
73
74
return dict(
75
rev=rev,
···
77
version_commit=git(dirname, "rev-list", "--all", "--count"),
78
gittap=git(dirname, "describe", "--tags", "--match", "[0-9]*"),
79
gittip=git(dirname, "rev-parse", "HEAD"),
80
-
cs_tip=cs_tip,
81
cs_sha256=cs_sha256,
82
)
83
···
90
rev = "{info["rev"]}";
91
version = "{version}";
92
sha256 = "{info["sha256"]}";
93
-
cs_tip = "{info["cs_tip"]}";
94
cs_sha256 = "{info["cs_sha256"]}";
95
}}"""
96
···
61
def get_repo_info(dirname: str, rev: str) -> Dict[str, str]:
62
sha256 = prefetch_github("radare", "radare2", rev)
63
64
+
cs_ver = None
65
with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile:
66
for l in makefile:
67
+
match = re.match("CS_VER=(\S+)", l)
68
if match:
69
+
cs_ver = match.group(1)
70
+
assert cs_ver is not None
71
72
+
cs_sha256 = prefetch_github("aquynh", "capstone", cs_ver)
73
74
return dict(
75
rev=rev,
···
77
version_commit=git(dirname, "rev-list", "--all", "--count"),
78
gittap=git(dirname, "describe", "--tags", "--match", "[0-9]*"),
79
gittip=git(dirname, "rev-parse", "HEAD"),
80
+
cs_ver=cs_ver,
81
cs_sha256=cs_sha256,
82
)
83
···
90
rev = "{info["rev"]}";
91
version = "{version}";
92
sha256 = "{info["sha256"]}";
93
+
cs_ver = "{info["cs_ver"]}";
94
cs_sha256 = "{info["cs_sha256"]}";
95
}}"""
96