diff --git a/lib/install.js b/lib/install.js index 2d1db3a..3cd136c 100644 --- a/lib/install.js +++ b/lib/install.js @@ -1,4 +1,5 @@ 'use strict'; +const path = require('path'); const binBuild = require('bin-build'); const log = require('logalot'); const bin = require('.'); @@ -10,12 +11,16 @@ bin.run(['--version']).then(() => { log.warn('optipng pre-build test failed'); log.info('compiling from source'); - binBuild.url('https://downloads.sourceforge.net/project/optipng/OptiPNG/optipng-0.7.7/optipng-0.7.7.tar.gz', [ + // From https://sourceforge.net/projects/optipng/files/OptiPNG/ + binBuild.file(path.resolve(__dirname, '../vendor/source/optipng.tar.gz'), [ `./configure --with-system-zlib --prefix="${bin.dest()}" --bindir="${bin.dest()}"`, 'make install' ]).then(() => { log.success('optipng built successfully'); }).catch(error => { log.error(error.stack); + + // eslint-disable-next-line unicorn/no-process-exit + process.exit(1); }); }); diff --git a/package.json b/package.json index 8683971..def5ff5 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,8 @@ "files": [ "index.js", "cli.js", - "lib" + "lib", + "vendor/source" ], "keywords": [ "imagemin", diff --git a/test/test.js b/test/test.js index 59a34ce..afe4017 100644 --- a/test/test.js +++ b/test/test.js @@ -18,7 +18,7 @@ test('rebuild the optipng binaries', async t => { const tmp = tempy.directory(); - await binBuild.url('http://downloads.sourceforge.net/project/optipng/OptiPNG/optipng-0.7.7/optipng-0.7.7.tar.gz', [ + await binBuild.file(path.resolve(__dirname, '../vendor/source/optipng.tar.gz'), [ `./configure --with-system-zlib --prefix="${tmp}" --bindir="${tmp}"`, 'make install' ]); diff --git a/vendor/source/optipng.tar.gz b/vendor/source/optipng.tar.gz new file mode 100644 index 0000000..a07d868 Binary files /dev/null and b/vendor/source/optipng.tar.gz differ