about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSnIcK <ido.samuelson@gmail.com>2022-12-26 16:50:13 -0600
committerSnIcK <ido.samuelson@gmail.com>2022-12-26 16:50:13 -0600
commitfff47fb03946e6036bad1a7e22de2d47aed1c211 (patch)
tree72f9aeae593ee25205ab782334b96ad697508b0d
parent8f421eef7d265e53eb24aa33ba583bee19738a97 (diff)
libusb1: add option to build with examples
-rw-r--r--pkgs/development/libraries/libusb1/default.nix16
1 files changed, 13 insertions, 3 deletions
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index f7f1633ed446e..326ee30281582 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , fetchpatch
 , autoreconfHook
@@ -8,6 +9,7 @@
 , libobjc
 , IOKit
 , Security
+, withExamples ? false
 , withStatic ? false
 }:
 
@@ -31,12 +33,20 @@ stdenv.mkDerivation rec {
 
   dontDisableStatic = withStatic;
 
-  configureFlags = lib.optional (!enableUdev) "--disable-udev";
+  configureFlags =
+    lib.optional (!enableUdev) "--disable-udev"
+    ++ lib.optional (withExamples) "--enable-examples-build";
 
   preFixup = lib.optionalString enableUdev ''
     sed 's,-ludev,-L${lib.getLib udev}/lib -ludev,' -i $out/lib/libusb-1.0.la
   '';
 
+  postInstall = lib.optionalString withExamples ''
+    mkdir -p $out/{bin,sbin,examples/bin}
+    cp -r examples/.libs/* $out/examples/bin
+    ln -s $out/examples/bin/fxload $out/sbin/fxload
+  '';
+
   meta = with lib; {
     homepage = "https://libusb.info/";
     description = "cross-platform user-mode USB device library";
@@ -45,6 +55,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.all;
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ prusnak ];
+    maintainers = with maintainers; [ prusnak realsnick ];
   };
 }