diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /eclass/common-lisp.eclass |
reinit the tree, so we can have metadata
Diffstat (limited to 'eclass/common-lisp.eclass')
-rw-r--r-- | eclass/common-lisp.eclass | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/eclass/common-lisp.eclass b/eclass/common-lisp.eclass new file mode 100644 index 000000000000..e5ad3361f43c --- /dev/null +++ b/eclass/common-lisp.eclass @@ -0,0 +1,81 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: common-lisp.eclass +# @MAINTAINER: +# Common Lisp project <common-lisp@gentoo.org> +# @AUTHOR: Matthew Kennedy <mkennedy@gentoo.org> +# @BLURB: eclass for installing Common Lisp packages. +# @DESCRIPTION: +# This eclass supports the common-lisp-controller installation of many +# Common Lisp libraries + +inherit common-lisp-common + +CLPACKAGE= +DEPEND="dev-lisp/common-lisp-controller" + +EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm + +common-lisp_pkg_postinst() { + if [ -z "${CLPACKAGE}" ]; then + die "CLPACKAGE was empty or undefined upon call to pkg_prerm" + else + for package in ${CLPACKAGE}; do + einfo "Registering Common Lisp source for ${package}" + register-common-lisp-source ${package} + done + fi +} + +common-lisp_pkg_postrm() { + if [ -z "${CLPACKAGE}" ]; then + die "CLPACKAGE was empty or undefined upon call to pkg_prerm" + else + for package in ${CLPACKAGE}; do + if [ ! -d ${CLSOURCEROOT}/${package} ]; then + einfo "Unregistering Common Lisp source for ${package}" +# rm -rf ${CLFASLROOT}/*/${package} + unregister-common-lisp-source ${package} + fi + done + fi +} + +# +# In pkg_preinst, we remove the FASL files for the previous version of +# the source. +# +common-lisp_pkg_preinst() { + if [ -z "${CLPACKAGE}" ]; then + die "CLPACKAGE was empty or undefined upon call to pkg_preinst" + else + for package in ${CLPACKAGE}; do + einfo "Removing FASL files for previous version of Common Lisp package ${package}" + rm -rf ${CLFASLROOT}/*/${package} || true + done + fi +} + +common-lisp-install() { + insinto ${CLSOURCEROOT}/${CLPACKAGE} + doins $@ +} + +common-lisp-system-symlink() { + dodir ${CLSYSTEMROOT}/`dirname ${CLPACKAGE}` + if [ $# -eq 0 ]; then + dosym ${CLSOURCEROOT}/${CLPACKAGE}/${CLPACKAGE}.asd \ + ${CLSYSTEMROOT}/${CLPACKAGE}.asd + else + for package in "$@" ; do + dosym ${CLSOURCEROOT}/$CLPACKAGE/${package}.asd \ + ${CLSYSTEMROOT}/${package}.asd + done + fi +} + +# Local Variables: *** +# mode: shell-script *** +# tab-width: 4 *** +# End: *** |