commit:     2f0913fa31bdd305f7a0ec43814a3133fa4bb344
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 18 21:55:00 2018 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Sun Mar 18 21:55:00 2018 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=2f0913fa

dev-lisp/cl-aima: Drops package

 dev-lisp/cl-aima/cl-aima-1.0.4-r1.ebuild           |  44 ---
 .../1.0.4-defsystem-and-package-lock-gentoo.patch  | 440 ---------------------
 2 files changed, 484 deletions(-)

diff --git a/dev-lisp/cl-aima/cl-aima-1.0.4-r1.ebuild 
b/dev-lisp/cl-aima/cl-aima-1.0.4-r1.ebuild
deleted file mode 100644
index 9f19fff0..00000000
--- a/dev-lisp/cl-aima/cl-aima-1.0.4-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit common-lisp-3 eutils
-
-DEB_PV=1
-
-DESCRIPTION="Common Lisp source code from Peter Norvig's Artificial 
Intelligence: A Modern Approach"
-HOMEPAGE="http://aima.cs.berkeley.edu/lisp/doc/overview.html";
-SRC_URI="mirror://gentoo/${PN}_${PV}.orig.tar.gz
-               mirror://gentoo/${PN}_${PV}-${DEB_PV}.diff.gz"
-
-LICENSE="Norvig"
-SLOT="0"
-KEYWORDS="~amd64 ~sparc ~x86"
-IUSE=""
-
-CLPACKAGE="aima"
-CLSYSTEMS="aima"
-
-src_unpack() {
-       unpack ${A}
-}
-
-src_prepare() {
-       eapply ${PN}_${PV}-${DEB_PV}.diff
-       eapply "${FILESDIR}"/${PV}-defsystem-and-package-lock-gentoo.patch
-       eapply_user
-}
-
-src_install() {
-       common-lisp-install-sources aima.lisp
-       for module in agents language learning logic search uncertainty 
utilities; do
-               find ${module} -type f -name \*.lisp -print | while read lisp; 
do \
-                       common-lisp-install-sources "${lisp}"
-               done
-               mv ${module}/README.html README-${module}.html && dohtml 
README-${module}.html
-       done
-       common-lisp-install-asdf
-       dohtml doc/*
-       find "${D}" -type f -exec chmod 644 '{}' \;
-}

diff --git 
a/dev-lisp/cl-aima/files/1.0.4-defsystem-and-package-lock-gentoo.patch 
b/dev-lisp/cl-aima/files/1.0.4-defsystem-and-package-lock-gentoo.patch
deleted file mode 100644
index f0cd518e..00000000
--- a/dev-lisp/cl-aima/files/1.0.4-defsystem-and-package-lock-gentoo.patch
+++ /dev/null
@@ -1,440 +0,0 @@
-diff -urN cl-aima-1.0.4.orig/aima.asd cl-aima-1.0.4/aima.asd
---- cl-aima-1.0.4.orig/aima.asd        1969-12-31 18:00:00.000000000 -0600
-+++ cl-aima-1.0.4/aima.asd     2005-02-05 18:10:50.000000000 -0600
-@@ -0,0 +1,107 @@
-+;;;; -*- mode: lisp; package: common-lisp -*-
-+
-+(defpackage #:aima-system
-+  (:use #:common-lisp
-+        #:asdf))
-+
-+(in-package #:aima-system)
-+
-+(defsystem #:aima
-+    :components ((:file "aima")
-+               (:module :utilities 
-+                        :serial t
-+                        :components ((:file "utilities")
-+                                     (:file "binary-tree")
-+                                     (:file "queue")
-+                                     (:file "cltl2")))
-+               (:module :agents
-+                        :serial t
-+                        :components ((:module :environments
-+                                              :serial t
-+                                              :components ((:file "basic-env")
-+                                                           (:file "grid-env")
-+                                                           (:file "vacuum")
-+                                                           (:file "wumpus")))
-+                                     (:module :agents 
-+                                              :serial t
-+                                              :components ((:file "agent")
-+                                                           (:file "vacuum")
-+                                                           (:file "wumpus")))
-+                                     (:module :algorithms
-+                                              :serial t
-+                                              :components ((:file "grid"))))
-+                        :depends-on (:utilities))
-+               (:module :logic
-+                        :serial t
-+                        :components ((:module :algorithms
-+                                              :serial t
-+                                              :components ((:file "tell-ask")
-+                                                           (:file "unify")
-+                                                           (:file "normal")
-+                                                           (:file "prop")
-+                                                           (:file "horn")
-+                                                           (:file "fol")
-+                                                           (:file "infix"))))
-+                        :depends-on (:agents))
-+               (:module :planning
-+                        :serial t
-+                        :components ())
-+               (:module :uncertainty
-+                        :serial t
-+                        :components ((:module :agents
-+                                              :serial t
-+                                              :components ((:file 
"mdp-agent")))
-+                                     (:module :domains
-+                                              :serial t
-+                                              :components ((:file "mdp")
-+                                                           (:file "4x3-mdp")))
-+                                     (:module :environments
-+                                              :serial t
-+                                              :components ((:file "mdp")))
-+                                     (:module :algorithms
-+                                              :serial t
-+                                              :components ((:file "dp")
-+                                                           (:file "stats"))))
-+                        :depends-on (:agents))
-+               (:module :learning 
-+                        :serial t
-+                        :components ((:module :algorithms
-+                                              :serial t
-+                                              :components ((:file 
"inductive-learning")
-+                                                           (:file 
"learning-curves")
-+                                                           (:file "dtl")
-+                                                           (:file "dll")
-+                                                           (:file "nn")
-+                                                           (:file 
"perceptron")
-+                                                           (:file 
"multilayer")
-+                                                           (:file 
"q-iteration")))
-+                                     (:module :domains
-+                                              :serial t
-+                                              :components ((:file 
"restaurant-multivalued")
-+                                                           (:file 
"restaurant-real")
-+                                                           (:file 
"restaurant-boolean")
-+                                                           (:file 
"majority-boolean")
-+                                                           (:file 
"ex-19-4-boolean")
-+                                                           (:file 
"and-boolean")
-+                                                           (:file 
"xor-boolean")
-+                                                           (:file 
"4x3-passive-mdp")))
-+                                     (:module :agents
-+                                              :serial t
-+                                              :components ((:file 
"passive-lms-learner")
-+                                                           (:file 
"passive-adp-learner")
-+                                                           (:file 
"passive-td-learner")
-+                                                           (:file 
"active-adp-learner")
-+                                                           (:file 
"active-qi-learner")
-+                                                           (:file 
"exploring-adp-learner")
-+                                                           (:file 
"exploring-tdq-learner"))))
-+                        :depends-on (:uncertainty))
-+               (:module :language
-+                        :serial t
-+                        :components ((:module :algorithms
-+                                              :serial t
-+                                              :components ((:file 
"chart-parse")))
-+                                     (:module :domains 
-+                                              :serial t
-+                                              :components ((:file 
"grammars")))))))
-+
-+;;;; aima.asd ends here
-diff -urN cl-aima-1.0.4.orig/aima.lisp cl-aima-1.0.4/aima.lisp
---- cl-aima-1.0.4.orig/aima.lisp       2005-02-05 17:06:50.000000000 -0600
-+++ cl-aima-1.0.4/aima.lisp    2005-02-05 17:35:46.000000000 -0600
-@@ -1,234 +1,5 @@
- ;;;  -*- Mode: Lisp; Syntax: Common-Lisp -*- File: aima.lisp
- 
--;;;; Vendor-Specific Customizations
--
--#+Lucid (setq *warn-if-no-in-package* nil)
--
--;;;; A minimal facility for defining systems of files
--
--(defparameter *aima-root* (truename "/usr/share/common-lisp/source/aima/") 
--  "The root directory where the code is stored.")
--
--(defparameter *aima-binary-type*
--  (pathname-type (compile-file-pathname "foo.lisp"))
--  "If calling aima-load loads your source files and not your compiled
--  binary files, insert the file type for your binaries before the <<<<
--  and load systems with (aima-load-binary NAME).")
--
--(defvar *aima-version*
--  "0.99 AIMA Code, Appomattox Version, 09-Apr-2002")
--
--(defparameter *aima-system-names* nil
--  "A list of names of the systems that have been defined.")
--
--(defstruct aima-system
--  name (requires nil) (doc "") (parts nil) (examples nil) (loaded? nil))
--
--;;;; The Top-Level Functions:
--
--(defmacro def-aima-system (name requires doc &body parts)
--  "Define a system as a list of parts.  A part can be a string, which denotes
--  a file name; or a symbol, which denotes a (sub)system name; or a list of the
--  form (subdirectory / part...), which means the parts are in a subdirectory.
--  The REQUIRES argument is a list of systems that must be loaded before this 
--  one.  Note that a documentation string is mandatory."
--  `(add-aima-system :name ',name
--                  :requires ',requires :doc ',doc :parts ',parts))
--
--(defun aima-load (&optional (name 'all))
--  "Load file(s), trying the system-dependent method first."
--  (operate-on-aima-system name 'load-something))
--
--(defun aima-load-binary (&optional (name 'all))
--  "Load file(s), prefering binaries to source."
--  (operate-on-aima-system name 'load-binary))                   
--
--(defun aima-compile (&optional (name 'everything))
--  "Compile (and load) the file or files that make up an AIMA system."
--  (operate-on-aima-system name 'compile-load))
--
--(defun aima-load-if-unloaded (name)
--  (let ((system (get-aima-system name)))
--    (unless (and system (aima-system-loaded? system))
--      (aima-load system))
--    system))
--
--;;;; Support Functions
--
--(defun add-aima-system (&key name requires doc parts examples)
--  (pushnew name *aima-system-names*)
--  (setf (get 'aima-system name)
--      (make-aima-system :name name :examples examples
--                        :requires requires :doc doc :parts parts)))
--
--(defun get-aima-system (name)
--  "Return the system with this name.  (If argument is a system, return it.)"
--  (cond ((aima-system-p name) name)
--      ((symbolp name) (get 'aima-system name))
--      (t nil)))
--
--(defun operate-on-aima-system (part operation &key (path nil) (load t)
--                                  (directory-operation #'identity))
--  "Perform the operation on the part (or system) and its subparts (if any).
--  Reasonable operations are load, load-binary, compile-load, and echo.
--  If LOAD is true, then load any required systems that are unloaded."
--  (let (system)
--    (cond
--     ((stringp part) (funcall operation (aima-file part :path path)))
--     ((and (consp part) (eq (second part) '/))
--      (let* ((subdirectory (mklist (first part)))
--           (new-path (append path subdirectory)))
--      (funcall directory-operation new-path)
--      (dolist (subpart (nthcdr 2 part))
--        (operate-on-aima-system subpart operation :load load 
--                                :path new-path
--                                :directory-operation directory-operation))))
--     ((consp part)
--      (dolist (subpart part)
--      (operate-on-aima-system subpart operation :load load :path path
--                              :directory-operation directory-operation)))
--     ((setf system (get-aima-system part))
--      ;; Load the required systems, then operate on the parts
--      (when load (mapc #'aima-load-if-unloaded (aima-system-requires system)))
--      (operate-on-aima-system (aima-system-parts system) operation
--                            :load load :path path
--                            :directory-operation directory-operation)
--      (setf (aima-system-loaded? system) t))
--     (t (warn "Unrecognized part: ~S in path ~A" part path)))))
--
--(defun aima-file (name &key (type nil) (path nil))
--  "Given a file name and maybe a file type and a relative path from the 
--  AIMA directory, return the right complete pathname."
--  (make-pathname :name name :type type :defaults *aima-root*
--               :directory (append (pathname-directory *aima-root*)
--                                  (mklist path))))
--
--(defun >-num (x y)
--  "Return if x and y are numbers, and x > y"
--  (and (numberp x) (numberp y) (> x y)))
--
--(defun newer-file-p (file1 file2)
--  "Is file1 newer (written later than) file2?"
--  (>-num (if (probe-file file1) (file-write-date file1))
--       (if (probe-file file2) (file-write-date file2))))
--
--(defun compile-load (file)
--  "Compile file and then load it."
--  ;; This could be made more sophisticated, to compile only when out of date.
--  (let ((source (file-with-type file "lisp"))
--      (binary (file-with-type file 'binary)))
--    (when (or (not (probe-file binary))
--            (newer-file-p source binary))
--      (ensure-directories-exist binary)
--      (compile-file source :output-file binary))
--    (load-binary file)))
--
--(defun load-binary (file)
--  "Load file, trying the binary first, but loading the source if necessary."
--  (load-something file '(binary nil "lisp")))
--
--(defun load-something (file &optional (types '(nil binary "lisp")))
--  "Try each of the types in turn until we get a file that loads.
--  Complain if we can't find anything.  By default, try the system-dependent
--  method first, then the binary, and finally the source (lisp) file."
--  (dolist (type types (warn "Can't find file: ~A" file))
--    (when (load (file-with-type file type) :if-does-not-exist nil)
--      (return t))))
--
--(defun file-with-type (file type)
--  "Return a pathname with the given type."
--  (cond
--    ((null type)
--     file)
--    ((eq type 'binary)
--     (merge-pathnames
--      (make-pathname :type *aima-binary-type*
--                   #+common-lisp-controller :directory
--                   #+common-lisp-controller
--                   (pathname-directory
--                    (c-l-c:source-root-path-to-fasl-path
--                     (namestring
--                      (asdf::resolve-symlinks
--                       (make-pathname :defaults file :type "lisp"))))))
--      file))
--    (t
--     (make-pathname :defaults file :type type))))
--
- (defun mklist (x)
-   "If x is a list, return it; otherwise return a singleton list, (x)."
-   (if (listp x) x (list x)))
--
--;;; ----------------------------------------------------------------------
--;;;; Definitions of Systems
--;;; ----------------------------------------------------------------------
--
--(def-aima-system utilities ()
--  "Basic functions that are loaded every time, and used by many other 
systems."
--  ("utilities" / "utilities" "binary-tree" "queue" "cltl2" "test-utilities"))
--
--(def-aima-system agents (utilities)
--  "Code from Part I: Agents and Environments"
--  ("agents" / "test-agents"
--   ("environments" / "basic-env" "grid-env" "vacuum" "wumpus")
--   ("agents" / "agent" "vacuum" "wumpus")
--   ("algorithms" / "grid")))
--
--(def-aima-system search (agents)
--  "Code from Part II: Problem Solving and Search"
--  ("search" / "test-search" 
--   ("algorithms" / "problems" "simple" "repeated" 
--    "csp" "ida" "iterative" "sma" "minimax")
--   ("environments" / "games" "prob-solve")
--   ("domains" / "cannibals" "ttt" "cognac" "nqueens" "path-planning" 
--    "puzzle8" "route-finding" "tsp" "vacuum")
--   ("agents" / "ps-agents" "ttt-agent")))
--
--(def-aima-system logic (agents)
--  "Code from Part III: Logic, Inference, and Knowledge Representation"
--   ("logic" / "test-logic"
--    ("algorithms" / "tell-ask" "unify" "normal" "prop" "horn" "fol" "infix")
--    ("environments" / "shopping")))
--
--(def-aima-system planning ()
--  "Code from Part IV: Planning and Acting"
--   ("planning" / ))
--
--(def-aima-system uncertainty (agents)
--  "Code from Part V: Uncertain Knowledge and Reasoning"
--  ("uncertainty" / "test-uncertainty"
--   ("agents" / "mdp-agent")
--   ("domains" / "mdp" "4x3-mdp")
--   ("environments" / "mdp")
--   ("algorithms" / "dp" "stats")))
--
--(def-aima-system learning (uncertainty)
--  "Code from Part VI: Learning"
--   ("learning" / "test-learning"
--    ("algorithms" / "inductive-learning" "learning-curves" "dtl" "dll"
--     "nn" "perceptron" "multilayer" "q-iteration")
--    ("domains" / "restaurant-multivalued" "restaurant-real"
--     "restaurant-boolean" "majority-boolean" "ex-19-4-boolean"
--     "and-boolean" "xor-boolean" "4x3-passive-mdp")
--    ("agents" / "passive-lms-learner" "passive-adp-learner"
--     "passive-td-learner" "active-adp-learner" "active-qi-learner"
--     "exploring-adp-learner" "exploring-tdq-learner")))
--
--(def-aima-system language (logic)
--  "Code from Part VII, Chapters 22-23: Natural Language and Communication"
--   ("language" / "test-language"
--    ("algorithms" / "chart-parse")
--    ("domains" / "grammars" )))
--
--(def-aima-system all ()
--  "All systems except the utilities system, which is always already loaded"
--  agents search logic planning uncertainty learning language)
--
--(def-aima-system everything ()
--  "All the code, including the utilities"
--  utilities all)
--
--(setf *aima-system-names* (nreverse *aima-system-names*))
--
--;;;; Always load the utilities
--
--(aima-load 'utilities)
-diff -urN cl-aima-1.0.4.orig/utilities/utilities.lisp 
cl-aima-1.0.4/utilities/utilities.lisp
---- cl-aima-1.0.4.orig/utilities/utilities.lisp        2005-02-05 
17:06:50.000000000 -0600
-+++ cl-aima-1.0.4/utilities/utilities.lisp     2005-02-05 18:18:33.000000000 
-0600
-@@ -15,7 +15,11 @@
-   #+clisp
-   (dolist (pkg '(excl common-lisp common-lisp-user))
-     (setf (ext:package-lock (find-package pkg)) nil))
--  )
-+  #+cmu
-+  (let ((package (find-package "EXTENSIONS")))
-+    (when package
-+      (setf (ext:package-lock package) nil)
-+      (setf (ext:package-definition-lock package) nil))))
- 
- ;;;; Control Flow Macros
- 
-@@ -451,74 +455,3 @@
-   "Echo all the args when *debugging* is true.  Return the first one."
-   (when *debugging* (format t "~&~{~S ~}~%" args))
-   (first args))
--
--;;;; Testing Tool: deftest and test
--
--(defmacro deftest (name &rest examples)
--  "Define a set of test examples.  Each example is of the form (exp test)
--  or (exp).  Evaluate exp and see if the result passes the test. Within the
--  test, the result is bound to *.  The example ((f 2))) has no test to
--  fail, so it alweays passes the test.  But ((+ 2 2) (= * 3)) has the test
--  (= * 3), which fails because * will be bound to the result 4, so the test
--  fails.  Call (TEST name) to count how many tests are failed within the
--  named test.  NAME is the name of an aima-system."
--  `(add-test ',name ',examples))
--
--(defun add-test (name examples)
--  "The functional interface for deftest: adds test examples to a system."
--  (let ((system (or (get-aima-system name)
--                  (add-aima-system :name name :examples examples))))
--    (setf (aima-system-examples system) examples))
--  name)
--
--(defun test (&optional (name 'all) (print? 't))
--  "Run a test suite and sum the number of errors.  If all is well, this
--  should return 0.  The second argument says what to print: nil for
--  nothing, t for everything, or FAIL for just those examples that fail.
--  If there are no test examples in the named system, put the system has
--  other systems as parts, run the tests for all those and sum the result."
--  (let ((*print-pretty* t)
--      (*standard-output* (if print? *standard-output*
--                           (make-broadcast-stream)))
--      (system (aima-load-if-unloaded name)))
--    (cond ((null system) (warn "No such system as ~A." name))
--        ((and (null (aima-system-examples system))
--              (every #'symbolp (aima-system-parts system)))
--         (sum  (aima-system-parts system)
--               #'(lambda (part) (test part print?))))
--          (t (when print? (format t "Testing System ~A~%" name))
--           (let ((errors (count-if-not #'(lambda (example) 
--                                           (test-example example print?))
--                         (aima-system-examples system))))
--             (format *debug-io* "~%~2D error~P on system ~A~%"
--                     errors errors name)
--             errors)))))
--
--(defun test-example (example &optional (print? t))
--  "Does the EXP part of this example pass the TEST?"
--  (if (stringp example)
--      (progn
--        (when (eq print? t)
--          (format t "~&;;; ~A~%" example))
--        t)
--    (let* ((exp (first example))
--         (* nil)
--         (test (cond ((null (second example)) t)
--                     ((constantp (second example))
--                      `(equal * ,(second example)))
--                     (t (second example))))
--           test-result)
--      (when (eq print? t)
--        (format t "~&> ~S~%" exp))
--      (setf * (eval exp))
--      (when (eq print? t)
--        (format t "~&~S~%" *))
--      (setf test-result (eval test))
--      (when (null test-result)
--        (case print?
--          ((FAIL) (format t "~&;;; FAILURE on ~S; expected ~S, got:~%;;; ~S~%"
--                          exp test *))
--          ((T) (format t "~&;;; FAILURE: expected ~S" test))
--          (otherwise)))
--      test-result)))
--  

Reply via email to