2021-01-21 17:00:13 +00:00
|
|
|
{ lib, stdenv, fetchurl
|
2020-02-05 18:27:16 +00:00
|
|
|
# Image file formats
|
2022-08-24 21:32:48 +00:00
|
|
|
, libjpeg, libtiff, giflib, libpng, libwebp, libjxl
|
|
|
|
, libspectre
|
2020-02-05 18:27:16 +00:00
|
|
|
# imlib2 can load images from ID3 tags.
|
2022-04-04 16:45:13 +00:00
|
|
|
, libid3tag, librsvg, libheif
|
2021-01-19 06:50:56 +00:00
|
|
|
, freetype , bzip2, pkg-config
|
2020-02-05 18:27:16 +00:00
|
|
|
, x11Support ? true, xlibsWrapper ? null
|
2022-08-24 21:32:48 +00:00
|
|
|
, svgSupport ? false
|
|
|
|
, heifSupport ? false
|
|
|
|
, webpSupport ? false
|
|
|
|
, jxlSupport ? false
|
|
|
|
, psSupport ? false
|
2022-04-03 18:56:00 +00:00
|
|
|
|
|
|
|
# for passthru.tests
|
|
|
|
, libcaca
|
|
|
|
, diffoscopeMinimal
|
|
|
|
, feh
|
|
|
|
, icewm
|
|
|
|
, openbox
|
|
|
|
, fluxbox
|
|
|
|
, enlightenment
|
2020-02-05 18:27:16 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
let
|
2021-01-21 17:00:13 +00:00
|
|
|
inherit (lib) optional;
|
2020-02-05 18:27:16 +00:00
|
|
|
in
|
2011-09-26 13:13:45 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2020-02-05 18:27:16 +00:00
|
|
|
pname = "imlib2";
|
2022-07-09 12:12:48 +00:00
|
|
|
version = "1.9.1";
|
2013-12-10 22:20:23 +00:00
|
|
|
|
2007-03-05 13:44:27 +00:00
|
|
|
src = fetchurl {
|
2022-01-22 17:51:55 +00:00
|
|
|
url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.xz";
|
2022-07-09 12:12:48 +00:00
|
|
|
hash = "sha256-SiJAOL//vl1NJQxE4F9O5a4k3P74OVsWd8cVxY92TUM=";
|
2007-03-05 13:44:27 +00:00
|
|
|
};
|
2013-12-10 22:20:23 +00:00
|
|
|
|
2020-02-05 18:27:16 +00:00
|
|
|
buildInputs = [
|
2022-08-24 21:32:48 +00:00
|
|
|
libjpeg libtiff giflib libpng
|
2022-05-07 12:02:26 +00:00
|
|
|
bzip2 freetype libid3tag
|
2022-04-04 16:45:13 +00:00
|
|
|
] ++ optional x11Support xlibsWrapper
|
2022-05-07 12:02:26 +00:00
|
|
|
++ optional heifSupport libheif
|
2022-08-24 21:32:48 +00:00
|
|
|
++ optional svgSupport librsvg
|
|
|
|
++ optional webpSupport libwebp
|
|
|
|
++ optional jxlSupport libjxl
|
|
|
|
++ optional psSupport libspectre;
|
2011-09-26 13:13:45 +00:00
|
|
|
|
2021-01-19 06:50:56 +00:00
|
|
|
nativeBuildInputs = [ pkg-config ];
|
2011-09-26 13:13:45 +00:00
|
|
|
|
2016-05-04 01:32:57 +00:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2015-04-07 22:39:05 +00:00
|
|
|
# Do not build amd64 assembly code on Darwin, because it fails to compile
|
|
|
|
# with unknow directive errors
|
2016-11-22 20:08:19 +00:00
|
|
|
configureFlags = optional stdenv.isDarwin "--enable-amd64=no"
|
2022-05-07 12:02:26 +00:00
|
|
|
++ optional (!svgSupport) "--without-svg"
|
|
|
|
++ optional (!heifSupport) "--without-heif"
|
2016-11-22 20:08:19 +00:00
|
|
|
++ optional (!x11Support) "--without-x";
|
2015-04-07 22:39:05 +00:00
|
|
|
|
2017-09-26 21:14:38 +00:00
|
|
|
outputs = [ "bin" "out" "dev" ];
|
2016-11-22 21:11:25 +00:00
|
|
|
|
2022-04-03 18:56:00 +00:00
|
|
|
passthru.tests = {
|
|
|
|
inherit
|
|
|
|
libcaca
|
|
|
|
diffoscopeMinimal
|
|
|
|
feh
|
|
|
|
icewm
|
|
|
|
openbox
|
|
|
|
fluxbox
|
|
|
|
enlightenment;
|
|
|
|
};
|
|
|
|
|
2021-01-21 17:00:13 +00:00
|
|
|
meta = with lib; {
|
2015-04-07 22:39:05 +00:00
|
|
|
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.
|
|
|
|
'';
|
|
|
|
|
2020-02-05 18:27:16 +00:00
|
|
|
homepage = "https://docs.enlightenment.org/api/imlib2/html";
|
2022-01-22 17:51:55 +00:00
|
|
|
changelog = "https://git.enlightenment.org/legacy/imlib2.git/plain/ChangeLog?h=v${version}";
|
|
|
|
license = licenses.imlib2;
|
2016-11-22 20:08:19 +00:00
|
|
|
platforms = platforms.unix;
|
|
|
|
maintainers = with maintainers; [ spwhitt ];
|
2011-09-26 13:13:45 +00:00
|
|
|
};
|
2007-03-05 13:44:27 +00:00
|
|
|
}
|