*** empty log message ***
authorMatthew Kennedy <mkennedy@gentoo.org>
Fri, 10 Dec 2004 03:50:16 +0000 (03:50 +0000)
committerMatthew Kennedy <mkennedy@gentoo.org>
Fri, 10 Dec 2004 03:50:16 +0000 (03:50 +0000)
dev-lisp/gcl-cvs/ChangeLog [new file with mode: 0644]
dev-lisp/gcl-cvs/files/digest-gcl-cvs-2.7.0 [new file with mode: 0644]
dev-lisp/gcl-cvs/files/gcl [new file with mode: 0644]
dev-lisp/gcl-cvs/files/gcl.notcltk [new file with mode: 0644]
dev-lisp/gcl-cvs/files/gcl.sh [new file with mode: 0755]
dev-lisp/gcl-cvs/gcl-cvs-2.7.0.ebuild [new file with mode: 0644]
dev-lisp/gcl-cvs/metadata.xml [new file with mode: 0644]

diff --git a/dev-lisp/gcl-cvs/ChangeLog b/dev-lisp/gcl-cvs/ChangeLog
new file mode 100644 (file)
index 0000000..0408183
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/dev-lisp/gcl-cvs/files/gcl b/dev-lisp/gcl-cvs/files/gcl
new file mode 100644 (file)
index 0000000..fad1367
--- /dev/null
@@ -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 (file)
index 0000000..a38aa41
--- /dev/null
@@ -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 (executable)
index 0000000..b1b8db2
--- /dev/null
@@ -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 (file)
index 0000000..af44eda
--- /dev/null
@@ -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 (file)
index 0000000..f418045
--- /dev/null
@@ -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>