# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 CRATES=" autocfg@1.1.0 bitflags@1.3.2 cassowary@0.3.0 cc@1.0.83 cfg-if@1.0.0 crossterm@0.26.1 crossterm_winapi@0.9.1 env_logger@0.9.3 getrandom@0.2.10 humantime@2.1.0 libc@0.2.148 lock_api@0.4.10 log@0.4.20 memoffset@0.6.5 mio@0.8.8 nix@0.23.2 once_cell@1.18.0 pam@0.7.0 pam-sys@0.5.6 parking_lot@0.12.1 parking_lot_core@0.9.8 ppv-lite86@0.2.17 proc-macro2@1.0.67 quote@1.0.33 rand@0.8.5 rand_chacha@0.3.1 rand_core@0.6.4 ratatui@0.21.0 redox_syscall@0.3.5 scopeguard@1.2.0 serde@1.0.188 serde_derive@1.0.188 signal-hook@0.3.17 signal-hook-mio@0.2.3 signal-hook-registry@1.4.1 smallvec@1.11.0 syn@2.0.37 toml@0.5.11 unicode-ident@1.0.12 unicode-segmentation@1.10.1 unicode-width@0.1.11 users@0.8.1 uzers@0.11.3 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-targets@0.48.5 windows_aarch64_gnullvm@0.48.5 windows_aarch64_msvc@0.48.5 windows_i686_gnu@0.48.5 windows_i686_msvc@0.48.5 windows_x86_64_gnu@0.48.5 windows_x86_64_gnullvm@0.48.5 windows_x86_64_msvc@0.48.5 " inherit cargo pam systemd DESCRIPTION="A TUI Display/Login Manager" HOMEPAGE="https://github.com/coastalwhite/lemurs" SRC_URI="https://github.com/coastalwhite/lemurs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz \ ${CARGO_CRATE_URIS}" LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016" SLOT="0" KEYWORDS="~amd64" IUSE="systemd" RDEPEND="${DEPEND} sys-libs/pam systemd? ( sys-apps/systemd:= ) !systemd? ( sys-apps/kbd ) " QA_FLAGS_IGNORED="usr/bin/lemurs" src_prepare() { eapply_user # Run lemurs on tty7 so it doesn't conflict with agetty # And replace systemd's reboot and shutdown commands if ! use systemd ; then sed -i 's/tty = 2/tty = 7/' "${S}"/extra/config.toml || die "Sed on config.toml failed" sed -i 's/shutdown_cmd = "systemctl poweroff -l"/shutdown_cmd = "poweroff"/' \ "${S}"/extra/config.toml || die "Sed on config.toml failed" sed -i 's/reboot_cmd = "systemctl reboot -l"/reboot_cmd = "reboot"/' \ "${S}"/extra/config.toml || die "Sed on config.toml failed" fi } src_install() { dodir /etc/lemurs keepdir /etc/lemurs/{wayland,wms} exeinto /etc/lemurs doexe "${S}"/extra/xsetup.sh insinto /etc/lemurs doins "${S}"/extra/config.toml dodoc "${S}"/README.md # Use upstream pam module, but switch to the system-login module, # because that brings up a full (e)logind session while offloading # the logind variant distinction to sys-auth/pambase sed -i -e 's/login/system-login/' "${S}"/extra/lemurs.pam || die "Sed on lemurs.pam failed" newpamd "${S}"/extra/lemurs.pam lemurs newinitd "${FILESDIR}"/lemurs.initd lemurs systemd_dounit "${S}"/extra/lemurs.service dobin "$(cargo_target_dir)"/lemurs } pkg_postinst() { elog "Before starting lemurs you have to configure all your WMs/DEs manually." elog "See: https://github.com/coastalwhite/lemurs#usage" elog if use systemd ; then elog "To start lemurs:" elog " systemctl start lemurs" elog "To start it with the system:" elog " systemctl enable lemurs" ewarn "This package has not yet been tested on a systemd system," ewarn "so it may not function properly." ewarn "If possible, please email the package maintainer to confirm that it works (or not):" ewarn ewarn "Remigiusz Micielski " ewarn else elog "To start lemurs:" elog " rc-service lemurs start" elog "To boot it with the system:" elog " rc-update add lemurs" fi }