1{ lib
2, stdenv
3, fetchFromGitHub
4, autoreconfHook
5, pkg-config
6, dav1d
7, rav1e
8, libde265
9, x265
10, libpng
11, libjpeg
12, libaom
13, gdk-pixbuf
14
15# for passthru.tests
16, gimp
17, imagemagick
18, imlib2Full
19, imv
20, vips
21}:
22
23stdenv.mkDerivation rec {
24 pname = "libheif";
25 version = "1.15.2";
26
27 outputs = [ "bin" "out" "dev" "man" ];
28
29 src = fetchFromGitHub {
30 owner = "strukturag";
31 repo = "libheif";
32 rev = "v${version}";
33 sha256 = "sha256-VbMBZ17leGezng2FYKgiSq04Se0PT0a3WqjM6xZ3zS4=";
34 };
35
36 nativeBuildInputs = [
37 autoreconfHook
38 pkg-config
39 ];
40
41 buildInputs = [
42 dav1d
43 rav1e
44 libde265
45 x265
46 libpng
47 libjpeg
48 libaom
49 gdk-pixbuf
50 ];
51
52 enableParallelBuilding = true;
53
54 # Fix installation path for gdk-pixbuf module
55 PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${placeholder "out"}/${gdk-pixbuf.moduleDir}";
56
57 passthru.tests = {
58 inherit gimp imagemagick imlib2Full imv vips;
59 };
60
61 meta = {
62 homepage = "http://www.libheif.org/";
63 description = "ISO/IEC 23008-12:2017 HEIF image file format decoder and encoder";
64 license = lib.licenses.lgpl3Plus;
65 platforms = lib.platforms.unix;
66 maintainers = with lib.maintainers; [ gebner ];
67 };
68}