summaryrefslogtreecommitdiff
path: root/eclass/common-lisp-common.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/common-lisp-common.eclass')
-rw-r--r--eclass/common-lisp-common.eclass211
1 files changed, 0 insertions, 211 deletions
diff --git a/eclass/common-lisp-common.eclass b/eclass/common-lisp-common.eclass
deleted file mode 100644
index f67aee59decf..000000000000
--- a/eclass/common-lisp-common.eclass
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# @ECLASS: common-lisp-common.eclass
-# @MAINTAINER:
-# Common Lisp project <common-lisp@gentoo.org>
-# @AUTHOR: Matthew Kennedy <mkennedy@gentoo.org>
-# @BLURB: eclass for installing Common Lisp packages.
-# @DESCRIPTION:
-# Sundry code common to many Common Lisp related ebuilds.
-
-inherit eutils multilib
-
-# Some handy constants
-CLFASLROOT=/usr/$(get_libdir)/common-lisp/
-CLSOURCEROOT=/usr/share/common-lisp/source/
-CLSYSTEMROOT=/usr/share/common-lisp/systems/
-
-# Many of our Common Lisp ebuilds are either inspired by, or actually
-# use packages and files from the Debian project's archives.
-
-do-debian-credits() {
- docinto debian
- for i in copyright README.Debian changelog; do
- # be silent, since all files are not always present
- dodoc "${S}"/debian/${i} &>/dev/null || true
- done
- docinto .
-}
-
-# Most of the code below is from Debian's Common Lisp Controller
-# package
-
-register-common-lisp-implementation() {
- PROGNAME=$(basename $0)
- # first check if there is at least a compiler-name:
- if [ -z "$1" ] ; then
- cat <<EOF
-usage: $PROGNAME compiler-name
-
-registers a Common Lisp compiler to the
-Common-Lisp-Controller system.
-EOF
- exit 1
- fi
- IMPL=$1
- FILE="/usr/$(get_libdir)/common-lisp/bin/$IMPL.sh"
- if [ ! -f "$FILE" ] ; then
- cat <<EOF
-$PROGNAME: I cannot find the script $FILE for the implementation $IMPL
-EOF
- exit 2
- fi
- if [ ! -r "$FILE" ] ; then
- cat <<EOF
-$PROGNAME: I cannot read the script $FILE for the implementation $IMPL
-EOF
- exit 2
- fi
- # install CLC into the lisp
- sh "$FILE" install-clc || (echo "Installation of CLC failed" >&2 ; exit 3)
- mkdir /usr/$(get_libdir)/common-lisp/$IMPL &>/dev/null || true
- chown cl-builder:cl-builder /usr/$(get_libdir)/common-lisp/$IMPL
-
- # now recompile the stuff
- for i in /usr/share/common-lisp/systems/*.asd ; do
- if [ -f $i -a -r $i ] ; then
- i=${i%.asd}
- package=${i##*/}
- clc-autobuild-check $IMPL $package
- if [ $? = 0 ]; then
- echo recompiling package $package for implementation $IMPL
- /usr/bin/clc-send-command --quiet recompile $package $IMPL
- fi
- fi
- done
- for i in /usr/share/common-lisp/systems/*.system ; do
- if [ -f $i -a -r $i ] ; then
- i=${i%.system}
- package=${i##*/}
- clc-autobuild-check $IMPL $package
- if [ $? = 0 ]; then
- echo recompiling package $package for implementation $IMPL
- /usr/bin/clc-send-command --quiet recompile $package $IMPL
- fi
- fi
- done
- echo "$PROGNAME: Compiler $IMPL installed"
-}
-
-unregister-common-lisp-implementation() {
- PROGNAME=$(basename $0)
- if [ `id -u` != 0 ] ; then
- echo $PROGNAME: you need to be root to run this program
- exit 1
- fi
- if [ -z "$1" ] ; then
- cat <<EOF
-usage: $PROGNAME compiler-name
-
-un-registers a Common Lisp compiler to the
-Common-Lisp-Controller system.
-EOF
- exit 1
- fi
- IMPL=$1
- IMPL_BIN="/usr/$(get_libdir)/common-lisp/bin/$IMPL.sh"
- if [ ! -f "$IMPL_BIN" ] ; then
- cat <<EOF
-$PROGNAME: No implementation of the name $IMPL is registered
-Cannot find the file $IMPL_BIN
-
-Maybe you already removed it?
-EOF
- exit 0
- fi
- if [ ! -r "$IMPL_BIN" ] ; then
- cat <<EOF
-$PROGNAME: No implementation of the name $IMPL is registered
-Cannot read the file $IMPL_BIN
-
-Maybe you already removed it?
-EOF
- exit 0
- fi
- # Uninstall the CLC
- sh $IMPL_BIN remove-clc || echo "De-installation of CLC failed" >&2
- clc-autobuild-impl $IMPL inherit
- # Just remove the damn subtree
- (cd / ; rm -rf "/usr/$(get_libdir)/common-lisp/$IMPL/" ; true )
- echo "$PROGNAME: Common Lisp implementation $IMPL uninstalled"
-}
-
-reregister-all-common-lisp-implementations() {
- # Rebuilds all common lisp implementations
- # Written by Kevin Rosenberg <kmr@debian.org>
- # GPL-2 license
- local clc_bin_dir=/usr/$(get_libdir)/common-lisp/bin
- local opt=$(shopt nullglob); shopt -s nullglob
- cd $clc_bin_dir
- for impl_bin in *.sh; do
- impl=$(echo $impl_bin | sed 's/\(.*\).sh/\1/')
- unregister-common-lisp-implementation $impl
- register-common-lisp-implementation $impl
- done
- cd - >/dev/null
- [[ $opt = *off ]] && shopt -u nullglob
-}
-
-# BIG FAT HACK: Since the Portage emerge step kills file timestamp
-# information, we need to compensate by ensuring all FASL files are
-# more recent than their source files.
-
-# The following `impl-*-timestamp-hack' functions SHOULD NOT be used
-# outside of this eclass.
-
-impl-save-timestamp-hack() {
- local impl=$1
- dodir /usr/share/${impl}
- tar cpjf "${D}"/usr/share/${impl}/portage-timestamp-compensate -C "${D}"/usr/$(get_libdir)/${impl} .
-}
-
-impl-restore-timestamp-hack() {
- local impl=$1
- tar xjpfo /usr/share/${impl}/portage-timestamp-compensate -C /usr/$(get_libdir)/${impl}
-}
-
-impl-remove-timestamp-hack() {
- local impl=$1
- rm -rf /usr/$(get_libdir)/${impl} &>/dev/null || true
-}
-
-test-in() {
- local symbol=$1
- shift
- for i in $@; do
- if [ $i == ${symbol} ]; then
- return 0 # true
- fi
- done
- false
-}
-
-standard-impl-postinst() {
- local impl=$1
- rm -rf /usr/$(get_libdir)/common-lisp/${impl}/* &>/dev/null || true
- chown cl-builder:cl-builder /usr/$(get_libdir)/common-lisp/${impl}
- if test-in ${impl} cmucl sbcl; then
- impl-restore-timestamp-hack ${impl}
- fi
- chown -R root:0 /usr/$(get_libdir)/${impl}
- /usr/bin/clc-autobuild-impl ${impl} yes
- register-common-lisp-implementation ${impl}
-}
-
-standard-impl-postrm() {
- local impl=$1 impl_binary=$2
- # Since we keep our own time stamps we must manually remove them
- # here.
- if [ ! -x ${impl_binary} ]; then
- if test-in ${impl} cmucl sbcl; then
- impl-remove-timestamp-hack ${impl}
- fi
- rm -rf /usr/$(get_libdir)/common-lisp/${impl}/*
- fi
-}
-
-# Local Variables: ***
-# mode: shell-script ***
-# tab-width: 4 ***
-# End: ***