Merge pull request #247435 from lopsided98/libgpiod-python

libgpiod: fix Python bindings
This commit is contained in:
Robert Scott 2023-08-06 21:23:33 +01:00 committed by GitHub
commit 684f53f7c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 11 deletions

View File

@ -1,6 +1,5 @@
{ lib, stdenv, fetchurl, autoreconfHook, autoconf-archive, pkg-config, kmod
, enable-tools ? true
, enablePython ? false, python3, ncurses }:
{ lib, stdenv, fetchurl, autoreconfHook, autoconf-archive, pkg-config
, enable-tools ? true }:
stdenv.mkDerivation rec {
pname = "libgpiod";
@ -11,7 +10,6 @@ stdenv.mkDerivation rec {
hash = "sha256-tu2lU1YWCo5zkG49SOlZ74EpZ4fXZJdbEPJX6WYGaOk=";
};
buildInputs = [ kmod ] ++ lib.optionals enablePython [ python3 ncurses ];
nativeBuildInputs = [
autoconf-archive
pkg-config
@ -21,8 +19,7 @@ stdenv.mkDerivation rec {
configureFlags = [
"--enable-tools=${if enable-tools then "yes" else "no"}"
"--enable-bindings-cxx"
"--prefix=${placeholder "out"}"
] ++ lib.optional enablePython "--enable-bindings-python";
];
meta = with lib; {
description = "C library and tools for interacting with the linux GPIO character device";
@ -32,7 +29,10 @@ stdenv.mkDerivation rec {
data structures behind a straightforward API.
'';
homepage = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/about/";
license = licenses.lgpl2;
license = with licenses; [
lgpl21Plus # libgpiod
lgpl3Plus # C++ bindings
] ++ lib.optional enable-tools gpl2Plus;
maintainers = [ maintainers.expipiplus1 ];
platforms = platforms.linux;
};

View File

@ -0,0 +1,25 @@
{ lib
, buildPythonPackage
, libgpiod
}:
buildPythonPackage {
inherit (libgpiod) pname version src;
format = "setuptools";
buildInputs = [ libgpiod ];
preConfigure = ''
cd bindings/python
'';
# Requires libgpiod built with --enable-tests
doCheck = false;
pythonImportsCheck = [ "gpiod" ];
meta = with lib; {
description = "Python bindings for libgpiod";
homepage = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/about/";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ lopsided98 ];
};
}

View File

@ -5848,10 +5848,9 @@ self: super: with self; {
pythonSupport = true;
});
libgpiod = toPythonModule (pkgs.libgpiod.override {
enablePython = true;
python3 = python;
});
libgpiod = callPackage ../development/python-modules/libgpiod {
inherit (pkgs) libgpiod;
};
libgpuarray = callPackage ../development/python-modules/libgpuarray {
clblas = pkgs.clblas.override { inherit (self) boost; };