dev-libs/libiio - 9999 (mva)

Search

Install

Install this version:

emerge -a =dev-libs/libiio-9999

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =dev-libs/libiio-9999

Or alternatively:

emerge --autounmask-write -a =dev-libs/libiio-9999

Package Information

Description:
Library for interfacing with IIO devices
Homepage:
https://github.com/analogdevicesinc/libiio
License:
LGPL-2.1

Ebuild Details

Version EAPI Keywords Slot
9999 8 0
View Raw Ebuild
# Copyright 2026 mva
# Distributed under the terms of the Public Domain or CC0 License

EAPI=8

inherit cmake git-r3
# multilib-minimal

DESCRIPTION="Library for interfacing with IIO devices"
HOMEPAGE="https://github.com/analogdevicesinc/libiio"
EGIT_REPO_URI="https://github.com/analogdevicesinc/libiio"
EGIT_SUBMODULES=( "*" "-deps/wingetopt" )

LICENSE="LGPL-2.1"
SLOT="0"
IUSE="doc examples ipv6 +xml"

RDEPEND="
	dev-libs/libxml2
	virtual/libusb:1
	dev-libs/libserialport
	net-dns/avahi
	examples? (
		sys-libs/ncurses:*
		dev-libs/cdk
	)
"
# TODO: examples? ( python, mono, ... )
DEPEND="
	${RDEPEND}
	doc? ( app-text/doxygen )
"

src_prepare() {
	sed -r \
		-e "/^set\(CMAKE_INSTALL_DOCDIR/s@doc/[\$]\{PROJECT_NAME\}[\$]\{LIBIIO_VERSION_MAJOR\}-doc@doc/${PF:-9999}@g" \
		-i "${S}/CMakeLists.txt"
	use examples && (
		sed -r \
			-e '/#include <cdk\/cdk.h>/s@cdk/@@' \
			-i "${S}/examples/iio-monitor.c"
		sed -r \
			-e '/^iio-monitor:/{N;s@(-lncurses)([^[:alnum:]]?)@\1w -ltinfow\2@;s@(-lcdk)([^[:alnum:]]?)@\1w\2@}' \
			-i "${S}/examples/Makefile"
	)
	cmake_src_prepare
#	multilib_copy_sources
}

#multilib_src_configure() {
src_configure() {
	local mycmakeargs=(
		-DENABLE_IPV6=$(usex ipv6 ON OFF)
		-DWITH_NETWORK_GET_BUFFER=ON
		-DWITH_XML_BACKEND=$(usex xml ON OFF)
		-DWITH_DOC=$(usex doc ON OFF)
		-DWITH_TESTS=OFF
		-DWITH_SYSTEMD=ON
#		-DWITH_LOCAL_CONFIG=ON # libini (?)
#		-DWITH_SYSVINIT=ON # not OpenRC compatible
	)
	cmake_src_configure
}

#multilib_src_compile() {
src_compile() {
	cmake_src_compile
	use examples && {
		emake -C examples
	}
}

#multilib_src_install() {
src_install() {
	cmake_src_install

	use doc && {
		HTML_DOCS=( "${BUILD_DIR}/html/" )
	}

	use examples && (
		dobin examples/{iio-monitor,{dummy,ad93{6,7}1}-iiostream}
	)
}

USE Flags

Manage flags for this package: euse -i <flag> -p dev-libs/libiio | euse -E <flag> -p dev-libs/libiio | euse -D <flag> -p dev-libs/libiio

Global/Standard Flags

doc
xml
Default: Enabled (+)

Inherited Eclasses

Dependencies

DEPEND

	
	dev-libs/libxml2
	virtual/libusb:1
	dev-libs/libserialport
	net-dns/avahi
	examples? (
		sys-libs/ncurses:*
		dev-libs/cdk
	)

	doc? ( app-text/doxygen )

RDEPEND

	dev-libs/libxml2
	virtual/libusb:1
	dev-libs/libserialport
	net-dns/avahi
	examples? (
		sys-libs/ncurses:*
		dev-libs/cdk
	)