sys-firmware/iptsd - 3.1.1 (gentoo-linux-surface-overlay)

Search

Install

Install this version:

emerge -a =sys-firmware/iptsd-3.1.1

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

autounmask =sys-firmware/iptsd-3.1.1

Or alternatively:

emerge --autounmask-write -a =sys-firmware/iptsd-3.1.1

Package Information

Description:
Userspace daemon for Intel Precise Touch & Stylus (IPTS/ITHC) on Surface
Homepage:
https://github.com/linux-surface/iptsd
License:
GPL-2+

Ebuild Details

Version EAPI Keywords Slot
3.1.1 8 ~amd64 0
View Raw Ebuild
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit meson systemd udev

DESCRIPTION="Userspace daemon for Intel Precise Touch & Stylus (IPTS/ITHC) on Surface"
HOMEPAGE="https://github.com/linux-surface/iptsd"
SRC_URI="https://github.com/linux-surface/iptsd/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+tools"

DEPEND="
	dev-cpp/cli11
	dev-cpp/eigen:3
	dev-cpp/ms-gsl
	dev-libs/inih
	dev-libs/libfmt:=
	dev-libs/spdlog:=
	virtual/udev
"
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"

src_configure() {
	# upstream only installs its unit and udev rule when built against
	# systemd. They are installed by hand below for both init systems, so the
	# build never depends on systemd.
	local emesonargs=(
		-Dsample_config=true
		-Daccess_checks=true
		-Dservice_manager=
	)
	if use tools; then
		emesonargs+=( -Ddebug_tools=calibrate,dump,perf )
	else
		emesonargs+=( -Ddebug_tools= )
	fi
	meson_src_configure
}

src_install() {
	meson_src_install

	# systemd: template unit + the systemd half of the udev rule
	systemd_dounit "${BUILD_DIR}/etc/iptsd@.service"
	dobin etc/scripts/iptsd-systemd

	# OpenRC: multiplexed init script (iptsd, iptsd.hidrawN) + udev helper
	newinitd "${FILESDIR}/iptsd.initd" iptsd
	newconfd "${FILESDIR}/iptsd.confd" iptsd
	exeinto /usr/libexec
	doexe "${FILESDIR}/iptsd-openrc"

	# one rule file; picks systemd or OpenRC at runtime
	udev_dorules "${FILESDIR}/50-iptsd.rules"
}

pkg_postinst() {
	udev_reload
	if ! [[ -d /run/systemd/system ]]; then
		elog "OpenRC: enable the device manager service, it starts one"
		elog "iptsd.hidrawN instance per touch device (also on hotplug via udev):"
		elog "    rc-update add iptsd default && rc-service iptsd start"
	fi
}

pkg_postrm() {
	udev_reload
}

USE Flags

Manage flags for this package: euse -i <flag> -p sys-firmware/iptsd | euse -E <flag> -p sys-firmware/iptsd | euse -D <flag> -p sys-firmware/iptsd

Global/Standard Flags

tools
❓ Default: Enabled (+)

Inherited Eclasses

Dependencies

DEPEND

	dev-cpp/cli11
	dev-cpp/eigen:3
	dev-cpp/ms-gsl
	dev-libs/inih
	dev-libs/libfmt:=
	dev-libs/spdlog:=
	virtual/udev

RDEPEND

	dev-cpp/cli11
	dev-cpp/eigen:3
	dev-cpp/ms-gsl
	dev-libs/inih
	dev-libs/libfmt:=
	dev-libs/spdlog:=
	virtual/udev

BDEPEND

virtual/pkgconfig

Manifest for 3.1.1

Type File Size Source URLs
DIST iptsd-3.1.1.tar.gz 88800 bytes https://github.com/linux-surface/iptsd/archive/refs/tags/v3.1.1.tar.gz