Add current version and live ebuild of package CLX. Should replace package cl-clx
authorJosé María Alonso <nimiux@gentoo.org>
Tue, 23 Dec 2014 19:41:55 +0000 (19:41 +0000)
committerJosé María Alonso <nimiux@gentoo.org>
Tue, 23 Dec 2014 19:41:55 +0000 (19:41 +0000)
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0xF253DB15

dev-lisp/clx/Manifest
dev-lisp/clx/clx-0.7.4.ebuild [new file with mode: 0644]
dev-lisp/clx/clx-9999.ebuild [new file with mode: 0644]
dev-lisp/clx/files/gentoo-fix-asd.patch [new file with mode: 0644]
dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch [new file with mode: 0644]
dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch [new file with mode: 0644]
dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch [new file with mode: 0644]
dev-lisp/clx/files/gentoo-fix-unused-vars.patch [new file with mode: 0644]
dev-lisp/clx/metadata.xml [new file with mode: 0644]

index c50eabd00259475e943915d9ec8b4745cca505ee..9d8fe3e1cc825cffd4edf80a19bf23c04447026b 100644 (file)
@@ -1,10 +1,30 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
 AUX gentoo-fix-asd.patch 11298 SHA256 9a9fe8c95020cbadbac7f283ce37abd346d550f9136d53807e8138e58534120d SHA512 80702eca8ae22affb3dc77ffddb1daac0740857d9deca157c650dea15691e4feeaf7d4a0220d3705111bbbb317a02c3adaae7e293bc219346eebb2dc1f598a9e WHIRLPOOL b0fb4f6890ad22f97801c2b36211f621c853cde5f6c0098feee08d777df90391d5e1c3028f5e3ab6d701f58670ea73358fa82909a48126303dc2fedbd6161a9c
 AUX gentoo-fix-dep-openmcl.patch 905 SHA256 c3d06020eb70df215de7b72b29af207d45239c908e3d0149ca8a3e40c6e70d76 SHA512 fdef997e33ffec46b4c28393faada80165b866398668eb1a6db5182586175cb264fdac462f4e3441d546dc3a195845ee92a1a7eae736da62c8741f9b7dd48612 WHIRLPOOL 092e93a6b7748a448354de56b70e4f3310575d5ebddd4916e443fbba1b9b513b1e448362c60437522c838022fa220725a9c83487292dc98fa282d548437590f2
 AUX gentoo-fix-dynamic-extent-sbcl-1.0.45.patch 600 SHA256 f3925863e607b5ec2bc96f891b11b89818feb5c17d985766c7c0e69e098000fd SHA512 97089c5e6b08b410ca26267116a4f7958b12d2ff93740292f53335a3d25a2b9f188f5afef75190db1648171eadaa62b6cec68425d410e87f7a6b97b5678102b6 WHIRLPOOL 42a86c5d1f76622b7bcbd0cac84aedc8ab30591ade84ee29e387cc3b98c155ba3cb1ce9a0352c5829b238f186cf2c6f5c1ce55716efcdae450dd1760c8a69287
 AUX gentoo-fix-obsolete-eval-when.patch 435 SHA256 7c7b3d17102223a6f0c24d31e7942880977ba4de422b51d189fac9c8a298c197 SHA512 0f3db1aa5d7a2f9a9e88f61d04633d399337fac517f7d4ee17bf88968f9bfe32f3105562dbe454b0bbaf91b4afe48c1361fbb2c492a3c6e4250426ea15a39610 WHIRLPOOL 6479f8564f374a21554ddb7b6909266c10d5682d18079c5ddd282183444faef269f93f533eb07f9b5820b9f41e98f7e775993d4c48f249f951c8113373c7eb09
 AUX gentoo-fix-unused-vars.patch 3139 SHA256 08a548efa8d7c69b41cf208a16efd42cf78aebaf3f529aa6b35f23ecfacd0b57 SHA512 fbb4d2e5866568adaed0534beb0f126792fc3d30880f2727fce7b62dcb0d57cb8367e1924ef52beb513a7a84f1b816832fa6d2f1605bda6354c075dc4db2b458 WHIRLPOOL 97b35c46cc206cfd849c48f6bef73ac0f22edc7bf9af910cd765479a58b2193e69e06c658f24ff6180b0face83d56a19f09ae03b2e4a58da7aaa650598dc9b56
 DIST clx-0.7.4.tgz 444490 SHA256 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028 SHA512 07f93735bee25c8a6d8cccaa0755efa0b750954cbeab70d9db69bf51f1cf4eb7918c0225b9ae2834b11ebb261a857eea0f60b70e4044ccbe96ecb32c3ac31278 WHIRLPOOL af49b2dca591fd234c8b790867286383fc4fd32091415cc6c78b904bd7a3bff2e65c923553fe0bad41d83eb91fc74d801925ea9613c31c2f24a484ba0bb699ae
-EBUILD clx-0.7.4.ebuild 1270 SHA256 60a0af65254d135711eb5c086c20ad6884cdf8698a6f804251966904cd2311cb SHA512 35cbd46b8f6e61ef6e0bb98f94b50a0e56ce2305b03a7cb877cc9d5c3f3742823da93b73702f46d5fa4c08663b9c4cff42c018746cfb2ee092d4f41fdc98fdf2 WHIRLPOOL 039165a0885a853bd501188d109a99dbe785db92f95dd6dab34de7bb9ae0f831bf74eec0f1139e2645fba445d2d9bac778cfa8a3dc0e06bdeb2b2b8147c9d753
-EBUILD clx-9999.ebuild 449 SHA256 051405afc2ce2413d55b6ab14676e6a2560adeed5c7f82e4c6909fc21bf978b3 SHA512 99723109cf9a0b08bac7062fdac6437e0023d6045eaa9754b556cff6db6aeee2a35dbde140a02f0a631e3c8c68083b108c3c7ec7efe37690643bca46a0028de7 WHIRLPOOL 5b771ce38073e0aa5fbdb62cc89cd750ce8e2f55cddf5e39203ff26d85964561df9bcd024f21b0106ba5920eeac30515638ff9ed9c0f09be4e7ef54c2a934c61
-MISC ChangeLog 557 SHA256 8d5d5b077dcd3257ac7d318e1372372a1d938ec03c376052e3614f7bde5f6718 SHA512 51c961fcb5da939c9ad9e10033b6b18f8203ed5034251881ca9a9453a9801af3cc28ea5a93b36ad6eab7512b1681030c8d03f50fb3881975e3589dcfdaaf773a WHIRLPOOL 470b7a0d15ac79a8da224c5cf6a0c80b092eb2bf31c512b2024690820168d68f50088c9a96bd6e3743bbdec4da884baedd6480ac24fe9dee4de7eaecfd8734a6
+EBUILD clx-0.7.4.ebuild 1361 SHA256 a0dcc70894b83e8f7f0141db460bd406bd40d05a60f50ae71501e1cc0720f025 SHA512 29f0333252870b2d073e0c46c287dba0d58bf2a041fcebf80bbf01f6d51d796c53d8dae87e9a697a849b916684fc5dd1b3b48c9e96344c96fc4b6384648dafac WHIRLPOOL d5a2fd6adb9b8b696e3ed1c78f59624088205db71a0aba3a39398c669c66387a8d7e0dc303820b435da2cb15e5adef36e5ecf04f75a621f7fe9c845e51019f2a
+EBUILD clx-9999.ebuild 539 SHA256 93953609c8f56ce3b76d7dc5428386d34532d004730b8da321a4fdc2ce480086 SHA512 56f92b1b8f66523b6afdd1c58e68019b16887589fddab96b7953691bb1c1450521779870d9f1ca105d86fbe1067fc66c6f3c610631f1988f969dcc30a860e172 WHIRLPOOL 70a3d05324527178b26196024a3cda4b58a33afef9025c1e3cd2560d340ec5bb362fa6869ea323cdb02e4ea2cd383886106ac6cb18a95e7f299a66961343d4eb
+MISC ChangeLog 641 SHA256 0f5630224acb8cc68142ac9d1e6038d32f895c3a5231d6c2bb20432894f741d9 SHA512 3c3fa8856c27646a80176b46cf94d4621cd2f3ecd53b98c81f86bb7b1a2b6b075026d0facec191b5fae0cac78dadcfd1b8dd0f241e2266d22b490096dc796088 WHIRLPOOL f5727285b120732f68e72fc967ee4ccbf89d14f240d86abb85fe08f962c37d82a3f2892bc20b695748e5f9f1dad431982c71338f330c4e72e35dc8fbaccd4749
 MISC metadata.xml 765 SHA256 58f1ca0594369e154b42fbe08dead4ee294d892f165d29129cbf0d72c7a38b99 SHA512 7ed2ba0f81f756ae60fdc0067c57214dcaa9f0fe555d511b0c82f6e1bb498593c763943f660511104dd24360f7328f0291608d6bef3e6c873488eaa431345244 WHIRLPOOL 2cb85143bba85abb596eb26989ba0dab11b7149fec94a17947ff5557d30510ade34492d8a2c92727fc408e8414b75905e7c95084eaca55857cb24252171cca23
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iQIcBAEBCAAGBQJUmcX2AAoJEH/rgyzyU9sViq8P/A9JuCTCq6bDAEm+1SITUmEA
+jNG0Z0tNXpmHpmTHljZflHLXvTsxF6A16HZGTYWD0K8/HUUp5ZS5CLWLAIqB/JK1
+/0YE0PScKBzcKZBa2a5vf+6mOzmzta4vZyPK78wLsC+jsja5WthkBGU1Qqcr6HND
+INCoeNbDAbt6kc1seRmU2zfCJqi8GY8TcsK+uc4PzvZBj9YAFkixGKPApq1vSYsq
+Ly/cMQbH3BSnROu+crCpUi+l1HWsB/8xY4Nx6vBz2vu1mxotr0ZmEqNXuku8zTot
+4sGeiKT7cHI9UVXStSdQcOrVmSWyK3UGq4dm3MCbevrlMvs6EBcYG3aA+R4fFDHv
+m+V9IxuIFcoXI6qwuIWaItvzuOwttU3ldLF+VSvGPFHmVS2JJ3Hmto7st1rqZTEV
+gSrklOjqWG1c5oBXWgimXct7EKFiFPBIntLnJ10Fxf2aUOfBMKhyITF9AG3j5cgI
+fLtoajZdLi5gWrzzDqAYRSLRl3wgqlF8gnSHJFVmiwwtmHgaP+PVkg0YMEZnppdJ
+Vau+mTxWxh5glip0WkPkvXWLu4cja2W1dvtExnGTZXdbmnrqPZr88cuPfbtUrOZr
+Gx0MUCHoOIdpL/IgEHJQJ80vb2bLuxhel9m/nHWNMRhD1PdVBFliMOVMi8TZSGgC
+gGoUg+S/daqM03fC/F9x
+=VmFS
+-----END PGP SIGNATURE-----
diff --git a/dev-lisp/clx/clx-0.7.4.ebuild b/dev-lisp/clx/clx-0.7.4.ebuild
new file mode 100644 (file)
index 0000000..369d2f3
--- /dev/null
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/clx/clx-0.7.4.ebuild,v 1.1 2014/12/23 19:41:47 nimiux Exp $
+
+EAPI=5
+
+inherit common-lisp-3 eutils
+
+DESCRIPTION="CLX is the Common Lisp interface to the X11 protocol primarily for SBCL."
+HOMEPAGE="http://www.cliki.net/CLX"
+SRC_URI="http://common-lisp.net/~abridgewater/dist/${PN}/${P}.tgz"
+
+LICENSE="CLX"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="doc"
+
+DEPEND="sys-apps/texinfo
+               doc? ( virtual/texi2dvi )"
+RDEPEND="!dev-lisp/cl-${PN}"
+
+src_prepare() {
+       rm -v {exclcmac,sockcl,defsystem,provide,cmudep}.lisp || die
+       epatch "${FILESDIR}"/gentoo-fix-asd.patch
+       epatch "${FILESDIR}"/gentoo-fix-dep-openmcl.patch
+       epatch "${FILESDIR}"/gentoo-fix-unused-vars.patch
+       epatch "${FILESDIR}"/gentoo-fix-obsolete-eval-when.patch
+       epatch "${FILESDIR}"/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch
+}
+
+src_compile() {
+       cd manual || die
+       makeinfo ${PN}.texinfo -o ${PN}.info || die "Cannot compile info docs"
+       if use doc ; then
+               VARTEXFONTS="${T}"/fonts \
+                       texi2pdf ${PN}.texinfo -o ${PN}.pdf || die "Cannot build PDF docs"
+       fi
+}
+
+src_install() {
+       common-lisp-install-sources *.lisp debug demo test
+       common-lisp-install-asdf
+       dodoc NEWS CHANGES README*
+       doinfo manual/${PN}.info
+       use doc && dodoc manual/${PN}.pdf
+}
diff --git a/dev-lisp/clx/clx-9999.ebuild b/dev-lisp/clx/clx-9999.ebuild
new file mode 100644 (file)
index 0000000..3db01a7
--- /dev/null
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/clx/clx-9999.ebuild,v 1.1 2014/12/23 19:41:47 nimiux Exp $
+
+EAPI=5
+
+inherit common-lisp-3 git-2
+
+DESCRIPTION="A fork of crhodes' fork of danb's fork of the CLX library, an X11 client for Common Lisp"
+HOMEPAGE="https://github.com/sharplispers/clx http://www.cliki.net/CLX"
+EGIT_REPO_URI="git://github.com/sharplispers/clx.git"
+
+LICENSE="CLX"
+SLOT="0"
+IUSE=""
+
+RDEPEND="!dev-lisp/cl-${PN}"
diff --git a/dev-lisp/clx/files/gentoo-fix-asd.patch b/dev-lisp/clx/files/gentoo-fix-asd.patch
new file mode 100644 (file)
index 0000000..62ad587
--- /dev/null
@@ -0,0 +1,303 @@
+diff -ur clx-0.7.4.orig/clx.asd clx-0.7.4/clx.asd
+--- clx-0.7.4.orig/clx.asd     2009-11-28 16:43:30.000000000 +0100
++++ clx-0.7.4/clx.asd  2009-11-29 22:29:11.000000000 +0100
+@@ -21,116 +21,80 @@
+ ;;; or implied warranty.
+ 
+ (defpackage :clx-system (:use :cl :asdf))
+-(in-package :clx-system)  
++(in-package :clx-system)
+ 
+ (pushnew :clx-ansi-common-lisp *features*)
+ 
+ (defclass clx-source-file (cl-source-file) ())
+ (defclass xrender-source-file (clx-source-file) ())
+ 
+-;;; CL-SOURCE-FILE, not CLX-SOURCE-FILE, so that we're not accused of
+-;;; cheating by rebinding *DERIVE-FUNCTION-TYPES* :-)
+-(defclass example-source-file (cl-source-file) ())
+-
+-(defclass legacy-file (static-file) ())
+-
+-(defsystem CLX
+-    :depends-on (#+sbcl sb-bsd-sockets)
+-    :version "0.7.2"
+-    :serial t
+-    :default-component-class clx-source-file
++(defsystem clx
++  :depends-on (#+sbcl :sb-bsd-sockets)
++  :version "0.7.4"
++  :serial t
++  :default-component-class clx-source-file
++  :components
++  ((:file "package")
++   (:file "depdefs")
++   (:file "clx")
++   #-(or openmcl allegro) (:file "dependent")
++   #+openmcl (:file "dep-openmcl")
++   #+allegro (:file "dep-allegro")
++   (:file "macros")
++   (:file "bufmac")
++   (:file "buffer")
++   (:file "display")
++   (:file "gcontext")
++   (:file "input")
++   (:file "requests")
++   (:file "fonts")
++   (:file "graphics")
++   (:file "text")
++   (:file "attributes")
++   (:file "translate")
++   (:file "keysyms")
++   (:file "manager")
++   (:file "image")
++   (:file "resource")
++   #+allegro
++   (:file "excldep" :pathname "excldep.lisp")
++   (:module extensions
++    :pathname #.(make-pathname :directory '(:relative))
+     :components
+-    ((:file "package")
+-     (:file "depdefs")
+-     (:file "clx")
+-     #-(or openmcl allegro) (:file "dependent")
+-     #+openmcl (:file "dep-openmcl")
+-     #+allegro (:file "dep-allegro")
+-     (:file "macros")
+-     (:file "bufmac")
+-     (:file "buffer")
+-     (:file "display")
+-     (:file "gcontext")
+-     (:file "input")
+-     (:file "requests")
+-     (:file "fonts")
+-     (:file "graphics")
+-     (:file "text")
+-     (:file "attributes")
+-     (:file "translate")
+-     (:file "keysyms")
+-     (:file "manager")
+-     (:file "image")
+-     (:file "resource")
+-     #+allegro
+-     (:file "excldep" :pathname "excldep.lisp")
+-     (:module extensions
+-            :pathname #.(make-pathname :directory '(:relative))
+-            :components
+-            ((:file "shape")
+-             (:file "big-requests")
+-             (:file "xvidmode")
+-             (:xrender-source-file "xrender")
+-               (:file "glx")
+-               (:file "gl" :depends-on ("glx"))
+-             (:file "dpms")
+-               (:file "xtest")
+-               (:file "screensaver")
+-               (:file "xinerama")))
+-     (:module demo
+-            :default-component-class example-source-file
+-            :components
+-            ((:file "bezier")
+-             ;; KLUDGE: this requires "bezier" for proper operation,
+-             ;; but we don't declare that dependency here, because
+-             ;; asdf doesn't load example files anyway.
+-             (:file "beziertest")
+-             (:file "clclock")
+-               (:file "clipboard")
+-             (:file "clx-demos")
+-             (:file "gl-test")
+-             ;; FIXME: compiling this generates 30-odd spurious code
+-             ;; deletion notes.  Find out why, and either fix or
+-             ;; workaround the problem.
+-             (:file "mandel")
+-             (:file "menu")
+-             (:file "zoid")))
+-     (:module test
+-            :default-component-class example-source-file
+-            :components
+-            ((:file "image")
+-             ;; KLUDGE: again, this depends on "zoid"
+-             (:file "trapezoid")))
+-     (:static-file "NEWS")
+-     (:static-file "CHANGES")
+-     (:static-file "README")
+-     (:static-file "README-R5")
+-     (:legacy-file "exclMakefile")
+-     (:legacy-file "exclREADME")
+-     (:legacy-file "exclcmac" :pathname "exclcmac.lisp")
+-     (:legacy-file "excldepc" :pathname "excldep.c")
+-     (:legacy-file "sockcl" :pathname "sockcl.lisp")
+-     (:legacy-file "socket" :pathname "socket.c")
+-     (:legacy-file "defsystem" :pathname "defsystem.lisp")
+-     (:legacy-file "provide" :pathname "provide.lisp")
+-     (:legacy-file "cmudep" :pathname "cmudep.lisp")
+-     (:module manual
+-            ;; TODO: teach asdf how to process texinfo files
+-            :components ((:static-file "clx.texinfo")))
+-     (:module debug
+-            :default-component-class legacy-file
+-            :components
+-            ((:file "debug" :pathname "debug.lisp")
+-             (:file "describe" :pathname "describe.lisp")
+-             (:file "event-test" :pathname "event-test.lisp")
+-             (:file "keytrans" :pathname "keytrans.lisp")
+-             (:file "trace" :pathname "trace.lisp")
+-             (:file "util" :pathname "util.lisp")))))
+-
+-(defmethod perform ((o load-op) (f example-source-file))
+-  ;; do nothing.  We want to compile them when CLX is compiled, but
+-  ;; not load them when CLX is loaded.
+-  t)
++    ((:file "shape")
++     (:file "big-requests")
++     (:file "xvidmode")
++     (:xrender-source-file "xrender")
++     (:file "glx")
++     (:file "gl" :depends-on ("glx"))
++     (:file "dpms")
++     (:file "xtest")
++     (:file "screensaver")
++     (:file "xinerama")))))
++
++(defsystem clx-test
++  :depends-on (:clx)
++  :serial t
++  :components
++  ((:file "image")
++   (:file "trapezoid")))
++
++(defsystem clx-demo
++  :depends-on (:clx)
++  :serial t
++  :components
++  ((:file "bezier")
++   (:file "beziertest")
++   (:file "clclock")
++   (:file "clipboard")
++   (:file "clx-demos")
++   (:file "gl-test")
++   ;; FIXME: compiling this generates 30-odd spurious code
++   ;; deletion notes.  Find out why, and either fix or
++   ;; workaround the problem.
++   (:file "mandel")
++   (:file "menu")
++   (:file "zoid")))
+ 
+ #+sbcl
+ (defmethod perform :around ((o compile-op) (f xrender-source-file))
+@@ -146,35 +110,35 @@
+   ;; without STYLE-WARNINGs.  Since it currently does, let's enforce
+   ;; it here so that we can catch regressions easily.
+   (let ((on-warnings (operation-on-warnings o))
+-      (on-failure (operation-on-failure o)))
++        (on-failure (operation-on-failure o)))
+     (unwind-protect
+-       (progn
+-         (setf (operation-on-warnings o) :error
+-               (operation-on-failure o) :error)
+-         ;; a variety of accessors, such as AREF-CARD32, are not
+-         ;; declared INLINE.  Without this (non-ANSI)
+-         ;; static-type-inference behaviour, SBCL emits an extra 100
+-         ;; optimization notes (roughly one fifth of all of the
+-         ;; notes emitted).  Since the internals are unlikely to
+-         ;; change much, and certainly the internals should stay in
+-         ;; sync, enabling this extension is a win.  (Note that the
+-         ;; use of this does not imply that applications using CLX
+-         ;; calls that expand into calls to these accessors will be
+-         ;; optimized in the same way).
+-         (let ((sb-ext:*derive-function-types* t)
++         (progn
++           (setf (operation-on-warnings o) :error
++                 (operation-on-failure o) :error)
++           ;; a variety of accessors, such as AREF-CARD32, are not
++           ;; declared INLINE.  Without this (non-ANSI)
++           ;; static-type-inference behaviour, SBCL emits an extra 100
++           ;; optimization notes (roughly one fifth of all of the
++           ;; notes emitted).  Since the internals are unlikely to
++           ;; change much, and certainly the internals should stay in
++           ;; sync, enabling this extension is a win.  (Note that the
++           ;; use of this does not imply that applications using CLX
++           ;; calls that expand into calls to these accessors will be
++           ;; optimized in the same way).
++           (let ((sb-ext:*derive-function-types* t)
+                  (sadx (find-symbol "STACK-ALLOCATE-DYNAMIC-EXTENT" :sb-c))
+                  (sadx-var (find-symbol "*STACK-ALLOCATE-DYNAMIC-EXTENT*" :sb-ext)))
+-           ;; deeply unportable stuff, this.  I will be shot.  We
+-           ;; want to enable the dynamic-extent declarations in CLX.
+-           (when (and sadx (sb-c::policy-quality-name-p sadx))
+-             ;; no way of setting it back short of yet more yukky stuff
+-             (proclaim `(optimize (,sadx 3))))
++             ;; deeply unportable stuff, this.  I will be shot.  We
++             ;; want to enable the dynamic-extent declarations in CLX.
++             (when (and sadx (sb-c::policy-quality-name-p sadx))
++               ;; no way of setting it back short of yet more yukky stuff
++               (proclaim `(optimize (,sadx 3))))
+              (if sadx-var
+                  (progv (list sadx-var) (list t)
+                    (call-next-method))
+                  (call-next-method))))
+       (setf (operation-on-warnings o) on-warnings
+-          (operation-on-failure o) on-failure))))
++            (operation-on-failure o) on-failure))))
+ 
+ #+sbcl
+ (defmethod perform :around (o (f clx-source-file))
+@@ -186,31 +150,31 @@
+   ;; structured data is sufficiently equal.
+   (handler-bind
+       ((sb-ext:defconstant-uneql
+-         (lambda (c)
+-           ;; KLUDGE: this really means "don't warn me about
+-           ;; efficiency of generic array access, please"
+-           (declare (optimize (sb-ext:inhibit-warnings 3)))
+-           (let ((old (sb-ext:defconstant-uneql-old-value c))
+-                 (new (sb-ext:defconstant-uneql-new-value c)))
+-             (typecase old
+-               (list (when (equal old new) (abort c)))
+-               (string (when (and (typep new 'string)
+-                                  (string= old new))
+-                         (abort c)))
+-               (simple-vector
+-                (when (and (typep new 'simple-vector)
+-                           (= (length old) (length new))
+-                           (every #'eql old new))
+-                  (abort c)))
+-               (array
+-                (when (and (typep new 'array)
+-                           (equal (array-dimensions old)
+-                                  (array-dimensions new))
+-                           (equal (array-element-type old)
+-                                  (array-element-type new))
+-                           (dotimes (i (array-total-size old) t)
+-                             (unless (eql (row-major-aref old i)
+-                                          (row-major-aref new i))
+-                               (return nil))))
+-                  (abort c))))))))
++        (lambda (c)
++          ;; KLUDGE: this really means "don't warn me about
++          ;; efficiency of generic array access, please"
++          (declare (optimize (sb-ext:inhibit-warnings 3)))
++          (let ((old (sb-ext:defconstant-uneql-old-value c))
++                (new (sb-ext:defconstant-uneql-new-value c)))
++            (typecase old
++              (list (when (equal old new) (abort c)))
++              (string (when (and (typep new 'string)
++                                 (string= old new))
++                        (abort c)))
++              (simple-vector
++               (when (and (typep new 'simple-vector)
++                          (= (length old) (length new))
++                          (every #'eql old new))
++                 (abort c)))
++              (array
++               (when (and (typep new 'array)
++                          (equal (array-dimensions old)
++                                 (array-dimensions new))
++                          (equal (array-element-type old)
++                                 (array-element-type new))
++                          (dotimes (i (array-total-size old) t)
++                            (unless (eql (row-major-aref old i)
++                                         (row-major-aref new i))
++                              (return nil))))
++                 (abort c))))))))
+     (call-next-method)))
diff --git a/dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch b/dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch
new file mode 100644 (file)
index 0000000..1ec3eca
--- /dev/null
@@ -0,0 +1,21 @@
+diff -ur clx-0.7.4.orig/dep-openmcl.lisp clx-0.7.4/dep-openmcl.lisp
+--- clx-0.7.4.orig/dep-openmcl.lisp    2009-11-28 16:43:30.000000000 +0100
++++ clx-0.7.4/dep-openmcl.lisp 2009-11-29 22:39:36.000000000 +0100
+@@ -492,7 +492,7 @@
+ ;;; value changes.
+ 
+ (defun process-block (whostate predicate &rest predicate-args)
+-  (declare (dynamic-extern predicate-args))
++  (declare (dynamic-extent predicate-args))
+   (apply #'ccl:process-wait whostate predicate predicate-args))
+ 
+ ;;; PROCESS-WAKEUP: Check some other process' wait function.
+@@ -1113,7 +1113,7 @@
+                           unit byte-lsb-first-p bit-lsb-first-p)
+   (declare (ignore bbuf boffset pixarray x y width height
+                    padded-bytes-per-line bits-per-pixel unit
+-                   byte-lsb-first-p bit-lsp-first-p))
++                   byte-lsb-first-p bit-lsb-first-p))
+   nil)
+ 
+ ;;; FAST-COPY-PIXARRAY - copy part of a pixarray into another
diff --git a/dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch b/dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch
new file mode 100644 (file)
index 0000000..961d1be
--- /dev/null
@@ -0,0 +1,13 @@
+diff -ur clx-0.7.4.orig/requests.lisp clx-0.7.4/requests.lisp
+--- clx-0.7.4.orig/requests.lisp       2009-11-28 16:43:30.000000000 +0100
++++ clx-0.7.4/requests.lisp    2010-12-16 23:37:07.122629835 +0100
+@@ -466,8 +466,7 @@
+          (type event-key event-key)
+          (type (or null event-mask) event-mask)
+          (type generalized-boolean propagate-p)
+-         (type (or null display) display)
+-         (dynamic-extent args))
++         (type (or null display) display))
+   (unless event-mask (setq event-mask 0))
+   (unless display (setq display (window-display window)))
+   (let ((internal-event-code (get-event-code event-key))
diff --git a/dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch b/dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch
new file mode 100644 (file)
index 0000000..e1df016
--- /dev/null
@@ -0,0 +1,12 @@
+diff -ur clx-0.7.4.orig/depdefs.lisp clx-0.7.4/depdefs.lisp
+--- clx-0.7.4.orig/depdefs.lisp        2009-11-28 16:43:30.000000000 +0100
++++ clx-0.7.4/depdefs.lisp     2009-11-29 22:56:38.000000000 +0100
+@@ -142,7 +142,7 @@
+ ;;; overlapping array and image code.
+ 
+ #+(or lispm vax little-endian Minima)
+-(eval-when (eval compile load)
++(eval-when (:compile-toplevel :load-toplevel :execute)
+   (pushnew :clx-little-endian *features*))
+ 
+ #+lcl3.0
diff --git a/dev-lisp/clx/files/gentoo-fix-unused-vars.patch b/dev-lisp/clx/files/gentoo-fix-unused-vars.patch
new file mode 100644 (file)
index 0000000..96dc255
--- /dev/null
@@ -0,0 +1,69 @@
+diff -ur clx-0.7.4.orig/gl.lisp clx-0.7.4/gl.lisp
+--- clx-0.7.4.orig/gl.lisp     2009-11-28 16:43:30.000000000 +0100
++++ clx-0.7.4/gl.lisp  2009-11-29 22:46:37.000000000 +0100
+@@ -2274,7 +2274,7 @@
+   (let ((constant 0)
+         (calculated ()))
+     (loop
+-       for (name type length length-var) in argspecs
++       for (nil type length length-var) in argspecs
+        do (let ((byte-width (byte-width type)))
+             (typecase length
+               (number (incf constant (* byte-width length)))
+@@ -2287,7 +2287,7 @@
+ 
+ (defun composite-args (argspecs)
+   (loop
+-     for (name type length length-var) in argspecs
++     for (nil nil length length-var) in argspecs
+      when (consp length)
+      collect (list length-var length)))
+ 
+diff -ur clx-0.7.4.orig/xrender.lisp clx-0.7.4/xrender.lisp
+--- clx-0.7.4.orig/xrender.lisp        2009-11-28 16:43:30.000000000 +0100
++++ clx-0.7.4/xrender.lisp     2009-11-29 22:50:42.000000000 +0100
+@@ -408,7 +408,7 @@
+ 
+ (macrolet ((foo (&rest specs)
+              `(progn
+-               ,@(loop for (type slot default) in specs
++               ,@(loop for (nil slot nil) in specs
+                        for index from 0
+                        collect
+                        `(progn
+@@ -426,7 +426,7 @@
+                        (data +X-RenderChangePicture+)
+                        (picture picture)
+                        (mask
+-                        ,@(loop for (type slot default) in specs
++                        ,@(loop for (type slot nil) in specs
+                                 for index from 0
+                                 collect
+                                 `(,type (and
+@@ -454,7 +454,7 @@
+                    (drawable
+                     &key format
+                          (picture (make-picture :display (drawable-display drawable)))
+-                         ,@(loop for (type slot default-value) in specs
++                         ,@(loop for (nil slot nil) in specs
+                                  collect (cond ((eql slot 'clip-mask)
+                                                 `(clip-mask :none))
+                                                (t
+@@ -475,7 +475,7 @@
+                        (drawable drawable)
+                        (picture-format format)
+                        (mask
+-                        ,@(loop for (type slot default) in specs
++                        ,@(loop for (type slot nil) in specs
+                                 collect
+                                 (cond ((eql slot 'clip-mask)
+                                        (list type `(and
+@@ -487,7 +487,7 @@
+                      (%render-change-picture-clip-rectangles picture clip-mask))
+                    (setf (picture-format picture) format)
+                    (setf (picture-%server-values picture)
+-                         (vector ,@(loop for (type slot default) in specs
++                         (vector ,@(loop for (nil slot default) in specs
+                                          collect
+                                          `(or ,slot ,default))))
+                    (setf (picture-%values picture) (copy-seq (picture-%server-values picture)))
diff --git a/dev-lisp/clx/metadata.xml b/dev-lisp/clx/metadata.xml
new file mode 100644 (file)
index 0000000..c9838ed
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer>
+               <email>nimiux@gentoo.org</email>
+               <name>Chema Alonso</name>
+               <description>Maintainer</description>
+       </maintainer>
+       <longdescription lang="en">
+               CLX provides an implementation of the X Window System protocol to
+               Lisp graphics library[ies] and applications. It is the Common Lisp
+               equivalent of Xlib. 
+       </longdescription>
+       <longdescription lang="es">
+               CLX ofrece una implementación del protocolo del sistema X Window
+               a las librerías y aplicaciones gráficas escritas en Lisp. Es el
+               equivamente en Common Lisp a Xlib. 
+       </longdescription>
+       <use>
+               <flag name="doc">Builds documentation</flag>
+       </use>
+</pkgmetadata>