Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / libmtp / default.nix
blobcd6820fdab06a6082b5bccddc679ab53fa81b36c
1 { stdenv
2 , autoconf
3 , automake
4 , fetchFromGitHub
5 , fetchpatch
6 , gettext
7 , lib
8 , libiconv
9 , libtool
10 , libusb1
11 , pkg-config
12 , buildPackages
15 stdenv.mkDerivation rec {
16   pname = "libmtp";
17   version = "1.1.21";
19   src = fetchFromGitHub {
20     owner = "libmtp";
21     repo = "libmtp";
22     rev = "libmtp-${builtins.replaceStrings [ "." ] [ "-" ] version}";
23     sha256 = "sha256-m9QFVD8udQ3SdGwn276BnIKqGeATA5QuokOK29Ykc1k=";
24   };
26   patches = [
27     # Backport cross fix.
28     (fetchpatch {
29       url = "https://github.com/libmtp/libmtp/commit/467fa26e6b14c0884b15cf6d191de97e5513fe05.patch";
30       sha256 = "2DrRrdcguJ9su4LxtT6YOjer8gUTxIoHVpk+6M9P4cg=";
31     })
32   ];
34   outputs = [ "bin" "dev" "out" ];
36   nativeBuildInputs = [
37     autoconf
38     automake
39     gettext
40     libtool
41     pkg-config
42   ];
44   buildInputs = [ libiconv ];
46   propagatedBuildInputs = [ libusb1 ];
48   preConfigure = "NOCONFIGURE=1 ./autogen.sh";
50   configureFlags = [ "--with-udev=${placeholder "out"}/lib/udev" ];
52   configurePlatforms = [ "build" "host" ];
54   makeFlags = lib.optionals (stdenv.isLinux && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
55     "MTP_HOTPLUG=${buildPackages.libmtp}/bin/mtp-hotplug"
56   ];
58   enableParallelBuilding = true;
60   meta = with lib; {
61     homepage = "https://github.com/libmtp/libmtp";
62     description = "An implementation of Microsoft's Media Transfer Protocol";
63     longDescription = ''
64       libmtp is an implementation of Microsoft's Media Transfer Protocol (MTP)
65       in the form of a library suitable primarily for POSIX compliant operating
66       systems. We implement MTP Basic, the stuff proposed for standardization.
67     '';
68     platforms = platforms.unix;
69     license = licenses.lgpl21;
70     maintainers = with maintainers; [ lovesegfault ];
71   };