My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nomicon/pkgs/development/libraries/imlib2/default.nix

59 lines
1.8 KiB

{ lib, stdenv, fetchurl
# Image file formats
, libjpeg, libtiff, giflib, libpng, libwebp
# imlib2 can load images from ID3 tags.
, libid3tag, librsvg, libheif
, freetype , bzip2, pkg-config
, x11Support ? true, xlibsWrapper ? null
}:
let
inherit (lib) optional;
in
stdenv.mkDerivation rec {
pname = "imlib2";
version = "1.8.1";
src = fetchurl {
url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.xz";
hash = "sha256-Ui4ecOZbwO3f4gdhfRXJo5VmKnwJBmHaqiwpT7fZ/ao=";
};
buildInputs = [
libjpeg libtiff giflib libpng libwebp
bzip2 freetype libid3tag libheif
] ++ optional x11Support xlibsWrapper
# Compilation error on Darwin with librsvg. For more information see:
# https://github.com/NixOS/nixpkgs/pull/166452#issuecomment-1090725613
++ optional (!stdenv.isDarwin) librsvg;
nativeBuildInputs = [ pkg-config ];
enableParallelBuilding = true;
# Do not build amd64 assembly code on Darwin, because it fails to compile
# with unknow directive errors
configureFlags = optional stdenv.isDarwin "--enable-amd64=no"
++ optional (!x11Support) "--without-x";
outputs = [ "bin" "out" "dev" ];
meta = with lib; {
description = "Image manipulation library";
longDescription = ''
This is the Imlib 2 library - a library that does image file loading and
saving as well as rendering, manipulation, arbitrary polygon support, etc.
It does ALL of these operations FAST. Imlib2 also tries to be highly
intelligent about doing them, so writing naive programs can be done
easily, without sacrificing speed.
'';
homepage = "https://docs.enlightenment.org/api/imlib2/html";
changelog = "https://git.enlightenment.org/legacy/imlib2.git/plain/ChangeLog?h=v${version}";
license = licenses.imlib2;
platforms = platforms.unix;
maintainers = with maintainers; [ spwhitt ];
};
}