push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 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.4.1)
fspath (3.1.2)
image_optim (0.31.4)
exifr (~> 1.2, >= 1.2.2)
fspath (~> 3.0)
image_size (>= 1.5, < 4)
in_threads (~> 1.3)
progress (~> 3.0, >= 3.0.1)
image_size (3.4.0)
in_threads (1.6.0)
progress (3.6.0)
PLATFORMS
ruby
DEPENDENCIES
image_optim
BUNDLED WITH
2.5.22

View File

@@ -0,0 +1,94 @@
{
lib,
bundlerApp,
bundlerUpdateScript,
makeWrapper,
withPngcrush ? true,
pngcrush,
withPngout ? false,
pngout, # disabled by default because it's unfree
withAdvpng ? true,
advancecomp,
withOptipng ? true,
optipng,
withPngquant ? true,
pngquant,
withOxipng ? true,
oxipng,
withJhead ? true,
jhead,
withJpegoptim ? true,
jpegoptim,
withJpegrecompress ? true,
jpeg-archive,
withJpegtran ? true,
libjpeg,
withGifsicle ? true,
gifsicle,
withSvgo ? true,
svgo,
}:
let
optionalDepsPath =
lib.optional withPngcrush pngcrush
++ lib.optional withPngout pngout
++ lib.optional withAdvpng advancecomp
++ lib.optional withOptipng optipng
++ lib.optional withPngquant pngquant
++ lib.optional withOxipng oxipng
++ lib.optional withJhead jhead
++ lib.optional withJpegoptim jpegoptim
++ lib.optional withJpegrecompress jpeg-archive
++ lib.optional withJpegtran libjpeg
++ lib.optional withGifsicle gifsicle
++ lib.optional withSvgo svgo;
disabledWorkersFlags =
lib.optional (!withPngcrush) "--no-pngcrush"
++ lib.optional (!withPngout) "--no-pngout"
++ lib.optional (!withAdvpng) "--no-advpng"
++ lib.optional (!withOptipng) "--no-optipng"
++ lib.optional (!withPngquant) "--no-pngquant"
++ lib.optional (!withOxipng) "--no-oxipng"
++ lib.optional (!withJhead) "--no-jhead"
++ lib.optional (!withJpegoptim) "--no-jpegoptim"
++ lib.optional (!withJpegrecompress) "--no-jpegrecompress"
++ lib.optional (!withJpegtran) "--no-jpegtran"
++ lib.optional (!withGifsicle) "--no-gifsicle"
++ lib.optional (!withSvgo) "--no-svgo";
in
bundlerApp {
pname = "image_optim";
gemdir = ./.;
exes = [ "image_optim" ];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/image_optim \
--prefix PATH : ${lib.escapeShellArg (lib.makeBinPath optionalDepsPath)} \
--add-flags "${lib.concatStringsSep " " disabledWorkersFlags}"
'';
passthru.updateScript = bundlerUpdateScript "image_optim";
meta = with lib; {
description = "Optimize images using multiple utilities";
longDescription = ''
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, oxipng, pngcrush, pngout, pngquant, svgo)
'';
homepage = "https://github.com/toy/image_optim";
license = licenses.mit;
maintainers = with maintainers; [
nicknovitski
];
platforms = platforms.all;
mainProgram = "image_optim";
};
}

View File

@@ -0,0 +1,69 @@
{
exifr = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "155qqhai5z2742aqa4mwkxmqrpcv48siqz55rcx79wvgdg6790vn";
type = "gem";
};
version = "1.4.1";
};
fspath = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0xcxikkrjv8ws328nn5ax5pyfjs8pn7djg1hks7qyb3yp6prpb5m";
type = "gem";
};
version = "3.1.2";
};
image_optim = {
dependencies = [
"exifr"
"fspath"
"image_size"
"in_threads"
"progress"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1h3n8x1rlxz4mkk49lij22x1nn0qk5cvir3fsj4x3s382a4x1zsv";
type = "gem";
};
version = "0.31.4";
};
image_size = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16h2gxxk212mlvphf03x1z1ddb9k3vm0lgsxbvi4fjg77x8q19f6";
type = "gem";
};
version = "3.4.0";
};
in_threads = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0j9132d4g8prjafgdh4pw948j527kr09m2lvylrcd797il9yd9wi";
type = "gem";
};
version = "1.6.0";
};
progress = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0wymdk40cwrqn32gwg1kw94s5p1n0z3n7ma7x1s62gd4vw3d63in";
type = "gem";
};
version = "3.6.0";
};
}