# Copyright 2023 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.79 cfg-if@1.0.0 crossterm@0.20.0 crossterm@0.22.1 crossterm_winapi@0.8.0 crossterm_winapi@0.9.0 env_logger@0.9.3 getrandom@0.2.8 instant@0.1.12 libc@0.1.12 libc@0.2.139 lock_api@0.4.9 log@0.4.17 memoffset@0.6.5 mio@0.7.14 miow@0.3.7 nix@0.23.2 ntapi@0.3.7 numtoa@0.1.0 pam@0.7.0 pam-sys@0.5.6 parking_lot@0.11.2 parking_lot_core@0.8.6 pgs-files@0.0.7 ppv-lite86@0.2.17 proc-macro2@1.0.51 quote@1.0.23 rand@0.8.5 rand_chacha@0.3.1 rand_core@0.6.4 redox_syscall@0.2.16 redox_termios@0.1.2 scopeguard@1.1.0 serde@1.0.152 serde_derive@1.0.152 signal-hook@0.3.15 signal-hook-mio@0.2.3 signal-hook-registry@1.4.1 smallvec@1.10.0 syn@1.0.109 termion@1.5.6 toml@0.5.11 tui@0.16.0 unicode-ident@1.0.6 unicode-segmentation@1.10.1 unicode-width@0.1.10 users@0.8.1 users@0.11.0 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 " 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 # 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 target/$(usex debug debug release)/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 "and disable your previous display manager." elog if use systemd ; then elog "To start lemurs:" elog " systemctl start lemurs" elog "To boot 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 }