summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2004-12-10 03:50:16 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2004-12-10 03:50:16 +0000
commit026dcbb310eeb2e4cc75107819d7802c27fe1944 (patch)
treed000e997ff6d3184f3f3a9526472174574e155d3 /dev-lisp
parentgcl-cvs (diff)
downloadgentoo-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/ChangeLog10
-rw-r--r--dev-lisp/gcl-cvs/files/digest-gcl-cvs-2.7.00
-rw-r--r--dev-lisp/gcl-cvs/files/gcl19
-rw-r--r--dev-lisp/gcl-cvs/files/gcl.notcltk18
-rwxr-xr-xdev-lisp/gcl-cvs/files/gcl.sh101
-rw-r--r--dev-lisp/gcl-cvs/gcl-cvs-2.7.0.ebuild190
-rw-r--r--dev-lisp/gcl-cvs/metadata.xml5
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>