guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 08/12] gnu: Add clx.


From: Andy Patterson
Subject: [PATCH 08/12] gnu: Add clx.
Date: Tue, 27 Sep 2016 00:15:28 -0400

* 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

diff --git a/gnu/local.mk b/gnu/local.mk
index c2cdf8b..1ad1581 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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                        \
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 67cb684..1616b32 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -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))))))
diff --git a/gnu/packages/patches/clx-remove-demo.patch 
b/gnu/packages/patches/clx-remove-demo.patch
new file mode 100644
index 0000000..c5fffea
--- /dev/null
+++ b/gnu/packages/patches/clx-remove-demo.patch
@@ -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
-- 
2.10.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]