~ruther/guix-local

68a3d0e8cd9b0998abbe1c7e15d0de3107dda0f5 — Andreas Enge 13 years ago 6f52fb6
gnu: xorg: Add old versions of mesa and libdrm.

* gnu/packages/xorg.scm (mesa): New variable, only version 8.0.5 compiles.
* gnu/packages/xorg.scm (libdrm-2.4.33): New variable, required by mesa 8.0.5.
1 files changed, 84 insertions(+), 0 deletions(-)

M gnu/packages/xorg.scm
M gnu/packages/xorg.scm => gnu/packages/xorg.scm +84 -0
@@ 103,6 103,90 @@ and Matrox.")
    (license license:x11)))


;; old version, required by old mesa, see
;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html
(define-public libdrm-2.4.33
  (package (inherit libdrm)
    (version "2.4.33")
    (source
      (origin
        (method url-fetch)
        (uri (string-append
               "http://dri.freedesktop.org/libdrm/libdrm-"
               version
               ".tar.bz2"))
        (sha256
          (base32
            "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd"))))
    (arguments
      `(#:configure-flags
         ;; create libdrm_nouveau.so, needed by mesa, see
         ;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261
         `("--enable-nouveau-experimental-api")))))


(define-public mesa
  (package
    (name "mesa")
    ;; In newer versions (9.0.5 and 9.1 tested), "make" results in an
    ;; infinite configure loop, see
    ;; https://bugs.freedesktop.org/show_bug.cgi?id=61527
    (version "8.0.5")
    (source
      (origin
        (method url-fetch)
        (uri (string-append
               "ftp://ftp.freedesktop.org/pub/mesa/" version
               "/MesaLib-" version
               ".tar.bz2"))
        (sha256
          (base32
            "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si"))))
    (build-system gnu-build-system)
    (inputs
      `(("bison" ,bison)
        ("dri2proto" ,dri2proto)
        ("expat" ,expat)
        ("glproto" ,glproto)
        ("flex" ,flex)
        ("libdrm" ,libdrm-2.4.33)
        ("libx11" ,libx11)
        ("libxdamage" ,libxdamage)
        ("libxext" ,libxext)
        ("libxfixes" ,libxfixes)
        ("libxml2" ,libxml2)
        ("libxxf86vm" ,libxxf86vm)
        ("makedepend" ,makedepend)
        ("pkg-config" ,pkg-config)
        ("python" ,python)))
    (arguments
      `(#:configure-flags
         `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm
        #:phases
         (alist-cons-after
          'unpack 'remove-symlink
          (lambda* (#:key #:allow-other-keys)
            ;; remove dangling symlink to /usr/include/wine/windows
            (delete-file "src/gallium/state_trackers/d3d1x/w32api"))
         (alist-replace
          'configure
          (lambda* (#:key inputs #:allow-other-keys #:rest args)
            (let ((configure (assoc-ref %standard-phases 'configure))
                  (libxml2 (assoc-ref inputs "libxml2")))
              ;; FIXME: This should be done more centrally.
              (setenv "PYTHONPATH" (string-append libxml2 "/lib/python2.7/site-packages"))
              (apply configure args)))
         %standard-phases))))
    (home-page "http://mesa3d.org/")
    (synopsis "Mesa, an OpenGL implementation")
    (description "Mesa is a free implementation of the OpenGL specification -
a system for rendering interactive 3D graphics. A variety of device drivers
allows Mesa to be used in many different environments ranging from software
emulation to complete hardware acceleration for modern GPUs.")
    (license license:x11)))




;; packages without propagated input
;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to