diff options
author | Matthew Kennedy <mkennedy@gentoo.org> | 2004-12-10 03:50:16 +0000 |
---|---|---|
committer | Matthew Kennedy <mkennedy@gentoo.org> | 2004-12-10 03:50:16 +0000 |
commit | 026dcbb310eeb2e4cc75107819d7802c27fe1944 (patch) | |
tree | d000e997ff6d3184f3f3a9526472174574e155d3 /dev-lisp | |
parent | gcl-cvs (diff) | |
download | gentoo-2-026dcbb310eeb2e4cc75107819d7802c27fe1944.tar.gz gentoo-2-026dcbb310eeb2e4cc75107819d7802c27fe1944.tar.bz2 gentoo-2-026dcbb310eeb2e4cc75107819d7802c27fe1944.zip |
*** empty log message ***
Diffstat (limited to 'dev-lisp')
-rw-r--r-- | dev-lisp/gcl-cvs/ChangeLog | 10 | ||||
-rw-r--r-- | dev-lisp/gcl-cvs/files/digest-gcl-cvs-2.7.0 | 0 | ||||
-rw-r--r-- | dev-lisp/gcl-cvs/files/gcl | 19 | ||||
-rw-r--r-- | dev-lisp/gcl-cvs/files/gcl.notcltk | 18 | ||||
-rwxr-xr-x | dev-lisp/gcl-cvs/files/gcl.sh | 101 | ||||
-rw-r--r-- | dev-lisp/gcl-cvs/gcl-cvs-2.7.0.ebuild | 190 | ||||
-rw-r--r-- | dev-lisp/gcl-cvs/metadata.xml | 5 |
7 files changed, 343 insertions, 0 deletions
diff --git a/dev-lisp/gcl-cvs/ChangeLog b/dev-lisp/gcl-cvs/ChangeLog new file mode 100644 index 000000000000..040818393067 --- /dev/null +++ b/dev-lisp/gcl-cvs/ChangeLog @@ -0,0 +1,10 @@ +# ChangeLog for dev-lisp/gcl-cvs +# Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl-cvs/ChangeLog,v 1.1 2004/12/10 03:50:16 mkennedy Exp $ + +*gcl-cvs-2.7.0 (09 Dec 2004) + + 09 Dec 2004; Matthew Kennedy <mkennedy@gentoo.org> +metadata.xml, + +files/gcl, +files/gcl.notcltk, +files/gcl.sh, +gcl-cvs-2.7.0.ebuild: + Initial port. Ebuild contributed by Matthew Kennedy <mkennedy@gentoo.org> + diff --git a/dev-lisp/gcl-cvs/files/digest-gcl-cvs-2.7.0 b/dev-lisp/gcl-cvs/files/digest-gcl-cvs-2.7.0 new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/dev-lisp/gcl-cvs/files/digest-gcl-cvs-2.7.0 diff --git a/dev-lisp/gcl-cvs/files/gcl b/dev-lisp/gcl-cvs/files/gcl new file mode 100644 index 000000000000..fad1367c4813 --- /dev/null +++ b/dev-lisp/gcl-cvs/files/gcl @@ -0,0 +1,19 @@ +#!/bin/sh + +SYS=@SYS@ + +# Use the Common Lisp Controller image in preference to the standard +# image. + +if [ -x $SYS/saved_ansi_gcl ] ; then + EXE=saved_ansi_gcl; +else + EXE=saved_ansi_gcl.dist; +fi + +exec $SYS/$EXE -dir $SYS/ -libdir @DIR@/ \ + -eval '(setq si::*allow-gzipped-file* t)' \ + -eval '(setq si::*tk-library* "/usr/lib/tk@TKVERS@")' \ + "$@" + +# other options: -load /tmp/foo.o -load jo.lsp -eval "(joe 3)" diff --git a/dev-lisp/gcl-cvs/files/gcl.notcltk b/dev-lisp/gcl-cvs/files/gcl.notcltk new file mode 100644 index 000000000000..a38aa41f51ea --- /dev/null +++ b/dev-lisp/gcl-cvs/files/gcl.notcltk @@ -0,0 +1,18 @@ +#!/bin/sh + +SYS=@SYS@ + +# Use the Common Lisp Controller image in preference to the standard +# image. + +if [ -x $SYS/saved_ansi_gcl ] ; then + EXE=saved_ansi_gcl; +else + EXE=saved_ansi_gcl.dist; +fi + +exec $SYS/$EXE -dir $SYS/ -libdir @DIR@/ \ + -eval '(setq si::*allow-gzipped-file* t)' \ + "$@" + +# other options: -load /tmp/foo.o -load jo.lsp -eval "(joe 3)" diff --git a/dev-lisp/gcl-cvs/files/gcl.sh b/dev-lisp/gcl-cvs/files/gcl.sh new file mode 100755 index 000000000000..b1b8db200b63 --- /dev/null +++ b/dev-lisp/gcl-cvs/files/gcl.sh @@ -0,0 +1,101 @@ +#!/bin/sh + +# This script includes source from GCL's debian/in.gcl-clc.sh + +if [ ! -f /usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp ] ; then + cat <<EOF +$0: cannot find the common-lisp-controller source. +EOF + exit 0 +fi + +build_error() { + echo "Build failure $1" + exit 1 +} + +case $1 in + rebuild) + echo $0 rebuilding... + shift + echo rebuilding $1 + gcl -batch -eval \ +"(handler-case + (progn + (c-l-c:compile-library (quote $1)) + (bye 0)) + (error (e) + (ignore-errors (format t \"~&Build error: ~A~%\" e)) + (finish-output) + (bye 1)))" || build_error + ;; + remove) + echo $0 removing packages... + shift + while [ ! -z "$1" ] ; do + rm -rf "/usr/lib/common-lisp/gcl/$1" + shift + done + ;; + install-defsystem | install-clc) + echo $0 loading and dumping clc. + /usr/lib/gcl/unixport/saved_ansi_gcl.dist <<!INSTALL_CLC! +(in-package :common-lisp) +(unless (fboundp 'load-time-value) + (defun load-time-value (obj) obj) + (export (find-symbol "LOAD-TIME-VALUE"))) + +(in-package :common-lisp-user) +(load "/usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp") + +(in-package :common-lisp-controller) +(init-common-lisp-controller "gcl" :version 3) + +(defun send-clc-command (command package) + "Overrides global definition." + (multiple-value-bind (exit-code signal-code) + (si::system (c-l-c:make-clc-send-command-string command package "gcl")) + (if (and (zerop exit-code) (zerop signal-code)) + (values) + (error "Error during ~A of ~A for ~A~%Please report this as a bug to http://bugs.gentoo.org/~%" + (ecase command + (:recompile "recompilation") + (:remove "removal")) + package + "gcl")))) + +(in-package :asdf) + +(defun run-shell-command (control-string &rest args) +"Interpolate ARGS into CONTROL-STRING as if by FORMAT, and +synchronously execute the result using a Bourne-compatible shell, +with output to *verbose-out*. Returns the shell's exit code." + (let ((command (apply #'format nil control-string args))) + (format *verbose-out* "; $ ~A~%" command) + (si::system command) ; even less *verbose-out* + )) + +(si:save-system "/usr/lib/gcl/unixport/saved_ansi_gcl.new")) +!INSTALL_CLC! + if test $? = 0; then + (cd /usr/lib/gcl/unixport; + mv saved_ansi_gcl.new saved_ansi_gcl || (echo FAILED; + cp saved_ansi_gcl.dist saved_ansi_gcl)) + else + echo $0 Error installing CLC + exit 1 + fi + ;; + remove-defsystem | remove-clc) + echo $0 removing clc-enabled image + cp /usr/lib/gcl/unixport/saved_ansi_gcl.dist \ + /usr/lib/gcl/unixport/saved_ansi_gcl + ;; + *) + echo $0 unkown command $1 + echo known commands: rebuild, remove, install-clc and remove-clc + exit 1 + ;; +esac + +exit 0 diff --git a/dev-lisp/gcl-cvs/gcl-cvs-2.7.0.ebuild b/dev-lisp/gcl-cvs/gcl-cvs-2.7.0.ebuild new file mode 100644 index 000000000000..af44eda42c55 --- /dev/null +++ b/dev-lisp/gcl-cvs/gcl-cvs-2.7.0.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl-cvs/gcl-cvs-2.7.0.ebuild,v 1.1 2004/12/10 03:50:16 mkennedy Exp $ + +ECVS_AUTH="ext" +export CVS_RSH="ssh" +ECVS_SERVER="savannah.gnu.org:/cvsroot/gcl" +ECVS_MODULE="gcl" +ECVS_BRANCH="HEAD" +ECVS_USER="anoncvs" +ECVS_CVS_OPTIONS="-dP" +ECVS_SSH_HOST_KEY="savannah.gnu.org,199.232.41.3 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzFQovi+67xa+wymRz9u3plx0ntQnELBoNU4SCl3RkwSFZkrZsRTC0fTpOKatQNs1r/BLFoVt21oVFwIXVevGQwB+Lf0Z+5w9qwVAQNu/YUAFHBPTqBze4wYK/gSWqQOLoj7rOhZk0xtAS6USqcfKdzMdRWgeuZ550P6gSzEHfv0=" + +inherit cvs elisp-common flag-o-matic eutils alternatives common-lisp-common + +DESCRIPTION="GNU Common Lisp" +HOMEPAGE="http://www.gnu.org/software/gcl/gcl.html" +SRC_URI="" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="emacs readline debug X tcltk custreloc dlopen gprof doc" +SANDBOX_DISABLED="1" +RESTRICT="$RESTRICT nostrip" + +DEPEND=">=app-text/texi2html-1.64 + emacs? ( virtual/emacs ) + X? ( virtual/x11 ) + readline? ( sys-libs/readline ) + >=dev-libs/gmp-4.1 + doc? ( virtual/tetex ) + tcltk? ( dev-lang/tk ) + sys-devel/autoconf + sys-devel/automake + sys-devel/libtool + dev-lisp/common-lisp-controller + >=dev-lisp/cl-defsystem3-3.3i-r3 + >=dev-lisp/cl-asdf-1.84" + +S=${WORKDIR}/${ECVS_MODULE} + +src_compile() { + WANT_AUTOCONF=2.5 autoconf || die + + sed -e "s/gcl-doc/${PF}/g" ${S}/info/makefile > ${T}/makefile + mv ${T}/makefile ${S}/info/makefile + + local myconfig="" + + # Hardened gcc may automatically use PIE building, which does not + # work for this package so far + + filter-flags "-fPIC" + + # -fomit-frame-pointer cannot be used with gprof + + if use gprof; then + filter-flags "-fomit-frame-pointer" + fi + +# # Unfortunately, we need to override any relocation choices below +# # while upstream doesn't work with system BFD. SuSE has the same +# # problem apparently. + +# if false; then + + # Linking options are enumerated at + # http://www.gnu.org/software/gcl/RELEASE-2.6.2.html + + local dlopen_config=" + --disable-custreloc + --enable-dlopen + --disable-dynsysbfd + --disable-statsysbfd"; + + local bfd_config=" + --disable-custreloc + --disable-dlopen + --enable-dynsysbfd + --disable-statsysbfd"; + + local custreloc_config=" + --enable-custreloc + --disable-dlopen + --disable-dynsysbfd + --disable-statsysbfd"; + + if use custreloc; then + case "${ARCH}" in + x86 | sparc) + myconfig="${myconfig} ${custreloc_config}";; + *) + ewarn "--enable-custreloc is not supported on your architecture (${ARCH})." + ewarn "Using --enable-dlopen instead." + myconfig="${myconfig} ${dlopen_config}" + + esac + elif use dlopen; then + myconfig="${myconfig} ${dlopen_config}" + else + case "${ARCH}" in + x86 | sparc | ppc | amd64 | s390) + myconfig="${myconfig} ${bfd_config}";; + *) + ewarn "BFD is not supported on your architecture (${ARCH})." + ewarn "Using --enable-dlopen instead." + myconfig="${myconfig} ${dlopen_config}";; + esac + fi + +# else +# myconfig="${myconfig} +# --enable-locbfd +# --disable-dynsysbfd +# --disable-statsysbfd" +# fi + + if use tcltk; then + myconfig="${myconfig} + --enable-tkconfig=/usr/lib + --enable-tclconfig=/usr/lib" + fi + + myconfig=" + ${myconfig} + --enable-dynsysgmp + --enable-ansi + `use_enable readline readline` + `use_with X x` + `use_enable debug debug` + `use_enable gprof gprof` + --enable-xdr=no + --enable-infodir=/usr/share/info + --enable-emacsdir=/usr/share/emacs/site-lisp/gcl" + + einfo "Configuring with the following: ${myconfig}" + econf ${myconfig} || die + make || die +} + +src_install() { + make DESTDIR=${D} install || die + mv ${D}/usr/lib/gcl-${PV} ${D}/usr/lib/gcl + doinfo ${D}/usr/lib/gcl/info/*.info* + rm -rf ${D}/usr/lib/gcl/info + mv ${D}/default.el elisp/ + + if use emacs; then + mv elisp/add-default.el ${T}/50gcl-gentoo.el + elisp-site-file-install ${T}/50gcl-gentoo.el + elisp-install ${PN} elisp/* + fperms 0644 /usr/share/emacs/site-lisp/gcl/* + else + rm -rf ${D}/usr/share/emacs + fi + + exeinto /usr/bin + + if use tcltk; then + newexe ${FILESDIR}/gcl gcl + dosed "s,@TKVER@,/usr/lib/tk$(source /usr/lib/tkConfig.sh; echo $TK_VERSION),g" \ + /usr/bin/gcl + dosed /usr/lib/gcl/gcl-tk/gcltksrv + else + newexe ${FILESDIR}/gcl.notcltk gcl + fi + + dosed "s,@SYS@,/usr/lib/gcl/unixport,g" /usr/bin/gcl + dosed "s,@DIR@,/usr/lib/gcl,g" /usr/bin/gcl + + exeinto /usr/lib/common-lisp/bin + doexe ${FILESDIR}/gcl.sh + cp ${D}/usr/lib/gcl/unixport/saved_ansi_gcl \ + ${D}/usr/lib/gcl/unixport/saved_ansi_gcl.dist + + dodoc readme* RELEASE* ChangeLog* doc/* + mv ${D}/usr/share/doc/* ${D}/usr/share/doc/${PF} + + find ${D}/usr/lib/gcl/ -type f \( -perm 640 -o -perm 750 \) \ + -exec chmod 0644 '{}' \; +} + +pkg_postinst() { + standard-impl-postinst gcl + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lisp/gcl-cvs/metadata.xml b/dev-lisp/gcl-cvs/metadata.xml new file mode 100644 index 000000000000..f418045b09c8 --- /dev/null +++ b/dev-lisp/gcl-cvs/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>common-lisp</herd> +</pkgmetadata> |