diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libusb1')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libusb1/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libusb1/default.nix b/nixpkgs/pkgs/development/libraries/libusb1/default.nix new file mode 100644 index 000000000000..3b23402fe33c --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libusb1/default.nix @@ -0,0 +1,50 @@ +{ lib, stdenv +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, pkg-config +, enableUdev ? stdenv.isLinux && !stdenv.hostPlatform.isMusl +, udev +, libobjc +, IOKit +, Security +, withStatic ? false +}: + +stdenv.mkDerivation rec { + pname = "libusb"; + version = "1.0.26"; + + src = fetchFromGitHub { + owner = "libusb"; + repo = "libusb"; + rev = "v${version}"; + sha256 = "sha256-LEy45YiFbueCCi8d2hguujMsxBezaTUERHUpFsTKGZQ="; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ pkg-config autoreconfHook ]; + propagatedBuildInputs = + lib.optional enableUdev udev ++ + lib.optionals stdenv.isDarwin [ libobjc IOKit Security ]; + + dontDisableStatic = withStatic; + + configureFlags = lib.optional (!enableUdev) "--disable-udev"; + + preFixup = lib.optionalString enableUdev '' + sed 's,-ludev,-L${lib.getLib udev}/lib -ludev,' -i $out/lib/libusb-1.0.la + ''; + + meta = with lib; { + homepage = "https://libusb.info/"; + description = "cross-platform user-mode USB device library"; + longDescription = '' + libusb is a cross-platform user-mode library that provides access to USB devices. + ''; + platforms = platforms.all; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ prusnak ]; + }; +} |