We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Adios does not build with HDF5 1.10
The `adios` variant `+hdf5` is broken. The error is

```
In file included from /xfs1/eschnetter/src/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.1.1/hdf5-1.10.0-patch1-ijwvzsvpcbne33bffg6nrefdwgguofji/include/H5public.h:145:0,
                 from /xfs1/eschnetter/src/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.1.1/hdf5-1.10.0-patch1-ijwvzsvpcbne33bffg6nrefdwgguofji/include/hdf5.h:24,
                 from bp2h5.c:39:
bp2h5.c:46:13: error: two or more data types in declaration specifiers
 typedef int bool;
             ^
bp2h5.c:46:1: warning: useless type name in empty declaration
 typedef int bool;
 ^~~~~~~
bp2h5.c: In function ‘main’:
bp2h5.c:173:17: warning: implicit declaration of function ‘H5LTmake_dataset’ [-Wimplicit-function-declaration]
                 H5LTmake_dataset(HDF5_FILE,h5name,1,count,h5_type_id,v->value);
                 ^~~~~~~~~~~~~~~~
make[3]: *** [bp2h5-bp2h5.o] Error 1
make[3]: Leaving directory `/tmp/eschnetter/spack-stage/spack-stage-0LLmsR/ADIOS-1.10.0/utils/bp2h5'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/eschnetter/spack-stage/spack-stage-0LLmsR/ADIOS-1.10.0/utils'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/eschnetter/spack-stage/spack-stage-0LLmsR/ADIOS-1.10.0'
```

It seems that Adios expects `bool` to be undefined, but it is already defined. It might be that HDF5 1.10 includes `<stdbool.h>`.


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `var/spack/repos/builtin/packages/adios/package.py`
Content:
```
1 ##############################################################################
2 # Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
3 # Produced at the Lawrence Livermore National Laboratory.
4 #
5 # This file is part of Spack.
6 # Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
7 # LLNL-CODE-647188
8 #
9 # For details, see https://github.com/llnl/spack
10 # Please also see the LICENSE file for our notice and the LGPL.
11 #
12 # This program is free software; you can redistribute it and/or modify
13 # it under the terms of the GNU Lesser General Public License (as
14 # published by the Free Software Foundation) version 2.1, February 1999.
15 #
16 # This program is distributed in the hope that it will be useful, but
17 # WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
19 # conditions of the GNU Lesser General Public License for more details.
20 #
21 # You should have received a copy of the GNU Lesser General Public
22 # License along with this program; if not, write to the Free Software
23 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 ##############################################################################
25 
26 from spack import *
27 
28 
29 class Adios(Package):
30     """The Adaptable IO System (ADIOS) provides a simple,
31     flexible way for scientists to describe the
32     data in their code that may need to be written,
33     read, or processed outside of the running simulation.
34     """
35 
36     homepage = "http://www.olcf.ornl.gov/center-projects/adios/"
37     url      = "https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz"
38 
39     version('1.10.0', 'eff450a4c0130479417cfd63186957f3')
40     version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678')
41 
42     variant('shared', default=True,
43             description='Builds a shared version of the library')
44 
45     variant('fortran', default=False,
46             description='Enable Fortran bindings support')
47 
48     variant('mpi', default=True, description='Enable MPI support')
49     variant('infiniband', default=False, description='Enable infiniband support')
50 
51     variant('zlib', default=True, description='Enable szip transform support')
52     variant('szip', default=False, description='Enable szip transform support')
53     variant('hdf5', default=False, description='Enable HDF5 transport support')
54     variant('netcdf', default=False, description='Enable NetCDF transport support')
55 
56     # Lots of setting up here for this package
57     # module swap PrgEnv-intel PrgEnv-$COMP
58     # module load cray-netcdf/4.3.3.1
59     # module load cray-hdf5/1.8.14
60     # module load python/2.7.10
61 
62     depends_on('autoconf', type='build')
63     depends_on('automake', type='build')
64     depends_on('libtool', type='build')
65     depends_on('python', type='build')
66 
67     depends_on('mpi', when='+mpi')
68     depends_on('mxml@2.9:')
69     # optional transformations
70     depends_on('zlib', when='+zlib')
71     depends_on('szip', when='+szip')
72     # optional transports
73     depends_on('hdf5', when='+hdf5')
74     depends_on('netcdf', when='+netcdf')
75 
76     def validate(self, spec):
77         """
78         Checks if incompatible variants have been activated at the same time
79         :param spec: spec of the package
80         :raises RuntimeError: in case of inconsistencies
81         """
82         if '+fortran' in spec and not self.compiler.fc:
83             msg = 'cannot build a fortran variant without a fortran compiler'
84             raise RuntimeError(msg)
85 
86     def install(self, spec, prefix):
87         self.validate(spec)
88         # Handle compilation after spec validation
89         extra_args = []
90 
91         # required, otherwise building its python bindings on ADIOS will fail
92         extra_args.append("CFLAGS=-fPIC")
93 
94         # always build external MXML, even in ADIOS 1.10.0+
95         extra_args.append('--with-mxml=%s' % spec['mxml'].prefix)
96 
97         if '+shared' in spec:
98             extra_args.append('--enable-shared')
99 
100         if '+mpi' in spec:
101             extra_args.append('--with-mpi')
102         if '+infiniband' in spec:
103             extra_args.append('--with-infiniband')
104         else:
105             extra_args.append('--with-infiniband=no')
106 
107         if '+fortran' in spec:
108             extra_args.append('--enable-fortran')
109         else:
110             extra_args.append('--disable-fortran')
111 
112         if '+zlib' in spec:
113             extra_args.append('--with-zlib=%s' % spec['zlib'].prefix)
114         if '+szip' in spec:
115             extra_args.append('--with-szip=%s' % spec['szip'].prefix)
116         if '+hdf5' in spec:
117             extra_args.append('--with-hdf5=%s' % spec['hdf5'].prefix)
118         if '+netcdf' in spec:
119             extra_args.append('--with-netcdf=%s' % spec['netcdf'].prefix)
120 
121         sh = which('sh')
122         sh('./autogen.sh')
123 
124         configure("--prefix=%s" % prefix,
125                   *extra_args)
126         make()
127         make("install")
128
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py
--- a/var/spack/repos/builtin/packages/adios/package.py
+++ b/var/spack/repos/builtin/packages/adios/package.py
@@ -36,6 +36,8 @@
     homepage = "http://www.olcf.ornl.gov/center-projects/adios/"
     url      = "https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz"
 
+    version('develop', git='https://github.com/ornladios/ADIOS.git',
+            branch='master')
     version('1.10.0', 'eff450a4c0130479417cfd63186957f3')
     version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678')
 
@@ -48,14 +50,14 @@
     variant('mpi', default=True, description='Enable MPI support')
     variant('infiniband', default=False, description='Enable infiniband support')
 
+    # transforms
     variant('zlib', default=True, description='Enable szip transform support')
     variant('szip', default=False, description='Enable szip transform support')
-    variant('hdf5', default=False, description='Enable HDF5 transport support')
-    variant('netcdf', default=False, description='Enable NetCDF transport support')
+    # transports and serial file converters
+    variant('hdf5', default=False, description='Enable parallel HDF5 transport and serial bp2h5 converter')
 
     # Lots of setting up here for this package
     # module swap PrgEnv-intel PrgEnv-$COMP
-    # module load cray-netcdf/4.3.3.1
     # module load cray-hdf5/1.8.14
     # module load python/2.7.10
 
@@ -69,9 +71,13 @@
     # optional transformations
     depends_on('zlib', when='+zlib')
     depends_on('szip', when='+szip')
-    # optional transports
-    depends_on('hdf5', when='+hdf5')
-    depends_on('netcdf', when='+netcdf')
+    # optional transports & file converters
+    depends_on('hdf5@1.8:+mpi', when='+hdf5')
+
+    # Fix ADIOS <=1.10.0 compile error on HDF5 1.10+
+    #   https://github.com/ornladios/ADIOS/commit/3b21a8a41509
+    #   https://github.com/LLNL/spack/issues/1683
+    patch('adios_1100.patch', when='@:1.10.0^hdf5@1.10:')
 
     def validate(self, spec):
         """
@@ -114,9 +120,7 @@
         if '+szip' in spec:
             extra_args.append('--with-szip=%s' % spec['szip'].prefix)
         if '+hdf5' in spec:
-            extra_args.append('--with-hdf5=%s' % spec['hdf5'].prefix)
-        if '+netcdf' in spec:
-            extra_args.append('--with-netcdf=%s' % spec['netcdf'].prefix)
+            extra_args.append('--with-phdf5=%s' % spec['hdf5'].prefix)
 
         sh = which('sh')
         sh('./autogen.sh')

{"golden_diff": "diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py\n--- a/var/spack/repos/builtin/packages/adios/package.py\n+++ b/var/spack/repos/builtin/packages/adios/package.py\n@@ -36,6 +36,8 @@\n     homepage = \"http://www.olcf.ornl.gov/center-projects/adios/\"\n     url      = \"https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz\"\n \n+    version('develop', git='https://github.com/ornladios/ADIOS.git',\n+            branch='master')\n     version('1.10.0', 'eff450a4c0130479417cfd63186957f3')\n     version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678')\n \n@@ -48,14 +50,14 @@\n     variant('mpi', default=True, description='Enable MPI support')\n     variant('infiniband', default=False, description='Enable infiniband support')\n \n+    # transforms\n     variant('zlib', default=True, description='Enable szip transform support')\n     variant('szip', default=False, description='Enable szip transform support')\n-    variant('hdf5', default=False, description='Enable HDF5 transport support')\n-    variant('netcdf', default=False, description='Enable NetCDF transport support')\n+    # transports and serial file converters\n+    variant('hdf5', default=False, description='Enable parallel HDF5 transport and serial bp2h5 converter')\n \n     # Lots of setting up here for this package\n     # module swap PrgEnv-intel PrgEnv-$COMP\n-    # module load cray-netcdf/4.3.3.1\n     # module load cray-hdf5/1.8.14\n     # module load python/2.7.10\n \n@@ -69,9 +71,13 @@\n     # optional transformations\n     depends_on('zlib', when='+zlib')\n     depends_on('szip', when='+szip')\n-    # optional transports\n-    depends_on('hdf5', when='+hdf5')\n-    depends_on('netcdf', when='+netcdf')\n+    # optional transports & file converters\n+    depends_on('hdf5@1.8:+mpi', when='+hdf5')\n+\n+    # Fix ADIOS <=1.10.0 compile error on HDF5 1.10+\n+    #   https://github.com/ornladios/ADIOS/commit/3b21a8a41509\n+    #   https://github.com/LLNL/spack/issues/1683\n+    patch('adios_1100.patch', when='@:1.10.0^hdf5@1.10:')\n \n     def validate(self, spec):\n         \"\"\"\n@@ -114,9 +120,7 @@\n         if '+szip' in spec:\n             extra_args.append('--with-szip=%s' % spec['szip'].prefix)\n         if '+hdf5' in spec:\n-            extra_args.append('--with-hdf5=%s' % spec['hdf5'].prefix)\n-        if '+netcdf' in spec:\n-            extra_args.append('--with-netcdf=%s' % spec['netcdf'].prefix)\n+            extra_args.append('--with-phdf5=%s' % spec['hdf5'].prefix)\n \n         sh = which('sh')\n         sh('./autogen.sh')\n", "issue": "Adios does not build with HDF5 1.10\nThe `adios` variant `+hdf5` is broken. The error is\n\n```\nIn file included from /xfs1/eschnetter/src/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.1.1/hdf5-1.10.0-patch1-ijwvzsvpcbne33bffg6nrefdwgguofji/include/H5public.h:145:0,\n                 from /xfs1/eschnetter/src/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.1.1/hdf5-1.10.0-patch1-ijwvzsvpcbne33bffg6nrefdwgguofji/include/hdf5.h:24,\n                 from bp2h5.c:39:\nbp2h5.c:46:13: error: two or more data types in declaration specifiers\n typedef int bool;\n             ^\nbp2h5.c:46:1: warning: useless type name in empty declaration\n typedef int bool;\n ^~~~~~~\nbp2h5.c: In function \u2018main\u2019:\nbp2h5.c:173:17: warning: implicit declaration of function \u2018H5LTmake_dataset\u2019 [-Wimplicit-function-declaration]\n                 H5LTmake_dataset(HDF5_FILE,h5name,1,count,h5_type_id,v->value);\n                 ^~~~~~~~~~~~~~~~\nmake[3]: *** [bp2h5-bp2h5.o] Error 1\nmake[3]: Leaving directory `/tmp/eschnetter/spack-stage/spack-stage-0LLmsR/ADIOS-1.10.0/utils/bp2h5'\nmake[2]: *** [all-recursive] Error 1\nmake[2]: Leaving directory `/tmp/eschnetter/spack-stage/spack-stage-0LLmsR/ADIOS-1.10.0/utils'\nmake[1]: *** [all-recursive] Error 1\nmake[1]: Leaving directory `/tmp/eschnetter/spack-stage/spack-stage-0LLmsR/ADIOS-1.10.0'\n```\n\nIt seems that Adios expects `bool` to be undefined, but it is already defined. It might be that HDF5 1.10 includes `<stdbool.h>`.\n\n", "before_files": [{"content": "##############################################################################\n# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.\n# Produced at the Lawrence Livermore National Laboratory.\n#\n# This file is part of Spack.\n# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.\n# LLNL-CODE-647188\n#\n# For details, see https://github.com/llnl/spack\n# Please also see the LICENSE file for our notice and the LGPL.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU Lesser General Public License (as\n# published by the Free Software Foundation) version 2.1, February 1999.\n#\n# This program is distributed in the hope that it will be useful, but\n# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and\n# conditions of the GNU Lesser General Public License for more details.\n#\n# You should have received a copy of the GNU Lesser General Public\n# License along with this program; if not, write to the Free Software\n# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n##############################################################################\n\nfrom spack import *\n\n\nclass Adios(Package):\n    \"\"\"The Adaptable IO System (ADIOS) provides a simple,\n    flexible way for scientists to describe the\n    data in their code that may need to be written,\n    read, or processed outside of the running simulation.\n    \"\"\"\n\n    homepage = \"http://www.olcf.ornl.gov/center-projects/adios/\"\n    url      = \"https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz\"\n\n    version('1.10.0', 'eff450a4c0130479417cfd63186957f3')\n    version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678')\n\n    variant('shared', default=True,\n            description='Builds a shared version of the library')\n\n    variant('fortran', default=False,\n            description='Enable Fortran bindings support')\n\n    variant('mpi', default=True, description='Enable MPI support')\n    variant('infiniband', default=False, description='Enable infiniband support')\n\n    variant('zlib', default=True, description='Enable szip transform support')\n    variant('szip', default=False, description='Enable szip transform support')\n    variant('hdf5', default=False, description='Enable HDF5 transport support')\n    variant('netcdf', default=False, description='Enable NetCDF transport support')\n\n    # Lots of setting up here for this package\n    # module swap PrgEnv-intel PrgEnv-$COMP\n    # module load cray-netcdf/4.3.3.1\n    # module load cray-hdf5/1.8.14\n    # module load python/2.7.10\n\n    depends_on('autoconf', type='build')\n    depends_on('automake', type='build')\n    depends_on('libtool', type='build')\n    depends_on('python', type='build')\n\n    depends_on('mpi', when='+mpi')\n    depends_on('mxml@2.9:')\n    # optional transformations\n    depends_on('zlib', when='+zlib')\n    depends_on('szip', when='+szip')\n    # optional transports\n    depends_on('hdf5', when='+hdf5')\n    depends_on('netcdf', when='+netcdf')\n\n    def validate(self, spec):\n        \"\"\"\n        Checks if incompatible variants have been activated at the same time\n        :param spec: spec of the package\n        :raises RuntimeError: in case of inconsistencies\n        \"\"\"\n        if '+fortran' in spec and not self.compiler.fc:\n            msg = 'cannot build a fortran variant without a fortran compiler'\n            raise RuntimeError(msg)\n\n    def install(self, spec, prefix):\n        self.validate(spec)\n        # Handle compilation after spec validation\n        extra_args = []\n\n        # required, otherwise building its python bindings on ADIOS will fail\n        extra_args.append(\"CFLAGS=-fPIC\")\n\n        # always build external MXML, even in ADIOS 1.10.0+\n        extra_args.append('--with-mxml=%s' % spec['mxml'].prefix)\n\n        if '+shared' in spec:\n            extra_args.append('--enable-shared')\n\n        if '+mpi' in spec:\n            extra_args.append('--with-mpi')\n        if '+infiniband' in spec:\n            extra_args.append('--with-infiniband')\n        else:\n            extra_args.append('--with-infiniband=no')\n\n        if '+fortran' in spec:\n            extra_args.append('--enable-fortran')\n        else:\n            extra_args.append('--disable-fortran')\n\n        if '+zlib' in spec:\n            extra_args.append('--with-zlib=%s' % spec['zlib'].prefix)\n        if '+szip' in spec:\n            extra_args.append('--with-szip=%s' % spec['szip'].prefix)\n        if '+hdf5' in spec:\n            extra_args.append('--with-hdf5=%s' % spec['hdf5'].prefix)\n        if '+netcdf' in spec:\n            extra_args.append('--with-netcdf=%s' % spec['netcdf'].prefix)\n\n        sh = which('sh')\n        sh('./autogen.sh')\n\n        configure(\"--prefix=%s\" % prefix,\n                  *extra_args)\n        make()\n        make(\"install\")\n", "path": "var/spack/repos/builtin/packages/adios/package.py"}], "after_files": [{"content": "##############################################################################\n# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.\n# Produced at the Lawrence Livermore National Laboratory.\n#\n# This file is part of Spack.\n# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.\n# LLNL-CODE-647188\n#\n# For details, see https://github.com/llnl/spack\n# Please also see the LICENSE file for our notice and the LGPL.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU Lesser General Public License (as\n# published by the Free Software Foundation) version 2.1, February 1999.\n#\n# This program is distributed in the hope that it will be useful, but\n# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and\n# conditions of the GNU Lesser General Public License for more details.\n#\n# You should have received a copy of the GNU Lesser General Public\n# License along with this program; if not, write to the Free Software\n# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n##############################################################################\n\nfrom spack import *\n\n\nclass Adios(Package):\n    \"\"\"The Adaptable IO System (ADIOS) provides a simple,\n    flexible way for scientists to describe the\n    data in their code that may need to be written,\n    read, or processed outside of the running simulation.\n    \"\"\"\n\n    homepage = \"http://www.olcf.ornl.gov/center-projects/adios/\"\n    url      = \"https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz\"\n\n    version('develop', git='https://github.com/ornladios/ADIOS.git',\n            branch='master')\n    version('1.10.0', 'eff450a4c0130479417cfd63186957f3')\n    version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678')\n\n    variant('shared', default=True,\n            description='Builds a shared version of the library')\n\n    variant('fortran', default=False,\n            description='Enable Fortran bindings support')\n\n    variant('mpi', default=True, description='Enable MPI support')\n    variant('infiniband', default=False, description='Enable infiniband support')\n\n    # transforms\n    variant('zlib', default=True, description='Enable szip transform support')\n    variant('szip', default=False, description='Enable szip transform support')\n    # transports and serial file converters\n    variant('hdf5', default=False, description='Enable parallel HDF5 transport and serial bp2h5 converter')\n\n    # Lots of setting up here for this package\n    # module swap PrgEnv-intel PrgEnv-$COMP\n    # module load cray-hdf5/1.8.14\n    # module load python/2.7.10\n\n    depends_on('autoconf', type='build')\n    depends_on('automake', type='build')\n    depends_on('libtool', type='build')\n    depends_on('python', type='build')\n\n    depends_on('mpi', when='+mpi')\n    depends_on('mxml@2.9:')\n    # optional transformations\n    depends_on('zlib', when='+zlib')\n    depends_on('szip', when='+szip')\n    # optional transports & file converters\n    depends_on('hdf5@1.8:+mpi', when='+hdf5')\n\n    # Fix ADIOS <=1.10.0 compile error on HDF5 1.10+\n    #   https://github.com/ornladios/ADIOS/commit/3b21a8a41509\n    #   https://github.com/LLNL/spack/issues/1683\n    patch('adios_1100.patch', when='@:1.10.0^hdf5@1.10:')\n\n    def validate(self, spec):\n        \"\"\"\n        Checks if incompatible variants have been activated at the same time\n        :param spec: spec of the package\n        :raises RuntimeError: in case of inconsistencies\n        \"\"\"\n        if '+fortran' in spec and not self.compiler.fc:\n            msg = 'cannot build a fortran variant without a fortran compiler'\n            raise RuntimeError(msg)\n\n    def install(self, spec, prefix):\n        self.validate(spec)\n        # Handle compilation after spec validation\n        extra_args = []\n\n        # required, otherwise building its python bindings on ADIOS will fail\n        extra_args.append(\"CFLAGS=-fPIC\")\n\n        # always build external MXML, even in ADIOS 1.10.0+\n        extra_args.append('--with-mxml=%s' % spec['mxml'].prefix)\n\n        if '+shared' in spec:\n            extra_args.append('--enable-shared')\n\n        if '+mpi' in spec:\n            extra_args.append('--with-mpi')\n        if '+infiniband' in spec:\n            extra_args.append('--with-infiniband')\n        else:\n            extra_args.append('--with-infiniband=no')\n\n        if '+fortran' in spec:\n            extra_args.append('--enable-fortran')\n        else:\n            extra_args.append('--disable-fortran')\n\n        if '+zlib' in spec:\n            extra_args.append('--with-zlib=%s' % spec['zlib'].prefix)\n        if '+szip' in spec:\n            extra_args.append('--with-szip=%s' % spec['szip'].prefix)\n        if '+hdf5' in spec:\n            extra_args.append('--with-phdf5=%s' % spec['hdf5'].prefix)\n\n        sh = which('sh')\n        sh('./autogen.sh')\n\n        configure(\"--prefix=%s\" % prefix,\n                  *extra_args)\n        make()\n        make(\"install\")\n", "path": "var/spack/repos/builtin/packages/adios/package.py"}]}