summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Oxberry <goxberry@gmail.com>2019-09-06 10:53:13 -0700
committerAdam J. Stewart <ajstewart426@gmail.com>2019-09-06 12:53:12 -0500
commit8fe5405e1bf98265253acc43720db9eba5531db2 (patch)
tree3f6951c367fa2de916e2b07101ac3959196b5ea0
parent071fb3dd6abf3f66053b605bab8081fc1bfec06e (diff)
downloadspack-8fe5405e1bf98265253acc43720db9eba5531db2.tar.gz
spack-8fe5405e1bf98265253acc43720db9eba5531db2.tar.bz2
spack-8fe5405e1bf98265253acc43720db9eba5531db2.tar.xz
spack-8fe5405e1bf98265253acc43720db9eba5531db2.zip
libpeas@1.22.0: new package (#12385)
* libpeas@1.22.0: new package * libpeas: note more build dependencies Build and link dependencies were obtained through a combination of examining the `config.log` file from `configure` and looking at the pkg-config files of `libpeas`. * libpeas: add search path for GIR/typelib files
-rw-r--r--var/spack/repos/builtin/packages/libpeas/package.py107
1 files changed, 107 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/libpeas/package.py b/var/spack/repos/builtin/packages/libpeas/package.py
new file mode 100644
index 0000000000..01aef48f15
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpeas/package.py
@@ -0,0 +1,107 @@
+# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+import os
+
+
+class Libpeas(AutotoolsPackage):
+ """libpeas is a gobject-based plugins engine, and is targeted at
+ giving every application the chance to assume its own
+ extensibility."""
+
+ homepage = "http://developer.gnome.org/libpeas/stable"
+ url = 'https://download.gnome.org/sources/libpeas/1.22/libpeas-1.22.0.tar.xz'
+
+ version('1.22.0', sha256='5b2fc0f53962b25bca131a5ec0139e6fef8e254481b6e777975f7a1d2702a962')
+
+ depends_on('m4', type='build')
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
+ depends_on('gettext', type='build')
+ depends_on('pkg-config', type='build')
+ depends_on('atk')
+ depends_on('intltool@0.40.0:')
+ depends_on('xmlto', type='build')
+ depends_on('perl', type='build')
+ depends_on('perl-xml-parser', type='build')
+ depends_on('glib@2.10:')
+ depends_on('gobject-introspection')
+ depends_on('libffi')
+ depends_on('gtkplus')
+ depends_on('gdk-pixbuf')
+ depends_on('pango')
+ depends_on('gnome-common')
+ depends_on('py-pygobject@3:', type='build')
+ depends_on('python@3:', type='build')
+
+ def url_for_version(self, version):
+ url = 'https://download.gnome.org/sources/libpeas/'
+ url += '{0}/libpeas-{1}.tar.xz'
+ return url.format(version.up_to(2), version)
+
+ def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
+ spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
+ run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
+
+ def setup_environment(self, spack_env, run_env):
+ # Let
+ #
+ # python = self.spec['python']
+ # prefix = python.prefix
+ # pyversion = python.version.up_to(2)
+ # python_lib_path = os.path.join(prefix, 'Frameworks',
+ # 'Python.framework', 'Versions',
+ # pyversion)
+ #
+ # self.spec['python'].libs.ld_flags returns (on macOS)
+ # '-L{0} -lPython'.format(python_lib_path)
+ #
+ # e.g., for python@3.7.4 on macOS via Homebrew, python_lib_path is
+ # /usr/local/opt/python/Frameworks/Python.framework/Versions/3.7
+ #
+ # This directory is correct for many purposes, but libpeas uses the
+ # link flag '-lpython{0}m'.format(pyversion) and does not use an
+ # appropriate -L flag to locate this library, so the correct -L flag
+ # must be appended to LDFLAGS. Furthermore, this library is not found
+ # in python_lib_path. However, pkg-config returns the correct
+ # directory, so pkg-config is used to generate the correct paths for
+ # LDFLAGS.
+ pkg_config = which('pkg-config')
+ python_prefix = self.spec['python'].prefix.lib.pkgconfig
+ python_pc_file = os.path.join(python_prefix, 'python3.pc')
+ python_ldflags = pkg_config('--libs', python_pc_file, output=str)
+
+ spack_env.append_path('LDFLAGS',
+ python_ldflags)
+ spack_env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ run_env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+
+ def autoreconf(self, spec, prefix):
+ autoreconf_args = ['-ivf']
+ aclocal_pkg_list = ['pkg-config',
+ 'gettext',
+ 'intltool',
+ 'glib',
+ 'gobject-introspection',
+ 'gnome-common',
+ 'gtkplus']
+ aclocal_path = os.path.join('share', 'aclocal')
+
+ for pkg in aclocal_pkg_list:
+ autoreconf_args += ['-I',
+ os.path.join(spec[pkg].prefix, aclocal_path)]
+
+ autoreconf = which('autoreconf')
+ autoreconf(*autoreconf_args)
+
+ def configure_args(self):
+ args = ['--disable-silent-rules',
+ '--enable-gtk',
+ '--enable-python3',
+ '--disable-python2']
+ return args