first commit
This commit is contained in:
13
build/node_modules/mozjpeg/lib/index.js
generated
vendored
Normal file
13
build/node_modules/mozjpeg/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
'use strict';
|
||||
const path = require('path');
|
||||
const BinWrapper = require('bin-wrapper');
|
||||
const pkg = require('../package.json');
|
||||
|
||||
const url = `https://raw.githubusercontent.com/imagemin/mozjpeg-bin/v${pkg.version}/vendor/`;
|
||||
|
||||
module.exports = new BinWrapper()
|
||||
.src(`${url}macos/cjpeg`, 'darwin')
|
||||
.src(`${url}linux/cjpeg`, 'linux')
|
||||
.src(`${url}win/cjpeg.exe`, 'win32')
|
||||
.dest(path.join(__dirname, '../vendor'))
|
||||
.use(process.platform === 'win32' ? 'cjpeg.exe' : 'cjpeg');
|
||||
43
build/node_modules/mozjpeg/lib/install.js
generated
vendored
Normal file
43
build/node_modules/mozjpeg/lib/install.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
'use strict';
|
||||
const os = require('os');
|
||||
const BinBuild = require('bin-build');
|
||||
const log = require('logalot');
|
||||
const bin = require('.');
|
||||
|
||||
const cpuNum = os.cpus().length;
|
||||
|
||||
bin.run(['-version'], err => {
|
||||
if (err) {
|
||||
log.warn(err.message);
|
||||
log.warn('mozjpeg pre-build test failed');
|
||||
log.info('compiling from source');
|
||||
|
||||
let cfgExtras = '';
|
||||
if (process.platform === 'darwin') {
|
||||
cfgExtras = 'libpng_LIBS=\'/usr/local/lib/libpng16.a -lz\' --enable-static';
|
||||
}
|
||||
|
||||
const cfg = [
|
||||
`./configure --disable-shared --disable-dependency-tracking --with-jpeg8 ${cfgExtras}`,
|
||||
`--prefix="${bin.dest()}" --bindir="${bin.dest()}" --libdir="${bin.dest()}"`
|
||||
].join(' ');
|
||||
|
||||
const builder = new BinBuild()
|
||||
.src('https://github.com/mozilla/mozjpeg/releases/download/v3.2/mozjpeg-3.2-release-source.tar.gz')
|
||||
.cmd('autoreconf -fiv')
|
||||
.cmd(cfg)
|
||||
.cmd(`make -j${cpuNum}`)
|
||||
.cmd(`make install -j${cpuNum}`);
|
||||
|
||||
return builder.run(err => {
|
||||
if (err) {
|
||||
log.error(err.stack);
|
||||
return;
|
||||
}
|
||||
|
||||
log.success('mozjpeg built successfully');
|
||||
});
|
||||
}
|
||||
|
||||
log.success('mozjpeg pre-build test passed successfully');
|
||||
});
|
||||
Reference in New Issue
Block a user