from spack import *

class Libxcb(Package):
    """The X protocol C-language Binding (XCB) is a replacement 
    for Xlib featuring a small footprint, latency hiding, direct 
    access to the protocol, improved threading support, and 
    extensibility."""

    homepage = "http://xcb.freedesktop.org/"
    url      = "http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz"

    version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
    version('1.11.1', '118623c15a96b08622603a71d8789bf3')
    depends_on("python")
    depends_on("xcb-proto")

    def install(self, spec, prefix):
        configure("--prefix=%s" % prefix)

        make()
        make("install")

from spack import *

class Libxcb(Package):
    """The X protocol C-language Binding (XCB) is a replacement
    for Xlib featuring a small footprint, latency hiding, direct
    access to the protocol, improved threading support, and
    extensibility."""

    homepage = "http://xcb.freedesktop.org/"
    url      = "http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz"

    version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
    version('1.11.1', '118623c15a96b08622603a71d8789bf3')
    depends_on("python")
    depends_on("xcb-proto")

    def patch(self):
        filter_file('typedef struct xcb_auth_info_t {', 'typedef struct {', 'src/xcb.h')


    def install(self, spec, prefix):
        configure("--prefix=%s" % prefix)

        make()
        make("install")

Make libxcb compile with gcc 4.9.
Make libxcb compile with gcc 4.9.

  from spack import *
  
  class Libxcb(Package):
-     """The X protocol C-language Binding (XCB) is a replacement 
+     """The X protocol C-language Binding (XCB) is a replacement
-     for Xlib featuring a small footprint, latency hiding, direct 
+     for Xlib featuring a small footprint, latency hiding, direct
-     access to the protocol, improved threading support, and 
+     access to the protocol, improved threading support, and
      extensibility."""
  
      homepage = "http://xcb.freedesktop.org/"
      url      = "http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz"
  
      version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
      version('1.11.1', '118623c15a96b08622603a71d8789bf3')
      depends_on("python")
      depends_on("xcb-proto")
  
+     def patch(self):
+         filter_file('typedef struct xcb_auth_info_t {', 'typedef struct {', 'src/xcb.h')
+ 
+ 
      def install(self, spec, prefix):
          configure("--prefix=%s" % prefix)
  
          make()
          make("install")
  
Make libxcb compile with gcc 4.9.
## Code Before:
from spack import *

class Libxcb(Package):
    """The X protocol C-language Binding (XCB) is a replacement 
    for Xlib featuring a small footprint, latency hiding, direct 
    access to the protocol, improved threading support, and 
    extensibility."""

    homepage = "http://xcb.freedesktop.org/"
    url      = "http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz"

    version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
    version('1.11.1', '118623c15a96b08622603a71d8789bf3')
    depends_on("python")
    depends_on("xcb-proto")

    def install(self, spec, prefix):
        configure("--prefix=%s" % prefix)

        make()
        make("install")

## Instruction:
Make libxcb compile with gcc 4.9.
## Code After:
from spack import *

class Libxcb(Package):
    """The X protocol C-language Binding (XCB) is a replacement
    for Xlib featuring a small footprint, latency hiding, direct
    access to the protocol, improved threading support, and
    extensibility."""

    homepage = "http://xcb.freedesktop.org/"
    url      = "http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz"

    version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
    version('1.11.1', '118623c15a96b08622603a71d8789bf3')
    depends_on("python")
    depends_on("xcb-proto")

    def patch(self):
        filter_file('typedef struct xcb_auth_info_t {', 'typedef struct {', 'src/xcb.h')


    def install(self, spec, prefix):
        configure("--prefix=%s" % prefix)

        make()
        make("install")
