diff options
Diffstat (limited to 'sys-apps/plocate/plocate-1.1.20.ebuild')
-rw-r--r-- | sys-apps/plocate/plocate-1.1.20.ebuild | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/sys-apps/plocate/plocate-1.1.20.ebuild b/sys-apps/plocate/plocate-1.1.20.ebuild new file mode 100644 index 000000000000..cfb1c096e464 --- /dev/null +++ b/sys-apps/plocate/plocate-1.1.20.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info meson systemd + +DESCRIPTION="Posting locate is a much faster locate" +HOMEPAGE="https://plocate.sesse.net/" +SRC_URI="https://plocate.sesse.net/download/${P}.tar.gz" + +# GPL-2 for updatedb +# GPL-2+ for plocate itself +LICENSE="GPL-2 GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="+io-uring" + +RDEPEND=" + acct-group/locate + app-arch/zstd:= + io-uring? ( sys-libs/liburing:= ) + !sys-apps/mlocate +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.15-meson-use-feature-option-for-libiouring.patch +) + +pkg_setup() { + if use io-uring && linux_config_exists; then + if ! linux_chkconfig_present IO_URING; then + ewarn "CONFIG_IO_URING must be enabled for USE=io-uring" + fi + fi +} + +src_prepare() { + # We'll install the manpage ourself to locate.1 + sed -i "/install_man('plocate.1')/d" meson.build || die + + default +} + +src_configure() { + local emesonargs=( + -Dlocategroup=locate + -Dinstall_systemd=true + -Dinstall_cron=false + -Dsystemunitdir="$(systemd_get_systemunitdir)" + "$(meson_feature io-uring use_libiouring)" + ) + meson_src_configure +} + +src_install() { + meson_src_install + dodoc README NEWS + newman "${S}"/${PN}.1 locate.1 + dosym plocate /usr/bin/locate + + insinto /etc + doins "${FILESDIR}"/updatedb.conf + doins "${FILESDIR}"/plocate-cron.conf + fperms 0644 /etc/{updatedb,plocate-cron}.conf + + insinto /etc/cron.daily + # Ensure that the cron file has the same name as the + # systemd-timer, to avoid plocate being run twice daily on systems + # with a systemd compatiblity layer. See also bug #780351. + newins "${FILESDIR}"/plocate.cron plocate-updatedb + fperms 0755 /etc/cron.daily/plocate-updatedb + + systemd_dounit "${BUILD_DIR}"/${PN}-updatedb.service "${S}"/${PN}-updatedb.timer +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + elog "The database for the locate command is generated daily by a cron job," + elog "if you install for the first time you can run the updatedb command manually now." + elog + elog "Note that the ${EROOT}/etc/updatedb.conf file is generic," + elog "please customize it to your system requirements." + fi +} |