# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # We do not call it “melpa-recipes” # because this package also ships Elisp library package-build # which is sometimes needed on its own # This package does not attempt to build MELPA # because building MELPA involves fetching # which is discouraged by Portage EAPI=8 NEED_EMACS="24" inherit elisp git-r3 DESCRIPTION="Milkman Emacs Lisp Package Archive recipes" HOMEPAGE="https://github.com/melpa/melpa" EGIT_REPO_URI="https://github.com/melpa/melpa.git" EGIT_BRANCH="master" EGIT_CLONE_TYPE="single+tags" KEYWORDS="amd64 ~x86" LICENSE="GPL-3" SLOT="0" IUSE="package-build recipes sources" # IUSE="package-build recipes savedconfig sources" # todo: support installing only recipes in savedconfig DOCS=( "README.md" "LICENSE.md" "CONTRIBUTING.org" ) REQUIRED_USE="|| ( package-build recipes sources ) sources? ( recipes )" # we need a repo called eelpa (Ebuild ELPA), which depends on external source of package data one of which supported is melpa-recipes RDEPEND=" sources? ( dev-vcs/git ) " src_prepare() { default } src_compile() { if use package-build ; then cd package-build elisp-compile *.el fi } src_install() { if use package-build ; then elisp-install package-build package-build/*.{el,elc} rm -r package-build # For melpa sources, we'll make a symlink instead fi # todo: if savedconfig, remove recipes not in saved config if use recipes ; then RECIPESDIR="/usr/share/melpa-recipes" cp "${FILESDIR}/50${PN}-gentoo.el" "${T}/50${PN}-gentoo.el" sed -i -e "s:@RECIPESDIR@:${RECIPESDIR}:g" \ "${T}/50${PN}-gentoo.el" elisp-site-file-install "${T}/50${PN}-gentoo.el" insinto ${RECIPESDIR} doins recipes/* fi rm -r recipes # For melpa sources, we'll make a symlink instead # todo: if savedconfig, install new default savedconfig # consisting of all existing recipes # # This might not be a good idea as the list grows all the time # but it'd be nice to have versioned lists if use sources ; then MELPADIR="/usr/src/melpa" insinto "${MELPADIR}" doins Makefile doins -r \ Makefile docker \ html html-stable logo \ packages packages-stable \ run-ci.sh \ scripts service working dosym "${RECIPESDIR}" "${MELPADIR}"/recipes if use package-build ; then # todo: alter Makefile # so it loads compiled version of package-build dosym "${SITELISP}"/package-build "${MELPADIR}"/package-build else doins -r package-build fi fi einstalldocs } pkg_postinst() { use recipes && elisp-site-regen } pkg_postrm() { use recipes && elisp-site-regen }