bin.run(['-version'], function (err) {
	if (err) {
		log.warn(err.message);
		log.warn('mozjpeg pre-build test failed');
		log.info('compiling from source');

		var cfg = [
			'./configure --disable-shared',
			'--prefix="' + bin.dest() + '" --bindir="' + bin.dest() + '"',
			'--libdir="' + bin.dest() + '"'
		].join(' ');

		var builder = new BinBuild()
			.src('https://github.com/mozilla/mozjpeg/archive/v3.1.tar.gz')
			.cmd('autoreconf -fiv')
			.cmd(cfg)
			.cmd('make --jobs=' + String(cpuNum))
			.cmd('make install --jobs=' + String(cpuNum));

		return builder.run(function (err) {
			if (err) {
				log.error(err.stack);
				return;
			}

			log.success('mozjpeg built successfully');
		});
	}

	log.success('mozjpeg pre-build test passed successfully');
});
Example #2
0
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');
});
Example #3
0
bin.run(function (err) {
	if (err) {
		log.warn(err.message);
		log.warn('optipng pre-build test failed');
		log.info('compiling from source');

		new BinBuild()
			.src('http://downloads.sourceforge.net/project/optipng/OptiPNG/optipng-0.7.6/optipng-0.7.6.tar.gz')
			.cmd([
				'./configure --with-system-zlib --prefix="' + bin.dest() + '"',
				'--bindir="' + bin.dest() + '"'
			].join(' '))
			.cmd('make install')
			.run(function (err) {
				if (err) {
					log.error(err.stack);
					return;
				}

				log.success('optipng built successfully');
			});

		return;
	}

	log.success('optipng pre-build test passed successfully');
});
Example #4
0
bin.run(['--version'], err => {
	if (err) {
		logalot.warn(err.message);
		logalot.warn('pngquant pre-build test failed');
		logalot.info('compiling from source');

		const libpng = process.platform === 'darwin' ? 'libpng' : 'libpng-dev';

		binBuild.file(path.resolve(__dirname, '../vendor/source/pngquant.tar.gz'), [
			'rm ./INSTALL',
			`./configure --prefix="${bin.dest()}"`,
			`make install BINPREFIX="${bin.dest()}"`
		])
			.then(() => {
				logalot.success('pngquant built successfully');
			})
			.catch(err => {
				err.message = `pngquant failed to build, make sure that ${libpng} is installed`;
				logalot.error(err.stack);

				// eslint-disable-next-line unicorn/no-process-exit
				process.exit(1);
			});
	}

	logalot.success('pngquant pre-build test passed successfully');
});
Example #5
0
bin.run(['--version'], function (err) {
	if (err) {
		logalot.warn(err.message);
		logalot.warn('pngquant pre-build test failed');
		logalot.info('compiling from source');

		var libpng = process.platform === 'darwin' ? 'libpng' : 'libpng-dev';
		var builder = new BinBuild()
			.src('https://github.com/pornel/pngquant/archive/2.7.1.tar.gz')
			.cmd('rm ./INSTALL')
			.cmd('./configure --prefix="' + bin.dest() + '"')
			.cmd('make install BINPREFIX="' + bin.dest() + '"');

		return builder.run(function (err) {
			if (err) {
				err.message = [
					'pngquant failed to build, make sure that',
					libpng + ' is installed'
				].join(' ');

				logalot.error(err.stack);
				return;
			}

			logalot.success('pngquant built successfully');
		});
	}

	logalot.success('pngquant pre-build test passed successfully');
});
Example #6
0
			.run(function (err) {
				if (err) {
					log.error(err.stack);
					return;
				}

				log.success('optipng built successfully');
			});
Example #7
0
		return builder.run(err => {
			if (err) {
				log.error(err.stack);
				return;
			}

			log.success('mozjpeg built successfully');
		});
Example #8
0
bin.run(['--version'], function (err) {
	if (err) {
		log.error(err.stack);
		return;
	}

	log.success('jpeg-recompress pre-build test passed successfully');
});
		return builder.run(function (err) {
			if (err) {
				log.error(err.stack);
				return;
			}

			log.success('pngcrush built successfully');
		});
Example #10
0
	bin.run(['--help'], function (err) {
		if (err) {
			log.error(err.message);
			log.error(name + ' pre-build test failed');
			next();
			return;
		}

		log.success(name + ' pre-build test passed successfully');
		next();
	});
Example #11
0
		return builder.run(function (err) {
			if (err) {
				err.message = [
					'pngquant failed to build, make sure that',
					libpng + ' is installed'
				].join(' ');

				logalot.error(err.stack);
				return;
			}

			logalot.success('pngquant built successfully');
		});
bin.run(['-version'], function (err) {
	if (err) {
		log.warn(err.message);
		log.warn('pngcrush pre-build test failed');
		log.info('compiling from source');

		var builder = new BinBuild()
			.src('http://downloads.sourceforge.net/project/pmt/pngcrush/1.7.85/pngcrush-1.7.85.zip')
			.cmd('mkdir -p ' + bin.dest())
			.cmd('make && mv ' + bin.use() + ' ' + bin.path());

		return builder.run(function (err) {
			if (err) {
				log.error(err.stack);
				return;
			}

			log.success('pngcrush built successfully');
		});
	}

	log.success('pngcrush pre-build test passed successfully');
});
Example #13
0
bin.run(['-version'], err => {
	if (err) {
		log.warn(err.message);
		log.warn('pngcrush pre-build test failed');
		log.info('compiling from source');

		const builder = new BinBuild()
			.src('https://downloads.sourceforge.net/project/pmt/pngcrush/1.8.13/pngcrush-1.8.13.zip')
			.cmd(`mkdir -p ${bin.dest()}`)
			.cmd(`make && mv ${bin.use()} ${bin.path()}`);

		return builder.run(err => {
			if (err) {
				log.error(err.stack);
				return;
			}

			log.success('pngcrush built successfully');
		});
	}

	log.success('pngcrush pre-build test passed successfully');
});
Example #14
0
bin.run(['-version']).then(() => {
	log.success('cwebp pre-build test passed successfully');
}).catch(error => {
Example #15
0
	]).then(() => {
		log.success('cwebp built successfully');
	}).catch(error => {
Example #16
0
			.then(() => {
				logalot.success('pngquant built successfully');
			})
Example #17
0
	]).then(() => {
		log.success('pngquant built successfully');
	}).catch(err => {
Example #18
0
bin.run(['--version']).then(() => {
	log.success('pngquant pre-build test passed successfully');
}).catch(err => {