# Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/eclass/common-lisp-common.eclass,v 1.3 2004/02/12 15:14:03 mkennedy Exp $ # # Author Matthew Kennedy # # Sundy code common to many Common Lisp related ebuilds. # Some handy constants CLFASLROOT=/usr/lib/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 <&2 ; exit 3) mkdir /usr/lib/common-lisp/$IMPL || true &>/dev/null chown cl-builder:cl-builder /usr/lib/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 <&2 clc-autobuild-impl $IMPL inherit # Just remove the damn subtree (cd / ; rm -rf "/usr/lib/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 # GPL-2 license local clc_bin_dir=/usr/lib/common-lisp/bin 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 } # Local Variables: *** # mode: shell-script *** # tab-width: 4 *** # End: ***