{ stdenv, fetchurl, oxipng, lib, libarchive }: { name, manifest, ... } @ args: let manifestData = (builtins.fromJSON (builtins.readFile manifest)).${name}; src = fetchurl { url = manifestData.src; sha256 = manifestData.src_sha256; }; brokenLicenses = { "CC BY-NC-SA 4.0" = lib.licenses.cc-by-nc-sa-20; "Apache 2.0" = lib.licenses.asl20; }; fixLicense = license: brokenLicenses.${license} or license; in stdenv.mkDerivation ({ inherit name src; nativeBuildInputs = [ oxipng libarchive ]; unpackPhase = '' bsdtar -xf $src ''; buildPhase = '' find . -type f -name '*.png' -execdir oxipng -o max -t $NIX_BUILD_CORES {} \; ''; installPhase = '' mkdir $out cp -r * $out ''; meta = with lib; { inherit (manifestData) description homepage; license = fixLicense manifestData.license; }; } // args)