diff options
author | Pavol Rusnak <pavol@rusnak.io> | 2021-11-07 16:29:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-07 16:29:01 +0100 |
commit | 26751d3f1d0afa29846d615617e47331f7517c74 (patch) | |
tree | 1bd59b3ea739f14a3f70f3485309bb531cd22bab /pkgs | |
parent | 8d197bffd80e21f34c3f52379d93a565444ea189 (diff) | |
parent | 4dcf909d0437df6dc606a9117a8c00f30c70270b (diff) |
Merge pull request #144958 from reckenrode/update-pngout
pngout: 20150319 → 20200115
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/tools/graphics/pngout/default.nix | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/pkgs/tools/graphics/pngout/default.nix b/pkgs/tools/graphics/pngout/default.nix index c2de8a4fb2aed..b6f19d2390e1f 100644 --- a/pkgs/tools/graphics/pngout/default.nix +++ b/pkgs/tools/graphics/pngout/default.nix @@ -1,34 +1,49 @@ -{lib, stdenv, fetchurl}: +{ lib +, stdenv +, fetchurl +, unzip +}: let - folder = if stdenv.hostPlatform.system == "i686-linux" then "i686" - else if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + platforms = { + aarch64-linux = { folder = "aarch64"; ld-linux = "ld-linux-aarch64.so.1"; }; + armv7l-linux = { folder = "armv7"; ld-linux = "ld-linux-armhf.so.3"; }; + i686-linux = { folder = "i686"; ld-linux = "ld-linux.so.2"; }; + x86_64-darwin = { folder = "."; }; + x86_64-linux = { folder = "amd64"; ld-linux = "ld-linux-x86-64.so.2"; }; + }; + platform = platforms."${stdenv.hostPlatform.system}" + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + download = if stdenv.isDarwin + then { extension = "macos.zip"; hash = "sha256-MnL6lH7q/BrACG4fFJNfnvoh0JClVeaJIlX+XIj2aG4="; } + else { extension = "linux.tar.gz"; hash = "sha256-rDi7pvDeKQM96GZTjDr6ZDQTGbaVu+OI77xf2egw6Sg="; }; in stdenv.mkDerivation rec { pname = "pngout"; - version = "20150319"; + version = "20200115"; src = fetchurl { - url = "http://static.jonof.id.au/dl/kenutils/pngout-${version}-linux.tar.gz"; - sha256 = "0iwv941hgs2g7ljpx48fxs24a70m2whrwarkrb77jkfcd309x2h7"; + inherit (download) hash; + url = "http://static.jonof.id.au/dl/kenutils/pngout-${version}-${download.extension}"; }; + nativeBuildInputs = lib.optionals stdenv.isDarwin [ unzip ]; + + # pngout is code-signed on Darwin, so don’t alter the binary to avoid breaking the signature. + dontFixup = stdenv.isDarwin; + installPhase = '' mkdir -p $out/bin - cp ${folder}/pngout $out/bin - - ${if stdenv.hostPlatform.system == "i686-linux" then '' - patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/bin/pngout - '' else if stdenv.hostPlatform.system == "x86_64-linux" then '' - patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/pngout - '' else ""} + cp ${platform.folder}/pngout $out/bin + '' + lib.optionalString stdenv.isLinux '' + patchelf --set-interpreter ${stdenv.glibc.out}/lib/${platform.ld-linux} $out/bin/pngout ''; meta = { description = "A tool that aggressively optimizes the sizes of PNG images"; - license = lib.licenses.unfree; + license = lib.licenses.unfreeRedistributable; homepage = "http://advsys.net/ken/utils.htm"; + platforms = lib.attrNames platforms; maintainers = [ lib.maintainers.sander ]; }; } |