summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Lee <lee218@llnl.gov>2016-08-25 09:14:36 -0700
committerGitHub <noreply@github.com>2016-08-25 09:14:36 -0700
commit77c24d4127f29f88eed6edc99c3a71d2ac56f6a5 (patch)
treec45394d07a1a770f26027c865eced352feb35da3
parent80754a4062297d8b6d52ea049175698bc7317376 (diff)
parenta177b9be8a2dca5aefce904df652ec26d7e0dcba (diff)
downloadspack-77c24d4127f29f88eed6edc99c3a71d2ac56f6a5.tar.gz
spack-77c24d4127f29f88eed6edc99c3a71d2ac56f6a5.tar.bz2
spack-77c24d4127f29f88eed6edc99c3a71d2ac56f6a5.tar.xz
spack-77c24d4127f29f88eed6edc99c3a71d2ac56f6a5.zip
Merge pull request #1379 from LLNL/features/graphlib3
added stat 3.0 beta and added pygtk and dependent packages
-rw-r--r--var/spack/repos/builtin/packages/atk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cairo/package.py1
-rw-r--r--var/spack/repos/builtin/packages/dyninst/package.py17
-rw-r--r--var/spack/repos/builtin/packages/dyninst/stackanalysis_h.patch11
-rw-r--r--var/spack/repos/builtin/packages/dyninst/stat_dysect.patch96
-rw-r--r--var/spack/repos/builtin/packages/glib/package.py4
-rw-r--r--var/spack/repos/builtin/packages/gobject-introspection/package.py49
-rw-r--r--var/spack/repos/builtin/packages/graphlib/package.py5
-rw-r--r--var/spack/repos/builtin/packages/launchmon/package.py2
-rw-r--r--var/spack/repos/builtin/packages/pixman/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-py2cairo/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-pygobject/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-pygobject/pygobject-2.28.6-introspection-1.patch35
-rw-r--r--var/spack/repos/builtin/packages/py-pygtk/package.py46
-rw-r--r--var/spack/repos/builtin/packages/stat/package.py23
15 files changed, 374 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/atk/package.py b/var/spack/repos/builtin/packages/atk/package.py
index d5b6933ec3..0a7d48774d 100644
--- a/var/spack/repos/builtin/packages/atk/package.py
+++ b/var/spack/repos/builtin/packages/atk/package.py
@@ -42,7 +42,7 @@ class Atk(Package):
def url_for_version(self, version):
"""Handle atk's version-based custom URLs."""
url = 'http://ftp.gnome.org/pub/gnome/sources/atk'
- return 'url+/%s/atk-%s.tar.xz' % (version.up_to(2), version)
+ return url + '/%s/atk-%s.tar.xz' % (version.up_to(2), version)
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/cairo/package.py b/var/spack/repos/builtin/packages/cairo/package.py
index ddb8d2fd03..b2911e126a 100644
--- a/var/spack/repos/builtin/packages/cairo/package.py
+++ b/var/spack/repos/builtin/packages/cairo/package.py
@@ -37,6 +37,7 @@ class Cairo(Package):
depends_on("glib")
depends_on("pixman")
depends_on("freetype")
+ depends_on("pkg-config", type="build")
depends_on("fontconfig@2.10.91:") # Require newer version of fontconfig.
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py
index 90c83bdc3a..3df7ca551d 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -28,10 +28,13 @@ from spack import *
class Dyninst(Package):
"""API for dynamic binary instrumentation. Modify programs while they
are executing without recompiling, re-linking, or re-executing."""
+
homepage = "https://paradyn.org"
- url = "http://www.dyninst.org/sites/default/files/downloads/dyninst/8.1.2/DyninstAPI-8.1.2.tgz"
+ url = "https://github.com/dyninst/dyninst/archive/v9.2.0.tar.gz"
list_url = "http://www.dyninst.org/downloads/dyninst-8.x"
+ version('9.2.0', 'ad023f85e8e57837ed9de073b59d6bab',
+ url="https://github.com/dyninst/dyninst/archive/v9.2.0.tar.gz")
version('9.1.0', '5c64b77521457199db44bec82e4988ac',
url="http://www.paradyn.org/release9.1.0/DyninstAPI-9.1.0.tgz")
version('8.2.1', 'abf60b7faabe7a2e4b54395757be39c7',
@@ -41,13 +44,25 @@ class Dyninst(Package):
version('8.1.1', 'd1a04e995b7aa70960cd1d1fac8bd6ac',
url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz")
+ variant('stat_dysect', default=False,
+ description="patch for STAT's DySectAPI")
+
depends_on("libelf")
depends_on("libdwarf")
depends_on("boost@1.42:")
depends_on('cmake', type='build')
+ patch('stat_dysect.patch', when='+stat_dysect')
+ patch('stackanalysis_h.patch', when='@9.2.0')
+
# new version uses cmake
def install(self, spec, prefix):
+ if spec.satisfies('@:8.1'):
+ configure("--prefix=" + prefix)
+ make()
+ make("install")
+ return
+
libelf = spec['libelf'].prefix
libdwarf = spec['libdwarf'].prefix
diff --git a/var/spack/repos/builtin/packages/dyninst/stackanalysis_h.patch b/var/spack/repos/builtin/packages/dyninst/stackanalysis_h.patch
new file mode 100644
index 0000000000..2c04d935d9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dyninst/stackanalysis_h.patch
@@ -0,0 +1,11 @@
+--- a/dataflowAPI/h/stackanalysis.h 2016-06-29 14:54:14.000000000 -0700
++++ b/dataflowAPI/h/stackanalysis.h 2016-08-02 09:50:13.619079000 -0700
+@@ -331,7 +331,7 @@
+
+ // To build intervals, we must replay the effect of each instruction.
+ // To avoid sucking enormous time, we keep those transfer functions around...
+- typedef std::map<ParseAPI::Block *, std::map<Offset, TransferFuncs>>
++ typedef std::map<ParseAPI::Block *, std::map<Offset, TransferFuncs> >
+ InstructionEffects;
+
+ DATAFLOW_EXPORT StackAnalysis();
diff --git a/var/spack/repos/builtin/packages/dyninst/stat_dysect.patch b/var/spack/repos/builtin/packages/dyninst/stat_dysect.patch
new file mode 100644
index 0000000000..c15403683f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dyninst/stat_dysect.patch
@@ -0,0 +1,96 @@
+From 3aebb41ce0ea5b578a1ebf6810446c660066c525 Mon Sep 17 00:00:00 2001
+From: Jesper Puge Nielsen <nielsen34@llnl.gov>
+Date: Wed, 12 Aug 2015 21:07:52 -0700
+Subject: [PATCH] =?UTF-8?q?Exposed=20stackwalker=20and=20proc=20callback=20status=20to=20DySect
+=20=C3c?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ dyninstAPI/h/BPatch_process.h | 13 +++++++++++++
+ dyninstAPI/src/BPatch_process.C | 18 ++++++++++++++++++
+ dyninstAPI/src/dynProcess.h | 3 ++-
+ 3 files changed, 33 insertions(+), 1 deletions(-)
+
+diff --git a/dyninstAPI/h/BPatch_process.h b/dyninstAPI/h/BPatch_process.h
+index 5e01bbb..1316bb2 100644
+--- a/dyninstAPI/h/BPatch_process.h
++++ b/dyninstAPI/h/BPatch_process.h
+@@ -225,6 +225,10 @@ class BPATCH_DLL_EXPORT BPatch_process : public BPatch_addressSpace {
+ //
+ // this function should go away as soon as Paradyn links against Dyninst
+ PCProcess *lowlevel_process() const { return llproc; }
++
++ // Expose walker from Dyninst proces
++ void *get_walker() const;
++
+ // These internal funcs trigger callbacks registered to matching events
+ bool triggerStopThread(instPoint *intPoint, func_instance *intFunc,
+ int cb_ID, void *retVal);
+@@ -281,6 +285,15 @@ class BPATCH_DLL_EXPORT BPatch_process : public BPatch_addressSpace {
+
+ bool continueExecution();
+
++ // BPatch_process::keepStopped
++ //
++ // Changes the desired process stat to prevent
++ // Dyninst from resuming the process after
++ // handling the current event.
++ // Must be called from an event handler.
++
++ void keepStopped();
++
+ // BPatch_process::terminateExecution
+ //
+ // Terminate mutatee process
+diff --git a/dyninstAPI/src/BPatch_process.C b/dyninstAPI/src/BPatch_process.C
+index 115f215..809e797 100644
+--- a/dyninstAPI/src/BPatch_process.C
++++ b/dyninstAPI/src/BPatch_process.C
+@@ -507,6 +507,19 @@ bool BPatch_process::continueExecution()
+ }
+
+ /*
++ * BPatch_process::keepStopped
++ *
++ * Changes the desired process stat to prevent
++ * Dyninst from resuming the process after
++ * handling the current event.
++ * Must be called from an event handler.
++ */
++void BPatch_process::keepStopped()
++{
++ llproc->setDesiredProcessState(PCProcess::ps_stopped);
++}
++
++/*
+ * BPatch_process::terminateExecution
+ *
+ * Kill the thread.
+@@ -1754,3 +1767,8 @@ bool BPatch_process::protectAnalyzedCode()
+ }
+ return ret;
+ }
++
++void *BPatch_process::get_walker() const
++{
++ return llproc->get_walker();
++}
+diff --git a/dyninstAPI/src/dynProcess.h b/dyninstAPI/src/dynProcess.h
+index 54b0c6e..00721d1 100644
+--- a/dyninstAPI/src/dynProcess.h
++++ b/dyninstAPI/src/dynProcess.h
+@@ -302,7 +302,8 @@ public:
+ // Stackwalking internals
+ bool walkStack(pdvector<Frame> &stackWalk, PCThread *thread);
+ bool getActiveFrame(Frame &frame, PCThread *thread);
+-
++ Dyninst::Stackwalker::Walker *get_walker() { return stackwalker_; }
++
+ void addSignalHandler(Address, unsigned);
+ bool isInSignalHandler(Address addr);
+
+--
+1.7.1
+
diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py
index 2720831e4f..94ef95e7ab 100644
--- a/var/spack/repos/builtin/packages/glib/package.py
+++ b/var/spack/repos/builtin/packages/glib/package.py
@@ -30,17 +30,19 @@ class Glib(Package):
providing data structure handling for C, portability wrappers
and interfaces for such runtime functionality as an event loop,
threads, dynamic loading and an object system."""
+
homepage = "https://developer.gnome.org/glib/"
url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz"
version('2.49.4', 'e2c87c03017b0cd02c4c73274b92b148')
+ version('2.48.1', '67bd3b75c9f6d5587b457dc01cdcd5bb')
version('2.42.1', '89c4119e50e767d3532158605ee9121a')
depends_on('libffi')
depends_on('zlib')
depends_on('pkg-config', type='build')
depends_on('gettext')
- depends_on('pcre+utf', when='@2.49:')
+ depends_on('pcre+utf', when='@2.48:')
# The following patch is needed for gcc-6.1
patch('g_date_strftime.patch', when='@2.42.1')
diff --git a/var/spack/repos/builtin/packages/gobject-introspection/package.py b/var/spack/repos/builtin/packages/gobject-introspection/package.py
new file mode 100644
index 0000000000..02ec87826d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gobject-introspection/package.py
@@ -0,0 +1,49 @@
+##############################################################################
+# 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 GobjectIntrospection(Package):
+ """The GObject Introspection is used to describe the program APIs and
+ collect them in a uniform, machine readable format.Cairo is a 2D graphics
+ library with support for multiple output"""
+
+ homepage = "https://wiki.gnome.org/Projects/GObjectIntrospection"
+ url = "http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.48/gobject-introspection-1.48.0.tar.xz"
+
+ version('1.48.0', '01301fa9019667d48e927353e08bc218')
+
+ # version 1.48.0 build fails with glib 2.49.4
+ depends_on("glib@2.48.1")
+ depends_on("python")
+ depends_on("cairo")
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+ # we need to filter this file to avoid an overly long hashbang line
+ filter_file('@PYTHON@', 'python',
+ 'tools/g-ir-tool-template.in')
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/graphlib/package.py b/var/spack/repos/builtin/packages/graphlib/package.py
index 0c3cd9b649..1e0eb2bf3b 100644
--- a/var/spack/repos/builtin/packages/graphlib/package.py
+++ b/var/spack/repos/builtin/packages/graphlib/package.py
@@ -27,10 +27,11 @@ from spack import *
class Graphlib(Package):
"""Library to create, manipulate, and export graphs Graphlib."""
- homepage = "http://https://github.com/lee218llnl/graphlib"
- url = "https://github.com/lee218llnl/graphlib/archive/v2.0.0.tar.gz"
+ homepage = "https://github.com/LLNL/graphlib"
+ url = "https://github.com/LLNL/graphlib/archive/v2.0.0.tar.gz"
version('2.0.0', '43c6df84f1d38ba5a5dce0ae19371a70')
+ version('3.0.0', '625d199f97ab1b84cbc8daabcaee5e2a')
depends_on('cmake', type='build')
diff --git a/var/spack/repos/builtin/packages/launchmon/package.py b/var/spack/repos/builtin/packages/launchmon/package.py
index d7c96a03d8..c2b289da4f 100644
--- a/var/spack/repos/builtin/packages/launchmon/package.py
+++ b/var/spack/repos/builtin/packages/launchmon/package.py
@@ -36,6 +36,8 @@ class Launchmon(Package):
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
+ depends_on('libgcrypt')
+ depends_on('libgpg-error')
def install(self, spec, prefix):
configure(
diff --git a/var/spack/repos/builtin/packages/pixman/package.py b/var/spack/repos/builtin/packages/pixman/package.py
index 3d7e332a3f..39041587f5 100644
--- a/var/spack/repos/builtin/packages/pixman/package.py
+++ b/var/spack/repos/builtin/packages/pixman/package.py
@@ -34,6 +34,7 @@ class Pixman(Package):
version('0.32.6', '3a30859719a41bd0f5cccffbfefdd4c2')
+ depends_on("pkg-config", type="build")
depends_on("libpng")
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/py-py2cairo/package.py b/var/spack/repos/builtin/packages/py-py2cairo/package.py
new file mode 100644
index 0000000000..efc3645745
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-py2cairo/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 PyPy2cairo(Package):
+ """bindings for the Cairo for Python 2,
+ to be used in Python."""
+
+ homepage = "https://pypi.python.org/pypi/pycairo"
+ url = "https://cairographics.org/releases/py2cairo-1.10.0.tar.bz2"
+
+ version('1.10.0', '20337132c4ab06c1146ad384d55372c5')
+
+ extends('python')
+ depends_on("cairo")
+ depends_on("pixman")
+
+ def install(self, spec, prefix):
+ python('waf', 'configure', '--prefix=%s' % prefix)
+ python('waf', 'build')
+ python('waf', 'install')
diff --git a/var/spack/repos/builtin/packages/py-pygobject/package.py b/var/spack/repos/builtin/packages/py-pygobject/package.py
new file mode 100644
index 0000000000..3af849e758
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pygobject/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 PyPygobject(Package):
+ """bindings for the GLib, and GObject,
+ to be used in Python."""
+
+ homepage = "https://pypi.python.org/pypi/pygobject"
+ url = "https://pypi.python.org/packages/6d/15/97c8b5ccca2be14cf59a2f79e15e3a82a1c3408a6b76b4107689a8b94846/pygobject-2.28.3.tar.bz2"
+
+ version('2.28.3', 'aa64900b274c4661a5c32e52922977f9')
+
+ extends('python')
+ depends_on("libffi")
+ depends_on('glib')
+ depends_on('py-py2cairo')
+ depends_on('gobject-introspection')
+
+ patch('pygobject-2.28.6-introspection-1.patch')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+ make()
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/py-pygobject/pygobject-2.28.6-introspection-1.patch b/var/spack/repos/builtin/packages/py-pygobject/pygobject-2.28.6-introspection-1.patch
new file mode 100644
index 0000000000..ef96ba3352
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pygobject/pygobject-2.28.6-introspection-1.patch
@@ -0,0 +1,35 @@
+Submitted By: Andrew Benton <andy@benton.eu.com>
+Date: 2012-03-29
+Initial Package Version: 2.28.6
+Upstream Status: not submitted
+Origin: me
+Description: Fixes compiling with a recent version of gobject-introspection
+
+--- pygobject-2.28.6/gi/pygi-info.c-orig 2012-03-29 02:27:37.494228732 +0100
++++ pygobject-2.28.6/gi/pygi-info.c 2012-03-29 02:26:37.735132310 +0100
+@@ -162,9 +162,6 @@
+ case GI_INFO_TYPE_CONSTANT:
+ type = &PyGIConstantInfo_Type;
+ break;
+- case GI_INFO_TYPE_ERROR_DOMAIN:
+- type = &PyGIErrorDomainInfo_Type;
+- break;
+ case GI_INFO_TYPE_UNION:
+ type = &PyGIUnionInfo_Type;
+ break;
+@@ -481,7 +478,6 @@
+ case GI_INFO_TYPE_INVALID:
+ case GI_INFO_TYPE_FUNCTION:
+ case GI_INFO_TYPE_CONSTANT:
+- case GI_INFO_TYPE_ERROR_DOMAIN:
+ case GI_INFO_TYPE_VALUE:
+ case GI_INFO_TYPE_SIGNAL:
+ case GI_INFO_TYPE_PROPERTY:
+@@ -860,7 +856,6 @@
+ case GI_INFO_TYPE_INVALID:
+ case GI_INFO_TYPE_FUNCTION:
+ case GI_INFO_TYPE_CONSTANT:
+- case GI_INFO_TYPE_ERROR_DOMAIN:
+ case GI_INFO_TYPE_VALUE:
+ case GI_INFO_TYPE_SIGNAL:
+ case GI_INFO_TYPE_PROPERTY:
diff --git a/var/spack/repos/builtin/packages/py-pygtk/package.py b/var/spack/repos/builtin/packages/py-pygtk/package.py
new file mode 100644
index 0000000000..ab0a139f02
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pygtk/package.py
@@ -0,0 +1,46 @@
+##############################################################################
+# 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 PyPygtk(Package):
+ """bindings for the Gtk in Python"""
+ homepage = "http://www.pygtk.org/"
+ url = "http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.24/pygtk-2.24.0.tar.gz"
+
+ version('2.24.0', 'd27c7f245a9e027f6b6cd9acb7468e36')
+
+ extends('python')
+ depends_on("libffi")
+ depends_on('cairo')
+ depends_on('glib')
+ depends_on('gtkplus')
+ depends_on('py-pygobject')
+ depends_on('py-py2cairo')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+ make()
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/stat/package.py b/var/spack/repos/builtin/packages/stat/package.py
index ec2fae5e9b..8c4663c524 100644
--- a/var/spack/repos/builtin/packages/stat/package.py
+++ b/var/spack/repos/builtin/packages/stat/package.py
@@ -27,22 +27,36 @@ from spack import *
class Stat(Package):
"""Library to create, manipulate, and export graphs Graphlib."""
+
homepage = "http://paradyn.org/STAT/STAT.html"
url = "https://github.com/lee218llnl/stat/archive/v2.0.0.tar.gz"
version('2.2.0', '26bd69dd57a15afdd5d0ebdb0b7fb6fc')
version('2.1.0', 'ece26beaf057aa9134d62adcdda1ba91')
version('2.0.0', 'c7494210b0ba26b577171b92838e1a9b')
+ version('3.0.0b', '8851912ba40e31cf7be6dde3be8e702c',
+ url='https://github.com/LLNL/STAT/files/427762/STAT-3.0.0b.tar.gz')
+ # TODO: dysect requires Dyninst patch for version 3.0.0b
variant('dysect', default=False, description="enable DySectAPI")
+ variant('examples', default=False, description="enable examples")
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
depends_on('libelf')
depends_on('libdwarf')
- depends_on('dyninst')
- depends_on('graphlib')
+ depends_on('dyninst', when='~dysect')
+ depends_on('dyninst@8.2.1+stat_dysect', when='+dysect')
+ depends_on('graphlib@2.0.0', when='@2.0.0:2.2.0')
+ depends_on('graphlib@3.0.0', when='@3:')
depends_on('graphviz', type=alldeps)
depends_on('launchmon')
depends_on('mrnet')
+ depends_on('python')
+ depends_on('py-pygtk')
+ depends_on('swig')
+ depends_on('mpi', when='+examples')
patch('configure_mpicxx.patch', when='@2.1.0')
@@ -50,8 +64,6 @@ class Stat(Package):
configure_args = [
"--enable-gui",
"--prefix=%s" % prefix,
- # Examples require MPI: avoid this dependency.
- "--disable-examples",
"--with-launchmon=%s" % spec['launchmon'].prefix,
"--with-mrnet=%s" % spec['mrnet'].prefix,
"--with-graphlib=%s" % spec['graphlib'].prefix,
@@ -60,7 +72,8 @@ class Stat(Package):
]
if '+dysect' in spec:
configure_args.append('--enable-dysectapi')
+ if '~examples' in spec:
+ configure_args.append('--disable-examples')
configure(*configure_args)
- make(parallel=False)
make("install")