mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-12 08:43:06 +00:00
7fc8453a68
This was previously disabled because pkgs.udev (=pkgs.systemd) was not building on musl, but that is no longer the case. This fixes the build of pkgsMusl.usbutils, which requires udev support in libusb1.
51 lines
1.2 KiB
Nix
51 lines
1.2 KiB
Nix
{ lib, stdenv
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, autoreconfHook
|
|
, pkg-config
|
|
, enableUdev ? stdenv.isLinux && !stdenv.targetPlatform.isStatic
|
|
, 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 ];
|
|
};
|
|
}
|