PORTNAME=	greetd
PORTVERSION=	0.10.3
CATEGORIES=	sysutils
MASTER_SITES=	https://git.sr.ht/~kennylevinsen/greetd/archive/
DISTFILES=	greetd-${PORTVERSION}.tar.gz
DIST_SOURCES=	${DISTFILES}@${MASTER_SITES}${PORTVERSION}.tar.gz

SOURCE_DIR=	${WRKSRC}/greetd-${PORTVERSION}
BUILD_DEPENDS=	rust:lang/rust
RUN_DEPENDS=	tuigreet:x11/tuigreet
PATCHFILES=	patch-mouse-auth
CARGO_CRATES=	\
		addr2line/0.21.0 \
		adler/1.0.2 \
		async-trait/0.1.80 \
		backtrace/0.3.71 \
		bitflags/2.5.0 \
		bytes/1.6.0 \
		cc/1.0.95 \
		cfg-if/1.0.0 \
		enquote/1.1.0 \
		getopts/0.2.21 \
		gimli/0.28.1 \
		itoa/1.0.11 \
		libc/0.2.153 \
		memchr/2.7.2 \
		miniz_oxide/0.7.2 \
		mio/0.8.11 \
		nix/0.27.1 \
		object/0.32.2 \
		pin-project-lite/0.2.14 \
		proc-macro2/1.0.81 \
		quote/1.0.36 \
		rpassword/5.0.1 \
		rustc-demangle/0.1.23 \
		ryu/1.0.17 \
		serde/1.0.198 \
		serde_derive/1.0.198 \
		serde_json/1.0.116 \
		signal-hook-registry/1.4.1 \
		socket2/0.5.6 \
		syn/2.0.60 \
		thiserror/1.0.58 \
		thiserror-impl/1.0.58 \
		tokio/1.37.0 \
		tokio-macros/2.2.0 \
		unicode-ident/1.0.12 \
		unicode-width/0.1.11 \
		wasi/0.11.0+wasi-snapshot-preview1 \
		winapi/0.3.9 \
		winapi-i686-pc-windows-gnu/0.4.0 \
		winapi-x86_64-pc-windows-gnu/0.4.0 \
		windows-sys/0.48.0 \
		windows-sys/0.52.0 \
		windows-targets/0.48.5 \
		windows-targets/0.52.5 \
		windows_aarch64_gnullvm/0.48.5 \
		windows_aarch64_gnullvm/0.52.5 \
		windows_aarch64_msvc/0.48.5 \
		windows_aarch64_msvc/0.52.5 \
		windows_i686_gnu/0.48.5 \
		windows_i686_gnu/0.52.5 \
		windows_i686_gnullvm/0.52.5 \
		windows_i686_msvc/0.48.5 \
		windows_i686_msvc/0.52.5 \
		windows_x86_64_gnu/0.48.5 \
		windows_x86_64_gnu/0.52.5 \
		windows_x86_64_gnullvm/0.48.5 \
		windows_x86_64_gnullvm/0.52.5 \
		windows_x86_64_msvc/0.48.5 \
		windows_x86_64_msvc/0.52.5

do-build:
	cd "${SOURCE_DIR}" && env CARGO_HOME="${WRKDIR}/cargo-home" \
	    cargo rustc --offline --locked --release \
	    -p greetd --bin greetd -- -C target-feature=+crt-static

do-install:
	mkdir -p \
	    "${STAGEDIR}${PREFIX}/etc/greetd" \
	    "${STAGEDIR}${PREFIX}/etc/rc.d" \
	    "${STAGEDIR}${PREFIX}/sbin" \
	    "${STAGEDIR}${PREFIX}/share/licenses/greetd"
	install -m 0755 "${SOURCE_DIR}/target/release/greetd" \
	    "${STAGEDIR}${PREFIX}/sbin/greetd"
	install -m 0644 "${PORTDIR}/files/config.toml" \
	    "${STAGEDIR}${PREFIX}/etc/greetd/config.toml"
	install -m 0755 "${PORTDIR}/files/greetd" \
	    "${STAGEDIR}${PREFIX}/etc/rc.d/greetd"
	install -m 0644 "${SOURCE_DIR}/LICENSE" \
	    "${STAGEDIR}${PREFIX}/share/licenses/greetd/LICENSE"

.include "${.PARSEDIR}/../../Mk/mouse.port.mk"
