summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen McDowell <svenevs@users.noreply.github.com>2017-08-18 05:17:25 -0700
committerMassimiliano Culpo <massimiliano.culpo@googlemail.com>2017-08-18 14:17:25 +0200
commit61238baf56553261c51df67dede51796d518aa93 (patch)
treee9b5c3590838c2c2197457f8f4af80146a2802ab
parent6d2092e1eb07081d6a13819886a7c948cac2a23b (diff)
downloadspack-61238baf56553261c51df67dede51796d518aa93.tar.gz
spack-61238baf56553261c51df67dede51796d518aa93.tar.bz2
spack-61238baf56553261c51df67dede51796d518aa93.tar.xz
spack-61238baf56553261c51df67dede51796d518aa93.zip
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
-rw-r--r--var/spack/repos/builtin/packages/check/package.py39
-rw-r--r--var/spack/repos/builtin/packages/groff/gropdf.patch13
-rw-r--r--var/spack/repos/builtin/packages/groff/package.py61
-rw-r--r--var/spack/repos/builtin/packages/libpipeline/package.py40
-rw-r--r--var/spack/repos/builtin/packages/man-db/package.py59
5 files changed, 212 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/check/package.py b/var/spack/repos/builtin/packages/check/package.py
new file mode 100644
index 0000000000..53b03d28cd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/check/package.py
@@ -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')
diff --git a/var/spack/repos/builtin/packages/groff/gropdf.patch b/var/spack/repos/builtin/packages/groff/gropdf.patch
new file mode 100644
index 0000000000..9044c64aa3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/groff/gropdf.patch
@@ -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
diff --git a/var/spack/repos/builtin/packages/groff/package.py b/var/spack/repos/builtin/packages/groff/package.py
new file mode 100644
index 0000000000..1cef3040e0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/groff/package.py
@@ -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
diff --git a/var/spack/repos/builtin/packages/libpipeline/package.py b/var/spack/repos/builtin/packages/libpipeline/package.py
new file mode 100644
index 0000000000..2d51755633
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpipeline/package.py
@@ -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')
diff --git a/var/spack/repos/builtin/packages/man-db/package.py b/var/spack/repos/builtin/packages/man-db/package.py
new file mode 100644
index 0000000000..9c038d03e2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/man-db/package.py
@@ -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