ruby-magic 0.5.4 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +48 -1
- data/CONTRIBUTORS.md +2 -0
- data/COPYRIGHT +1 -1
- data/NOTICE +245 -180
- data/README.md +3 -5
- data/dependencies.yml +8 -8
- data/ext/magic/common.h +10 -2
- data/ext/magic/extconf.rb +32 -21
- data/ext/magic/ruby-magic.c +15 -3
- data/lib/magic/version.rb +3 -3
- data/lib/ruby-magic.rb +3 -0
- data/patches/libmagic/0001-Don-t-attempt-to-build-tests-documentation-and-Python-bindings.patch +12 -12
- data/ports/archives/file-5.44.tar.gz +0 -0
- metadata +20 -39
- checksums.yaml.gz.sig +0 -0
- data/ports/archives/file-5.39.tar.gz +0 -0
- data.tar.gz.sig +0 -3
- metadata.gz.sig +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98a9a0fb729dd8712aa15b564abaad47d28da005d3b66060b3e20fc9386da446
|
4
|
+
data.tar.gz: 86d563eee76e957a624499a5cb9866b7df371074dfac9389c66db5fb95960441
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9da91dd007a7a06570a2de4ca0694d8e825fce083d22c879066f6a23538a165321d10145e67dabedffb47c12425d7e87d3904362a0e0b2b6c8381586bde83a3c
|
7
|
+
data.tar.gz: db546632084213ce1a9e1f65ee93083d9d2b97997428cdb6d6f97e0294dd4a0e63fc0b0f6d01af1a1e988df3364fc9f0a5631dcd18f8cad050babbcf8022895b
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,44 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [0.6.0] - 2023-03-14
|
11
|
+
|
12
|
+
### Added
|
13
|
+
|
14
|
+
- Add --with-magic-flags option for building libmagic.
|
15
|
+
|
16
|
+
## [0.5.5] - 2023-01-23
|
17
|
+
|
18
|
+
### Changed
|
19
|
+
|
20
|
+
- Update to latest libmagic version (5.44).
|
21
|
+
- Update mini_portile2 to version 2.8.0.
|
22
|
+
- Update RDoc in the Ruby gemspec and the Rake task.
|
23
|
+
- Update PKG_CONFIG_PATH paths to include more platforms.
|
24
|
+
- Add new library flag called MAGIC_NO_COMPRESS_FORK.
|
25
|
+
- Add assert to ensure that the internal object is initialised.
|
26
|
+
- Reduce scope of some string variables.
|
27
|
+
- Relax rake-compiler and rake-compiler-dock dependencies.
|
28
|
+
- Only enable support for the GC compaction when there is platform support.
|
29
|
+
- Remove workaround for linux build per RCD.
|
30
|
+
- Work around Ruby 3.1 pkg_config limitations.
|
31
|
+
|
32
|
+
## [0.5.4] - 2022-01-28
|
33
|
+
|
34
|
+
### Added
|
35
|
+
|
36
|
+
- Added a pessimistic version pin of `rake-compiler` and `rake-compiler-dock` versions in `Gemfile`.
|
37
|
+
|
38
|
+
### Changed
|
39
|
+
|
40
|
+
- Removed _RubyGems_ version pin from the Gem gemspec file.
|
41
|
+
- Simplified the `.gitlab-ci.yml` used to run _CI_ remotely on _GitLab_.
|
42
|
+
- Enabled verbose log when cross-compiling a native Ruby Gem using the `rake-compiler-dock` Gem. This allows for commands run to be shown.
|
43
|
+
|
44
|
+
### Deprecated
|
45
|
+
|
46
|
+
- Retired support for Ruby version 2.5 as it has reached _End of Life_ (EOL).
|
47
|
+
|
10
48
|
## [0.5.3] - 2021-12-22
|
11
49
|
|
12
50
|
### Fixed
|
@@ -93,6 +131,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
93
131
|
|
94
132
|
- First version of Magic.
|
95
133
|
|
96
|
-
[Unreleased]: https://github.com/kwilczynski/ruby-magic/compare/v0.
|
134
|
+
[Unreleased]: https://github.com/kwilczynski/ruby-magic/compare/v0.5.4...HEAD
|
135
|
+
[0.5.4]: https://github.com/kwilczynski/ruby-magic/compare/v0.5.3...v0.5.4
|
136
|
+
[0.5.3]: https://github.com/kwilczynski/ruby-magic/compare/v0.5.2...v0.5.3
|
137
|
+
[0.5.2]: https://github.com/kwilczynski/ruby-magic/compare/v0.5.1...v0.5.2
|
138
|
+
[0.5.1]: https://github.com/kwilczynski/ruby-magic/compare/v0.5.0...v0.5.1
|
139
|
+
[0.5.0]: https://github.com/kwilczynski/ruby-magic/compare/v0.4.0...v0.5.0
|
140
|
+
[0.4.0]: https://github.com/kwilczynski/ruby-magic/compare/v0.3.2...v0.4.0
|
141
|
+
[0.3.2]: https://github.com/kwilczynski/ruby-magic/compare/v0.3.1...v0.3.2
|
142
|
+
[0.3.1]: https://github.com/kwilczynski/ruby-magic/compare/v0.3.0...v0.3.1
|
143
|
+
[0.3.0]: https://github.com/kwilczynski/ruby-magic/compare/v0.2.0...v0.3.0
|
97
144
|
[0.2.0]: https://github.com/kwilczynski/ruby-magic/compare/v0.1.0...v0.2.0
|
98
145
|
[0.1.0]: https://github.com/kwilczynski/ruby-magic/compare/29e6c26...v0.1.0
|
data/CONTRIBUTORS.md
CHANGED
@@ -7,8 +7,10 @@ of Ruby Magic. They are hereby acknowledged and collectively identified as "The
|
|
7
7
|
Ruby Magic Authors". Copyright is held by the original contributor according to
|
8
8
|
the versioning history; see [LICENSE](LICENSE) file.
|
9
9
|
|
10
|
+
- Antonio Terceiro ([@terceiro](https://github.com/terceiro))
|
10
11
|
- Igor Victor ([@gogainda](https://github.com/gogainda))
|
11
12
|
- John Hawthorn ([@jhawthorn](https://github.com/jhawthorn))
|
13
|
+
- Lars Kanis ([@larskanis](https://github.com/larskanis))
|
12
14
|
- Mike Dalessio ([@flavorjones](https://github.com/flavorjones))
|
13
15
|
- Shinya Maeda ([@dosuken123](https://github.com/dosuken123))
|
14
16
|
- Stan Hu ([@stanhu](https://github.com/stanhu))
|
data/COPYRIGHT
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Copyright 2013-
|
1
|
+
Copyright 2013-2022 Krzysztof Wilczyński
|
data/NOTICE
CHANGED
@@ -1,21 +1,186 @@
|
|
1
1
|
Ruby Magic
|
2
|
-
Copyright 2013-
|
2
|
+
Copyright 2013-2022 Krzysztof Wilczyński
|
3
3
|
|
4
4
|
This product relies on and/or includes a number of Open Source software
|
5
5
|
projects, including those that have been modified.
|
6
6
|
|
7
|
-
*
|
7
|
+
* file
|
8
8
|
|
9
|
-
|
9
|
+
file(1) Command and the libmagic(3) library.
|
10
10
|
|
11
11
|
LICENSE:
|
12
|
-
|
12
|
+
BSD, CDDL
|
13
13
|
|
14
14
|
HOMEPAGE:
|
15
|
-
|
15
|
+
http://darwinsys.com/file
|
16
16
|
|
17
|
-
|
17
|
+
Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
|
18
|
+
Software written by Ian F. Darwin and others;
|
19
|
+
maintained 1994- Christos Zoulas.
|
20
|
+
|
21
|
+
This software is not subject to any export provision of the United States
|
22
|
+
Department of Commerce, and may be exported to any country or planet.
|
23
|
+
|
24
|
+
Redistribution and use in source and binary forms, with or without
|
25
|
+
modification, are permitted provided that the following conditions
|
26
|
+
are met:
|
27
|
+
1. Redistributions of source code must retain the above copyright
|
28
|
+
notice immediately at the beginning of the file, without modification,
|
29
|
+
this list of conditions, and the following disclaimer.
|
30
|
+
2. Redistributions in binary form must reproduce the above copyright
|
31
|
+
notice, this list of conditions and the following disclaimer in the
|
32
|
+
documentation and/or other materials provided with the distribution.
|
33
|
+
|
34
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
35
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
36
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
37
|
+
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
|
38
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
39
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
40
|
+
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
41
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
42
|
+
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
43
|
+
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
44
|
+
SUCH DAMAGE.
|
45
|
+
|
46
|
+
* guard
|
47
|
+
|
48
|
+
Guard is a command line tool to easily handle events on file system
|
49
|
+
modifications.
|
50
|
+
|
51
|
+
LICENSE:
|
52
|
+
MIT
|
53
|
+
|
54
|
+
HOMEPAGE:
|
55
|
+
https://github.com/guard/guard
|
56
|
+
|
57
|
+
Copyright (c) 2009-2016 Thibaud Guillaume-Gentil
|
58
|
+
|
59
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
60
|
+
a copy of this software and associated documentation files (the
|
61
|
+
"Software"), to deal in the Software without restriction, including
|
62
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
63
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
64
|
+
permit persons to whom the Software is furnished to do so, subject to
|
65
|
+
the following conditions:
|
66
|
+
|
67
|
+
The above copyright notice and this permission notice shall be
|
68
|
+
included in all copies or substantial portions of the Software.
|
69
|
+
|
70
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
71
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
72
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
73
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
74
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
75
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
76
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
77
|
+
|
78
|
+
* guard-bundler
|
79
|
+
|
80
|
+
Guard::Bundler automatically install/update your gem bundle when needed.
|
81
|
+
|
82
|
+
LICENSE:
|
83
|
+
MIT
|
84
|
+
|
85
|
+
HOMEPAGE:
|
86
|
+
https://github.com/guard/guard-bundler
|
87
|
+
|
88
|
+
Copyright (c) 2010-2014 Yann Lugrin, Rémy Coutable
|
89
|
+
|
90
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
91
|
+
a copy of this software and associated documentation files (the
|
92
|
+
"Software"), to deal in the Software without restriction, including
|
93
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
94
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
95
|
+
permit persons to whom the Software is furnished to do so, subject to
|
96
|
+
the following conditions:
|
97
|
+
|
98
|
+
The above copyright notice and this permission notice shall be
|
99
|
+
included in all copies or substantial portions of the Software.
|
100
|
+
|
101
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
102
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
103
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
104
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
105
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
106
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
107
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
108
|
+
|
109
|
+
* guard-rake
|
110
|
+
|
111
|
+
guard-rake runs a rake task when files change.
|
112
|
+
|
113
|
+
LICENSE:
|
114
|
+
MIT
|
115
|
+
|
116
|
+
HOMEPAGE:
|
117
|
+
https://github.com/rubyist/guard-rake
|
118
|
+
|
119
|
+
Copyright (c) 2011 Scott Barron
|
120
|
+
|
121
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
122
|
+
a copy of this software and associated documentation files (the
|
123
|
+
'Software'), to deal in the Software without restriction, including
|
124
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
125
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
126
|
+
permit persons to whom the Software is furnished to do so, subject to
|
127
|
+
the following conditions:
|
128
|
+
|
129
|
+
The above copyright notice and this permission notice shall be
|
130
|
+
included in all copies or substantial portions of the Software.
|
131
|
+
|
132
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
133
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
134
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
135
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
136
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
137
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
138
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
139
|
+
|
140
|
+
* mini_portile2
|
141
|
+
|
142
|
+
mini_portile and mini_portile2 - Simple autoconf builder for developers
|
143
|
+
|
144
|
+
LICENSE:
|
145
|
+
MIT
|
146
|
+
|
147
|
+
HOMEPAGE:
|
148
|
+
https://github.com/flavorjones/mini_portile
|
149
|
+
|
150
|
+
Copyright (c) 2011-2016 Luis Lavena and Mike Dalessio
|
151
|
+
|
152
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
153
|
+
a copy of this software and associated documentation files (the
|
154
|
+
"Software"), to deal in the Software without restriction, including
|
155
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
156
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
157
|
+
permit persons to whom the Software is furnished to do so, subject to
|
158
|
+
the following conditions:
|
159
|
+
|
160
|
+
The above copyright notice and this permission notice shall be
|
161
|
+
included in all copies or substantial portions of the Software.
|
162
|
+
|
163
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
164
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
165
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
166
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
167
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
168
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
169
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
170
|
+
|
171
|
+
* mocha
|
172
|
+
|
173
|
+
Mocha is a mocking and stubbing library for Ruby.
|
174
|
+
|
175
|
+
LICENSE:
|
176
|
+
The Ruby License, MIT
|
177
|
+
|
178
|
+
HOMEPAGE:
|
179
|
+
https://mocha.jamesmead.org/
|
18
180
|
|
181
|
+
Copyright Revieworld Ltd. 2006
|
182
|
+
|
183
|
+
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
|
19
184
|
You can redistribute it and/or modify it under either the terms of the
|
20
185
|
2-clause BSDL (see the file BSDL), or the conditions below:
|
21
186
|
|
@@ -103,12 +268,78 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
103
268
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
104
269
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
105
270
|
|
271
|
+
* rake-compiler
|
272
|
+
|
273
|
+
Provide a standard and simplified way to build and package Ruby C and Java
|
274
|
+
extensions using Rake as glue.
|
275
|
+
|
276
|
+
LICENSE:
|
277
|
+
MIT
|
278
|
+
|
279
|
+
HOMEPAGE:
|
280
|
+
https://github.com/rake-compiler/rake-compiler
|
281
|
+
|
282
|
+
Copyright (c) 2008-2011 Luis Lavena.
|
283
|
+
|
284
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
285
|
+
a copy of this software and associated documentation files (the
|
286
|
+
"Software"), to deal in the Software without restriction, including
|
287
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
288
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
289
|
+
permit persons to whom the Software is furnished to do so, subject to
|
290
|
+
the following conditions:
|
291
|
+
|
292
|
+
The above copyright notice and this permission notice shall be
|
293
|
+
included in all copies or substantial portions of the Software.
|
294
|
+
|
295
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
296
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
297
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
298
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
299
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
300
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
301
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
302
|
+
|
303
|
+
* rake-compiler-dock
|
304
|
+
|
305
|
+
Easy to use and reliable cross compiler environment for building Windows,
|
306
|
+
Linux, Mac and JRuby binary gems.
|
307
|
+
|
308
|
+
LICENSE:
|
309
|
+
MIT
|
310
|
+
|
311
|
+
HOMEPAGE:
|
312
|
+
https://github.com/rake-compiler/rake-compiler-dock
|
313
|
+
|
314
|
+
Copyright (c) 2015 Lars Kanis
|
315
|
+
|
316
|
+
MIT License
|
317
|
+
|
318
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
319
|
+
a copy of this software and associated documentation files (the
|
320
|
+
"Software"), to deal in the Software without restriction, including
|
321
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
322
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
323
|
+
permit persons to whom the Software is furnished to do so, subject to
|
324
|
+
the following conditions:
|
325
|
+
|
326
|
+
The above copyright notice and this permission notice shall be
|
327
|
+
included in all copies or substantial portions of the Software.
|
328
|
+
|
329
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
330
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
331
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
332
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
333
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
334
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
335
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
336
|
+
|
106
337
|
* rdoc
|
107
338
|
|
108
339
|
RDoc - Ruby Documentation System.
|
109
340
|
|
110
341
|
LICENSE:
|
111
|
-
The Ruby License
|
342
|
+
The Ruby License, GPL-2.0
|
112
343
|
|
113
344
|
HOMEPAGE:
|
114
345
|
https://ruby.github.io/rdoc
|
@@ -171,18 +402,15 @@ version 2 (see the file GPL), or the conditions below:
|
|
171
402
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
172
403
|
PURPOSE.
|
173
404
|
|
174
|
-
*
|
175
|
-
|
176
|
-
Provide a standard and simplified way to build and package Ruby C and Java
|
177
|
-
extensions using Rake as glue.
|
405
|
+
* rubocop
|
178
406
|
|
179
407
|
LICENSE:
|
180
408
|
MIT
|
181
409
|
|
182
410
|
HOMEPAGE:
|
183
|
-
https://github.com/
|
411
|
+
https://github.com/rubocop-hq/rubocop
|
184
412
|
|
185
|
-
Copyright (c)
|
413
|
+
Copyright (c) 2012-22 Bozhidar Batsov
|
186
414
|
|
187
415
|
Permission is hereby granted, free of charge, to any person obtaining
|
188
416
|
a copy of this software and associated documentation files (the
|
@@ -203,19 +431,18 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
203
431
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
204
432
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
205
433
|
|
206
|
-
*
|
434
|
+
* ruby
|
207
435
|
|
208
|
-
|
436
|
+
The Ruby Programming Language.
|
209
437
|
|
210
438
|
LICENSE:
|
211
439
|
The Ruby License
|
212
440
|
|
213
441
|
HOMEPAGE:
|
214
|
-
https://
|
215
|
-
|
216
|
-
Copyright Revieworld Ltd. 2006
|
442
|
+
https://www.ruby-lang.org
|
217
443
|
|
218
444
|
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
|
445
|
+
|
219
446
|
You can redistribute it and/or modify it under either the terms of the
|
220
447
|
2-clause BSDL (see the file BSDL), or the conditions below:
|
221
448
|
|
@@ -341,165 +568,3 @@ version 2 (see the file GPL), or the conditions below:
|
|
341
568
|
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
342
569
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
343
570
|
PURPOSE.
|
344
|
-
|
345
|
-
* guard
|
346
|
-
|
347
|
-
Guard is a command line tool to easily handle events on file system
|
348
|
-
modifications.
|
349
|
-
|
350
|
-
LICENSE:
|
351
|
-
MIT
|
352
|
-
|
353
|
-
HOMEPAGE:
|
354
|
-
https://guardgem.org/
|
355
|
-
|
356
|
-
Copyright (c) 2009-2016 Thibaud Guillaume-Gentil
|
357
|
-
|
358
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
359
|
-
a copy of this software and associated documentation files (the
|
360
|
-
"Software"), to deal in the Software without restriction, including
|
361
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
362
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
363
|
-
permit persons to whom the Software is furnished to do so, subject to
|
364
|
-
the following conditions:
|
365
|
-
|
366
|
-
The above copyright notice and this permission notice shall be
|
367
|
-
included in all copies or substantial portions of the Software.
|
368
|
-
|
369
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
370
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
371
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
372
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
373
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
374
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
375
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
376
|
-
|
377
|
-
* guard-bundler
|
378
|
-
|
379
|
-
Guard::Bundler automatically install/update your gem bundle when needed.
|
380
|
-
|
381
|
-
LICENSE:
|
382
|
-
MIT
|
383
|
-
|
384
|
-
HOMEPAGE:
|
385
|
-
https://github.com/guard/guard-bundler
|
386
|
-
|
387
|
-
Copyright (c) 2010-2014 Yann Lugrin, Rémy Coutable
|
388
|
-
|
389
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
390
|
-
a copy of this software and associated documentation files (the
|
391
|
-
"Software"), to deal in the Software without restriction, including
|
392
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
393
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
394
|
-
permit persons to whom the Software is furnished to do so, subject to
|
395
|
-
the following conditions:
|
396
|
-
|
397
|
-
The above copyright notice and this permission notice shall be
|
398
|
-
included in all copies or substantial portions of the Software.
|
399
|
-
|
400
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
401
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
402
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
403
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
404
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
405
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
406
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
407
|
-
|
408
|
-
* guard-rake
|
409
|
-
|
410
|
-
guard-rake runs a rake task when files change.
|
411
|
-
|
412
|
-
LICENSE:
|
413
|
-
MIT
|
414
|
-
|
415
|
-
HOMEPAGE:
|
416
|
-
https://github.com/rubyist/guard-rake
|
417
|
-
|
418
|
-
Copyright (c) 2011 Scott Barron
|
419
|
-
|
420
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
421
|
-
a copy of this software and associated documentation files (the
|
422
|
-
'Software'), to deal in the Software without restriction, including
|
423
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
424
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
425
|
-
permit persons to whom the Software is furnished to do so, subject to
|
426
|
-
the following conditions:
|
427
|
-
|
428
|
-
The above copyright notice and this permission notice shall be
|
429
|
-
included in all copies or substantial portions of the Software.
|
430
|
-
|
431
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
432
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
433
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
434
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
435
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
436
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
437
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
438
|
-
|
439
|
-
* rubocop
|
440
|
-
|
441
|
-
LICENSE:
|
442
|
-
MIT
|
443
|
-
|
444
|
-
HOMEPAGE:
|
445
|
-
https://github.com/rubocop-hq/rubocop
|
446
|
-
|
447
|
-
Copyright (c) 2012-20 Bozhidar Batsov
|
448
|
-
|
449
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
450
|
-
a copy of this software and associated documentation files (the
|
451
|
-
"Software"), to deal in the Software without restriction, including
|
452
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
453
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
454
|
-
permit persons to whom the Software is furnished to do so, subject to
|
455
|
-
the following conditions:
|
456
|
-
|
457
|
-
The above copyright notice and this permission notice shall be
|
458
|
-
included in all copies or substantial portions of the Software.
|
459
|
-
|
460
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
461
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
462
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
463
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
464
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
465
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
466
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
467
|
-
|
468
|
-
* file
|
469
|
-
|
470
|
-
file(1) Command and the libmagic(3) library.
|
471
|
-
|
472
|
-
LICENSE:
|
473
|
-
BSD, CDDL
|
474
|
-
|
475
|
-
HOMEPAGE:
|
476
|
-
http://darwinsys.com/file
|
477
|
-
|
478
|
-
Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
|
479
|
-
Software written by Ian F. Darwin and others;
|
480
|
-
maintained 1994- Christos Zoulas.
|
481
|
-
|
482
|
-
This software is not subject to any export provision of the United States
|
483
|
-
Department of Commerce, and may be exported to any country or planet.
|
484
|
-
|
485
|
-
Redistribution and use in source and binary forms, with or without
|
486
|
-
modification, are permitted provided that the following conditions
|
487
|
-
are met:
|
488
|
-
1. Redistributions of source code must retain the above copyright
|
489
|
-
notice immediately at the beginning of the file, without modification,
|
490
|
-
this list of conditions, and the following disclaimer.
|
491
|
-
2. Redistributions in binary form must reproduce the above copyright
|
492
|
-
notice, this list of conditions and the following disclaimer in the
|
493
|
-
documentation and/or other materials provided with the distribution.
|
494
|
-
|
495
|
-
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
496
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
497
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
498
|
-
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
|
499
|
-
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
500
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
501
|
-
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
502
|
-
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
503
|
-
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
504
|
-
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
505
|
-
SUCH DAMAGE.
|
data/README.md
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
# File Magic in Ruby
|
2
2
|
|
3
|
-
[![
|
4
|
-
[![
|
5
|
-
[![Gem Version](https://badge.fury.io/rb/ruby-magic.svg)](http://badge.fury.io/rb/ruby-magic)
|
6
|
-
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
|
3
|
+
[![Gem Version](http://badge.fury.io/rb/ruby-magic.svg)](http://badge.fury.io/rb/ruby-magic)
|
4
|
+
[![License](http://img.shields.io/badge/License-Apache%202.0-blue.svg)](http://opensource.org/licenses/Apache-2.0)
|
7
5
|
|
8
6
|
## Introduction
|
9
7
|
|
@@ -39,7 +37,7 @@ the project.
|
|
39
37
|
|
40
38
|
## Copyright
|
41
39
|
|
42
|
-
Copyright 2013-
|
40
|
+
Copyright 2013-2022 Krzysztof Wilczyński
|
43
41
|
|
44
42
|
## License
|
45
43
|
|
data/dependencies.yml
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
libmagic:
|
2
|
-
version: "5.
|
3
|
-
sha256: "
|
2
|
+
version: "5.44"
|
3
|
+
sha256: "3751c7fba8dbc831cb8d7cc8aff21035459b8ce5155ef8b0880a27d028475f3b"
|
4
4
|
# Manually verified checksum:
|
5
5
|
#
|
6
|
-
# $ gpg --verify file-5.
|
7
|
-
# gpg: Signature made
|
8
|
-
# gpg: using DSA key
|
6
|
+
# $ gpg --verify file-5.44.tar.gz.asc file-5.44.tar.gz
|
7
|
+
# gpg: Signature made Tue 27 Dec 2022 03:27:03 JST
|
8
|
+
# gpg: using DSA key BE04995BA8F90ED0C0C176C471112AB16CB33B3A
|
9
9
|
# gpg: Good signature from "Christos Zoulas (personal key) <christos@zoulas.com>" [unknown]
|
10
10
|
# gpg: aka "Christos Zoulas (NetBSD key) <christos@netbsd.org>" [unknown]
|
11
11
|
# gpg: WARNING: This key is not certified with a trusted signature!
|
@@ -16,7 +16,7 @@ libmagic:
|
|
16
16
|
#
|
17
17
|
# -----BEGIN PGP SIGNATURE-----
|
18
18
|
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
19
|
+
# iF0EABECAB0WIQS+BJlbqPkO0MDBdsRxESqxbLM7OgUCY6nndwAKCRBxESqxbLM7
|
20
|
+
# OiUWAJ9ygauXJ3pohF38SQuLYu+J8qayuwCeIFPcEukUyNuYv04B9FIXkumreI8=
|
21
|
+
# =/CFO
|
22
22
|
# -----END PGP SIGNATURE-----
|
data/ext/magic/common.h
CHANGED
@@ -81,6 +81,10 @@ extern "C" {
|
|
81
81
|
# define MAGIC_NO_CHECK_JSON 0
|
82
82
|
#endif /* MAGIC_NO_CHECK_JSON */
|
83
83
|
|
84
|
+
#if !defined(MAGIC_NO_COMPRESS_FORK)
|
85
|
+
# define MAGIC_NO_COMPRESS_FORK 0
|
86
|
+
#endif /* MAGIC_NO_COMPRESS_FORK */
|
87
|
+
|
84
88
|
#define DATA_P(x) (RB_TYPE_P((x), T_DATA))
|
85
89
|
#define BOOLEAN_P(x) (RB_TYPE_P((x), T_TRUE) || RB_TYPE_P((x), T_FALSE))
|
86
90
|
#define STRING_P(x) (RB_TYPE_P((x), T_STRING))
|
@@ -105,12 +109,16 @@ extern "C" {
|
|
105
109
|
# define RVALUE_TYPE int
|
106
110
|
#endif /* RUBY_API_VERSION_CODE > 20700 */
|
107
111
|
|
108
|
-
#if RUBY_API_VERSION_CODE >= 20700
|
112
|
+
#if RUBY_API_VERSION_CODE >= 20700 && \
|
113
|
+
HAVE_RB_GC_MARK_MOVABLE
|
109
114
|
# define HAVE_RUBY_GC_COMPACT 1
|
110
115
|
# define MAGIC_GC_MARK(x) rb_gc_mark_movable((x))
|
111
116
|
#else
|
112
117
|
# define MAGIC_GC_MARK(x) rb_gc_mark((x))
|
113
|
-
#endif /*
|
118
|
+
#endif /*
|
119
|
+
* RUBY_API_VERSION_CODE >= 20700
|
120
|
+
* HAVE_RB_GC_MARK_MOVABLE
|
121
|
+
*/
|
114
122
|
|
115
123
|
#define CLASS_NAME(o) (NIL_P((o)) ? "nil" : rb_obj_classname((o)))
|
116
124
|
|
data/ext/magic/extconf.rb
CHANGED
@@ -4,12 +4,10 @@ require 'find'
|
|
4
4
|
require 'mkmf'
|
5
5
|
require 'pathname'
|
6
6
|
|
7
|
-
# helpful constants
|
8
7
|
PACKAGE_ROOT_DIR = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
|
9
8
|
|
10
|
-
#
|
11
|
-
|
12
|
-
REQUIRED_MINI_PORTILE_VERSION = "~> 2.6"
|
9
|
+
# This version has to match the Gem definition.
|
10
|
+
REQUIRED_MINI_PORTILE_VERSION = "~> 2.8"
|
13
11
|
|
14
12
|
MAGIC_HELP_MESSAGE = <<~HELP
|
15
13
|
USAGE: ruby #{$0} [options]
|
@@ -36,6 +34,9 @@ MAGIC_HELP_MESSAGE = <<~HELP
|
|
36
34
|
--enable-cross-build
|
37
35
|
Enable cross-build mode. (You probably do not want to set this manually.)
|
38
36
|
|
37
|
+
--with-magic-flags=<flags>
|
38
|
+
Build libmagic with these configure flags (such as --disable-zstdlib)
|
39
|
+
|
39
40
|
Flags only used when using system libraries:
|
40
41
|
|
41
42
|
Related to libmagic:
|
@@ -103,12 +104,17 @@ def process_recipe(name, version, static_p, cross_p)
|
|
103
104
|
end
|
104
105
|
end
|
105
106
|
|
106
|
-
|
107
|
+
configure_options = [
|
107
108
|
"--disable-silent-rules",
|
108
109
|
"--disable-dependency-tracking",
|
109
110
|
"--enable-fsect-man5"
|
110
111
|
]
|
111
112
|
|
113
|
+
libmagic_flags = with_config('magic-flags')
|
114
|
+
configure_options += libmagic_flags.split(' ') if libmagic_flags
|
115
|
+
|
116
|
+
recipe.configure_options = configure_options
|
117
|
+
|
112
118
|
if static_p
|
113
119
|
recipe.configure_options += [
|
114
120
|
"--disable-shared",
|
@@ -286,7 +292,7 @@ else
|
|
286
292
|
|
287
293
|
libmagic_recipe = process_recipe('libmagic', dependencies["libmagic"]["version"], static_p, cross_build_p) do |recipe|
|
288
294
|
recipe.files = [{
|
289
|
-
url: "https://ruby-magic
|
295
|
+
url: "https://cdn.statically.io/gh/kwilczynski/ruby-magic/cdn/cdn/file-#{recipe.version}.tar.gz",
|
290
296
|
sha256: dependencies["libmagic"]["sha256"],
|
291
297
|
}]
|
292
298
|
end
|
@@ -296,20 +302,31 @@ else
|
|
296
302
|
$LDFLAGS += " -Wl,-rpath,#{libmagic_recipe.path}/lib"
|
297
303
|
|
298
304
|
if static_p
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
305
|
+
pkg_config_paths = [
|
306
|
+
"#{libmagic_recipe.path}/lib64/pkgconfig",
|
307
|
+
"#{libmagic_recipe.path}/lib32/pkgconfig",
|
308
|
+
"#{libmagic_recipe.path}/lib/pkgconfig"
|
309
|
+
].join(':')
|
310
|
+
|
311
|
+
if ENV["PKG_CONFIG_PATH"]
|
312
|
+
pkg_config_paths = "#{ENV['PKG_CONFIG_PATH']}:#{pkg_config_paths}"
|
313
|
+
end
|
304
314
|
|
305
|
-
|
306
|
-
|
315
|
+
ENV['PKG_CONFIG_PATH'] = pkg_config_paths
|
316
|
+
pc_file = File.join(libmagic_recipe.path, "lib", "pkgconfig", "libmagic.pc")
|
317
|
+
if pkg_config(pc_file)
|
318
|
+
# See https://bugs.ruby-lang.org/issues/18490, broken in Ruby 3.1 but fixed in Ruby 3.2.
|
319
|
+
flags = xpopen(["pkg-config", "--libs", "--static", pc_file], err: [:child, :out], &:read)
|
320
|
+
flags.split.each { |flag| append_ldflags(flag) } if $?.success?
|
321
|
+
else
|
322
|
+
raise "Please install the `pkg-config` utility!"
|
323
|
+
end
|
307
324
|
end
|
308
325
|
|
309
326
|
if cross_build_p
|
310
327
|
# database files will be packaged up by the cross-compiling callback in the ExtensionTask
|
311
328
|
to_path = File.join(PACKAGE_ROOT_DIR, "ext/magic/share")
|
312
|
-
FileUtils.rm_rf(to_path,
|
329
|
+
FileUtils.rm_rf(to_path, verbose: true)
|
313
330
|
FileUtils.mkdir(to_path)
|
314
331
|
FileUtils.cp_r(Dir[File.join(libmagic_recipe.path, 'share/misc/*.mgc')], to_path)
|
315
332
|
end
|
@@ -383,15 +400,9 @@ unless have_header('ruby.h')
|
|
383
400
|
EOS
|
384
401
|
end
|
385
402
|
|
386
|
-
# these are needed for `rb_thread_call_without_gvl` to be properly detected on some linux systems.
|
387
|
-
# specifically, rake-compiler-dock's redhat-based image needs these.
|
388
|
-
have_library('pthread')
|
389
|
-
have_library('rt')
|
390
|
-
have_library('dl')
|
391
|
-
have_library('crypt')
|
392
|
-
|
393
403
|
have_func('rb_thread_call_without_gvl')
|
394
404
|
have_func('rb_thread_blocking_region')
|
405
|
+
have_func('rb_gc_mark_movable')
|
395
406
|
|
396
407
|
unless have_header('magic.h')
|
397
408
|
abort "\n" + (<<-EOS).gsub(/^[ ]{,3}/, '') + "\n"
|
data/ext/magic/ruby-magic.c
CHANGED
@@ -522,7 +522,7 @@ rb_mgc_set_flags(VALUE object, VALUE value)
|
|
522
522
|
int local_errno;
|
523
523
|
rb_mgc_object_t *mgc;
|
524
524
|
rb_mgc_arguments_t mga;
|
525
|
-
const char *klass =
|
525
|
+
const char *klass = NULL;
|
526
526
|
const char *flag = NULL;
|
527
527
|
|
528
528
|
MAGIC_CHECK_INTEGER_TYPE(value);
|
@@ -545,6 +545,7 @@ rb_mgc_set_flags(VALUE object, VALUE value)
|
|
545
545
|
flag = "CHECK";
|
546
546
|
|
547
547
|
if (flag) {
|
548
|
+
klass = "Magic";
|
548
549
|
if (!NIL_P(object))
|
549
550
|
klass = rb_obj_classname(object);
|
550
551
|
|
@@ -589,7 +590,7 @@ rb_mgc_load(VALUE object, VALUE arguments)
|
|
589
590
|
{
|
590
591
|
rb_mgc_object_t *mgc;
|
591
592
|
rb_mgc_arguments_t mga;
|
592
|
-
const char *klass =
|
593
|
+
const char *klass = NULL;
|
593
594
|
VALUE value = Qundef;
|
594
595
|
|
595
596
|
if (ARRAY_P(RARRAY_FIRST(arguments)))
|
@@ -601,6 +602,7 @@ rb_mgc_load(VALUE object, VALUE arguments)
|
|
601
602
|
MAGIC_OBJECT(object, mgc);
|
602
603
|
|
603
604
|
if (rb_mgc_do_not_auto_load) {
|
605
|
+
klass = "Magic";
|
604
606
|
if (!NIL_P(object))
|
605
607
|
klass = rb_obj_classname(object);
|
606
608
|
|
@@ -1342,6 +1344,9 @@ magic_allocate(VALUE klass)
|
|
1342
1344
|
E_NOT_ENOUGH_MEMORY);
|
1343
1345
|
}
|
1344
1346
|
|
1347
|
+
assert(mgc != NULL &&
|
1348
|
+
"Must be a valid pointer to `rb_mgc_object_t' type");
|
1349
|
+
|
1345
1350
|
mgc->cookie = NULL;
|
1346
1351
|
mgc->mutex = Qundef;
|
1347
1352
|
mgc->database_loaded = 0;
|
@@ -1516,7 +1521,7 @@ static VALUE
|
|
1516
1521
|
magic_return(void *data)
|
1517
1522
|
{
|
1518
1523
|
rb_mgc_arguments_t *mga = data;
|
1519
|
-
const char *unknown =
|
1524
|
+
const char *unknown = NULL;
|
1520
1525
|
VALUE separator = Qundef;
|
1521
1526
|
VALUE array, string;
|
1522
1527
|
|
@@ -1545,6 +1550,7 @@ magic_return(void *data)
|
|
1545
1550
|
* return an empty string, to indicate lack of results, rather
|
1546
1551
|
* than a confusing string consisting of three questions marks.
|
1547
1552
|
*/
|
1553
|
+
unknown = "???";
|
1548
1554
|
if (strncmp(mga->result, unknown, strlen(unknown)) == 0)
|
1549
1555
|
return CSTR2RVAL("");
|
1550
1556
|
|
@@ -1594,7 +1600,9 @@ static const rb_data_type_t rb_mgc_type = {
|
|
1594
1600
|
.dcompact = magic_compact,
|
1595
1601
|
#endif /* HAVE_RUBY_GC_COMPACT */
|
1596
1602
|
},
|
1603
|
+
#if defined(RUBY_TYPED_FREE_IMMEDIATELY)
|
1597
1604
|
.flags = RUBY_TYPED_FREE_IMMEDIATELY,
|
1605
|
+
#endif /* RUBY_TYPED_FREE_IMMEDIATELY */
|
1598
1606
|
};
|
1599
1607
|
|
1600
1608
|
void
|
@@ -1770,6 +1778,10 @@ Init_magic(void)
|
|
1770
1778
|
* Do not look for, or inside compressed files.
|
1771
1779
|
*/
|
1772
1780
|
MAGIC_DEFINE_FLAG(NO_CHECK_COMPRESS);
|
1781
|
+
/*
|
1782
|
+
* Do not allow decompression that needs to fork.
|
1783
|
+
*/
|
1784
|
+
MAGIC_DEFINE_FLAG(NO_COMPRESS_FORK);
|
1773
1785
|
/*
|
1774
1786
|
* Do not look for, or inside tar archive files.
|
1775
1787
|
*/
|
data/lib/magic/version.rb
CHANGED
@@ -4,7 +4,7 @@ class Magic
|
|
4
4
|
#
|
5
5
|
# Current version of _Magic_.
|
6
6
|
#
|
7
|
-
VERSION = '0.
|
7
|
+
VERSION = '0.6.0'.freeze
|
8
8
|
|
9
9
|
class << self
|
10
10
|
#
|
@@ -13,7 +13,7 @@ class Magic
|
|
13
13
|
#
|
14
14
|
# Example:
|
15
15
|
#
|
16
|
-
# Magic.version_array #=> [5,
|
16
|
+
# Magic.version_array #=> [5, 42]
|
17
17
|
#
|
18
18
|
# See also: Magic::version and Magic::version_string
|
19
19
|
#
|
@@ -29,7 +29,7 @@ class Magic
|
|
29
29
|
#
|
30
30
|
# Example:
|
31
31
|
#
|
32
|
-
# Magic.version_string #=> "5.
|
32
|
+
# Magic.version_string #=> "5.42"
|
33
33
|
#
|
34
34
|
# See also: Magic::version and Magic::version_array
|
35
35
|
#
|
data/lib/ruby-magic.rb
ADDED
data/patches/libmagic/0001-Don-t-attempt-to-build-tests-documentation-and-Python-bindings.patch
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
From
|
1
|
+
From 7bc0237df1b0d3faeef59fea933f51941100b15e Mon Sep 17 00:00:00 2001
|
2
2
|
From: =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>
|
3
|
-
Date:
|
3
|
+
Date: Tue, 19 Jul 2022 23:50:48 +0900
|
4
4
|
Subject: [PATCH] Don't attempt to build tests, documentation and Python
|
5
5
|
bindings
|
6
6
|
MIME-Version: 1.0
|
@@ -14,12 +14,12 @@ Signed-off-by: Krzysztof Wilczyński <kw@linux.com>
|
|
14
14
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
15
15
|
|
16
16
|
diff --git a/Makefile.am b/Makefile.am
|
17
|
-
index
|
17
|
+
index e816779..980cafa 100644
|
18
18
|
--- a/Makefile.am
|
19
19
|
+++ b/Makefile.am
|
20
|
-
@@ -
|
21
|
-
|
22
|
-
|
20
|
+
@@ -3,7 +3,7 @@ ACLOCAL_AMFLAGS = -I m4
|
21
|
+
EXTRA_DIST = MAINT RELEASE-PROCEDURE README.DEVELOPER README.md \
|
22
|
+
m4/visibility.m4
|
23
23
|
|
24
24
|
-SUBDIRS = src magic tests doc python
|
25
25
|
+SUBDIRS = src magic
|
@@ -27,18 +27,18 @@ index 2ab67ed..c7fafeb 100644
|
|
27
27
|
# This variable must have 'exec' in its name, in order to be installed
|
28
28
|
# by 'install-exec' target (instead of default 'install-data')
|
29
29
|
diff --git a/Makefile.in b/Makefile.in
|
30
|
-
index
|
30
|
+
index e2f0673..2f02b82 100644
|
31
31
|
--- a/Makefile.in
|
32
32
|
+++ b/Makefile.in
|
33
|
-
@@ -
|
34
|
-
|
35
|
-
|
36
|
-
|
33
|
+
@@ -361,7 +361,7 @@ ACLOCAL_AMFLAGS = -I m4
|
34
|
+
EXTRA_DIST = MAINT RELEASE-PROCEDURE README.DEVELOPER README.md \
|
35
|
+
m4/visibility.m4
|
36
|
+
|
37
37
|
-SUBDIRS = src magic tests doc python
|
38
38
|
+SUBDIRS = src magic
|
39
39
|
|
40
40
|
# This variable must have 'exec' in its name, in order to be installed
|
41
41
|
# by 'install-exec' target (instead of default 'install-data')
|
42
42
|
--
|
43
|
-
2.
|
43
|
+
2.37.1
|
44
44
|
|
Binary file
|
metadata
CHANGED
@@ -1,40 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-magic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Krzysztof Wilczyński
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIEIDCCAoigAwIBAgIBATANBgkqhkiG9w0BAQsFADAdMRswGQYDVQQDDBJrdy9E
|
14
|
-
Qz1saW51eC9EQz1jb20wHhcNMjEwMTAxMDAwOTU0WhcNMjYwMTAxMDAwOTU0WjAd
|
15
|
-
MRswGQYDVQQDDBJrdy9EQz1saW51eC9EQz1jb20wggGiMA0GCSqGSIb3DQEBAQUA
|
16
|
-
A4IBjwAwggGKAoIBgQCv02+pOrAMVUipLY7qjNLx8OMfMjnVCBH21SsWn8gyIHE9
|
17
|
-
BtQ+tlsJU8nWNjlr++7SKIV5vQmyYsC2UY0cdcFASdoV0A3Lc2Z0makfvPgcIlpL
|
18
|
-
5THqQtP11tJfhjQ3MSFJYRG2D6m6GNqA+WTTsvJbPIxy5PHv5xb+79LLzcVxB9Op
|
19
|
-
C0ervTOF8W6Ye4EDvhQ5tppOr/d26UQV+8zRuxjxx5uZSPfUrE9u/gIIdeROoB3T
|
20
|
-
cnjAfzvjIzampLQppvhUnT4Vf5Rum2LohZ5GosKLy7tM65vr1eLyI2ndvS1MXWrU
|
21
|
-
05sFKm5CSqORD+TVkR1jd3z5HdPgO1KwadccxFixoI8kEIt/iixWTzbka2T2iJoq
|
22
|
-
5DeNMEMYYAZKuAGBzBcgvgPccCeAXFVF9AHjfaGRUMmYNHKK2HD6AdgNdhcE18V+
|
23
|
-
CJxFtggCJFYc1ygFOsHZPTbKo9+3ybSQhAswtDosWt26utUT1JOc2Bkj1sgQ0Yrk
|
24
|
-
orANsdYz2ee3JFkzx08CAwEAAaNrMGkwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
25
|
-
HQYDVR0OBBYEFME41mMBb/XAHgjhlX4kE8xnXxewMBcGA1UdEQQQMA6BDGt3QGxp
|
26
|
-
bnV4LmNvbTAXBgNVHRIEEDAOgQxrd0BsaW51eC5jb20wDQYJKoZIhvcNAQELBQAD
|
27
|
-
ggGBAF/2ryrSgTpf0+wYG46Oi6V3p9A3uMxxbGsh0ZmlLQT1Z1ozclR+xzxzyIFC
|
28
|
-
i7YWYyR085brDBnYNXgnUT9Nm4iAYx58MaPD28IFrcX0XA3DJE6Wkx4MmMV0chiJ
|
29
|
-
kf5ASikfGtFtf9qDmpLQB4louB6HpKNq1MwsQo8zwY93t77HCiV5f0g43rcZfGTn
|
30
|
-
wfBhpT7oOVWgfTLeBD811aS52VUCWclmnz+f01GdTeMwqsgc6oJaPSvg4JCMN94O
|
31
|
-
wcBlxus69rhM8PeTJNhwLxzRCNnZ69t9k2cU+4lTmQQIB8gnEFJxY9gZdgQ6pej0
|
32
|
-
HXUIut+6pp5BRYF2mTZ3fnxhWyIZaeB7lla2gI6rV2GXDbp4kVplGEuQ975YklJw
|
33
|
-
i4y7bz2Es4Hkly2Nc/J2L0+uMoBhMWMY3Xl0XDdkZYtBdnSB5g7NacChaAsukEkd
|
34
|
-
Ozt6vfXxSzW/KfodB+0ELjlHWiFbI8w7c8Kt7/ceZGVsXTxD/f4tVWy8MmxFy3pY
|
35
|
-
Cpe8Kg==
|
36
|
-
-----END CERTIFICATE-----
|
37
|
-
date: 2022-01-27 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-03-14 00:00:00.000000000 Z
|
38
12
|
dependencies:
|
39
13
|
- !ruby/object:Gem::Dependency
|
40
14
|
name: mini_portile2
|
@@ -42,14 +16,14 @@ dependencies:
|
|
42
16
|
requirements:
|
43
17
|
- - "~>"
|
44
18
|
- !ruby/object:Gem::Version
|
45
|
-
version: '2.
|
19
|
+
version: '2.8'
|
46
20
|
type: :runtime
|
47
21
|
prerelease: false
|
48
22
|
version_requirements: !ruby/object:Gem::Requirement
|
49
23
|
requirements:
|
50
24
|
- - "~>"
|
51
25
|
- !ruby/object:Gem::Version
|
52
|
-
version: '2.
|
26
|
+
version: '2.8'
|
53
27
|
description: |
|
54
28
|
File Magic in Ruby.
|
55
29
|
|
@@ -58,7 +32,10 @@ email: kw@linux.com
|
|
58
32
|
executables: []
|
59
33
|
extensions:
|
60
34
|
- ext/magic/extconf.rb
|
61
|
-
extra_rdoc_files:
|
35
|
+
extra_rdoc_files:
|
36
|
+
- ext/magic/functions.c
|
37
|
+
- ext/magic/ruby-magic.c
|
38
|
+
- README.md
|
62
39
|
files:
|
63
40
|
- AUTHORS
|
64
41
|
- CHANGELOG.md
|
@@ -79,21 +56,25 @@ files:
|
|
79
56
|
- lib/magic/core/file.rb
|
80
57
|
- lib/magic/core/string.rb
|
81
58
|
- lib/magic/version.rb
|
59
|
+
- lib/ruby-magic.rb
|
82
60
|
- patches/libmagic/0001-Don-t-attempt-to-build-tests-documentation-and-Python-bindings.patch
|
83
|
-
- ports/archives/file-5.
|
61
|
+
- ports/archives/file-5.44.tar.gz
|
84
62
|
homepage: https://github.com/kwilczynski/ruby-magic
|
85
63
|
licenses:
|
86
64
|
- Apache-2.0
|
87
65
|
metadata:
|
88
66
|
bug_tracker_uri: https://github.com/kwilczynski/ruby-magic/issues
|
89
|
-
source_code_uri: https://github.com/kwilczynski/ruby-magic
|
90
67
|
changelog_uri: https://github.com/kwilczynski/ruby-magic/blob/master/CHANGELOG.md
|
91
68
|
documentation_uri: https://www.rubydoc.info/gems/ruby-magic
|
92
|
-
|
69
|
+
source_code_uri: https://github.com/kwilczynski/ruby-magic
|
70
|
+
rubygems_mfa_required: 'true'
|
93
71
|
post_install_message: 'Thank you for installing!
|
94
72
|
|
95
73
|
'
|
96
|
-
rdoc_options:
|
74
|
+
rdoc_options:
|
75
|
+
- "--main"
|
76
|
+
- README.md
|
77
|
+
- "--line-numbers"
|
97
78
|
require_paths:
|
98
79
|
- lib
|
99
80
|
- lib
|
@@ -108,8 +89,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
108
89
|
- !ruby/object:Gem::Version
|
109
90
|
version: '0'
|
110
91
|
requirements: []
|
111
|
-
rubygems_version: 3.
|
112
|
-
signing_key:
|
92
|
+
rubygems_version: 3.4.7
|
93
|
+
signing_key:
|
113
94
|
specification_version: 4
|
114
95
|
summary: File Magic in Ruby
|
115
96
|
test_files: []
|
checksums.yaml.gz.sig
DELETED
Binary file
|
Binary file
|
data.tar.gz.sig
DELETED
metadata.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
~<Y�{*86���|�?;��N"OiZ�/�A�B�"��u��樓�swk��#���G�)=�B�0\#�rw��h�`�t�G��!�ߡ}�Ὀ���0����"�k��]�A��nb31���}q>TXR2���%��?��"��#���n�_�_�<7��;��oCB$n̹��)�[�$��Y�����X�.b�����!�#�j����W��
|