linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / libiio / default.nix
blob043e27fb4b2a3e4a091592c26b59873b5eb5ebe1
1 { stdenv
2 , fetchFromGitHub
3 , cmake
4 , flex
5 , bison
6 , libxml2
7 , python
8 , libusb1
9 , runtimeShell
10 , lib
13 stdenv.mkDerivation rec {
14   pname = "libiio";
15   version = "0.21";
17   outputs = [ "out" "lib" "dev" "python" ];
19   src = fetchFromGitHub {
20     owner = "analogdevicesinc";
21     repo = "libiio";
22     rev = "v${version}";
23     sha256 = "0psw67mzysdb8fkh8xpcwicm7z94k8plkcc8ymxyvl6inshq0mc7";
24   };
26   nativeBuildInputs = [
27     cmake
28     flex
29     bison
30   ];
32   buildInputs = [
33     python
34     libxml2
35     libusb1
36   ] ++ lib.optional python.isPy3k python.pkgs.setuptools;
38   cmakeFlags = [
39     "-DUDEV_RULES_INSTALL_DIR=${placeholder "out"}/lib/udev/rules.d"
40     "-DPYTHON_BINDINGS=on"
41   ];
43   postPatch = ''
44     # Hardcode path to the shared library into the bindings.
45     sed "s#@libiio@#$lib/lib/libiio${stdenv.hostPlatform.extensions.sharedLibrary}#g" ${./hardcode-library-path.patch} | patch -p1
47     substituteInPlace libiio.rules.cmakein \
48       --replace /bin/sh ${runtimeShell}
49   '';
51   postInstall = ''
52     # Move Python bindings into a separate output.
53     moveToOutput ${python.sitePackages} "$python"
54   '';
56   meta = with lib; {
57     description = "API for interfacing with the Linux Industrial I/O Subsystem";
58     homepage = "https://github.com/analogdevicesinc/libiio";
59     license = licenses.lgpl21Plus;
60     platforms = platforms.linux;
61     maintainers = with maintainers; [ thoughtpolice ];
62   };