mapfile-parser 2.7.1__tar.gz → 2.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/CHANGELOG.md +20 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/Cargo.lock +14 -138
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/Cargo.toml +2 -2
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/PKG-INFO +5 -5
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/README.md +2 -2
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/pyproject.toml +2 -2
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/__init__.py +1 -1
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/file.rs +6 -3
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/found_symbol_info.rs +2 -1
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/lib.rs +1 -1
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/maps_comparison_info.rs +3 -3
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/segment.rs +1 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/symbol.rs +23 -41
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/symbol_comparison_info.rs +1 -1
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/.gitattributes +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/.gitignore +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/LICENSE +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/__main__.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/__init__.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/bss_check.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/first_diff.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/jsonify.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/pj64_syms.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/progress.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/sym_info.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/symbol_sizes_csv.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/upload_frogress.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/mapfile.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/mapfile_parser.pyi +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/mapfile_rs.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/progress_stats.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/progress_stats_rs.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/utils.py +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/mapfile.rs +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/progress_stats.rs +0 -0
- {mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/rs/utils.rs +0 -0
|
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.7.2] - 2024-12-15
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Prebuilt binaries for Python 3.13.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Python 3.9 or later is now required.
|
|
19
|
+
- Bump from Python 3.8 to 3.9.
|
|
20
|
+
- Older versions can't be checked on CI anymore, so I prefer to not claim to
|
|
21
|
+
support something that may have broken without anybody noticing.
|
|
22
|
+
- Nothing really changed. Just the CI tools I was using are refusing to use
|
|
23
|
+
any Python version older than this. Sorry if you were affected by this.
|
|
24
|
+
- Use newer pyo3 version.
|
|
25
|
+
- From 0.20 to 0.23.
|
|
26
|
+
- Updated to avoid warnings with newer Rust versions.
|
|
27
|
+
- Fix issues introduced by updating pyo3.
|
|
28
|
+
|
|
10
29
|
## [2.7.1] - 2024-09-25
|
|
11
30
|
|
|
12
31
|
### Added
|
|
@@ -426,6 +445,7 @@ Full changes: <https://github.com/Decompollaborate/mapfile_parser/compare/702a73
|
|
|
426
445
|
- Initial release
|
|
427
446
|
|
|
428
447
|
[unreleased]: https://github.com/Decompollaborate/mapfile_parser/compare/master...develop
|
|
448
|
+
[2.7.2]: https://github.com/Decompollaborate/mapfile_parser/compare/2.7.1...2.7.2
|
|
429
449
|
[2.7.1]: https://github.com/Decompollaborate/mapfile_parser/compare/2.7.0...2.7.1
|
|
430
450
|
[2.7.0]: https://github.com/Decompollaborate/mapfile_parser/compare/2.6.0...2.7.0
|
|
431
451
|
[2.6.0]: https://github.com/Decompollaborate/mapfile_parser/compare/2.5.1...2.6.0
|
|
@@ -17,12 +17,6 @@ version = "1.3.0"
|
|
|
17
17
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
18
18
|
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
|
|
19
19
|
|
|
20
|
-
[[package]]
|
|
21
|
-
name = "bitflags"
|
|
22
|
-
version = "2.6.0"
|
|
23
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
24
|
-
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
|
25
|
-
|
|
26
20
|
[[package]]
|
|
27
21
|
name = "cfg-if"
|
|
28
22
|
version = "1.0.0"
|
|
@@ -31,9 +25,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
|
31
25
|
|
|
32
26
|
[[package]]
|
|
33
27
|
name = "heck"
|
|
34
|
-
version = "0.
|
|
28
|
+
version = "0.5.0"
|
|
35
29
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
36
|
-
checksum = "
|
|
30
|
+
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|
37
31
|
|
|
38
32
|
[[package]]
|
|
39
33
|
name = "indoc"
|
|
@@ -53,19 +47,9 @@ version = "0.2.155"
|
|
|
53
47
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
54
48
|
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
|
|
55
49
|
|
|
56
|
-
[[package]]
|
|
57
|
-
name = "lock_api"
|
|
58
|
-
version = "0.4.12"
|
|
59
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
60
|
-
checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
|
|
61
|
-
dependencies = [
|
|
62
|
-
"autocfg",
|
|
63
|
-
"scopeguard",
|
|
64
|
-
]
|
|
65
|
-
|
|
66
50
|
[[package]]
|
|
67
51
|
name = "mapfile_parser"
|
|
68
|
-
version = "2.7.
|
|
52
|
+
version = "2.7.2"
|
|
69
53
|
dependencies = [
|
|
70
54
|
"lazy_static",
|
|
71
55
|
"pyo3",
|
|
@@ -94,29 +78,6 @@ version = "1.19.0"
|
|
|
94
78
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
95
79
|
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
|
96
80
|
|
|
97
|
-
[[package]]
|
|
98
|
-
name = "parking_lot"
|
|
99
|
-
version = "0.12.3"
|
|
100
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
101
|
-
checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
|
|
102
|
-
dependencies = [
|
|
103
|
-
"lock_api",
|
|
104
|
-
"parking_lot_core",
|
|
105
|
-
]
|
|
106
|
-
|
|
107
|
-
[[package]]
|
|
108
|
-
name = "parking_lot_core"
|
|
109
|
-
version = "0.9.10"
|
|
110
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
111
|
-
checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
|
|
112
|
-
dependencies = [
|
|
113
|
-
"cfg-if",
|
|
114
|
-
"libc",
|
|
115
|
-
"redox_syscall",
|
|
116
|
-
"smallvec",
|
|
117
|
-
"windows-targets",
|
|
118
|
-
]
|
|
119
|
-
|
|
120
81
|
[[package]]
|
|
121
82
|
name = "portable-atomic"
|
|
122
83
|
version = "1.7.0"
|
|
@@ -134,15 +95,15 @@ dependencies = [
|
|
|
134
95
|
|
|
135
96
|
[[package]]
|
|
136
97
|
name = "pyo3"
|
|
137
|
-
version = "0.
|
|
98
|
+
version = "0.23.3"
|
|
138
99
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
139
|
-
checksum = "
|
|
100
|
+
checksum = "e484fd2c8b4cb67ab05a318f1fd6fa8f199fcc30819f08f07d200809dba26c15"
|
|
140
101
|
dependencies = [
|
|
141
102
|
"cfg-if",
|
|
142
103
|
"indoc",
|
|
143
104
|
"libc",
|
|
144
105
|
"memoffset",
|
|
145
|
-
"
|
|
106
|
+
"once_cell",
|
|
146
107
|
"portable-atomic",
|
|
147
108
|
"pyo3-build-config",
|
|
148
109
|
"pyo3-ffi",
|
|
@@ -152,9 +113,9 @@ dependencies = [
|
|
|
152
113
|
|
|
153
114
|
[[package]]
|
|
154
115
|
name = "pyo3-build-config"
|
|
155
|
-
version = "0.
|
|
116
|
+
version = "0.23.3"
|
|
156
117
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
157
|
-
checksum = "
|
|
118
|
+
checksum = "dc0e0469a84f208e20044b98965e1561028180219e35352a2afaf2b942beff3b"
|
|
158
119
|
dependencies = [
|
|
159
120
|
"once_cell",
|
|
160
121
|
"target-lexicon",
|
|
@@ -162,9 +123,9 @@ dependencies = [
|
|
|
162
123
|
|
|
163
124
|
[[package]]
|
|
164
125
|
name = "pyo3-ffi"
|
|
165
|
-
version = "0.
|
|
126
|
+
version = "0.23.3"
|
|
166
127
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
167
|
-
checksum = "
|
|
128
|
+
checksum = "eb1547a7f9966f6f1a0f0227564a9945fe36b90da5a93b3933fc3dc03fae372d"
|
|
168
129
|
dependencies = [
|
|
169
130
|
"libc",
|
|
170
131
|
"pyo3-build-config",
|
|
@@ -172,9 +133,9 @@ dependencies = [
|
|
|
172
133
|
|
|
173
134
|
[[package]]
|
|
174
135
|
name = "pyo3-macros"
|
|
175
|
-
version = "0.
|
|
136
|
+
version = "0.23.3"
|
|
176
137
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
177
|
-
checksum = "
|
|
138
|
+
checksum = "fdb6da8ec6fa5cedd1626c886fc8749bdcbb09424a86461eb8cdf096b7c33257"
|
|
178
139
|
dependencies = [
|
|
179
140
|
"proc-macro2",
|
|
180
141
|
"pyo3-macros-backend",
|
|
@@ -184,9 +145,9 @@ dependencies = [
|
|
|
184
145
|
|
|
185
146
|
[[package]]
|
|
186
147
|
name = "pyo3-macros-backend"
|
|
187
|
-
version = "0.
|
|
148
|
+
version = "0.23.3"
|
|
188
149
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
189
|
-
checksum = "
|
|
150
|
+
checksum = "38a385202ff5a92791168b1136afae5059d3ac118457bb7bc304c197c2d33e7d"
|
|
190
151
|
dependencies = [
|
|
191
152
|
"heck",
|
|
192
153
|
"proc-macro2",
|
|
@@ -204,15 +165,6 @@ dependencies = [
|
|
|
204
165
|
"proc-macro2",
|
|
205
166
|
]
|
|
206
167
|
|
|
207
|
-
[[package]]
|
|
208
|
-
name = "redox_syscall"
|
|
209
|
-
version = "0.5.3"
|
|
210
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
211
|
-
checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4"
|
|
212
|
-
dependencies = [
|
|
213
|
-
"bitflags",
|
|
214
|
-
]
|
|
215
|
-
|
|
216
168
|
[[package]]
|
|
217
169
|
name = "regex"
|
|
218
170
|
version = "1.10.6"
|
|
@@ -242,12 +194,6 @@ version = "0.8.4"
|
|
|
242
194
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
243
195
|
checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
|
|
244
196
|
|
|
245
|
-
[[package]]
|
|
246
|
-
name = "scopeguard"
|
|
247
|
-
version = "1.2.0"
|
|
248
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
249
|
-
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
|
250
|
-
|
|
251
197
|
[[package]]
|
|
252
198
|
name = "serde"
|
|
253
199
|
version = "1.0.205"
|
|
@@ -268,12 +214,6 @@ dependencies = [
|
|
|
268
214
|
"syn",
|
|
269
215
|
]
|
|
270
216
|
|
|
271
|
-
[[package]]
|
|
272
|
-
name = "smallvec"
|
|
273
|
-
version = "1.13.2"
|
|
274
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
275
|
-
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
|
276
|
-
|
|
277
217
|
[[package]]
|
|
278
218
|
name = "syn"
|
|
279
219
|
version = "2.0.72"
|
|
@@ -302,67 +242,3 @@ name = "unindent"
|
|
|
302
242
|
version = "0.2.3"
|
|
303
243
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
304
244
|
checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
|
|
305
|
-
|
|
306
|
-
[[package]]
|
|
307
|
-
name = "windows-targets"
|
|
308
|
-
version = "0.52.6"
|
|
309
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
310
|
-
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
|
311
|
-
dependencies = [
|
|
312
|
-
"windows_aarch64_gnullvm",
|
|
313
|
-
"windows_aarch64_msvc",
|
|
314
|
-
"windows_i686_gnu",
|
|
315
|
-
"windows_i686_gnullvm",
|
|
316
|
-
"windows_i686_msvc",
|
|
317
|
-
"windows_x86_64_gnu",
|
|
318
|
-
"windows_x86_64_gnullvm",
|
|
319
|
-
"windows_x86_64_msvc",
|
|
320
|
-
]
|
|
321
|
-
|
|
322
|
-
[[package]]
|
|
323
|
-
name = "windows_aarch64_gnullvm"
|
|
324
|
-
version = "0.52.6"
|
|
325
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
326
|
-
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
|
327
|
-
|
|
328
|
-
[[package]]
|
|
329
|
-
name = "windows_aarch64_msvc"
|
|
330
|
-
version = "0.52.6"
|
|
331
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
332
|
-
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
|
333
|
-
|
|
334
|
-
[[package]]
|
|
335
|
-
name = "windows_i686_gnu"
|
|
336
|
-
version = "0.52.6"
|
|
337
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
338
|
-
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
|
339
|
-
|
|
340
|
-
[[package]]
|
|
341
|
-
name = "windows_i686_gnullvm"
|
|
342
|
-
version = "0.52.6"
|
|
343
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
344
|
-
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
|
345
|
-
|
|
346
|
-
[[package]]
|
|
347
|
-
name = "windows_i686_msvc"
|
|
348
|
-
version = "0.52.6"
|
|
349
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
350
|
-
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
|
351
|
-
|
|
352
|
-
[[package]]
|
|
353
|
-
name = "windows_x86_64_gnu"
|
|
354
|
-
version = "0.52.6"
|
|
355
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
356
|
-
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
|
357
|
-
|
|
358
|
-
[[package]]
|
|
359
|
-
name = "windows_x86_64_gnullvm"
|
|
360
|
-
version = "0.52.6"
|
|
361
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
362
|
-
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
|
363
|
-
|
|
364
|
-
[[package]]
|
|
365
|
-
name = "windows_x86_64_msvc"
|
|
366
|
-
version = "0.52.6"
|
|
367
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
368
|
-
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
[package]
|
|
5
5
|
name = "mapfile_parser"
|
|
6
|
-
version = "2.7.
|
|
6
|
+
version = "2.7.2"
|
|
7
7
|
edition = "2021"
|
|
8
8
|
rust-version = "1.65.0"
|
|
9
9
|
authors = ["Anghelo Carvajal <angheloalf95@gmail.com>"]
|
|
@@ -23,7 +23,7 @@ crate-type = ["cdylib", "staticlib", "rlib"]
|
|
|
23
23
|
|
|
24
24
|
[dependencies]
|
|
25
25
|
regex = "1.10.2"
|
|
26
|
-
pyo3 = { version = "0.
|
|
26
|
+
pyo3 = { version = "0.23.2", optional = true, features = ["extension-module"]}
|
|
27
27
|
lazy_static = "1.4.0"
|
|
28
28
|
serde = { version = "1.0", features = ["derive"], optional = true }
|
|
29
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: mapfile_parser
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.2
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
@@ -11,7 +11,7 @@ Keywords: mapfile,parser,decomp,decompilation
|
|
|
11
11
|
Author: Anghelo Carvajal <angheloalf95@gmail.com>
|
|
12
12
|
Author-email: Anghelo Carvajal <angheloalf95@gmail.com>
|
|
13
13
|
License: MIT
|
|
14
|
-
Requires-Python: >=3.
|
|
14
|
+
Requires-Python: >=3.9
|
|
15
15
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
16
16
|
Project-URL: Homepage, https://github.com/Decompollaborate/mapfile_parser
|
|
17
17
|
Project-URL: Bug Tracker, https://github.com/Decompollaborate/mapfile_parser/issues
|
|
@@ -53,7 +53,7 @@ If you use a `requirements.txt` file in your repository, then you can add
|
|
|
53
53
|
this library with the following line:
|
|
54
54
|
|
|
55
55
|
```txt
|
|
56
|
-
mapfile_parser>=2.7.
|
|
56
|
+
mapfile_parser>=2.7.2,<3.0.0
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
#### Development version
|
|
@@ -92,7 +92,7 @@ cargo add mapfile_parser
|
|
|
92
92
|
Or add the following line manually to your `Cargo.toml` file:
|
|
93
93
|
|
|
94
94
|
```toml
|
|
95
|
-
mapfile_parser = "2.7.
|
|
95
|
+
mapfile_parser = "2.7.2"
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
## Versioning and changelog
|
|
@@ -35,7 +35,7 @@ If you use a `requirements.txt` file in your repository, then you can add
|
|
|
35
35
|
this library with the following line:
|
|
36
36
|
|
|
37
37
|
```txt
|
|
38
|
-
mapfile_parser>=2.7.
|
|
38
|
+
mapfile_parser>=2.7.2,<3.0.0
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
#### Development version
|
|
@@ -74,7 +74,7 @@ cargo add mapfile_parser
|
|
|
74
74
|
Or add the following line manually to your `Cargo.toml` file:
|
|
75
75
|
|
|
76
76
|
```toml
|
|
77
|
-
mapfile_parser = "2.7.
|
|
77
|
+
mapfile_parser = "2.7.2"
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
## Versioning and changelog
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
|
|
4
4
|
[project]
|
|
5
5
|
name = "mapfile_parser"
|
|
6
|
-
version = "2.7.
|
|
6
|
+
version = "2.7.2"
|
|
7
7
|
description = "Map file parser library focusing decompilation projects"
|
|
8
8
|
readme = "README.md"
|
|
9
|
-
requires-python = ">=3.
|
|
9
|
+
requires-python = ">=3.9"
|
|
10
10
|
dependencies = [
|
|
11
11
|
"requests"
|
|
12
12
|
]
|
|
@@ -379,7 +379,7 @@ impl Hash for File {
|
|
|
379
379
|
#[cfg(feature = "python_bindings")]
|
|
380
380
|
#[allow(non_snake_case)]
|
|
381
381
|
pub(crate) mod python_bindings {
|
|
382
|
-
use pyo3::{intern, prelude
|
|
382
|
+
use pyo3::{intern, prelude::*, IntoPyObjectExt};
|
|
383
383
|
|
|
384
384
|
use std::path::PathBuf;
|
|
385
385
|
|
|
@@ -390,9 +390,12 @@ pub(crate) mod python_bindings {
|
|
|
390
390
|
|
|
391
391
|
use std::collections::hash_map::DefaultHasher;
|
|
392
392
|
|
|
393
|
+
use super::*;
|
|
394
|
+
|
|
393
395
|
#[pymethods]
|
|
394
|
-
impl
|
|
396
|
+
impl File {
|
|
395
397
|
#[new]
|
|
398
|
+
#[pyo3(signature = (filepath, vram, size, section_type, vrom=None, align=None))]
|
|
396
399
|
fn py_new(
|
|
397
400
|
filepath: PathBuf,
|
|
398
401
|
vram: u64,
|
|
@@ -414,7 +417,7 @@ pub(crate) mod python_bindings {
|
|
|
414
417
|
let pathlib_path = pathlib.getattr(intern!(py, "Path"))?;
|
|
415
418
|
let args = (self.filepath.clone(),);
|
|
416
419
|
|
|
417
|
-
|
|
420
|
+
pathlib_path.call1(args)?.into_py_any(py)
|
|
418
421
|
})
|
|
419
422
|
}
|
|
420
423
|
|
|
@@ -132,6 +132,7 @@ pub(crate) mod python_bindings {
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
#[pyo3(name = "getAsStrPlusOffset")]
|
|
135
|
+
#[pyo3(signature = (sym_name=None))]
|
|
135
136
|
fn getAsStrPlusOffset(&self, sym_name: Option<String>) -> String {
|
|
136
137
|
let temp = super::FoundSymbolInfo::from(self);
|
|
137
138
|
temp.get_as_str_plus_offset(sym_name)
|
|
@@ -144,7 +145,7 @@ pub(crate) mod python_bindings {
|
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
147
|
|
|
147
|
-
impl
|
|
148
|
+
impl From<super::FoundSymbolInfo<'_>> for PyFoundSymbolInfo {
|
|
148
149
|
fn from(value: super::FoundSymbolInfo) -> Self {
|
|
149
150
|
Self::new(value.file.clone(), value.symbol.clone(), value.offset)
|
|
150
151
|
}
|
|
@@ -28,7 +28,7 @@ use pyo3::prelude::*;
|
|
|
28
28
|
|
|
29
29
|
#[cfg(feature = "python_bindings")]
|
|
30
30
|
#[pymodule]
|
|
31
|
-
fn mapfile_parser(
|
|
31
|
+
fn mapfile_parser(m: &Bound<'_, PyModule>) -> PyResult<()> {
|
|
32
32
|
m.add_class::<mapfile::MapFile>()?;
|
|
33
33
|
m.add_class::<segment::Segment>()?;
|
|
34
34
|
m.add_class::<file::File>()?;
|
|
@@ -14,7 +14,7 @@ pub struct MapsComparisonInfo<'a> {
|
|
|
14
14
|
pub compared_list: Vec<symbol_comparison_info::SymbolComparisonInfo<'a>>,
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
impl
|
|
17
|
+
impl MapsComparisonInfo<'_> {
|
|
18
18
|
pub fn new() -> Self {
|
|
19
19
|
Self {
|
|
20
20
|
bad_files: HashSet::new(),
|
|
@@ -24,7 +24,7 @@ impl<'a> MapsComparisonInfo<'a> {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
impl
|
|
27
|
+
impl Default for MapsComparisonInfo<'_> {
|
|
28
28
|
fn default() -> Self {
|
|
29
29
|
Self::new()
|
|
30
30
|
}
|
|
@@ -116,7 +116,7 @@ pub(crate) mod python_bindings {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
impl
|
|
119
|
+
impl From<super::MapsComparisonInfo<'_>> for PyMapsComparisonInfo {
|
|
120
120
|
fn from(value: super::MapsComparisonInfo) -> Self {
|
|
121
121
|
Self {
|
|
122
122
|
bad_files: value.bad_files.into_iter().cloned().collect(),
|
|
@@ -328,6 +328,7 @@ pub(crate) mod python_bindings {
|
|
|
328
328
|
#[pymethods]
|
|
329
329
|
impl super::Segment {
|
|
330
330
|
#[new]
|
|
331
|
+
#[pyo3(signature = (name, vram, size, vrom, align=None))]
|
|
331
332
|
fn py_new(name: String, vram: u64, size: u64, vrom: u64, align: Option<u64>) -> Self {
|
|
332
333
|
Self::new(name, vram, size, vrom, align)
|
|
333
334
|
}
|
|
@@ -23,11 +23,6 @@ pub struct Symbol {
|
|
|
23
23
|
pub vrom: Option<u64>,
|
|
24
24
|
|
|
25
25
|
pub align: Option<u64>,
|
|
26
|
-
|
|
27
|
-
// idk if it is worth to continue maintaining this, given the complexity introduced by other features
|
|
28
|
-
#[cfg(feature = "python_bindings")]
|
|
29
|
-
#[cfg_attr(feature = "serde", serde(skip))]
|
|
30
|
-
chached_name: Option<PyObject>,
|
|
31
26
|
}
|
|
32
27
|
|
|
33
28
|
impl Symbol {
|
|
@@ -44,9 +39,6 @@ impl Symbol {
|
|
|
44
39
|
size,
|
|
45
40
|
vrom,
|
|
46
41
|
align,
|
|
47
|
-
|
|
48
|
-
#[cfg(feature = "python_bindings")]
|
|
49
|
-
chached_name: None,
|
|
50
42
|
}
|
|
51
43
|
}
|
|
52
44
|
|
|
@@ -57,9 +49,6 @@ impl Symbol {
|
|
|
57
49
|
size: None,
|
|
58
50
|
vrom: None,
|
|
59
51
|
align: None,
|
|
60
|
-
|
|
61
|
-
#[cfg(feature = "python_bindings")]
|
|
62
|
-
chached_name: None,
|
|
63
52
|
}
|
|
64
53
|
}
|
|
65
54
|
|
|
@@ -125,8 +114,7 @@ impl Hash for Symbol {
|
|
|
125
114
|
#[cfg(feature = "python_bindings")]
|
|
126
115
|
#[allow(non_snake_case)]
|
|
127
116
|
pub(crate) mod python_bindings {
|
|
128
|
-
use pyo3::prelude
|
|
129
|
-
use pyo3::types::IntoPyDict;
|
|
117
|
+
use pyo3::{prelude::*, types::IntoPyDict, IntoPyObjectExt};
|
|
130
118
|
|
|
131
119
|
use std::collections::hash_map::DefaultHasher;
|
|
132
120
|
|
|
@@ -150,14 +138,8 @@ pub(crate) mod python_bindings {
|
|
|
150
138
|
/* Getters and setters */
|
|
151
139
|
|
|
152
140
|
#[getter]
|
|
153
|
-
fn get_name(&
|
|
154
|
-
|
|
155
|
-
if self.chached_name.is_none() {
|
|
156
|
-
self.chached_name = Some(self.name.to_object(py));
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
self.chached_name.as_ref().unwrap().to_object(py)
|
|
160
|
-
})
|
|
141
|
+
fn get_name(&self) -> PyResult<&str> {
|
|
142
|
+
Ok(&self.name)
|
|
161
143
|
}
|
|
162
144
|
|
|
163
145
|
#[setter]
|
|
@@ -213,58 +195,58 @@ pub(crate) mod python_bindings {
|
|
|
213
195
|
/* Serializers */
|
|
214
196
|
|
|
215
197
|
#[pyo3(signature=(_humanReadable=true))]
|
|
216
|
-
fn serializeName(&self, _humanReadable: bool) -> PyObject {
|
|
217
|
-
Python::with_gil(|py| self.name.
|
|
198
|
+
fn serializeName(&self, _humanReadable: bool) -> PyResult<PyObject> {
|
|
199
|
+
Python::with_gil(|py| self.name.clone().into_py_any(py))
|
|
218
200
|
}
|
|
219
201
|
|
|
220
202
|
#[pyo3(signature=(humanReadable=true))]
|
|
221
|
-
fn serializeVram(&self, humanReadable: bool) -> PyObject {
|
|
203
|
+
fn serializeVram(&self, humanReadable: bool) -> PyResult<PyObject> {
|
|
222
204
|
Python::with_gil(|py| {
|
|
223
205
|
if humanReadable {
|
|
224
|
-
return format!("0x{:08X}", self.vram).
|
|
206
|
+
return format!("0x{:08X}", self.vram).into_py_any(py);
|
|
225
207
|
}
|
|
226
208
|
|
|
227
|
-
self.vram.
|
|
209
|
+
self.vram.into_py_any(py)
|
|
228
210
|
})
|
|
229
211
|
}
|
|
230
212
|
|
|
231
213
|
#[pyo3(signature=(humanReadable=true))]
|
|
232
|
-
fn serializeSize(&self, humanReadable: bool) -> PyObject {
|
|
214
|
+
fn serializeSize(&self, humanReadable: bool) -> PyResult<PyObject> {
|
|
233
215
|
Python::with_gil(|py| match self.size {
|
|
234
|
-
None => Python::None(py),
|
|
216
|
+
None => Ok(Python::None(py)),
|
|
235
217
|
Some(size) => {
|
|
236
218
|
if humanReadable {
|
|
237
|
-
return format!("0x{:X}", size).
|
|
219
|
+
return format!("0x{:X}", size).into_py_any(py);
|
|
238
220
|
}
|
|
239
|
-
size.
|
|
221
|
+
size.into_py_any(py)
|
|
240
222
|
}
|
|
241
223
|
})
|
|
242
224
|
}
|
|
243
225
|
|
|
244
226
|
#[pyo3(signature=(humanReadable=true))]
|
|
245
|
-
fn serializeVrom(&self, humanReadable: bool) -> PyObject {
|
|
227
|
+
fn serializeVrom(&self, humanReadable: bool) -> PyResult<PyObject> {
|
|
246
228
|
Python::with_gil(|py| match self.vrom {
|
|
247
|
-
None => Python::None(py),
|
|
229
|
+
None => Ok(Python::None(py)),
|
|
248
230
|
Some(vrom) => {
|
|
249
231
|
if humanReadable {
|
|
250
|
-
return format!("0x{:06X}", vrom).
|
|
232
|
+
return format!("0x{:06X}", vrom).into_py_any(py);
|
|
251
233
|
}
|
|
252
|
-
vrom.
|
|
234
|
+
vrom.into_py_any(py)
|
|
253
235
|
}
|
|
254
236
|
})
|
|
255
237
|
}
|
|
256
238
|
|
|
257
239
|
#[pyo3(signature=(humanReadable=true))]
|
|
258
|
-
fn toJson(&self, humanReadable: bool) -> PyObject {
|
|
240
|
+
fn toJson(&self, humanReadable: bool) -> PyResult<PyObject> {
|
|
259
241
|
Python::with_gil(|py| {
|
|
260
242
|
[
|
|
261
|
-
("name", self.serializeName(humanReadable)),
|
|
262
|
-
("vram", self.serializeVram(humanReadable)),
|
|
263
|
-
("size", self.serializeSize(humanReadable)),
|
|
264
|
-
("vrom", self.serializeVrom(humanReadable)),
|
|
243
|
+
("name", self.serializeName(humanReadable)?),
|
|
244
|
+
("vram", self.serializeVram(humanReadable)?),
|
|
245
|
+
("size", self.serializeSize(humanReadable)?),
|
|
246
|
+
("vrom", self.serializeVrom(humanReadable)?),
|
|
265
247
|
]
|
|
266
|
-
.into_py_dict(py)
|
|
267
|
-
.
|
|
248
|
+
.into_py_dict(py)?
|
|
249
|
+
.into_py_any(py)
|
|
268
250
|
})
|
|
269
251
|
}
|
|
270
252
|
|
|
@@ -174,7 +174,7 @@ pub(crate) mod python_bindings {
|
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
impl
|
|
177
|
+
impl From<super::SymbolComparisonInfo<'_>> for PySymbolComparisonInfo {
|
|
178
178
|
fn from(value: super::SymbolComparisonInfo) -> Self {
|
|
179
179
|
Self::new(
|
|
180
180
|
value.symbol.clone(),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/symbol_sizes_csv.py
RENAMED
|
File without changes
|
{mapfile_parser-2.7.1 → mapfile_parser-2.7.2}/src/mapfile_parser/frontends/upload_frogress.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|