node-liblzma 1.0.4-8 → 1.1.4
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.
- package/History.md +5 -0
- package/README.md +199 -0
- package/binding.gyp +671 -43
- package/package.json +37 -23
- package/prebuilds/linux-x64/node_lzma.node +0 -0
- package/prebuilds/mac-x64/node_lzma.node +0 -0
- package/prebuilds/win-x64/node_lzma.node +0 -0
- package/scripts/download_extract_deps.py +29 -0
- package/scripts/prebuildify.py +13 -0
- package/scripts/walk_sources.py +7 -0
- package/src/bindings/module.cpp +86 -86
- package/src/bindings/node-liblzma.cpp +292 -273
- package/src/bindings/node-liblzma.hpp +62 -90
- package/src/lzma.coffee +25 -18
- package/build.yml +0 -78
- package/lib/lzma.js +0 -377
package/package.json
CHANGED
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-liblzma",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.4",
|
|
4
|
+
"description": "NodeJS wrapper for liblzma",
|
|
5
5
|
"main": "./lib/lzma.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
7
|
+
"install": "node-gyp install",
|
|
8
|
+
"postinstall": "run-p build:*",
|
|
9
|
+
"build:native": "node-gyp rebuild",
|
|
10
|
+
"build:coffee": "coffee --compile --output lib/ src/",
|
|
11
|
+
"rebuild": "node-gyp rebuild",
|
|
12
|
+
"test": "npx mocha test/*.coffee"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"node-addon-api": "4.2.0",
|
|
16
|
+
"node-gyp-build": "4.3.0",
|
|
17
|
+
"npm-run-all": "4.1.5"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"coffeescript": "2.6.1",
|
|
21
|
+
"expect.js": "0.3.1",
|
|
22
|
+
"mocha": "9.2.1",
|
|
23
|
+
"node-gyp": "8.4.1",
|
|
24
|
+
"tsd": "0.19.1"
|
|
25
|
+
},
|
|
26
|
+
"types": "index.d.ts",
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">12.0.0"
|
|
11
29
|
},
|
|
12
30
|
"repository": {
|
|
13
31
|
"type": "git",
|
|
@@ -33,24 +51,20 @@
|
|
|
33
51
|
"url": "https://github.com/oorabona/node-liblzma/issues"
|
|
34
52
|
},
|
|
35
53
|
"homepage": "https://github.com/oorabona/node-liblzma",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"node-pre-gyp": "latest",
|
|
39
|
-
"ubs": "latest"
|
|
40
|
-
},
|
|
41
|
-
"devDependencies": {
|
|
42
|
-
"coffee-script": "*",
|
|
43
|
-
"expect.js": "^0.3.1",
|
|
44
|
-
"mocha": "^2.0.1",
|
|
45
|
-
"q": "^1.0.1"
|
|
54
|
+
"binary": {
|
|
55
|
+
"module_name": "liblzma"
|
|
46
56
|
},
|
|
47
|
-
"
|
|
48
|
-
"
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"registry": "https://registry.npmjs.org/"
|
|
49
59
|
},
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
"mocha": {
|
|
61
|
+
"throw-deprecation": true,
|
|
62
|
+
"require": [
|
|
63
|
+
"coffeescript/register"
|
|
64
|
+
],
|
|
65
|
+
"inline-diffs": true,
|
|
66
|
+
"timeout": 5000,
|
|
67
|
+
"reporter": "spec",
|
|
68
|
+
"recursive": true
|
|
55
69
|
}
|
|
56
70
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import urllib.request
|
|
2
|
+
import sys
|
|
3
|
+
import tarfile
|
|
4
|
+
import os
|
|
5
|
+
|
|
6
|
+
url = 'https://tukaani.org/xz/xz-5.2.5.tar.xz'
|
|
7
|
+
tarball = os.path.abspath(sys.argv[1])
|
|
8
|
+
dirname = os.path.abspath(sys.argv[2])
|
|
9
|
+
|
|
10
|
+
def members(tf):
|
|
11
|
+
for member in tf.getmembers():
|
|
12
|
+
member.path = member.path.replace('xz-5.2.5', 'xz')
|
|
13
|
+
yield member
|
|
14
|
+
|
|
15
|
+
# avoid redownload if tarball already exist
|
|
16
|
+
if os.path.exists(tarball):
|
|
17
|
+
print('Not downloading file, tarball', tarball, 'already exists.')
|
|
18
|
+
else:
|
|
19
|
+
print('Downloading archive from ', url)
|
|
20
|
+
with urllib.request.urlopen(url) as response:
|
|
21
|
+
with open(tarball, 'wb') as f:
|
|
22
|
+
f.write(response.read())
|
|
23
|
+
|
|
24
|
+
tfile = tarfile.open(tarball,'r:xz')
|
|
25
|
+
tfile.extractall(dirname, members=members(tfile))
|
|
26
|
+
|
|
27
|
+
print('Finished extracting tarball to ', dirname)
|
|
28
|
+
|
|
29
|
+
sys.exit(0)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import shutil
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
source = os.path.abspath(sys.argv[1])
|
|
6
|
+
target = os.path.abspath(sys.argv[2])
|
|
7
|
+
|
|
8
|
+
# Create target directory
|
|
9
|
+
target_dirname = os.path.dirname(target)
|
|
10
|
+
os.makedirs(target_dirname, exist_ok=True)
|
|
11
|
+
|
|
12
|
+
# We probably do not need the extra metadata info but that does not hurt
|
|
13
|
+
shutil.copy2(source, target)
|
package/src/bindings/module.cpp
CHANGED
|
@@ -1,107 +1,107 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
* node-liblzma - Node.js bindings for liblzma
|
|
3
|
+
* Copyright (C) 2014-2015 Olivier Orabona <olivier.orabona@gmail.com>
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
**/
|
|
18
18
|
|
|
19
19
|
#include "node-liblzma.hpp"
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
LZMA::Init(exports);
|
|
21
|
+
Napi::Object Init(Napi::Env env, Napi::Object exports)
|
|
22
|
+
{
|
|
23
|
+
LZMA::Init(env, exports);
|
|
25
24
|
|
|
25
|
+
// Constants
|
|
26
26
|
// enum lzma_ret
|
|
27
|
-
exports
|
|
28
|
-
exports
|
|
29
|
-
exports
|
|
30
|
-
exports
|
|
31
|
-
exports
|
|
32
|
-
exports
|
|
33
|
-
exports
|
|
34
|
-
exports
|
|
35
|
-
exports
|
|
36
|
-
exports
|
|
37
|
-
exports
|
|
38
|
-
exports
|
|
27
|
+
exports.Set(Napi::String::New(env, "LZMA_OK"), Napi::Number::New(env, LZMA_OK));
|
|
28
|
+
exports.Set(Napi::String::New(env, "LZMA_STREAM_END"), Napi::Number::New(env, LZMA_STREAM_END));
|
|
29
|
+
exports.Set(Napi::String::New(env, "LZMA_NO_CHECK"), Napi::Number::New(env, LZMA_NO_CHECK));
|
|
30
|
+
exports.Set(Napi::String::New(env, "LZMA_UNSUPPORTED_CHECK"), Napi::Number::New(env, LZMA_UNSUPPORTED_CHECK));
|
|
31
|
+
exports.Set(Napi::String::New(env, "LZMA_GET_CHECK"), Napi::Number::New(env, LZMA_GET_CHECK));
|
|
32
|
+
exports.Set(Napi::String::New(env, "LZMA_MEM_ERROR"), Napi::Number::New(env, LZMA_MEM_ERROR));
|
|
33
|
+
exports.Set(Napi::String::New(env, "LZMA_MEMLIMIT_ERROR"), Napi::Number::New(env, LZMA_MEMLIMIT_ERROR));
|
|
34
|
+
exports.Set(Napi::String::New(env, "LZMA_FORMAT_ERROR"), Napi::Number::New(env, LZMA_FORMAT_ERROR));
|
|
35
|
+
exports.Set(Napi::String::New(env, "LZMA_OPTIONS_ERROR"), Napi::Number::New(env, LZMA_OPTIONS_ERROR));
|
|
36
|
+
exports.Set(Napi::String::New(env, "LZMA_DATA_ERROR"), Napi::Number::New(env, LZMA_DATA_ERROR));
|
|
37
|
+
exports.Set(Napi::String::New(env, "LZMA_BUF_ERROR"), Napi::Number::New(env, LZMA_BUF_ERROR));
|
|
38
|
+
exports.Set(Napi::String::New(env, "LZMA_PROG_ERROR"), Napi::Number::New(env, LZMA_PROG_ERROR));
|
|
39
39
|
|
|
40
40
|
// enum lzma_action
|
|
41
|
-
exports
|
|
42
|
-
exports
|
|
43
|
-
exports
|
|
44
|
-
exports
|
|
41
|
+
exports.Set(Napi::String::New(env, "LZMA_RUN"), Napi::Number::New(env, LZMA_RUN));
|
|
42
|
+
exports.Set(Napi::String::New(env, "LZMA_SYNC_FLUSH"), Napi::Number::New(env, LZMA_SYNC_FLUSH));
|
|
43
|
+
exports.Set(Napi::String::New(env, "LZMA_FULL_FLUSH"), Napi::Number::New(env, LZMA_FULL_FLUSH));
|
|
44
|
+
exports.Set(Napi::String::New(env, "LZMA_FINISH"), Napi::Number::New(env, LZMA_FINISH));
|
|
45
45
|
|
|
46
46
|
// enum lzma_check
|
|
47
|
-
exports
|
|
48
|
-
exports
|
|
49
|
-
exports
|
|
50
|
-
exports
|
|
47
|
+
exports.Set(Napi::String::New(env, "LZMA_CHECK_NONE"), Napi::Number::New(env, LZMA_CHECK_NONE));
|
|
48
|
+
exports.Set(Napi::String::New(env, "LZMA_CHECK_CRC32"), Napi::Number::New(env, LZMA_CHECK_CRC32));
|
|
49
|
+
exports.Set(Napi::String::New(env, "LZMA_CHECK_CRC64"), Napi::Number::New(env, LZMA_CHECK_CRC64));
|
|
50
|
+
exports.Set(Napi::String::New(env, "LZMA_CHECK_SHA256"), Napi::Number::New(env, LZMA_CHECK_SHA256));
|
|
51
51
|
|
|
52
52
|
// lzma_match_finder
|
|
53
|
-
exports
|
|
54
|
-
exports
|
|
55
|
-
exports
|
|
56
|
-
exports
|
|
57
|
-
exports
|
|
53
|
+
exports.Set(Napi::String::New(env, "MF_HC3"), Napi::Number::New(env, LZMA_MF_HC3));
|
|
54
|
+
exports.Set(Napi::String::New(env, "MF_HC4"), Napi::Number::New(env, LZMA_MF_HC4));
|
|
55
|
+
exports.Set(Napi::String::New(env, "MF_BT2"), Napi::Number::New(env, LZMA_MF_BT2));
|
|
56
|
+
exports.Set(Napi::String::New(env, "MF_BT3"), Napi::Number::New(env, LZMA_MF_BT3));
|
|
57
|
+
exports.Set(Napi::String::New(env, "MF_BT4"), Napi::Number::New(env, LZMA_MF_BT4));
|
|
58
58
|
|
|
59
59
|
// lzma_mode
|
|
60
|
-
exports
|
|
61
|
-
exports
|
|
60
|
+
exports.Set(Napi::String::New(env, "LZMA_MODE_FAST"), Napi::Number::New(env, LZMA_MODE_FAST));
|
|
61
|
+
exports.Set(Napi::String::New(env, "LZMA_MODE_NORMAL"), Napi::Number::New(env, LZMA_MODE_NORMAL));
|
|
62
62
|
|
|
63
63
|
// defines
|
|
64
|
-
exports
|
|
65
|
-
exports
|
|
66
|
-
exports
|
|
67
|
-
exports
|
|
68
|
-
exports
|
|
69
|
-
exports
|
|
70
|
-
exports
|
|
71
|
-
exports
|
|
72
|
-
exports
|
|
73
|
-
exports
|
|
74
|
-
exports
|
|
64
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_X86"), Napi::Number::New(env, LZMA_FILTER_X86));
|
|
65
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_POWERPC"), Napi::Number::New(env, LZMA_FILTER_POWERPC));
|
|
66
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_IA64"), Napi::Number::New(env, LZMA_FILTER_IA64));
|
|
67
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_ARM"), Napi::Number::New(env, LZMA_FILTER_ARM));
|
|
68
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_ARMTHUMB"), Napi::Number::New(env, LZMA_FILTER_ARMTHUMB));
|
|
69
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_SPARC"), Napi::Number::New(env, LZMA_FILTER_SPARC));
|
|
70
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_DELTA"), Napi::Number::New(env, LZMA_FILTER_DELTA));
|
|
71
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTERS_MAX"), Napi::Number::New(env, LZMA_FILTERS_MAX));
|
|
72
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_LZMA1"), Napi::Number::New(env, LZMA_FILTER_LZMA1));
|
|
73
|
+
exports.Set(Napi::String::New(env, "LZMA_FILTER_LZMA2"), Napi::Number::New(env, LZMA_FILTER_LZMA2));
|
|
74
|
+
exports.Set(Napi::String::New(env, "LZMA_VLI_UNKNOWN"), Napi::Number::New(env, LZMA_VLI_UNKNOWN));
|
|
75
|
+
|
|
76
|
+
exports.Set(Napi::String::New(env, "LZMA_VLI_BYTES_MAX"), Napi::Number::New(env, LZMA_VLI_BYTES_MAX));
|
|
77
|
+
exports.Set(Napi::String::New(env, "LZMA_CHECK_ID_MAX"), Napi::Number::New(env, LZMA_CHECK_ID_MAX));
|
|
78
|
+
exports.Set(Napi::String::New(env, "LZMA_CHECK_SIZE_MAX"), Napi::Number::New(env, LZMA_CHECK_SIZE_MAX));
|
|
79
|
+
exports.Set(Napi::String::New(env, "LZMA_PRESET_DEFAULT"), Napi::Number::New(env, LZMA_PRESET_DEFAULT));
|
|
80
|
+
exports.Set(Napi::String::New(env, "LZMA_PRESET_LEVEL_MASK"), Napi::Number::New(env, LZMA_PRESET_LEVEL_MASK));
|
|
81
|
+
exports.Set(Napi::String::New(env, "LZMA_PRESET_EXTREME"), Napi::Number::New(env, LZMA_PRESET_EXTREME));
|
|
82
|
+
exports.Set(Napi::String::New(env, "LZMA_TELL_NO_CHECK"), Napi::Number::New(env, LZMA_TELL_NO_CHECK));
|
|
83
|
+
exports.Set(Napi::String::New(env, "LZMA_TELL_UNSUPPORTED_CHECK"), Napi::Number::New(env, LZMA_TELL_UNSUPPORTED_CHECK));
|
|
84
|
+
exports.Set(Napi::String::New(env, "LZMA_TELL_ANY_CHECK"), Napi::Number::New(env, LZMA_TELL_ANY_CHECK));
|
|
85
|
+
exports.Set(Napi::String::New(env, "LZMA_CONCATENATED"), Napi::Number::New(env, LZMA_CONCATENATED));
|
|
86
|
+
exports.Set(Napi::String::New(env, "LZMA_STREAM_HEADER_SIZE"), Napi::Number::New(env, LZMA_STREAM_HEADER_SIZE));
|
|
87
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION_MAJOR"), Napi::Number::New(env, LZMA_VERSION_MAJOR));
|
|
88
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION_MINOR"), Napi::Number::New(env, LZMA_VERSION_MINOR));
|
|
89
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION_PATCH"), Napi::Number::New(env, LZMA_VERSION_PATCH));
|
|
90
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION_STABILITY"), Napi::Number::New(env, LZMA_VERSION_STABILITY));
|
|
91
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION_STABILITY_ALPHA"), Napi::Number::New(env, LZMA_VERSION_STABILITY_ALPHA));
|
|
92
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION_STABILITY_BETA"), Napi::Number::New(env, LZMA_VERSION_STABILITY_BETA));
|
|
93
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION_STABILITY_STABLE"), Napi::Number::New(env, LZMA_VERSION_STABILITY_STABLE));
|
|
94
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION"), Napi::Number::New(env, LZMA_VERSION));
|
|
95
|
+
exports.Set(Napi::String::New(env, "LZMA_VERSION_STRING"), Napi::String::New(env, LZMA_VERSION_STRING));
|
|
75
96
|
|
|
76
|
-
|
|
77
|
-
exports
|
|
78
|
-
exports
|
|
79
|
-
exports
|
|
80
|
-
exports->Set(NewString("LZMA_PRESET_LEVEL_MASK"), Nan::New<Number>(LZMA_PRESET_LEVEL_MASK));
|
|
81
|
-
exports->Set(NewString("LZMA_PRESET_EXTREME"), Nan::New<Number>(LZMA_PRESET_EXTREME));
|
|
82
|
-
exports->Set(NewString("LZMA_TELL_NO_CHECK"), Nan::New<Number>(LZMA_TELL_NO_CHECK));
|
|
83
|
-
exports->Set(NewString("LZMA_TELL_UNSUPPORTED_CHECK"), Nan::New<Number>(LZMA_TELL_UNSUPPORTED_CHECK));
|
|
84
|
-
exports->Set(NewString("LZMA_TELL_ANY_CHECK"), Nan::New<Number>(LZMA_TELL_ANY_CHECK));
|
|
85
|
-
exports->Set(NewString("LZMA_CONCATENATED"), Nan::New<Number>(LZMA_CONCATENATED));
|
|
86
|
-
exports->Set(NewString("LZMA_STREAM_HEADER_SIZE"), Nan::New<Number>(LZMA_STREAM_HEADER_SIZE));
|
|
87
|
-
exports->Set(NewString("LZMA_VERSION_MAJOR"), Nan::New<Number>(LZMA_VERSION_MAJOR));
|
|
88
|
-
exports->Set(NewString("LZMA_VERSION_MINOR"), Nan::New<Number>(LZMA_VERSION_MINOR));
|
|
89
|
-
exports->Set(NewString("LZMA_VERSION_PATCH"), Nan::New<Number>(LZMA_VERSION_PATCH));
|
|
90
|
-
exports->Set(NewString("LZMA_VERSION_STABILITY"), Nan::New<Number>(LZMA_VERSION_STABILITY));
|
|
91
|
-
exports->Set(NewString("LZMA_VERSION_STABILITY_ALPHA"), Nan::New<Number>(LZMA_VERSION_STABILITY_ALPHA));
|
|
92
|
-
exports->Set(NewString("LZMA_VERSION_STABILITY_BETA"), Nan::New<Number>(LZMA_VERSION_STABILITY_BETA));
|
|
93
|
-
exports->Set(NewString("LZMA_VERSION_STABILITY_STABLE"), Nan::New<Number>(LZMA_VERSION_STABILITY_STABLE));
|
|
94
|
-
exports->Set(NewString("LZMA_VERSION"), Nan::New<Number>(LZMA_VERSION));
|
|
95
|
-
exports->Set(NewString("LZMA_VERSION_STRING"), NewString(LZMA_VERSION_STRING));
|
|
97
|
+
// LZMAStream flags
|
|
98
|
+
exports.Set(Napi::String::New(env, "STREAM_ENCODE"), Napi::Number::New(env, STREAM_ENCODE));
|
|
99
|
+
exports.Set(Napi::String::New(env, "STREAM_DECODE"), Napi::Number::New(env, STREAM_DECODE));
|
|
100
|
+
exports.Set(Napi::String::New(env, "STREAM_ENCODE_MT"), Napi::Number::New(env, STREAM_ENCODE_MT));
|
|
96
101
|
|
|
97
|
-
|
|
98
|
-
exports->Set(NewString("STREAM_ENCODE"), Nan::New<Number>(STREAM_ENCODE));
|
|
99
|
-
exports->Set(NewString("STREAM_DECODE"), Nan::New<Number>(STREAM_DECODE));
|
|
100
|
-
#ifdef LIBLZMA_ENABLE_MT
|
|
101
|
-
exports->Set(NewString("STREAM_ENCODE_MT"), Nan::New<Number>(STREAM_ENCODE_MT));
|
|
102
|
-
#endif
|
|
102
|
+
exports.Set(Napi::String::New(env, "BUFSIZ"), Napi::Number::New(env, BUFSIZ));
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
return exports;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
NODE_API_MODULE(NODE_GYP_MODULE_NAME, Init)
|