From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Patterson Subject: [PATCH 08/12] gnu: Add clx. Date: Tue, 27 Sep 2016 00:15:28 -0400 Message-ID: <20160927041532.27097-9-ajpatter@uwaterloo.ca> References: <20160927041532.27097-1-ajpatter@uwaterloo.ca> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34765) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bojoA-0001Ai-Q5 for guix-devel@gnu.org; Tue, 27 Sep 2016 00:15:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bojo6-0002sl-G1 for guix-devel@gnu.org; Tue, 27 Sep 2016 00:15:53 -0400 Received: from mailservices.uwaterloo.ca ([129.97.128.141]:45690 helo=minos.uwaterloo.ca) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bojo6-0002sc-93 for guix-devel@gnu.org; Tue, 27 Sep 2016 00:15:50 -0400 In-Reply-To: <20160927041532.27097-1-ajpatter@uwaterloo.ca> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * 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