Repository: spack/spack

Issue:
Installation issue: teckit
### Steps to reproduce the issue

```
spack install teckit
```

The "release" tarball used by the current package lacks several files including `SFconv/expat/xmlparse/xmlparse.h`.

Using tarballs based off of version tags solves the problem.  PR incoming. 

### Error message

<details><summary>Error message</summary><pre>
➜  spack git:(develop) spack install teckit@2.5.9%gcc
[+] /Users/rountree4/repos/spack/opt/spack/darwin-monterey-m1/gcc-11.3.0/gnuconfig-2021-08-14-wbgjvj5tj7mowu2bsftiske4ekqjv6e6
[+] /Users/rountree4/repos/spack/opt/spack/darwin-monterey-m1/gcc-11.3.0/zlib-1.2.12-67e5ej3xfgwtln3vkylob3nkliwgue46
[+] /Users/rountree4/repos/spack/opt/spack/darwin-monterey-m1/gcc-11.3.0/expat-2.4.8-xiulthdk3dunihnpyjuu356qkqwtmiy6
==> Installing teckit-2.5.9-gvy2kqltqztj3y5uw64qqlig25sxh5lg
==> No binary for teckit-2.5.9-gvy2kqltqztj3y5uw64qqlig25sxh5lg found: installing from source
==> Using cached archive: /Users/rountree4/repos/spack/var/spack/cache/_source-cache/archive/68/6823fb3142efa34e5d74de35d37cdf4724efbf577f5ff15a8e2b364e6ef47d3d.tar.gz
==> No patches needed for teckit
==> teckit: Executing phase: 'autoreconf'
==> teckit: Executing phase: 'configure'
==> teckit: Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j10' 'V=1'
 
4 errors found in build log:
     165        mv -f $depbase.Tpo $depbase.Po
     166    depbase=`echo ../source/Sample-tools/TxtConv.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
     167        /Users/rountree4/repos/spack/lib/spack/env/gcc/g++ -DHAVE_CONFIG_H -I. -I..  -I../source/Public-headers   -g -O2 -DNDEBUG -MT ../source/Sample-tools/TxtConv.o -MD -MP -MF $depbase.Tpo -c -o ../source/Sample-tools/TxtConv.o ../source/Sample-tools/TxtConv.cpp &&\
     168        mv -f $depbase.Tpo $depbase.Po
     169    /Users/rountree4/repos/spack/lib/spack/env/gcc/g++ -DHAVE_CONFIG_H -I. -I..  -I../source/Public-headers -DXML_DTD   -std=c++11 -g -O2 -DNDEBUG -MT ../SFconv/sfconv-SFconv.o -MD -MP -MF ../SFconv/.deps/sfconv-SFconv.Tpo -c -o ../SFconv/sfconv-SFconv.o `test -f '../SFconv/SFconv.cpp' || echo './'`../SFconv/SFconv.cpp
     170    /Users/rountree4/repos/spack/lib/spack/env/gcc/g++ -DHAVE_CONFIG_H -I. -I..  -I../source/Public-headers -DXML_DTD   -std=c++11 -g -O2 -DNDEBUG -MT ../SFconv/sfconv-UtfCodec.o -MD -MP -MF ../SFconv/.deps/sfconv-UtfCodec.Tpo -c -o ../SFconv/sfconv-UtfCodec.o `test -f '../SFconv/UtfCodec.cpp' || echo './'`../SFconv/UtfCodec.cpp
  >> 171    ../SFconv/SFconv.cpp:49:10: fatal error: expat/xmlparse/xmlparse.h: No such file or directory
     172       49 | #include "expat/xmlparse/xmlparse.h"
     173          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
     174    compilation terminated.
  >> 175    make[2]: *** [../SFconv/sfconv-SFconv.o] Error 1
     176    make[2]: *** Waiting for unfinished jobs....
     177    mv -f ../SFconv/.deps/sfconv-UtfCodec.Tpo ../SFconv/.deps/sfconv-UtfCodec.Po
  >> 178    make[1]: *** [all-recursive] Error 1
  >> 179    make: *** [all] Error 2
 
See build log for details:
  /Users/rountree4/repos/local/user_cache/stage/spack-stage-teckit-2.5.9-gvy2kqltqztj3y5uw64qqlig25sxh5lg/spack-build-out.txt
</pre></details>


### Information on your system

```
➜  spack git:(fixes/teckit) ✗ spack debug report          
* **Spack:** 0.19.0.dev0 (9eb7fbe032077f1871e2c92b71d06f0ec660f8e1)
* **Python:** 3.8.9
* **Platform:** darwin-monterey-m1
* **Concretizer:** clingo
```

### Additional information

n/a

### General information

- [X] I have run `spack debug report` and reported the version of Spack/Python/Platform
- [X] I have run `spack maintainers <name-of-the-package>` and **@mentioned** any maintainers
- [X] I have uploaded the build log and environment files
- [X] I have searched the issues of this repo and believe this is not a duplicate


Discussion:

Resolving patch:
diff --git a/var/spack/repos/builtin/packages/teckit/package.py b/var/spack/repos/builtin/packages/teckit/package.py
--- a/var/spack/repos/builtin/packages/teckit/package.py
+++ b/var/spack/repos/builtin/packages/teckit/package.py
@@ -16,14 +16,28 @@ class Teckit(AutotoolsPackage):
     TECkit compiler creates these tables from plain-text, human-readable
     descriptions."""
 
+    maintainers = ["rountree"]
     homepage = "https://scripts.sil.org/cms/scripts/page.php?cat_id=TECkit"
-    url = "https://github.com/silnrsi/teckit/releases/download/v2.5.9/teckit-2.5.9.tar.gz"
+    git = "https://github.com/silnrsi/teckit.git"
 
-    version("2.5.9", sha256="6823fb3142efa34e5d74de35d37cdf4724efbf577f5ff15a8e2b364e6ef47d3d")
+    version("2.5.11", commit="fea17dbf17266387c96f74fd9c0ce44d065f0f50")
+    version("2.5.10", commit="1c510d4de7ff844207b1273e856fd27a15b3486d")
+    version("2.5.9", commit="e2434cef98d59487514450304513efb42c376365")
+    version("2.5.8", commit="f7838e4e61329ae8e1a788a3d35f7865c68c4da5")
+    version("2.5.7", commit="50c7346dc3c887b16b26c3ff269fd4cfc9f8a892")
+    version("2.5.6", commit="41c20be2793e1afcbb8de6339af89d1eeab84fe8")
+    version("2.5.5", commit="2733fd9895819e3697257550cc39b8e419c1ee7e")
 
-    depends_on("expat")
     depends_on("zlib")
+    depends_on("autoconf", type="build")
+    depends_on("automake", type="build")
+    depends_on("libtool", type="build")
+    depends_on("m4", type="build")
 
     def configure_args(self):
         args = ["--with-system-zlib"]
         return args
+
+    def autoreconf(self, spec, prefix):
+        sh = which("sh")
+        sh("./autogen.sh")


Test patch: