linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / libusb-compat / 0.1.nix
blobb23123f56eaa36dddc9aba7458facd2a6914e453
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , autoreconfHook
5 , patchelf
6 , pkg-config
7 , libusb1
8 }:
10 stdenv.mkDerivation rec {
11   pname = "libusb-compat";
12   version = "0.1.7";
14   outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
15   outputBin = "dev";
17   nativeBuildInputs = [ autoreconfHook patchelf pkg-config ];
19   buildInputs = [ libusb1 ];
21   src = fetchFromGitHub {
22     owner = "libusb";
23     repo = "libusb-compat-0.1";
24     rev = "v${version}";
25     sha256 = "1nybccgjs14b3phhaycq2jx1gym4nf6sghvnv9qdfmlqxacx0jz5";
26   };
28   patches = lib.optional stdenv.hostPlatform.isMusl ./fix-headers.patch;
30   # without this, libusb-compat is unable to find libusb1
31   postFixup = ''
32     find $out/lib -name \*.so\* -type f -exec \
33       patchelf --set-rpath ${lib.makeLibraryPath buildInputs} {} \;
34   '';
36   meta = with lib; {
37     homepage = "https://libusb.info/";
38     repositories.git = "https://github.com/libusb/libusb-compat-0.1";
39     description = "cross-platform user-mode USB device library";
40     longDescription = ''
41       libusb is a cross-platform user-mode library that provides access to USB devices.
42       The current API is of 1.0 version (libusb-1.0 API), this library is a wrapper exposing the legacy API.
43     '';
44     license = licenses.lgpl2Plus;
45     platforms = platforms.unix;
46   };