anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / development / libraries / libusb-compat / 0.1.nix
blob841e781dfd5f93977c4a8a3f28a58b70f227f8ce
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , autoreconfHook
5 , pkg-config
6 , libusb1
7 }:
9 stdenv.mkDerivation rec {
10   pname = "libusb-compat";
11   version = "0.1.8";
13   outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
14   outputBin = "dev";
16   src = fetchFromGitHub {
17     owner = "libusb";
18     repo = "libusb-compat-0.1";
19     rev = "v${version}";
20     sha256 = "sha256-pAPERYSxoc47gwpPUoMkrbK8TOXyx03939vlFN0hHRg=";
21   };
23   patches = lib.optional stdenv.hostPlatform.isMusl ./fix-headers.patch;
25   nativeBuildInputs = [ autoreconfHook pkg-config ];
27   buildInputs = [ libusb1 ];
29   # without this, libusb-compat is unable to find libusb1
30   postFixup = ''
31     find $out/lib -name \*.so\* -type f -exec \
32       patchelf --set-rpath ${lib.makeLibraryPath buildInputs} {} \;
33   '';
35   meta = with lib; {
36     homepage = "https://libusb.info/";
37     description = "cross-platform user-mode USB device library";
38     mainProgram = "libusb-config";
39     longDescription = ''
40       libusb is a cross-platform user-mode library that provides access to USB devices.
41       The current API is of 1.0 version (libusb-1.0 API), this library is a wrapper exposing the legacy API.
42     '';
43     license = licenses.lgpl2Plus;
44     platforms = platforms.unix;
45   };