Commit Message
* gnu/packages/lisp.scm (clx, clx-sbcl, clx-ecl): New variables.
* gnu/packages/patches/clx-remove-demo: New variable.
* gnu/local.mk: Add it.
---
gnu/local.mk | 1 +
gnu/packages/lisp.scm | 67 ++++++++++++++++++++++++++++++
gnu/packages/patches/clx-remove-demo.patch | 27 ++++++++++++
3 files changed, 95 insertions(+)
create mode 100644 gnu/packages/patches/clx-remove-demo.patch
@@ -471,6 +471,7 @@ dist_patch_DATA = \
%D%/packages/patches/clang-libc-search-path.patch \
%D%/packages/patches/clang-3.8-libc-search-path.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
+ %D%/packages/patches/clx-remove-demo.patch \
%D%/packages/patches/cmake-fix-tests.patch \
%D%/packages/patches/cpio-gets-undeclared.patch \
%D%/packages/patches/cpio-CVE-2016-2037.patch \
@@ -780,3 +780,70 @@ compatible with ANSI-compliant Common Lisp implementations.")
("flexi-streams-ecl" ,flexi-streams-ecl)))
(arguments
'(#:test-only-systems '("flexi-streams")))))
+
+(define-public clx
+ (let ((revision "1")
+ ;; 114e0de
+ (commit "1c62774b03c1cf3fe6e5cb532df8b14b44c96b95"))
+ (package
+ (name "clx")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/sharplispers/clx.git")
+ (commit commit)))
+ (sha256
+ (base32 "0qffag03ns52kwq9xjns2qg1yr0bf3ba507iwq5cmx5xz0b0rmjm"))
+ (file-name (string-append name "-" version "-checkout"))
+ (patches
+ (list
+ (search-patch "clx-remove-demo.patch")))))
+ (build-system asdf-build-system/source)
+ (home-page "http://www.cliki.net/portable-clx")
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases/source
+ (add-before 'install 'remove-demos-and-test
+ ;; These removed files cause the compiled system to crash when
+ ;; loading.
+ (lambda _
+ (delete-file-recursively "demo")
+ (delete-file "test/trapezoid.lisp")
+ (substitute* "clx.asd"
+ (("\\(:file \"trapezoid\"\\)") ""))
+ #t)))))
+ (synopsis "X11 client library for Common Lisp")
+ (description "CLX is an X11 client library for Common Lisp. The code was
+originally taken from a CMUCL distribution, was modified somewhat in order to
+make it compile and run under SBCL, then a selection of patches were added
+from other CLXes around the net.")
+ (license license:x11))))
+
+(define-public clx-sbcl
+ (package
+ (inherit clx)
+ (name "clx-sbcl")
+ (source #f)
+ (build-system asdf-build-system/sbcl)
+ (inputs `(("clx" ,clx)))
+ (arguments
+ '(#:special-dependencies '("sb-bsd-sockets")
+ #:phases
+ (modify-phases %standard-phases/sbcl
+ (delete 'unpack))))))
+
+(define-public clx-ecl
+ (package
+ (inherit clx)
+ (name "clx-ecl")
+ (source #f)
+ (build-system asdf-build-system/ecl)
+ (inputs `(("clx" ,clx)))
+ (arguments
+ '(#:special-dependencies '("sb-bsd-sockets")
+ #:phases
+ (modify-phases %standard-phases/ecl
+ (delete 'unpack))))))
new file mode 100644
@@ -0,0 +1,27 @@
+--- a/clx.asd 2016-02-16 00:06:48.161596976 -0500
++++ b/clx.asd 2016-02-16 00:06:54.793774658 -0500
+@@ -79,24 +79,6 @@
+ (: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