We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Installation Issue: bowtie build error
### Steps to reproduce the issue

```console
[centos] ~: spack install bowtie
==> Installing bowtie
==> Searching for binary cache of bowtie
==> Warning: No Spack mirrors are currently configured
==> No binary for bowtie found: installing from source
==> Fetching https://github.com/BenLangmead/bowtie/archive/v1.2.2_p1.tar.gz
######################################################################## 100.0%
==> Staging archive: /spack/var/spack/stage/bowtie-1.2.2_p1-se66bd5p6mfiop65vwqpr4jh6uwvpxsr/v1.2.2_p1.tar.gz
==> Created stage in /spack/var/spack/stage/bowtie-1.2.2_p1-se66bd5p6mfiop65vwqpr4jh6uwvpxsr
==> No patches needed for bowtie
==> Building bowtie [MakefilePackage]
==> Executing phase: 'edit'
==> Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j2' 'NO_TBB=1'

4 errors found in build log:
     18    In file included from sequence_io.h:12:0,
     19                     from multikey_qsort.h:8,
     20                     from diff_sample.h:13,
     21                     from blockwise_sa.h:19,
     22                     from ebwt.h:27,
     23                     from ebwt_build.cpp:11:
  >> 24    pat.h:6:18: fatal error: zlib.h: No such file or directory
     25     #include <zlib.h>
     26                      ^

     27    compilation terminated.
     28    In file included from sequence_io.h:12:0,
     29                     from multikey_qsort.h:8,
     30                     from diff_sample.h:13,
     31                     from blockwise_sa.h:19,
     32                     from ebwt.h:27,
     33                     from ebwt_build.cpp:11:
  >> 34    pat.h:6:18: fatal error: zlib.h: No such file or directory
     35     #include <zlib.h>
     36                      ^
     37    compilation terminated.
  >> 38    make: *** [bowtie-build-l] Error 1
     39    make: *** Waiting for unfinished jobs....
  >> 40    make: *** [bowtie-build-s] Error 1

See build log for details:
  /spack/var/spack/stage/bowtie-1.2.2_p1-se66bd5p6mfiop65vwqpr4jh6uwvpxsr/bowtie-1.2.2_p1/spack-build.out
```

### Platform and user environment

Please report your OS here:
```commandline
$ uname -a
Linux 4b5226354c71 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
``` 
Bowtie installation fails with missing zlib dependency. 



--- 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/bowtie/package.py`
Content:
```
1 # Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
2 # Spack Project Developers. See the top-level COPYRIGHT file for details.
3 #
4 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
5 
6 from spack import *
7 
8 
9 class Bowtie(MakefilePackage):
10     """Bowtie is an ultrafast, memory-efficient short read aligner
11     for short DNA sequences (reads) from next-gen sequencers."""
12 
13     homepage = "https://sourceforge.net/projects/bowtie-bio/"
14     url      = "https://github.com/BenLangmead/bowtie/archive/v1.2.0.tar.gz"
15 
16     # The bowtie project git tagged and GitHub released a v1.2.2,
17     # discovered/fixed a bug, git tagged a v1.2.2_p1 and moved the
18     # 1.2.2 release to use it rather than making a new `1.2.2_p1`
19     # release.
20     #
21     # We point both of the Spack versions at the same tarball so they
22     # build the binaries that are on the release page as v1.2.2
23     version('1.2.2_p1', sha256='e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1')
24     version('1.2.2', sha256='e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1', url="https://github.com/BenLangmead/bowtie/archive/v1.2.2_p1.tar.gz")
25     version('1.2.1.1', sha256='1b38408b88f61d18d7ff28b2470a8cfeefccb3fc59fd46e4cc62e23874e52c20')
26     version('1.2.1', sha256='b2a7c8c879cb08f00a82665bee43e1d4861de44a87912c54d168e44c90869728')
27     version('1.2.0', sha256='dc4e7951b8eca56ce7714c47fd4e84f72badd5312ee9546c912af1963570f894')
28     # Keeping the old 1.2 version around for reproducibility, it's not
29     # clearly identical to 1.2.0.
30     version('1.2', md5='6d97f0ea1a65af11d17cc270cfac4af9', url='https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.0/bowtie-1.2-source.zip')
31 
32     # Feel free to tighten this.  I know that v1.2.2 (aka v1.2.2_p1)
33     # builds with %gcc@5.5.5 and fails to build with %gcc@8.2.0.  I'm
34     # not sure whether or not it works with other versions in the
35     # interval.
36     conflicts('%gcc@8:', when='@1.2.2:')
37 
38     variant('tbb', default=False, description='Use Intel thread building block')
39 
40     depends_on('tbb', when='+tbb')
41 
42     # See: https://github.com/BenLangmead/bowtie/issues/87, a
43     # different fix is in the FreeBSD ports/package tree
44     # https://svnweb.freebsd.org/ports?view=revision&revision=483954
45     patch('issue-87.patch', when='%gcc@8.0.0:')
46 
47     def edit(self, spec, prefix):
48         makefile = FileFilter('Makefile')
49         makefile.filter('CC = .*', 'CC = ' + env['CC'])
50         makefile.filter('CXX = .*', 'CPP = ' + env['CXX'])
51 
52     def build(self, spec, prefix):
53         if '+tbb' in spec:
54             make()
55         else:
56             make('NO_TBB=1')
57 
58     def install(self, spec, prefix):
59         make('prefix={0}'.format(self.prefix), 'install')
60
```
--- 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/bowtie/package.py b/var/spack/repos/builtin/packages/bowtie/package.py
--- a/var/spack/repos/builtin/packages/bowtie/package.py
+++ b/var/spack/repos/builtin/packages/bowtie/package.py
@@ -38,6 +38,7 @@
     variant('tbb', default=False, description='Use Intel thread building block')
 
     depends_on('tbb', when='+tbb')
+    depends_on('zlib')
 
     # See: https://github.com/BenLangmead/bowtie/issues/87, a
     # different fix is in the FreeBSD ports/package tree

{"golden_diff": "diff --git a/var/spack/repos/builtin/packages/bowtie/package.py b/var/spack/repos/builtin/packages/bowtie/package.py\n--- a/var/spack/repos/builtin/packages/bowtie/package.py\n+++ b/var/spack/repos/builtin/packages/bowtie/package.py\n@@ -38,6 +38,7 @@\n     variant('tbb', default=False, description='Use Intel thread building block')\n \n     depends_on('tbb', when='+tbb')\n+    depends_on('zlib')\n \n     # See: https://github.com/BenLangmead/bowtie/issues/87, a\n     # different fix is in the FreeBSD ports/package tree\n", "issue": "Installation Issue: bowtie build error\n### Steps to reproduce the issue\r\n\r\n```console\r\n[centos] ~: spack install bowtie\r\n==> Installing bowtie\r\n==> Searching for binary cache of bowtie\r\n==> Warning: No Spack mirrors are currently configured\r\n==> No binary for bowtie found: installing from source\r\n==> Fetching https://github.com/BenLangmead/bowtie/archive/v1.2.2_p1.tar.gz\r\n######################################################################## 100.0%\r\n==> Staging archive: /spack/var/spack/stage/bowtie-1.2.2_p1-se66bd5p6mfiop65vwqpr4jh6uwvpxsr/v1.2.2_p1.tar.gz\r\n==> Created stage in /spack/var/spack/stage/bowtie-1.2.2_p1-se66bd5p6mfiop65vwqpr4jh6uwvpxsr\r\n==> No patches needed for bowtie\r\n==> Building bowtie [MakefilePackage]\r\n==> Executing phase: 'edit'\r\n==> Executing phase: 'build'\r\n==> Error: ProcessError: Command exited with status 2:\r\n    'make' '-j2' 'NO_TBB=1'\r\n\r\n4 errors found in build log:\r\n     18    In file included from sequence_io.h:12:0,\r\n     19                     from multikey_qsort.h:8,\r\n     20                     from diff_sample.h:13,\r\n     21                     from blockwise_sa.h:19,\r\n     22                     from ebwt.h:27,\r\n     23                     from ebwt_build.cpp:11:\r\n  >> 24    pat.h:6:18: fatal error: zlib.h: No such file or directory\r\n     25     #include <zlib.h>\r\n     26                      ^\r\n\r\n     27    compilation terminated.\r\n     28    In file included from sequence_io.h:12:0,\r\n     29                     from multikey_qsort.h:8,\r\n     30                     from diff_sample.h:13,\r\n     31                     from blockwise_sa.h:19,\r\n     32                     from ebwt.h:27,\r\n     33                     from ebwt_build.cpp:11:\r\n  >> 34    pat.h:6:18: fatal error: zlib.h: No such file or directory\r\n     35     #include <zlib.h>\r\n     36                      ^\r\n     37    compilation terminated.\r\n  >> 38    make: *** [bowtie-build-l] Error 1\r\n     39    make: *** Waiting for unfinished jobs....\r\n  >> 40    make: *** [bowtie-build-s] Error 1\r\n\r\nSee build log for details:\r\n  /spack/var/spack/stage/bowtie-1.2.2_p1-se66bd5p6mfiop65vwqpr4jh6uwvpxsr/bowtie-1.2.2_p1/spack-build.out\r\n```\r\n\r\n### Platform and user environment\r\n\r\nPlease report your OS here:\r\n```commandline\r\n$ uname -a\r\nLinux 4b5226354c71 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux\r\n``` \r\nBowtie installation fails with missing zlib dependency. \r\n\r\n\n", "before_files": [{"content": "# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other\n# Spack Project Developers. See the top-level COPYRIGHT file for details.\n#\n# SPDX-License-Identifier: (Apache-2.0 OR MIT)\n\nfrom spack import *\n\n\nclass Bowtie(MakefilePackage):\n    \"\"\"Bowtie is an ultrafast, memory-efficient short read aligner\n    for short DNA sequences (reads) from next-gen sequencers.\"\"\"\n\n    homepage = \"https://sourceforge.net/projects/bowtie-bio/\"\n    url      = \"https://github.com/BenLangmead/bowtie/archive/v1.2.0.tar.gz\"\n\n    # The bowtie project git tagged and GitHub released a v1.2.2,\n    # discovered/fixed a bug, git tagged a v1.2.2_p1 and moved the\n    # 1.2.2 release to use it rather than making a new `1.2.2_p1`\n    # release.\n    #\n    # We point both of the Spack versions at the same tarball so they\n    # build the binaries that are on the release page as v1.2.2\n    version('1.2.2_p1', sha256='e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1')\n    version('1.2.2', sha256='e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1', url=\"https://github.com/BenLangmead/bowtie/archive/v1.2.2_p1.tar.gz\")\n    version('1.2.1.1', sha256='1b38408b88f61d18d7ff28b2470a8cfeefccb3fc59fd46e4cc62e23874e52c20')\n    version('1.2.1', sha256='b2a7c8c879cb08f00a82665bee43e1d4861de44a87912c54d168e44c90869728')\n    version('1.2.0', sha256='dc4e7951b8eca56ce7714c47fd4e84f72badd5312ee9546c912af1963570f894')\n    # Keeping the old 1.2 version around for reproducibility, it's not\n    # clearly identical to 1.2.0.\n    version('1.2', md5='6d97f0ea1a65af11d17cc270cfac4af9', url='https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.0/bowtie-1.2-source.zip')\n\n    # Feel free to tighten this.  I know that v1.2.2 (aka v1.2.2_p1)\n    # builds with %gcc@5.5.5 and fails to build with %gcc@8.2.0.  I'm\n    # not sure whether or not it works with other versions in the\n    # interval.\n    conflicts('%gcc@8:', when='@1.2.2:')\n\n    variant('tbb', default=False, description='Use Intel thread building block')\n\n    depends_on('tbb', when='+tbb')\n\n    # See: https://github.com/BenLangmead/bowtie/issues/87, a\n    # different fix is in the FreeBSD ports/package tree\n    # https://svnweb.freebsd.org/ports?view=revision&revision=483954\n    patch('issue-87.patch', when='%gcc@8.0.0:')\n\n    def edit(self, spec, prefix):\n        makefile = FileFilter('Makefile')\n        makefile.filter('CC = .*', 'CC = ' + env['CC'])\n        makefile.filter('CXX = .*', 'CPP = ' + env['CXX'])\n\n    def build(self, spec, prefix):\n        if '+tbb' in spec:\n            make()\n        else:\n            make('NO_TBB=1')\n\n    def install(self, spec, prefix):\n        make('prefix={0}'.format(self.prefix), 'install')\n", "path": "var/spack/repos/builtin/packages/bowtie/package.py"}], "after_files": [{"content": "# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other\n# Spack Project Developers. See the top-level COPYRIGHT file for details.\n#\n# SPDX-License-Identifier: (Apache-2.0 OR MIT)\n\nfrom spack import *\n\n\nclass Bowtie(MakefilePackage):\n    \"\"\"Bowtie is an ultrafast, memory-efficient short read aligner\n    for short DNA sequences (reads) from next-gen sequencers.\"\"\"\n\n    homepage = \"https://sourceforge.net/projects/bowtie-bio/\"\n    url      = \"https://github.com/BenLangmead/bowtie/archive/v1.2.0.tar.gz\"\n\n    # The bowtie project git tagged and GitHub released a v1.2.2,\n    # discovered/fixed a bug, git tagged a v1.2.2_p1 and moved the\n    # 1.2.2 release to use it rather than making a new `1.2.2_p1`\n    # release.\n    #\n    # We point both of the Spack versions at the same tarball so they\n    # build the binaries that are on the release page as v1.2.2\n    version('1.2.2_p1', sha256='e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1')\n    version('1.2.2', sha256='e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1', url=\"https://github.com/BenLangmead/bowtie/archive/v1.2.2_p1.tar.gz\")\n    version('1.2.1.1', sha256='1b38408b88f61d18d7ff28b2470a8cfeefccb3fc59fd46e4cc62e23874e52c20')\n    version('1.2.1', sha256='b2a7c8c879cb08f00a82665bee43e1d4861de44a87912c54d168e44c90869728')\n    version('1.2.0', sha256='dc4e7951b8eca56ce7714c47fd4e84f72badd5312ee9546c912af1963570f894')\n    # Keeping the old 1.2 version around for reproducibility, it's not\n    # clearly identical to 1.2.0.\n    version('1.2', md5='6d97f0ea1a65af11d17cc270cfac4af9', url='https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.0/bowtie-1.2-source.zip')\n\n    # Feel free to tighten this.  I know that v1.2.2 (aka v1.2.2_p1)\n    # builds with %gcc@5.5.5 and fails to build with %gcc@8.2.0.  I'm\n    # not sure whether or not it works with other versions in the\n    # interval.\n    conflicts('%gcc@8:', when='@1.2.2:')\n\n    variant('tbb', default=False, description='Use Intel thread building block')\n\n    depends_on('tbb', when='+tbb')\n    depends_on('zlib')\n\n    # See: https://github.com/BenLangmead/bowtie/issues/87, a\n    # different fix is in the FreeBSD ports/package tree\n    # https://svnweb.freebsd.org/ports?view=revision&revision=483954\n    patch('issue-87.patch', when='%gcc@8.0.0:')\n\n    def edit(self, spec, prefix):\n        makefile = FileFilter('Makefile')\n        makefile.filter('CC = .*', 'CC = ' + env['CC'])\n        makefile.filter('CXX = .*', 'CPP = ' + env['CXX'])\n\n    def build(self, spec, prefix):\n        if '+tbb' in spec:\n            make()\n        else:\n            make('NO_TBB=1')\n\n    def install(self, spec, prefix):\n        make('prefix={0}'.format(self.prefix), 'install')\n", "path": "var/spack/repos/builtin/packages/bowtie/package.py"}]}