def METHOD_NAME(self, spec, prefix):
    # Spacks strips the single dir inside the tarball, but Gaussian
    # needs it -> move them back
    files = os.listdir()
    mkdirp(self.g_name)
    for f in files:
        os.rename(f, join_path(self.g_name, f))
    opts = ["all"]
    #  if spec.satisfies('+cuda'):
    #      opts += [spec.variants['cuda_family'].value]
    with working_dir(self.g_name):
        # can only build with tcsh
        tcsh = which("tcsh")
        tcsh(
            "-c",
            "source ${0}root/{0}/bsd/{0}.login ;"
            "./bsd/bld{0} {1}".format(self.g_name, " ".join(opts)),
        )
        install_tree("./bsd", self.g_root.bsd)
        install_tree("./basis", self.g_root.basis)
        install_tree("./doc", self.g_root.doc)
        for exe in glob.glob("*.exe"):
            METHOD_NAME(exe, self.g_root)
        exes = [
            self.g_name,
            "gauopt",
            "gauoptl",
            "ghelp",
            "newzmat",
            "testrt",
            "cubegen",
            "cubman",
            "c8616",
            "ham506",
            "rwfdump",
            "freqchk",
            "freqmem",
            "formchk",
            "demofc",
            "chkchk",
            "solname",
            "gautraj",
            "copychk",
            "pluck",
            "rdmat",
            "wrmat",
            "unfchk",
            "gdrgen",
            "trajgen",
            "mm",
            "grate",
        ]
        for exe in exes:
            METHOD_NAME(exe, self.g_root)