GTK+3: Provide updates to package dependencies.

WIP: I started trying to build gtkplus@3.20, but this package has many more
dependencies than v2 and it requires newer versions of existing packages. This
commit provides updates for 5 packages that are required by GTK+3. This is not
the complete set of changes required for GTK+3.

atk  - move default version from 2.14 -> 2.20.
glib - move default version from 2.42 -> 2.49
     - v2.49 requires pcre+utf as a new dependency.
pcre - if variant +utf is selected, add '--enable-unicode-properties' to the
       configure options.
libepoxy - new package to spack
         - manages OpenGL function pointers.
pango    - move default version from 1.36 -> 1.40
This commit is contained in:
Kelly (KT) Thompson 2016-07-29 08:46:31 -06:00
parent e04662f84f
commit 6c80b15220
5 changed files with 49 additions and 5 deletions

View File

@ -32,6 +32,7 @@ class Atk(Package):
homepage = "https://developer.gnome.org/atk/" homepage = "https://developer.gnome.org/atk/"
url = "http://ftp.gnome.org/pub/gnome/sources/atk/2.14/atk-2.14.0.tar.xz" url = "http://ftp.gnome.org/pub/gnome/sources/atk/2.14/atk-2.14.0.tar.xz"
version('2.20.0', '5187b0972f4d3905f285540b31395e20')
version('2.14.0', 'ecb7ca8469a5650581b1227d78051b8b') version('2.14.0', 'ecb7ca8469a5650581b1227d78051b8b')
depends_on("glib") depends_on("glib")

View File

@ -32,14 +32,16 @@ class Glib(Package):
and interfaces for such runtime functionality as an event loop, and interfaces for such runtime functionality as an event loop,
threads, dynamic loading and an object system.""" threads, dynamic loading and an object system."""
homepage = "https://developer.gnome.org/glib/" homepage = "https://developer.gnome.org/glib/"
url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz" url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz"
version('2.49.4', 'e2c87c03017b0cd02c4c73274b92b148')
version('2.42.1', '89c4119e50e767d3532158605ee9121a') version('2.42.1', '89c4119e50e767d3532158605ee9121a')
depends_on("libffi") depends_on('libffi')
depends_on("zlib") depends_on('zlib')
depends_on("pkg-config", type='build') depends_on('pkg-config', type='build')
depends_on('gettext', when=sys.platform == 'darwin') depends_on('gettext', when=sys.platform == 'darwin')
depends_on('pcre+utf', when='@2.49:')
# The following patch is needed for gcc-6.1 # The following patch is needed for gcc-6.1
patch('g_date_strftime.patch') patch('g_date_strftime.patch')

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 Libepoxy(Package):
"""Epoxy is a library for handling OpenGL function pointer management for
you."""
homepage = "https://github.com/anholt/libepoxy"
url = "https://github.com/anholt/libepoxy/releases/download/v1.3.1/libepoxy-1.3.1.tar.bz2"
version('1.3.1', '96f6620a9b005a503e7b44b0b528287d')
def install(self, spec, prefix):
configure('--prefix={0}'.format(prefix))
make()
make('install')

View File

@ -24,6 +24,7 @@
############################################################################## ##############################################################################
from spack import * from spack import *
class Pango(Package): class Pango(Package):
"""Pango is a library for laying out and rendering of text, with """Pango is a library for laying out and rendering of text, with
an emphasis on internationalization. It can be used anywhere an emphasis on internationalization. It can be used anywhere
@ -33,6 +34,7 @@ class Pango(Package):
url = "http://ftp.gnome.org/pub/gnome/sources/pango/1.36/pango-1.36.8.tar.xz" url = "http://ftp.gnome.org/pub/gnome/sources/pango/1.36/pango-1.36.8.tar.xz"
version('1.36.8', '217a9a753006275215fa9fa127760ece') version('1.36.8', '217a9a753006275215fa9fa127760ece')
version('1.40.1', '6fc88c6529890d6c8e03074d57a3eceb')
depends_on("harfbuzz") depends_on("harfbuzz")
depends_on("cairo") depends_on("cairo")

View File

@ -29,7 +29,6 @@ class Pcre(Package):
"""The PCRE package contains Perl Compatible Regular Expression """The PCRE package contains Perl Compatible Regular Expression
libraries. These are useful for implementing regular expression libraries. These are useful for implementing regular expression
pattern matching using the same syntax and semantics as Perl 5.""" pattern matching using the same syntax and semantics as Perl 5."""
homepage = "http://www.pcre.org""" homepage = "http://www.pcre.org"""
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2" url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2"
@ -46,6 +45,7 @@ def install(self, spec, prefix):
configure_args = ['--prefix=%s' % prefix] configure_args = ['--prefix=%s' % prefix]
if '+utf' in spec: if '+utf' in spec:
configure_args.append('--enable-utf') configure_args.append('--enable-utf')
configure_args.append('--enable-unicode-properties')
configure(*configure_args) configure(*configure_args)
make() make()