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