diff options
author | Matthew Kennedy <mkennedy@gentoo.org> | 2005-06-07 01:44:37 +0000 |
---|---|---|
committer | Matthew Kennedy <mkennedy@gentoo.org> | 2005-06-07 01:44:37 +0000 |
commit | deafb88bc045da3be482f83c4d49673d71a66922 (patch) | |
tree | beb667e3ae37b6e09c5abff6ae79ff87f9cca164 /dev-lisp | |
parent | Make sure we dont build ssp.c with stack-protector and disable syslog() until... (diff) | |
download | historical-deafb88bc045da3be482f83c4d49673d71a66922.tar.gz historical-deafb88bc045da3be482f83c4d49673d71a66922.tar.bz2 historical-deafb88bc045da3be482f83c4d49673d71a66922.zip |
clc
Package-Manager: portage-2.0.51.22-r1
Diffstat (limited to 'dev-lisp')
-rw-r--r-- | dev-lisp/ecls/ChangeLog | 6 | ||||
-rw-r--r-- | dev-lisp/ecls/Manifest | 8 | ||||
-rw-r--r-- | dev-lisp/ecls/ecls-0.9f_p1.ebuild | 7 | ||||
-rw-r--r-- | dev-lisp/ecls/files/README.Gentoo | 30 | ||||
-rw-r--r-- | dev-lisp/ecls/files/clc-lite.lisp | 112 |
5 files changed, 158 insertions, 5 deletions
diff --git a/dev-lisp/ecls/ChangeLog b/dev-lisp/ecls/ChangeLog index 02e0c4f06ef8..33e8b9a6eded 100644 --- a/dev-lisp/ecls/ChangeLog +++ b/dev-lisp/ecls/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-lisp/ecls # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/ecls/ChangeLog,v 1.17 2005/05/30 08:18:54 mkennedy Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/ecls/ChangeLog,v 1.18 2005/06/07 01:44:37 mkennedy Exp $ + + 07 Jun 2005; Matthew Kennedy <mkennedy@gentoo.org> +files/README.Gentoo, + +files/clc-lite.lisp, ecls-0.9f_p1.ebuild: + Minimal Common Lisp Controller support via. clc-lite.lisp 30 May 2005; <mkennedy@gentoo.org> ecls-0.9f_p1.ebuild: Keywording ~sparc diff --git a/dev-lisp/ecls/Manifest b/dev-lisp/ecls/Manifest index fa6058a6d949..dbdd76710c96 100644 --- a/dev-lisp/ecls/Manifest +++ b/dev-lisp/ecls/Manifest @@ -1,13 +1,15 @@ -MD5 4f64988d98f66a29cffcf99a0b4aa03a ChangeLog 2906 +MD5 d6a98c4fc292cb53aef1052400e9f8e5 ChangeLog 3087 MD5 3919e39c68e2886e4646f6dd01dbe091 ecls-0.9d.ebuild 1163 MD5 56dfa35ee6f95b523278bd352e2ff856 ecls-0.9e.ebuild 1198 MD5 c4fffb85c7522845dc9697f7a8f4cb49 metadata.xml 459 -MD5 fd6197f5270c4aed541a1a14961a80a9 ecls-0.9f_p1.ebuild 1438 +MD5 bde461ee5b140bef924093d88e34a995 ecls-0.9f_p1.ebuild 1549 +MD5 724bb27333efdd7d76a33649fb9cba42 files/clc-lite.lisp 3708 MD5 198230b69b41ed542ae8fa6b0c244b3d files/0.9d-headers-gentoo.patch 1031 MD5 da3449e23eb91bb9c935b607ddb29cfd files/0.9d-texinfo-gentoo.patch 1653 MD5 7704324472963a25c8e77a29f0726936 files/0.9e-headers-gentoo.patch 1007 MD5 85eaeaa0b49394eb387611e16263048b files/0.9e-texinfo-gentoo.patch 1659 MD5 7bc96db7aefcaaa816c3270fa705f453 files/digest-ecls-0.9d 58 MD5 238a130d754b44f0cbe42ad2434ae921 files/digest-ecls-0.9e 64 -MD5 2ba8aaefc66baa0e17b930bf9324a3ee files/0.9f_p1-headers-gentoo.patch 1007 +MD5 6bb1331295f4578b761ddd80c21cad65 files/README.Gentoo 1541 MD5 5bc7b2d9d3b3af9e6f6add98470aa1a3 files/digest-ecls-0.9f_p1 66 +MD5 2ba8aaefc66baa0e17b930bf9324a3ee files/0.9f_p1-headers-gentoo.patch 1007 diff --git a/dev-lisp/ecls/ecls-0.9f_p1.ebuild b/dev-lisp/ecls/ecls-0.9f_p1.ebuild index d300ee69ee44..0d36c3346817 100644 --- a/dev-lisp/ecls/ecls-0.9f_p1.ebuild +++ b/dev-lisp/ecls/ecls-0.9f_p1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/ecls/ecls-0.9f_p1.ebuild,v 1.2 2005/05/30 08:18:54 mkennedy Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/ecls/ecls-0.9f_p1.ebuild,v 1.3 2005/06/07 01:44:37 mkennedy Exp $ inherit eutils @@ -24,6 +24,8 @@ DEPEND="X? ( virtual/x11 ) IUSE="X" +PROVIDE="virtual/commonlisp" + S=${WORKDIR}/ecl-${PV:0:4} src_unpack() { @@ -54,4 +56,7 @@ src_install () { docdir=${D}/usr/share/doc/${PF} install || true dohtml doc/*.html dodoc ANNOUNCEMENT Copyright LGPL + + insinto /usr/share/doc/${PF}/ + doins ${FILESDIR}/{clc-lite.lisp,README.Gentoo} } diff --git a/dev-lisp/ecls/files/README.Gentoo b/dev-lisp/ecls/files/README.Gentoo new file mode 100644 index 000000000000..40221f9f95ba --- /dev/null +++ b/dev-lisp/ecls/files/README.Gentoo @@ -0,0 +1,30 @@ +-*- outline -*- $Id: README.Gentoo,v 1.1 2005/06/07 01:44:37 mkennedy Exp $ + +Gentoo GNU/Linux specific notes for ECL +--------------------------------------- + +This is the README.Gentoo file from /usr/share/doc/@PF@/ directory. + + * The Gentoo port includes a patch to ECL's installed header file (ech.h) so + that TRUE and FALSE are not redefined if they're already included from + elsewhere. This makes it easier to use ECL with other software which defines + those C preprocesser symbols (eg. glib-2.0). + + * Support for a kind of Common Lisp Controller is available since + dev-lisp/ecls-0.9f_p1 but not enabled by default. The controller included in + ECL simply puts /usr/share/common-lisp/systems/ into ASDF:*CENTRAL-REGISTRY* + and extends ASDF:OUTPUT-FILES so that FASLs are placed into + /var/cache/common-lisp-controller/<username>/ecl/. + + To use this controller, either copy /usr/share/doc/@PF@/clc-lite.lisp to + your ~/.eclrc or source it from there. + + * ECL versus dev-lisp/cl-*: ECL 0.9f_p1 and later will compile a lot of the + dev-lisp/cl-* ports. Quite a few ports will fail however. Should you come + across a failure, consider isolating it in an ECL without the clc-lite.lisp + code loaded. Submit your results preferably to the Gentoo Bugzilla or to + upstream if you're absolutely sure it isn't Gentoo related. + +If you encounter any problems or have suggestions, use http://bugs.gentoo.org. +Please don't bother the upstream authors unless you are absolutely certain it is +not Gentoo-related. diff --git a/dev-lisp/ecls/files/clc-lite.lisp b/dev-lisp/ecls/files/clc-lite.lisp new file mode 100644 index 000000000000..80d0a2f161d6 --- /dev/null +++ b/dev-lisp/ecls/files/clc-lite.lisp @@ -0,0 +1,112 @@ +;;;; -*- mode: common-lisp; indent-tabs-mode: nil; package: common-lisp-controller -*- + +(defpackage #:common-lisp-controller + (:use #:common-lisp)) + +(in-package #:common-lisp-controller) + +(defvar *source-root* #p"/usr/share/common-lisp/source/") + +(defvar *fasl-root* nil) + +(defvar *implementation-name* "ecl") + +(eval-when (:load-toplevel :compile-toplevel :execute) + (unless (member :asdf *features*) + (require 'asdf))) + + +;; I cut this out of CMUCL + +(defun %enough-namestring (pathname &optional (defaults *default-pathname-defaults*)) + (let* ((path-dir (pathname-directory pathname)) + (def-dir (pathname-directory defaults)) + (enough-dir + ;; Go down the directory lists to see what matches. What's + ;; left is what we want, more or less. + (cond ((and (eq (first path-dir) (first def-dir)) + (eq (first path-dir) :absolute)) + ;; Both paths are :absolute, so find where the common + ;; parts end and return what's left + (do* ((p (rest path-dir) (rest p)) + (d (rest def-dir) (rest d))) + ((or (endp p) (endp d) + (not (equal (first p) (first d)))) + `(:relative ,@p)))) + (t + ;; At least one path is :relative, so just return the + ;; original path. If the original path is :relative, + ;; then that's the right one. If PATH-DIR is + ;; :absolute, we want to return that except when + ;; DEF-DIR is :absolute, as handled above. so return + ;; the original directory. + path-dir)))) + (make-pathname :host (pathname-host pathname) + :directory enough-dir + :name (pathname-name pathname) + :type (pathname-type pathname) + :version (pathname-version pathname)))) + +;; I cut this out of the original Common Lisp Controller v4 from Debian + +(defun calculate-fasl-root () + "Inits common-lisp controller for this user" + (unless *fasl-root* + (setf *fasl-root* + ;; set it to the username of the user: + (let* (#-cmu + (homedir (pathname-directory + (user-homedir-pathname))) + ;; cmucl has searchlist home (!) + #+cmu + (homedirs (extensions:search-list "home:")) + #+cmu + (homedir (when homedirs + (pathname-directory + (first homedirs))))) + ;; strip off :re or :abs + (when (or (eq (first homedir) + :relative) + (eq (first homedir) + :absolute)) + (setf homedir (rest homedir))) + ;; if it starts with home, nuke it + (when (string= (first homedir) + "home") + (setf homedir (rest homedir))) + ;; now append *implementation-name* + (setf homedir (append homedir + (list *implementation-name*))) + ;; this should be able to cope with + ;; homedirs like /home/p/pv/pvaneynd ... + (merge-pathnames + (make-pathname + :directory `(:relative ,@homedir)) + #p"/var/cache/common-lisp-controller/"))))) + +(defun source-root-path-to-fasl-path (source) + "Converts a path in the source root into the equivalent path in the fasl root" + (calculate-fasl-root) + (merge-pathnames + (%enough-namestring source (asdf::resolve-symlinks *source-root*)) + *fasl-root*)) + +(defmethod asdf:output-files :around ((op asdf:operation) (c asdf:component)) + (let ((orig (call-next-method))) + (mapcar #'source-root-path-to-fasl-path orig))) + +(pushnew #p"/usr/share/common-lisp/systems/" asdf:*central-registry*) + +;;;; Some notes on ENOUGH-NAMESTRING on ECL + +;; NOTE enough-namestring might be broken on ECL +;; +;; > (enough-namestring #P"/usr/share/common-lisp/source/cl-ppcre/" +;; #P"/usr/share/common-lisp/source/") +;; "/usr/share/common-lisp/source/cl-ppcre/" + +: ; SBCL: +;; +;; CL-USER> (enough-namestring #P"/usr/share/common-lisp/source/cl-ppcre/" +;; #P"/usr/share/common-lisp/source/") +;; "cl-ppcre/" |