diff options
-rw-r--r-- | var/spack/repos/builtin/packages/groff/gropdf.patch | 13 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/groff/package.py | 47 |
2 files changed, 35 insertions, 25 deletions
diff --git a/var/spack/repos/builtin/packages/groff/gropdf.patch b/var/spack/repos/builtin/packages/groff/gropdf.patch deleted file mode 100644 index 9044c64aa3..0000000000 --- a/var/spack/repos/builtin/packages/groff/gropdf.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index bc156ce..70c6f85 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -896,6 +896,8 @@ $(GNULIBDIRS): FORCE - $(MAKE) ACLOCAL=: AUTOCONF=: AUTOHEADER=: AUTOMAKE=: $(do) ;; \ - esac - -+$(SHPROGDIRS): $(PROGDEPDIRS) -+ - $(OTHERDIRS): $(PROGDEPDIRS) $(CCPROGDIRS) $(CPROGDIRS) $(SHPROGDIRS) - - $(INCDIRS) $(PROGDEPDIRS) $(SHPROGDIRS) $(OTHERDIRS): FORCE diff --git a/var/spack/repos/builtin/packages/groff/package.py b/var/spack/repos/builtin/packages/groff/package.py index 63c8bf1c4f..1106fd6916 100644 --- a/var/spack/repos/builtin/packages/groff/package.py +++ b/var/spack/repos/builtin/packages/groff/package.py @@ -16,33 +16,49 @@ class Groff(AutotoolsPackage, GNUMirrorPackage): homepage = "https://www.gnu.org/software/groff/" gnu_mirror_path = "groff/groff-1.22.3.tar.gz" + version('1.22.4', sha256='e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293') + version('1.22.3', sha256='3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5') + # TODO: add html variant, spack doesn't have netpbm and its too # complicated for me to find out at this point in time. # See brew scripts for groff for guidance: # https://github.com/Homebrew/homebrew-core/blob/master/Formula/groff.rb # Seems troublesome...netpbm requires groff? variant('pdf', default=True, description='Build the `gropdf` executable.') + variant('x', default=False, description='Enable set of graphical options') + variant('uchardet', default=True, + description='Builds preconv with uchardet library for ' + 'automatic file encoding detection') + + conflicts('+uchardet', when='@:1.22.3') depends_on('gawk', type='build') depends_on('gmake', type='build') depends_on('sed', type='build') depends_on('ghostscript', when='+pdf') + # iconv is being asked whatever the release + depends_on('iconv') + # makeinfo is being searched for + depends_on('texinfo', type='build', when='@1.22.4:') + # configure complains when there is no uchardet that enhances preconv + depends_on('uchardet', when='@1.22.4:') - version('1.22.3', sha256='3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5') - - # https://savannah.gnu.org/bugs/index.php?43581 - # TODO: figure out why this patch does not actually work for parallel - # builds reliably. - # patch('gropdf.patch') - parallel = False + depends_on('libice', when='+x') + depends_on('libxaw', when='+x') + depends_on('libxmu', when='+x') + depends_on('libx11', when='+x') # The perl interpreter line in scripts might be too long as it has # not been transformed yet. Call scripts with spack perl explicitly. - patch('BuildFoundries.patch') - patch('pdfmom.patch') + patch('BuildFoundries.patch', when='@1.22.3') + patch('pdfmom.patch', when='@1.22.3') executables = ['^groff$'] + @property + def parallel(self): + return self.spec.satisfies('@1.22.4') + @classmethod def determine_version(cls, exe): output = Executable(exe)('--version', output=str, error=str) @@ -50,7 +66,14 @@ class Groff(AutotoolsPackage, GNUMirrorPackage): return match.group(1) if match else None def configure_args(self): - args = [ - "--without-x" - ] + args = ['--disable-silent-rules'] + args.extend(self.with_or_without('x')) + if '@1.22.4:' in self.spec: + args.extend(self.with_or_without('uchardet')) + args.append('--with-libiconv-prefix={0}'.format(self.spec['iconv'].prefix)) return args + + def setup_run_environment(self, env): + if self.spec.satisfies('+x'): + dir = join_path(self.prefix.lib, 'X11', 'app-defaults') + env.set_path('XFILESEARCHPATH', dir) |