diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/emacs/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/emacs/package.py | 132 |
1 files changed, 65 insertions, 67 deletions
diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py index 410429a41c..4a3e57b134 100644 --- a/var/spack/repos/builtin/packages/emacs/package.py +++ b/var/spack/repos/builtin/packages/emacs/package.py @@ -12,99 +12,97 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage): """The Emacs programmable text editor.""" homepage = "https://www.gnu.org/software/emacs" - git = "git://git.savannah.gnu.org/emacs.git" + git = "git://git.savannah.gnu.org/emacs.git" gnu_mirror_path = "emacs/emacs-24.5.tar.gz" - version('master', branch='master') - version('28.1', sha256='1439bf7f24e5769f35601dbf332e74dfc07634da6b1e9500af67188a92340a28') - version('27.2', sha256='80ff6118fb730a6d8c704dccd6915a6c0e0a166ab1daeef9fe68afa9073ddb73') - version('27.1', sha256='ffbfa61dc951b92cf31ebe3efc86c5a9d4411a1222b8a4ae6716cfd0e2a584db') - version('26.3', sha256='09c747e048137c99ed35747b012910b704e0974dde4db6696fde7054ce387591') - version('26.2', sha256='4f99e52a38a737556932cc57479e85c305a37a8038aaceb5156625caf102b4eb') - version('26.1', sha256='760382d5e8cdc5d0d079e8f754bce1136fbe1473be24bb885669b0e38fc56aa3') - version('25.3', sha256='f72c6a1b48b6fbaca2b991eed801964a208a2f8686c70940013db26cd37983c9') - version('25.2', sha256='505bbd6ea6c197947001d0f80bfccb6b30e1add584d6376f54d4fd6e4de72d2d') - version('25.1', sha256='763344b90db4d40e9fe90c5d14748a9dbd201ce544e2cf0835ab48a0aa4a1c67') - version('24.5', sha256='2737a6622fb2d9982e9c47fb6f2fb297bda42674e09db40fc9bcc0db4297c3b6') - - variant('X', default=False, description="Enable an X toolkit") + version("master", branch="master") + version("28.1", sha256="1439bf7f24e5769f35601dbf332e74dfc07634da6b1e9500af67188a92340a28") + version("27.2", sha256="80ff6118fb730a6d8c704dccd6915a6c0e0a166ab1daeef9fe68afa9073ddb73") + version("27.1", sha256="ffbfa61dc951b92cf31ebe3efc86c5a9d4411a1222b8a4ae6716cfd0e2a584db") + version("26.3", sha256="09c747e048137c99ed35747b012910b704e0974dde4db6696fde7054ce387591") + version("26.2", sha256="4f99e52a38a737556932cc57479e85c305a37a8038aaceb5156625caf102b4eb") + version("26.1", sha256="760382d5e8cdc5d0d079e8f754bce1136fbe1473be24bb885669b0e38fc56aa3") + version("25.3", sha256="f72c6a1b48b6fbaca2b991eed801964a208a2f8686c70940013db26cd37983c9") + version("25.2", sha256="505bbd6ea6c197947001d0f80bfccb6b30e1add584d6376f54d4fd6e4de72d2d") + version("25.1", sha256="763344b90db4d40e9fe90c5d14748a9dbd201ce544e2cf0835ab48a0aa4a1c67") + version("24.5", sha256="2737a6622fb2d9982e9c47fb6f2fb297bda42674e09db40fc9bcc0db4297c3b6") + + variant("X", default=False, description="Enable an X toolkit") variant( - 'toolkit', - default='gtk', - values=('gtk', 'athena'), - description="Select an X toolkit (gtk, athena)" + "toolkit", + default="gtk", + values=("gtk", "athena"), + description="Select an X toolkit (gtk, athena)", ) - variant('tls', default=False, description="Build Emacs with gnutls") - variant('native', default=False, description="enable native compilation of elisp") - - depends_on('pkgconfig', type='build') - - depends_on('ncurses') - depends_on('pcre') - depends_on('zlib') - depends_on('libxml2') - depends_on('libtiff', when='+X') - depends_on('libpng', when='+X') - depends_on('libxpm', when='+X') - depends_on('giflib', when='+X') - depends_on('libx11', when='+X') - depends_on('libxaw', when='+X toolkit=athena') - depends_on('gtkplus', when='+X toolkit=gtk') - depends_on('gnutls', when='+tls') - depends_on('jpeg') - depends_on('m4', type='build', when="@master:") - depends_on('autoconf', type='build', when="@master:") - depends_on('automake', type='build', when="@master:") - depends_on('libtool', type='build', when="@master:") - depends_on('texinfo', type='build', when="@master:") - depends_on('gcc@11: +strip languages=jit', when="+native") - - conflicts('@:26.3', when='platform=darwin os=catalina') - conflicts('+native', when='@:27', msg="native compilation require @master") - - @when('platform=darwin') + variant("tls", default=False, description="Build Emacs with gnutls") + variant("native", default=False, description="enable native compilation of elisp") + + depends_on("pkgconfig", type="build") + + depends_on("ncurses") + depends_on("pcre") + depends_on("zlib") + depends_on("libxml2") + depends_on("libtiff", when="+X") + depends_on("libpng", when="+X") + depends_on("libxpm", when="+X") + depends_on("giflib", when="+X") + depends_on("libx11", when="+X") + depends_on("libxaw", when="+X toolkit=athena") + depends_on("gtkplus", when="+X toolkit=gtk") + depends_on("gnutls", when="+tls") + depends_on("jpeg") + depends_on("m4", type="build", when="@master:") + depends_on("autoconf", type="build", when="@master:") + depends_on("automake", type="build", when="@master:") + depends_on("libtool", type="build", when="@master:") + depends_on("texinfo", type="build", when="@master:") + depends_on("gcc@11: +strip languages=jit", when="+native") + + conflicts("@:26.3", when="platform=darwin os=catalina") + conflicts("+native", when="@:27", msg="native compilation require @master") + + @when("platform=darwin") def setup_build_environment(self, env): # on macOS, emacs' config does search hard enough for ncurses' # termlib `-ltinfo` lib, which results in linker errors - if '+termlib' in self.spec['ncurses']: - env.append_flags('LDFLAGS', '-ltinfo') + if "+termlib" in self.spec["ncurses"]: + env.append_flags("LDFLAGS", "-ltinfo") def configure_args(self): spec = self.spec - toolkit = spec.variants['toolkit'].value - if '+X' in spec: - args = [ - '--with-x', - '--with-x-toolkit={0}'.format(toolkit) - ] + toolkit = spec.variants["toolkit"].value + if "+X" in spec: + args = ["--with-x", "--with-x-toolkit={0}".format(toolkit)] else: - args = ['--without-x'] + args = ["--without-x"] # On OS X/macOS, do not build "nextstep/Emacs.app", because # doing so throws an error at build-time - if sys.platform == 'darwin': - args.append('--without-ns') + if sys.platform == "darwin": + args.append("--without-ns") - if '+native' in spec: - args.append('--with-native-compilation') + if "+native" in spec: + args.append("--with-native-compilation") - if '+tls' in spec: - args.append('--with-gnutls') + if "+tls" in spec: + args.append("--with-gnutls") else: - args.append('--without-gnutls') + args.append("--without-gnutls") return args def _test_check_versions(self): """Perform version checks on installed package binaries.""" - checks = ['ctags', 'ebrowse', 'emacs', 'emacsclient', 'etags'] + checks = ["ctags", "ebrowse", "emacs", "emacsclient", "etags"] for exe in checks: expected = str(self.spec.version) - reason = 'test version of {0} is {1}'.format(exe, expected) - self.run_test(exe, ['--version'], expected, installed=True, - purpose=reason, skip_missing=True) + reason = "test version of {0} is {1}".format(exe, expected) + self.run_test( + exe, ["--version"], expected, installed=True, purpose=reason, skip_missing=True + ) def test(self): """Perform smoke tests on the installed package.""" |