diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libusb1')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libusb1/default.nix | 51 |
1 files changed, 51 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..a3323c8e026b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libusb1/default.nix @@ -0,0 +1,51 @@ +{ stdenv +, fetchFromGitHub +, autoreconfHook +, pkgconfig +, enableSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isMusl +, systemd ? null +, libobjc +, IOKit +, withStatic ? false +}: + +assert enableSystemd -> systemd != null; + +stdenv.mkDerivation rec { + pname = "libusb"; + version = "1.0.23"; + + src = fetchFromGitHub { + owner = "libusb"; + repo = "libusb"; + rev = "v${version}"; + sha256 = "0mxbpg01kgbk5nh6524b0m4xk7ywkyzmc3yhi5asqcsd3rbhjj98"; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + propagatedBuildInputs = + stdenv.lib.optional enableSystemd systemd ++ + stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ]; + + dontDisableStatic = withStatic; + + configureFlags = stdenv.lib.optional (!enableSystemd) "--disable-udev"; + + preFixup = stdenv.lib.optionalString enableSystemd '' + sed 's,-ludev,-L${stdenv.lib.getLib systemd}/lib -ludev,' -i $out/lib/libusb-1.0.la + ''; + + meta = with stdenv.lib; { + homepage = "https://libusb.info/"; + repositories.git = "https://github.com/libusb/libusb"; + 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 = [ ]; + }; +} |