1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-25 07:00:43 +00:00

image_optim: init at 0.26.3

This commit is contained in:
Serhii Khoma 2019-03-17 22:19:24 +02:00
parent 1d7a5d87ea
commit 57aa87131f
6 changed files with 155 additions and 0 deletions

View file

@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'image_optim'

View file

@ -0,0 +1,23 @@
GEM
remote: https://rubygems.org/
specs:
exifr (1.3.6)
fspath (3.1.0)
image_optim (0.26.3)
exifr (~> 1.2, >= 1.2.2)
fspath (~> 3.0)
image_size (>= 1.5, < 3)
in_threads (~> 1.3)
progress (~> 3.0, >= 3.0.1)
image_size (2.0.0)
in_threads (1.5.1)
progress (3.5.0)
PLATFORMS
ruby
DEPENDENCIES
image_optim
BUNDLED WITH
1.16.3

View file

@ -0,0 +1,68 @@
{ lib, bundlerApp, fetchurl, ruby, makeWrapper,
withPngcrush ? true, pngcrush ? null,
withPngout ? true, pngout ? null,
withAdvpng ? true, advancecomp ? null,
withOptipng ? true, optipng ? null,
withPngquant ? true, pngquant ? null,
withJhead ? true, jhead ? null,
withJpegoptim ? true, jpegoptim ? null,
withJpegrecompress ? true, jpeg-archive ? null,
withJpegtran ? true, libjpeg ? null,
withGifsicle ? true, gifsicle ? null,
withSvgo ? true, svgo ? null
}:
assert withPngcrush -> pngcrush != null;
assert withPngout -> pngout != null;
assert withAdvpng -> advancecomp != null;
assert withOptipng -> optipng != null;
assert withPngquant -> pngquant != null;
assert withJhead -> jhead != null;
assert withJpegoptim -> jpegoptim != null;
assert withJpegrecompress -> jpeg-archive != null;
assert withJpegtran -> libjpeg != null;
assert withGifsicle -> gifsicle != null;
assert withSvgo -> svgo != null;
with lib;
let
optionalDepsPath = makeBinPath (
[]
++ optional withPngcrush pngcrush
++ optional withPngout pngout
++ optional withAdvpng advancecomp
++ optional withOptipng optipng
++ optional withPngquant pngquant
++ optional withJhead jhead
++ optional withJpegoptim jpegoptim
++ optional withJpegrecompress jpeg-archive
++ optional withJpegtran libjpeg
++ optional withGifsicle gifsicle
++ optional withSvgo svgo
);
in
bundlerApp {
pname = "image_optim";
gemdir = ./.;
inherit ruby;
exes = [ "image_optim" ];
buildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/image_optim \
--prefix PATH : ${optionalDepsPath}
'';
meta = with lib; {
description = "Command line tool and ruby interface to optimize (lossless compress, optionally lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)";
homepage = http://github.com/toy/image_optim;
license = licenses.mit;
maintainers = with maintainers; [ srghma ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,51 @@
{
exifr = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0q2abhiyvgfv23i0izbskjxcqaxiw9bfg6s57qgn4li4yxqpwpfg";
type = "gem";
};
version = "1.3.6";
};
fspath = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vjn9sy4hklr2d5wxmj5x1ry31dfq3sjp779wyprb3nbbdmra1sc";
type = "gem";
};
version = "3.1.0";
};
image_optim = {
dependencies = ["exifr" "fspath" "image_size" "in_threads" "progress"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "082w9qcyy9j6m6s2pknfdcik7l2qch4j48axs13m06l4s1hz0dmg";
type = "gem";
};
version = "0.26.3";
};
image_size = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bcn7nc6qix3w4sf7xd557lnsgjniqa7qvz7nnznx70m8qfbc7ig";
type = "gem";
};
version = "2.0.0";
};
in_threads = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "14hqm59sgqi91ag187zwpgwi58xckjkk58m031ghkp0csl8l9mkx";
type = "gem";
};
version = "1.5.1";
};
progress = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yrzq4v5sp7cg4nbgqh11k3d1czcllfz98dcdrxrsjxwq5ziiw0p";
type = "gem";
};
version = "3.5.0";
};
}

View file

@ -0,0 +1,9 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bundix bundler
SCRIPT_DIR=$(dirname "$(readlink -f "$BASH_SOURCE")")
cd $SCRIPT_DIR
bundle lock --update
bundix

View file

@ -22515,6 +22515,8 @@ in
illum = callPackage ../tools/system/illum { };
image_optim = callPackage ../applications/graphics/image_optim { inherit (nodePackages) svgo; };
# using the new configuration style proposal which is unstable
jack1 = callPackage ../misc/jackaudio/jack1.nix { };