summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Cessenat <cessenat@gmail.com>2021-06-10 16:58:22 +0200
committerGitHub <noreply@github.com>2021-06-10 16:58:22 +0200
commite4a79dab4724162b864cf560dfc2ce154987d244 (patch)
treee7a5b115116663e1c90310734dc55877235771d4
parentfd5b13b7a48495d19232d122c962aeee3c50959e (diff)
downloadspack-e4a79dab4724162b864cf560dfc2ce154987d244.tar.gz
spack-e4a79dab4724162b864cf560dfc2ce154987d244.tar.bz2
spack-e4a79dab4724162b864cf560dfc2ce154987d244.tar.xz
spack-e4a79dab4724162b864cf560dfc2ce154987d244.zip
groff: add v1.22.4, update recipe (#24213)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
-rw-r--r--var/spack/repos/builtin/packages/groff/gropdf.patch13
-rw-r--r--var/spack/repos/builtin/packages/groff/package.py47
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)