libiio: 0.24 -> 0.26 (#420677)

This commit is contained in:
dotlambda 2025-07-13 14:15:20 -07:00 committed by GitHub
commit 172caa2b97
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 35 additions and 46 deletions

View File

@ -1,13 +1,13 @@
diff --color -ur a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt 2022-06-02 02:57:01.503340155 +0300 index d5313c50..0ef102bf 100644
+++ b/CMakeLists.txt 2022-06-02 02:54:33.726941188 +0300 --- a/CMakeLists.txt
@@ -378,7 +378,7 @@ +++ b/CMakeLists.txt
@@ -408,7 +408,7 @@ if (WITH_XML_BACKEND)
# So, try first to find the CMake module provided by libxml2 package, then fallback # So, try first to find the CMake module provided by libxml2 package, then fallback
# on the CMake's FindLibXml2.cmake module (which can lack some definition, especially # on the CMake's FindLibXml2.cmake module (which can lack some definition, especially
# in static build case). # in static build case).
- find_package(LibXml2 QUIET NO_MODULE) - find_package(LibXml2 QUIET NO_MODULE NO_SYSTEM_ENVIRONMENT_PATH)
+ find_package(LibXml2 QUIET MODULE) + find_package(LibXml2 QUIET MODULE)
if(DEFINED LIBXML2_VERSION_STRING) if(DEFINED LIBXML2_VERSION_STRING)
set(LIBXML2_FOUND ON) set(LIBXML2_FOUND ON)
set(LIBXML2_INCLUDE_DIR ${LIBXML2_INCLUDE_DIRS}) set(LIBXML2_INCLUDE_DIR ${LIBXML2_INCLUDE_DIRS})
Seulement dans b: good.patch

View File

@ -1,38 +1,19 @@
diff --git a/bindings/python/iio.py b/bindings/python/iio.py diff --git a/bindings/python/iio.py b/bindings/python/iio.py
index 5306daa..f8962ee 100644 index b91260cc..04bcfa7f 100644
--- a/bindings/python/iio.py --- a/bindings/python/iio.py
+++ b/bindings/python/iio.py +++ b/bindings/python/iio.py
@@ -229,9 +229,9 @@ if "Windows" in _system(): @@ -218,13 +218,7 @@ _ChannelPtr = _POINTER(_Channel)
_iiolib = "libiio.dll" _BufferPtr = _POINTER(_Buffer)
else: _DataFormatPtr = _POINTER(DataFormat)
# Non-windows, possibly Posix system
- _iiolib = "iio"
+ _iiolib = "@libiio@"
-if "Windows" in _system():
- _iiolib = "libiio.dll"
-else:
- # Non-windows, possibly Posix system
- _iiolib = "iio"
-
-_lib = _cdll(find_library(_iiolib), use_errno=True, use_last_error=True) -_lib = _cdll(find_library(_iiolib), use_errno=True, use_last_error=True)
+_lib = _cdll(_iiolib, use_errno=True, use_last_error=True) +_lib = _cdll("@libiio@", use_errno=True, use_last_error=True)
_get_backends_count = _lib.iio_get_backends_count _get_backends_count = _lib.iio_get_backends_count
_get_backends_count.restype = c_uint _get_backends_count.restype = c_uint
diff --git a/bindings/python/setup.py.cmakein b/bindings/python/setup.py.cmakein
index cd14e2e..516c409 100644
--- a/bindings/python/setup.py.cmakein
+++ b/bindings/python/setup.py.cmakein
@@ -62,7 +62,7 @@ class InstallWrapper(install):
_iiolib = "libiio.dll"
else:
# Non-windows, possibly Posix system
- _iiolib = "iio"
+ _iiolib = "@libiio@"
try:
import os
@@ -72,7 +72,7 @@ class InstallWrapper(install):
fulllibpath = find_recursive(destdir, "libiio.so")
_lib = _cdll(fulllibpath, use_errno=True, use_last_error=True)
else:
- _lib = _cdll(find_library(_iiolib), use_errno=True, use_last_error=True)
+ _lib = _cdll(_iiolib, use_errno=True, use_last_error=True)
if not _lib._name:
raise OSError
except OSError:

View File

@ -18,7 +18,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libiio"; pname = "libiio";
version = "0.24"; version = "0.26";
outputs = [ outputs = [
"out" "out"
@ -29,13 +29,15 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "analogdevicesinc"; owner = "analogdevicesinc";
repo = "libiio"; repo = "libiio";
rev = "v${version}"; tag = "v${version}";
sha256 = "sha256-c5HsxCdp1cv5BGTQ/8dc8J893zk9ntbfAudLpqoQ1ow="; hash = "sha256-nrpGccj9Q3S9wYs0/dHC3YAy5ZvTiPiSUtPY6r5WlaE=";
}; };
# Revert after https://github.com/NixOS/nixpkgs/issues/125008 is # Revert after https://github.com/NixOS/nixpkgs/issues/125008 is
# fixed properly # fixed properly
patches = [ ./cmake-fix-libxml2-find-package.patch ]; patches = [
./cmake-fix-libxml2-find-package.patch
];
nativeBuildInputs = nativeBuildInputs =
[ [
@ -79,8 +81,7 @@ stdenv.mkDerivation rec {
postPatch = postPatch =
'' ''
substituteInPlace libiio.rules.cmakein \ patchShebangs libiio.rules.cmakein
--replace /bin/sh ${runtimeShell}
'' ''
+ lib.optionalString pythonSupport '' + lib.optionalString pythonSupport ''
# Hardcode path to the shared library into the bindings. # Hardcode path to the shared library into the bindings.
@ -92,11 +93,18 @@ stdenv.mkDerivation rec {
moveToOutput ${python3.sitePackages} "$python" moveToOutput ${python3.sitePackages} "$python"
''; '';
meta = with lib; { nativeInstallCheckInputs = lib.optionals pythonSupport [
python3.pkgs.pythonImportsCheckHook
];
pythonImportsCheck = [ "iio" ];
meta = {
changelog = "https://github.com/analogdevicesinc/libiio/releases/tag/${src.tag}";
description = "API for interfacing with the Linux Industrial I/O Subsystem"; description = "API for interfacing with the Linux Industrial I/O Subsystem";
homepage = "https://github.com/analogdevicesinc/libiio"; homepage = "https://github.com/analogdevicesinc/libiio";
license = licenses.lgpl21Plus; license = lib.licenses.lgpl21Plus;
platforms = platforms.linux ++ platforms.darwin; platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with maintainers; [ thoughtpolice ]; maintainers = with lib.maintainers; [ thoughtpolice ];
}; };
} }