# 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 bitflags@2.8.0 cassowary@0.3.0 cc@1.0.83 cfg-if@1.0.0 crossterm@0.26.1 crossterm_winapi@0.9.1 deentry@0.0.1 env_logger@0.9.3 getrandom@0.3.1 humantime@2.1.0 libc@0.2.169 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-sys@0.5.6 pam@0.7.0 parking_lot@0.12.1 parking_lot_core@0.9.8 ppv-lite86@0.2.17 proc-macro2@1.0.93 quote@1.0.38 rand@0.9.0 rand_chacha@0.9.0 rand_core@0.9.1 ratatui@0.21.0 redox_syscall@0.3.5 scopeguard@1.2.0 serde@1.0.188 serde_derive@1.0.188 signal-hook-mio@0.2.3 signal-hook-registry@1.4.1 signal-hook@0.3.17 smallvec@1.11.0 syn@2.0.98 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 wasi@0.13.3+wasi-0.2.2 winapi-i686-pc-windows-gnu@0.4.0 winapi-x86_64-pc-windows-gnu@0.4.0 winapi@0.3.9 windows-sys@0.48.0 windows-targets@0.48.5 windows-targets@0.52.6 windows_aarch64_gnullvm@0.48.5 windows_aarch64_gnullvm@0.52.6 windows_aarch64_msvc@0.48.5 windows_aarch64_msvc@0.52.6 windows_i686_gnu@0.48.5 windows_i686_gnu@0.52.6 windows_i686_gnullvm@0.52.6 windows_i686_msvc@0.48.5 windows_i686_msvc@0.52.6 windows_x86_64_gnu@0.48.5 windows_x86_64_gnu@0.52.6 windows_x86_64_gnullvm@0.48.5 windows_x86_64_gnullvm@0.52.6 windows_x86_64_msvc@0.48.5 windows_x86_64_msvc@0.52.6 wit-bindgen-rt@0.33.0 zerocopy-derive@0.8.20 zerocopy@0.8.20 " 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 ) " PATCHES=() QA_FLAGS_IGNORED="usr/bin/lemurs" src_prepare() { default # 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 # Lemur's default PAM doesn't make elogind do its job # i.e. doesn't make /run/user/* newpamd "${FILESDIR}"/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 "Willem Grant " ewarn else elog "To start lemurs:" elog " rc-service lemurs start" elog "To boot it with the system:" elog " rc-update add lemurs" ewarn "The config file at /etc/lemurs/config.toml assumes a Systemd system. This is on lines 136 and 150, where it uses the systemctl command to reboot or power off. To ensure the function keys properly shut down or reboot the system, change those lines to use OpenRC appropriate commands." fi }