~ruther/guix-local

e17dc7397e94a11f4906376cd8b444fabe1a81b1 — Marius Bakke 9 years ago 418852f
gnu: Add perl-x11-xcb.

* gnu/packages/xorg.scm (perl-x11-xcb): New variable.
1 files changed, 56 insertions(+), 0 deletions(-)

M gnu/packages/xorg.scm
M gnu/packages/xorg.scm => gnu/packages/xorg.scm +56 -0
@@ 11,6 11,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 5623,6 5624,61 @@ provides DEC VT102/VT220 (VTxxx) and Tektronix 4014 compatible terminals for
programs that cannot use the window system directly.")
    (license license:x11)))

(define-public perl-x11-xcb
  (package
    (name "perl-x11-xcb")
    (version "0.16")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "mirror://cpan/authors/id/M/MS/MSTPLBG/"
                    "X11-XCB-" version ".tar.gz"))
              (sha256
               (base32
                "14mnvr1001py2z1n43l18yaw0plwvjg5pcsyc7k81sa0amw8ahzw"))))
    (build-system perl-build-system)
    (arguments
     '(;; Disable parallel build to prevent a race condition.
       #:parallel-build? #f
       #:phases
       (modify-phases %standard-phases
         (add-before 'build 'patch-Makefile
           (lambda* (#:key inputs #:allow-other-keys)
             (substitute* "Makefile"
               ;; XXX: Without this hack, attempts at using XCB.so fails with
               ;; an error such as "XCB.so: undefined symbol: xcb_xinerama_id"
               (("^LDDLFLAGS = ")
                (string-append "LDDLFLAGS = "
                               "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm ")))
             #t)))
       ;; Tests require a running X11 server.
       #:tests? #f))
    (native-inputs
     `(("perl-extutils-depends" ,perl-extutils-depends)
       ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)
       ("perl-test-deep" ,perl-test-deep)
       ("perl-test-exception" ,perl-test-exception)))
    (propagated-inputs
     `(("perl-data-dump" ,perl-data-dump)
       ("perl-mouse" ,perl-mouse)
       ("perl-mousex-nativetraits" ,perl-mousex-nativetraits)
       ("perl-try-tiny" ,perl-try-tiny)
       ("perl-xml-descent" ,perl-xml-descent)
       ("perl-xml-simple" ,perl-xml-simple)
       ("perl-xs-object-magic" ,perl-xs-object-magic)))
    (inputs
     `(("libxcb" ,libxcb)
       ("xcb-proto" ,xcb-proto)
       ("xcb-util" ,xcb-util)
       ("xcb-util-wm" ,xcb-util-wm)))
    (home-page "http://search.cpan.org/dist/X11-XCB")
    (synopsis "Perl bindings for libxcb")
    (description
     "These bindings wrap @code{libxcb} (a C library to speak with X11,
in many cases better than @code{Xlib}), and provides an object oriented
interface to its methods (using @code{Mouse}).")
    (license (package-license perl))))

(define-public perl-x11-protocol
  (package
    (name "perl-x11-protocol")