1{ stdenv
2, lib
3, fetchurl
4, meson
5, ninja
6, pkg-config
7, gi-docgen
8, gobject-introspection
9, lcms2
10, vala
11}:
12
13stdenv.mkDerivation (finalAttrs: {
14 pname = "babl";
15 version = "0.1.108";
16
17 outputs = [ "out" "dev" "devdoc" ];
18
19 src = fetchurl {
20 url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor finalAttrs.version}/babl-${finalAttrs.version}.tar.xz";
21 hash = "sha256-Jt7+neqresTQ4HbKtJwqDW69DfDDH9IJklpfB+3uFHU=";
22 };
23
24 patches = [
25 # Allow overriding path to dev output that will be hardcoded e.g. in pkg-config file.
26 ./dev-prefix.patch
27 ];
28
29 nativeBuildInputs = [
30 meson
31 ninja
32 pkg-config
33 gi-docgen
34 gobject-introspection
35 vala
36 ];
37
38 buildInputs = [
39 lcms2
40 ];
41
42 mesonFlags = [
43 "-Dprefix-dev=${placeholder "dev"}"
44 ];
45
46 postFixup = ''
47 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
48 moveToOutput "share/doc" "$devdoc"
49 '';
50
51 meta = with lib; {
52 description = "Image pixel format conversion library";
53 mainProgram = "babl";
54 homepage = "https://gegl.org/babl/";
55 changelog = "https://gitlab.gnome.org/GNOME/babl/-/blob/BABL_${lib.replaceStrings [ "." ] [ "_" ] version}/NEWS";
56 license = licenses.lgpl3Plus;
57 maintainers = with maintainers; [ jtojnar ];
58 platforms = platforms.unix;
59 };
60})