Merge pull request #325095 from emilazy/push-puzpnylvpmuw

imageworsener: modernize and fetch source from GitHub
This commit is contained in:
Weijia Wang 2024-07-15 15:29:02 +02:00 committed by GitHub
commit bf78abfda2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 86 additions and 44 deletions

View File

@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
autoreconfHook,
zlib,
libpng,
libjpeg,
libwebp,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "imageworsener";
version = "1.3.5";
src = fetchFromGitHub {
owner = "jsummers";
repo = "imageworsener";
rev = finalAttrs.version;
hash = "sha256-1f5x8Ph994Kkjo38NudXL+UF0fpR8BmZfaGPxc8RENU=";
};
patches = [
# Fix tests not failing even when they should.
# https://github.com/jsummers/imageworsener/pull/46
(fetchpatch2 {
url = "https://github.com/jsummers/imageworsener/commit/91c7c79d86f55920193d17a7b87631b14ac7779f.patch?full_index=1";
hash = "sha256-8vxht0FiQFOdglwaO0ZQpg5BNYXXHROkznZ+Caxm/v0=";
})
];
postPatch = ''
patchShebangs tests/runtest
# JPEG tests fail due to libjpeg-turbo differences.
sed -i '/\.jpg/d' tests/runtest
rm tests/expected/*.jpg
'';
postInstall = ''
mkdir -p $out/share/doc/imageworsener
cp readme.txt technical.txt $out/share/doc/imageworsener
'';
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [
zlib
libpng
libjpeg
libwebp
];
strictDeps = true;
doCheck = true;
enableParallelBuilding = true;
__structuredAttrs = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Raster image scaling and processing utility";
longDescription = ''
ImageWorsener is a cross-platform command-line utility and library for
image scaling and other image processing. It has full support for PNG,
JPEG, BMP formats, experimental support for WebP, read-only support for
GIF, and limited support for some other image formats. Its not as
fast or memory-efficient as some utilities, but its very accurate.
'';
homepage = "https://entropymine.com/imageworsener/";
changelog = "${finalAttrs.src.meta.homepage}/blob/${finalAttrs.src.rev}/changelog.txt";
sourceProvenance = [ lib.sourceTypes.fromSource ];
license = lib.licenses.mit;
maintainers = [
lib.maintainers.emily
lib.maintainers.smitop
];
mainProgram = "imagew";
platforms = lib.platforms.all;
};
})

View File

@ -1,42 +0,0 @@
{ lib, stdenv
, fetchurl
, zlib
, libpng
, libjpeg
, libwebp
}:
stdenv.mkDerivation rec {
pname = "imageworsener";
version = "1.3.5";
src = fetchurl {
url = "https://entropymine.com/${pname}/${pname}-${version}.tar.gz";
sha256 = "sha256-p/u2XFreZ9nrwy5SxYmIpPmGuswAjJAh/ja1mEZtXI0=";
};
postPatch = ''
patchShebangs tests/runtest
'';
postInstall = ''
mkdir -p $out/share/doc/imageworsener
cp readme.txt technical.txt $out/share/doc/imageworsener
'';
buildInputs = [ zlib libpng libjpeg libwebp ];
doCheck = true;
enableParallelBuilding = true;
meta = with lib; {
description = "Raster image scaling and processing utility";
homepage = "https://entropymine.com/imageworsener/";
changelog = "https://github.com/jsummers/${pname}/blob/${version}/changelog.txt";
license = licenses.mit;
maintainers = with maintainers; [ emily smitop ];
mainProgram = "imagew";
platforms = platforms.all;
};
}

View File

@ -3843,8 +3843,6 @@ with pkgs;
imagelol = callPackage ../tools/compression/imagelol { };
imageworsener = callPackage ../tools/graphics/imageworsener { };
imgpatchtools = callPackage ../development/mobile/imgpatchtools { };
imgcrypt = callPackage ../applications/virtualization/imgcrypt { };