Files
nixpkgs/pkgs/by-name/li/libmtp/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

94 lines
2.1 KiB
Nix

{
stdenv,
autoconf,
automake,
fetchFromGitHub,
fetchpatch,
gettext,
lib,
libiconv,
libtool,
libusb1,
pkg-config,
buildPackages,
}:
stdenv.mkDerivation rec {
pname = "libmtp";
version = "1.1.22";
src = fetchFromGitHub {
owner = "libmtp";
repo = "libmtp";
rev = "libmtp-${builtins.replaceStrings [ "." ] [ "-" ] version}";
sha256 = "sha256-hIH6W8qQ6DB4ST7SlFz6CCnLsEGOWgmUb9HoHMNA3wY=";
};
patches = [
# gettext-0.25 support
(fetchpatch {
name = "gettext-0.25.patch";
url = "https://github.com/libmtp/libmtp/commit/5e53ee68e61cc6547476b942b6aa9776da5d4eda.patch";
hash = "sha256-eXDNDHg8K+ZiO9n4RqQPJrh4V9GNiK/ZxZOA/oIX83M=";
})
(fetchpatch {
name = "gettext-0.25-p2.patch";
url = "https://github.com/libmtp/libmtp/commit/122eb9d78b370955b9c4d7618b12a2429f01b81a.patch";
hash = "sha256-Skqr6REBl/Egf9tS5q8k5qmEhFY+rG2fymbiu9e4Mho=";
})
];
outputs = [
"bin"
"dev"
"out"
];
nativeBuildInputs = [
autoconf
automake
gettext
libtool
pkg-config
];
buildInputs = [ libiconv ];
propagatedBuildInputs = [ libusb1 ];
preConfigure = ''
autopoint -f
NOCONFIGURE=1 ./autogen.sh
'';
configureFlags = [ "--with-udev=${placeholder "out"}/lib/udev" ];
configurePlatforms = [
"build"
"host"
];
makeFlags =
lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.buildPlatform.canExecute stdenv.hostPlatform)
[
"MTP_HOTPLUG=${buildPackages.libmtp}/bin/mtp-hotplug"
];
enableParallelBuilding = true;
doInstallCheck = true;
meta = with lib; {
homepage = "https://github.com/libmtp/libmtp";
description = "Implementation of Microsoft's Media Transfer Protocol";
longDescription = ''
libmtp is an implementation of Microsoft's Media Transfer Protocol (MTP)
in the form of a library suitable primarily for POSIX compliant operating
systems. We implement MTP Basic, the stuff proposed for standardization.
'';
platforms = platforms.unix;
license = licenses.lgpl21;
maintainers = with maintainers; [ lovesegfault ];
};
}