about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libplist/default.nix
blob: cac4299f2890cbb27af5de77b68c6cd0073323f0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{ lib, stdenv, autoreconfHook, fetchFromGitHub, pkg-config, enablePython ? false, python ? null, glib }:

stdenv.mkDerivation rec {
  pname = "libplist";
  version = "2.2.0";

  src = fetchFromGitHub {
    owner = "libimobiledevice";
    repo = pname;
    rev = version;
    sha256 = "1vxhpjxniybqsg5wcygmdmr5dv7p2zb34dqnd3bi813rnnzsdjm6";
  };

  outputs = ["bin" "dev" "out" ] ++ lib.optional enablePython "py";

  nativeBuildInputs = [
    pkg-config
    autoreconfHook
  ] ++ lib.optionals enablePython [
    python
    python.pkgs.cython
  ];

  configureFlags = lib.optionals (!enablePython) [
    "--without-cython"
  ];

  propagatedBuildInputs = [ glib ];

  postFixup = lib.optionalString enablePython ''
    moveToOutput "lib/${python.libPrefix}" "$py"
  '';

  meta = with lib; {
    description = "A library to handle Apple Property List format in binary or XML";
    homepage = "https://github.com/libimobiledevice/libplist";
    license = licenses.lgpl21Plus;
    maintainers = with maintainers; [ infinisil ];
    platforms = platforms.linux ++ platforms.darwin;
  };
}