Unverified Commit ed38987a authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

Merge pull request #267009 from bonsairobo/ktx-tools

ktx-tools: init at 4.3.2
parents aedb247a 4ed0ebac
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2752,6 +2752,12 @@
    githubId = 150560585;
    name = "Dmitry Ivankov";
  };
  bonsairobo = {
    email = "duncanfairbanks6@gmail.com";
    github = "bonsairobo";
    githubId = 3229981;
    name = "Duncan Fairbanks";
  };
  booklearner = {
    name = "booklearner";
    email = "booklearner@proton.me";
+66 −0
Original line number Diff line number Diff line
{
  cmake,
  doxygen,
  fetchFromGitHub,
  getopt,
  ninja,
  lib,
  pkg-config,
  stdenv,
}:
stdenv.mkDerivation rec {
  pname = "ktx-tools";
  version = "4.3.2";

  src = fetchFromGitHub {
    owner = "KhronosGroup";
    repo = "KTX-Software";
    rev = "v${version}";
    hash = "sha256-zjiJ8B8FEZUJ3iFTYXRmuIEtcaCWtBIbYwz0DwjTDFo";
  };

  nativeBuildInputs = [
    cmake
    doxygen
    getopt
    ninja
    pkg-config
  ];

  cmakeBuildType = "RelWithDebInfo";

  cmakeFlags = [ "-DKTX_FEATURE_DOC=ON" ];

  postPatch = ''
    patchShebangs .
  '';

  meta = with lib; {
    description = "KTX (Khronos Texture) Library and Tools";
    longDescription = ''
      KTX (Khronos Texture) is a lightweight container for textures for OpenGL®,
      Vulkan® and other GPU APIs. KTX files contain all the parameters needed
      for texture loading. A single file can contain anything from a simple
      base-level 2D texture through to a cubemap array texture with mipmaps.

      This software package contains:
        - libktx: a small library of functions for writing and reading KTX
          files, and instantiating OpenGL®, OpenGL ES™️ and Vulkan® textures
          from them.
        - ktx2check: a tool for validating KTX Version 2 format files.
        - ktx2ktx2: a tool for converting a KTX Version 1 file to a KTX Version
          2 file.
        - ktxinfo: a tool to display information about a KTX file in human
          readable form.
        - ktxsc: a tool to supercompress a KTX Version 2 file that contains
          uncompressed images.
        - toktx: a tool to create KTX files from PNG, Netpbm or JPEG format
          images. It supports mipmap generation, encoding to Basis Universal
          formats and Zstd supercompression.
    '';
    homepage = "https://github.com/KhronosGroup/KTX-Software";
    license = licenses.asl20;
    maintainers = with maintainers; [ bonsairobo ];
    platforms = platforms.linux;
  };
}