Unverified Commit bf78abfd authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #325095 from emilazy/push-puzpnylvpmuw

imageworsener: modernize and fetch source from GitHub
parents 68725ccd 8e484a4c
Loading
Loading
Loading
Loading
+86 −0
Original line number Diff line number Diff line
{
  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. It’s not as
      fast or memory-efficient as some utilities, but it’s 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;
  };
})
+0 −42
Original line number Diff line number Diff line
{ 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;
  };
}
+0 −2
Original line number Diff line number Diff line
@@ -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 { };