sys-apps/surface-dtx-daemon - 0.3.12 (gentoo-linux-surface-overlay)

Search

Install

Install this version:

emerge -a =sys-apps/surface-dtx-daemon-0.3.12

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

autounmask =sys-apps/surface-dtx-daemon-0.3.12

Or alternatively:

emerge --autounmask-write -a =sys-apps/surface-dtx-daemon-0.3.12

Package Information

Description:
Surface Detach (DTX) daemon for Microsoft Surface Book devices
Homepage:
https://github.com/linux-surface/surface-dtx-daemon
License:
MIT MIT Unicode-3.0

Ebuild Details

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

EAPI=8

CRATES="
	aho-corasick@1.1.5
	anstream@1.0.0
	anstyle-parse@1.0.0
	anstyle-query@1.1.5
	anstyle-wincon@3.0.11
	anstyle@1.0.14
	anyhow@1.0.104
	bitflags@2.13.2
	bytes@1.12.1
	cfg-if@1.0.5
	cfg_aliases@0.2.2
	clap@4.6.7
	clap_builder@4.6.7
	clap_complete@4.6.11
	clap_lex@1.1.1
	colorchoice@1.0.5
	dbus-crossroads@0.5.3
	dbus-tokio@0.7.6
	dbus@0.9.12
	equivalent@1.0.3
	errno@0.3.14
	futures-channel@0.3.34
	futures-core@0.3.34
	futures-executor@0.3.34
	futures-io@0.3.34
	futures-macro@0.3.34
	futures-sink@0.3.34
	futures-task@0.3.34
	futures-util@0.3.34
	futures@0.3.34
	hashbrown@0.17.1
	indexmap@2.14.2
	is_terminal_polyfill@1.70.2
	lazy_static@1.5.1
	libc@0.2.191
	libdbus-sys@0.2.7
	log@0.4.34
	matchers@0.2.0
	memchr@2.8.3
	mio@1.2.4
	nix@0.31.3
	nu-ansi-term@0.50.3
	once_cell@1.21.4
	once_cell_polyfill@1.70.2
	pin-project-lite@0.2.17
	pkg-config@0.3.34
	proc-macro2@1.0.107
	quote@1.0.47
	regex-automata@0.4.18
	regex-syntax@0.8.11
	serde@1.0.229
	serde_core@1.0.229
	serde_derive@1.0.229
	serde_ignored@0.1.14
	serde_spanned@1.1.2
	sharded-slab@0.1.7
	signal-hook-registry@1.4.8
	slab@0.4.12
	smallvec@1.16.3
	socket2@0.6.5
	strsim@0.11.1
	syn@2.0.119
	syn@3.0.9
	thiserror-impl@2.0.21
	thiserror@2.0.21
	thread_local@1.1.10
	tokio-macros@2.7.2
	tokio@1.53.3
	toml@1.1.8+spec-1.1.0
	toml_datetime@1.1.2+spec-1.1.0
	toml_parser@1.1.5+spec-1.1.0
	toml_writer@1.1.3+spec-1.1.0
	tracing-attributes@0.1.31
	tracing-core@0.1.36
	tracing-log@0.2.0
	tracing-subscriber@0.3.23
	tracing@0.1.44
	unicode-ident@1.0.27
	utf8parse@0.2.2
	valuable@0.1.1
	wasi@0.11.1+wasi-snapshot-preview1
	windows-link@0.2.1
	windows-sys@0.61.2
	winnow@1.0.4
"

declare -A GIT_CRATES=(
	[sdtx-tokio]='https://github.com/linux-surface/libsurfacedtx;742d54e8d3c400e25e8fc7363bf6482b9ca7a7d2;libsurfacedtx-%commit%/sdtx-tokio'
	[sdtx]='https://github.com/linux-surface/libsurfacedtx;742d54e8d3c400e25e8fc7363bf6482b9ca7a7d2;libsurfacedtx-%commit%/sdtx'
)

inherit cargo systemd udev

DESCRIPTION="Surface Detach (DTX) daemon for Microsoft Surface Book devices"
HOMEPAGE="https://github.com/linux-surface/surface-dtx-daemon"
SRC_URI="
	https://github.com/linux-surface/surface-dtx-daemon/archive/refs/tags/v${PV}-1.tar.gz -> ${P}.tar.gz
	${CARGO_CRATE_URIS}
"
S="${WORKDIR}/${P}-1"

LICENSE="MIT"
# Dependent crate licenses
LICENSE+=" MIT Unicode-3.0"
SLOT="0"
KEYWORDS="~amd64"

RDEPEND="
	dev-libs/glib:2
	sys-apps/dbus
	virtual/udev
"
DEPEND="${RDEPEND}"

QA_FLAGS_IGNORED="usr/bin/surface-dtx-.*"

src_install() {
	cargo_src_install --path surface-dtx-daemon
	cargo_src_install --path surface-dtx-userd

	insinto /etc
	doins -r etc/dtx
	insinto /etc/dbus-1/system.d
	doins etc/dbus/org.surface.dtx.conf
	udev_dorules etc/udev/40-surface_dtx.rules
	systemd_dounit etc/systemd/surface-dtx-daemon.service
	systemd_douserunit etc/systemd/surface-dtx-userd.service

	# OpenRC: system daemon
	newinitd "${FILESDIR}/surface-dtx-daemon.initd" surface-dtx-daemon
	newconfd "${FILESDIR}/surface-dtx-daemon.confd" surface-dtx-daemon

	# OpenRC: user daemon, either as an OpenRC user service (>= 0.60) ...
	exeinto /etc/user/init.d
	newexe "${FILESDIR}/surface-dtx-userd.initd" surface-dtx-userd
	# ... or as an XDG autostart entry (no-op under systemd)
	exeinto /usr/libexec
	doexe "${FILESDIR}/surface-dtx-userd-autostart"
	insinto /etc/xdg/autostart
	doins "${FILESDIR}/surface-dtx-userd.desktop"

	dodoc README.md
}

pkg_postinst() {
	udev_reload
	if ! [[ -d /run/systemd/system ]]; then
		elog "OpenRC: start the system daemon with"
		elog "    rc-update add surface-dtx-daemon default"
		elog "The per-user daemon surface-dtx-userd is started automatically by an"
		elog "XDG autostart entry (/etc/xdg/autostart) in desktop sessions. Alternatively"
		elog "use an OpenRC user service (OpenRC >= 0.60), as that user:"
		elog "    rc-update --user add surface-dtx-userd default"
		elog "(then disable the autostart entry, or the wrapper skips itself if an"
		elog "instance is already running)."
	fi
}

pkg_postrm() {
	udev_reload
}

Inherited Eclasses

Dependencies

DEPEND

	dev-libs/glib:2
	sys-apps/dbus
	virtual/udev

RDEPEND

	dev-libs/glib:2
	sys-apps/dbus
	virtual/udev

Manifest for 0.3.12

Type File Size Source URLs
DIST surface-dtx-daemon-0.3.12.tar.gz 48129 bytes https://github.com/linux-surface/surface-dtx-daemon/archive/refs/tags/v0.3.12-1.tar.gz