add man-db package and friends (#4844)

* add man-db package and friends

* fix groff, libpipeline, and man-db dependencies

* remove parallel groff altogether, build-only deps
This commit is contained in:
Stephen McDowell 2017-08-18 05:17:25 -07:00 committed by Massimiliano Culpo
parent 6d2092e1eb
commit 61238baf56
5 changed files with 212 additions and 0 deletions

View file

@ -0,0 +1,39 @@
##############################################################################
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class Check(AutotoolsPackage):
"""Check is a unit testing framework for C. It features a simple interface
for defining unit tests, putting little in the way of the developer. Tests
are run in a separate address space, so both assertion failures and code
errors that cause segmentation faults or other signals can be caught. Test
results are reportable in the following: Subunit, TAP, XML, and a generic
logging format."""
homepage = "https://libcheck.github.io/check/index.html"
url = "https://downloads.sourceforge.net/project/check/check/0.10.0/check-0.10.0.tar.gz"
version('0.10.0', '53c5e5c77d090e103a17f3ed7fd7d8b8')

View file

@ -0,0 +1,13 @@
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

View file

@ -0,0 +1,61 @@
##############################################################################
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class Groff(AutotoolsPackage):
"""Groff (GNU troff) is a typesetting system that reads
plain text mixed with formatting commands and produces
formatted output. Output may be PostScript or PDF, html, or
ASCII/UTF8 for display at the terminal."""
homepage = "https://www.gnu.org/software/groff/"
url = "http://ftp.gnu.org/gnu/groff/groff-1.22.3.tar.gz"
# 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.')
depends_on('gawk', type='build')
depends_on('gmake', type='build')
depends_on('sed', type='build')
depends_on('ghostscript', when='+pdf')
version('1.22.3', 'cc825fa64bc7306a885f2fb2268d3ec5')
# 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
def configure_args(self):
args = [
"--without-x"
]
return args

View file

@ -0,0 +1,40 @@
##############################################################################
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class Libpipeline(AutotoolsPackage):
"""libpipeline is a C library for manipulating pipelines of subprocesses
in a flexible and convenient way."""
homepage = "http://libpipeline.nongnu.org/"
url = "http://git.savannah.nongnu.org/cgit/libpipeline.git/snapshot/libpipeline-1.4.2.tar.gz"
version('1.4.2', '30cec7bcd6fee723adea6a54389f3da2')
depends_on('pkg-config', type='build')
# TODO: Add a 'test' deptype
# See https://github.com/LLNL/spack/issues/1279
# depends_on('check', type='test')

View file

@ -0,0 +1,59 @@
##############################################################################
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class ManDb(AutotoolsPackage):
"""man-db is an implementation of the standard Unix
documentation system accessed using the man command. It uses
a Berkeley DB database in place of the traditional
flat-text whatis databases."""
homepage = "http://www.nongnu.org/man-db/"
url = "http://git.savannah.nongnu.org/cgit/man-db.git/snapshot/man-db-2.7.6.1.tar.gz"
version('2.7.6.1', '312761baade811db2b956af3432c285e')
depends_on('autoconf')
depends_on('automake')
depends_on('gettext')
depends_on('libpipeline')
depends_on('flex')
depends_on('groff', type=('build', 'link', 'run'))
# TODO: add gzip support via a new package.
# man pages are typically compressed, include all available
# compression libraries
depends_on('bzip2', type=('build', 'link', 'run'))
depends_on('lzma', type=('build', 'link', 'run'))
depends_on('xz', type=('build', 'link', 'run'))
def configure_args(self):
args = [
'--disable-setuid',
# defaults to a location that needs root privs to write in
'--with-systemdtmpfilesdir={0}/tmp'.format(self.prefix)
]
return args