Merge pull request #57830 from srghma/image_optim
image_optim: init at 0.26.3
This commit is contained in:
commit
8a2b572ee9
2
pkgs/applications/graphics/image_optim/Gemfile
Normal file
2
pkgs/applications/graphics/image_optim/Gemfile
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
source 'https://rubygems.org'
|
||||||
|
gem 'image_optim'
|
23
pkgs/applications/graphics/image_optim/Gemfile.lock
Normal file
23
pkgs/applications/graphics/image_optim/Gemfile.lock
Normal 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
|
66
pkgs/applications/graphics/image_optim/default.nix
Normal file
66
pkgs/applications/graphics/image_optim/default.nix
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
{ 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 = []
|
||||||
|
++ 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 : ${makeBinPath 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;
|
||||||
|
};
|
||||||
|
}
|
51
pkgs/applications/graphics/image_optim/gemset.nix
Normal file
51
pkgs/applications/graphics/image_optim/gemset.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
9
pkgs/applications/graphics/image_optim/update.sh
Executable file
9
pkgs/applications/graphics/image_optim/update.sh
Executable 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
|
42
pkgs/applications/graphics/jpeg-archive/default.nix
Normal file
42
pkgs/applications/graphics/jpeg-archive/default.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{ lib, stdenv, fetchFromGitHub, mozjpeg, makeWrapper, coreutils, parallel, findutils }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "jpeg-archive-${version}";
|
||||||
|
version = "2.2.0"; # can be found here https://github.com/danielgtaylor/jpeg-archive/blob/master/src/util.c#L15
|
||||||
|
|
||||||
|
# update with
|
||||||
|
# nix-prefetch-git https://github.com/danielgtaylor/jpeg-archive
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "danielgtaylor";
|
||||||
|
repo = "jpeg-archive";
|
||||||
|
rev = "8da4bf76b6c3c0e11e4941294bfc1857c119419b";
|
||||||
|
sha256 = "1639y9qp2ls80fzimwmwds792q8rq5p6c14c0r4jswx4yp6dcs33";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
buildInputs = [ mozjpeg ];
|
||||||
|
|
||||||
|
prePatch = ''
|
||||||
|
# allow override LIBJPEG
|
||||||
|
substituteInPlace Makefile --replace 'LIBJPEG =' 'LIBJPEG ?='
|
||||||
|
'';
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"PREFIX=$(out)"
|
||||||
|
"MOZJPEG_PREFIX=${mozjpeg}"
|
||||||
|
"LIBJPEG=${mozjpeg}/lib/libjpeg.so"
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/jpeg-archive \
|
||||||
|
--set PATH "$out/bin:${coreutils}/bin:${parallel}/bin:${findutils}/bin"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Utilities for archiving photos for saving to long term storage or serving over the web";
|
||||||
|
homepage = "https://github.com/danielgtaylor/jpeg-archive";
|
||||||
|
# license = ...; # mixed?
|
||||||
|
maintainers = [ maintainers.srghma ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -3661,6 +3661,8 @@ in
|
|||||||
|
|
||||||
jp2a = callPackage ../applications/misc/jp2a { };
|
jp2a = callPackage ../applications/misc/jp2a { };
|
||||||
|
|
||||||
|
jpeg-archive = callPackage ../applications/graphics/jpeg-archive { };
|
||||||
|
|
||||||
jpeginfo = callPackage ../applications/graphics/jpeginfo { };
|
jpeginfo = callPackage ../applications/graphics/jpeginfo { };
|
||||||
|
|
||||||
jpegoptim = callPackage ../applications/graphics/jpegoptim { };
|
jpegoptim = callPackage ../applications/graphics/jpegoptim { };
|
||||||
@ -22586,6 +22588,8 @@ in
|
|||||||
|
|
||||||
illum = callPackage ../tools/system/illum { };
|
illum = callPackage ../tools/system/illum { };
|
||||||
|
|
||||||
|
image_optim = callPackage ../applications/graphics/image_optim { inherit (nodePackages) svgo; };
|
||||||
|
|
||||||
# using the new configuration style proposal which is unstable
|
# using the new configuration style proposal which is unstable
|
||||||
jack1 = callPackage ../misc/jackaudio/jack1.nix { };
|
jack1 = callPackage ../misc/jackaudio/jack1.nix { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user