pango: updated versions with MesonPackage (#30591)
This commit is contained in:
parent
49948bb3e7
commit
61969566f8
@ -14,9 +14,16 @@ class Fribidi(AutotoolsPackage):
|
||||
homepage = "https://github.com/fribidi/fribidi"
|
||||
url = "https://github.com/fribidi/fribidi/releases/download/v1.0.5/fribidi-1.0.5.tar.bz2"
|
||||
|
||||
version('1.0.12', sha256='0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495')
|
||||
version('1.0.8', sha256='94c7b68d86ad2a9613b4dcffe7bbeb03523d63b5b37918bdf2e4ef34195c1e6c')
|
||||
version('1.0.5', sha256='6a64f2a687f5c4f203a46fa659f43dd43d1f8b845df8d723107e8a7e6158e4ce')
|
||||
|
||||
depends_on('m4', type='build')
|
||||
depends_on('autoconf', type='build')
|
||||
depends_on('automake', type='build')
|
||||
depends_on('libtool', type='build')
|
||||
|
||||
def url_for_version(self, version):
|
||||
url = 'https://github.com/fribidi/fribidi/releases/download/'
|
||||
ext = '.tar.bz2' if version <= Version('1.0.8') else '.tar.xz'
|
||||
return url + "/v%s/fribidi-%s%s" % (version, version, ext)
|
||||
|
@ -6,19 +6,26 @@
|
||||
from spack import *
|
||||
|
||||
|
||||
class Harfbuzz(AutotoolsPackage):
|
||||
class Harfbuzz(MesonPackage):
|
||||
"""The Harfbuzz package contains an OpenType text shaping engine."""
|
||||
homepage = "https://github.com/harfbuzz/harfbuzz"
|
||||
url = "https://github.com/harfbuzz/harfbuzz/releases/download/2.9.1/harfbuzz-2.9.1.tar.xz"
|
||||
git = "https://github.com/harfbuzz/harfbuzz.git"
|
||||
|
||||
version('2.9.1', sha256='0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf')
|
||||
version('2.6.8', sha256='6648a571a27f186e47094121f0095e1b809e918b3037c630c7f38ffad86e3035')
|
||||
version('2.3.1', sha256='f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468')
|
||||
version('2.1.3', sha256='613264460bb6814c3894e3953225c5357402915853a652d40b4230ce5faf0bee')
|
||||
version('1.9.0', sha256='11eca62bf0ac549b8d6be55f4e130946399939cdfe7a562fdaee711190248b00')
|
||||
version('1.4.6', sha256='21a78b81cd20cbffdb04b59ac7edfb410e42141869f637ae1d6778e74928d293')
|
||||
version('0.9.37', sha256='255f3b3842dead16863d1d0c216643d97b80bfa087aaa8fc5926da24ac120207')
|
||||
version('4.2.1', sha256='bd17916513829aeff961359a5ccebba6de2f4bf37a91faee3ac29c120e3d7ee1')
|
||||
version('4.1.0', sha256='f7984ff4241d4d135f318a93aa902d910a170a8265b7eaf93b5d9a504eed40c8')
|
||||
version('4.0.1', sha256='98f68777272db6cd7a3d5152bac75083cd52a26176d87bc04c8b3929d33bce49')
|
||||
version('3.4.0', sha256='7158a87c4db82521fc506711f0c8864115f0292d95f7136c8812c11811cdf952')
|
||||
version('3.3.2', sha256='1c13bca136c4f66658059853e2c1253f34c88f4b5c5aba6050aba7b5e0ce2503')
|
||||
version('3.2.0', sha256='0ada50a1c199bb6f70843ab893c55867743a443b84d087d54df08ad883ebc2cd')
|
||||
version('3.1.2', sha256='4056b1541dd8bbd8ec29207fe30e568805c0705515632d7fec53a94399bc7945')
|
||||
version('2.9.1', sha256='0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf', deprecated=True)
|
||||
version('2.6.8', sha256='6648a571a27f186e47094121f0095e1b809e918b3037c630c7f38ffad86e3035', deprecated=True)
|
||||
version('2.3.1', sha256='f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468', deprecated=True)
|
||||
version('2.1.3', sha256='613264460bb6814c3894e3953225c5357402915853a652d40b4230ce5faf0bee', deprecated=True)
|
||||
version('1.9.0', sha256='11eca62bf0ac549b8d6be55f4e130946399939cdfe7a562fdaee711190248b00', deprecated=True)
|
||||
version('1.4.6', sha256='21a78b81cd20cbffdb04b59ac7edfb410e42141869f637ae1d6778e74928d293', deprecated=True)
|
||||
version('0.9.37', sha256='255f3b3842dead16863d1d0c216643d97b80bfa087aaa8fc5926da24ac120207', deprecated=True)
|
||||
|
||||
variant('graphite2', default=False, description='enable support for graphite2 font engine')
|
||||
|
||||
@ -51,8 +58,20 @@ def flag_handler(self, name, flags):
|
||||
flags.append('-std=gnu99')
|
||||
return (None, None, flags)
|
||||
|
||||
def meson_args(self):
|
||||
args = []
|
||||
|
||||
# disable building of gtk-doc files following #9885 and #9771
|
||||
args.append('-Ddocs=disabled')
|
||||
args.append('-Dgraphite2=' +
|
||||
('enabled' if self.spec.satisfies('+graphite2') else 'disabled'))
|
||||
|
||||
return args
|
||||
|
||||
@when('@:2.9')
|
||||
def configure_args(self):
|
||||
args = []
|
||||
|
||||
# disable building of gtk-doc files following #9771
|
||||
args.append('--disable-gtk-doc-html')
|
||||
true = which('true')
|
||||
@ -66,3 +85,18 @@ def configure_args(self):
|
||||
|
||||
def patch(self):
|
||||
change_sed_delimiter('@', ';', 'src/Makefile.in')
|
||||
|
||||
@when('@:2.9')
|
||||
def meson(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage configure phase"""
|
||||
configure('--prefix=' + prefix, *self.configure_args())
|
||||
|
||||
@when('@:2.9')
|
||||
def build(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage build phase"""
|
||||
make()
|
||||
|
||||
@when('@:2.9')
|
||||
def install(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage install phase"""
|
||||
make('install')
|
||||
|
@ -6,13 +6,34 @@
|
||||
from spack import *
|
||||
|
||||
|
||||
class JsonGlib(AutotoolsPackage):
|
||||
class JsonGlib(MesonPackage):
|
||||
"""JSON-GLib is a library for reading and parsing JSON using GLib and
|
||||
GObject data types and API."""
|
||||
|
||||
homepage = "https://developer.gnome.org/json-glib"
|
||||
url = "https://ftp.gnome.org/pub/gnome/sources/json-glib/1.2/json-glib-1.2.8.tar.xz"
|
||||
list_url = "https://ftp.gnome.org/pub/gnome/sources/json-glib/"
|
||||
list_depth = 1
|
||||
|
||||
version('1.2.8', sha256='fd55a9037d39e7a10f0db64309f5f0265fa32ec962bf85066087b83a2807f40a')
|
||||
version('1.6.6', sha256='96ec98be7a91f6dde33636720e3da2ff6ecbb90e76ccaa49497f31a6855a490e')
|
||||
version('1.5.2', sha256='ad08438327b6106dc040c0581477bdf1cd3daaa5d285920cc768b8627f746666', deprecated=True)
|
||||
version('1.4.4', sha256='720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47', deprecated=True)
|
||||
version('1.3.2', sha256='f6a80f42e63a3267356f20408bf91a1696837aa66d864ac7de2564ecbd332a7c', deprecated=True)
|
||||
version('1.2.8', sha256='fd55a9037d39e7a10f0db64309f5f0265fa32ec962bf85066087b83a2807f40a', deprecated=True)
|
||||
|
||||
depends_on('glib')
|
||||
|
||||
@when('@:1.5')
|
||||
def meson(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage configure phase"""
|
||||
configure('--prefix=' + prefix)
|
||||
|
||||
@when('@:1.5')
|
||||
def build(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage build phase"""
|
||||
make()
|
||||
|
||||
@when('@:1.5')
|
||||
def install(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage install phase"""
|
||||
make('install')
|
||||
|
@ -6,7 +6,7 @@
|
||||
from spack import *
|
||||
|
||||
|
||||
class Pango(AutotoolsPackage):
|
||||
class Pango(MesonPackage):
|
||||
"""Pango is a library for laying out and rendering of text, with
|
||||
an emphasis on internationalization. It can be used anywhere
|
||||
that text layout is needed, though most of the work on Pango so
|
||||
@ -16,13 +16,19 @@ class Pango(AutotoolsPackage):
|
||||
list_url = "http://ftp.gnome.org/pub/gnome/sources/pango/"
|
||||
list_depth = 1
|
||||
|
||||
# These are the last pango versions which can be built using autotools,
|
||||
# Using Meson instead has some hurdles ahead, see PR #25472
|
||||
version('1.42.0', sha256='9924d88a3dcedff753f0763814a1605307c5c9c931413b8b47ea7267d1b19446')
|
||||
version('1.41.0', sha256='1f76ef95953dc58ee5d6a53e5f1cb6db913f3e0eb489713ee9266695cae580ba')
|
||||
version('1.40.3', sha256='abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3')
|
||||
version('1.40.1', sha256='e27af54172c72b3ac6be53c9a4c67053e16c905e02addcf3a603ceb2005c1a40')
|
||||
version('1.36.8', sha256='18dbb51b8ae12bae0ab7a958e7cf3317c9acfc8a1e1103ec2f147164a0fc2d07')
|
||||
version('1.50.7', sha256='0477f369a3d4c695df7299a6989dc004756a7f4de27eecac405c6790b7e3ad33')
|
||||
version('1.49.4', sha256='1fda6c03161bd1eacfdc349244d26828c586d25bfc600b9cfe2494902fdf56cf')
|
||||
version('1.48.11', sha256='084fd0a74fad05b1b299d194a7366b6593063d370b40272a5d3a1888ceb9ac40')
|
||||
version('1.47.0', sha256='730db8652fc43188e03218c3374db9d152351f51fc7011b9acae6d0a6c92c367')
|
||||
version('1.46.2', sha256='d89fab5f26767261b493279b65cfb9eb0955cd44c07c5628d36094609fc51841')
|
||||
version('1.45.5', sha256='f61dd911de2d3318b43bbc56bd271637a46f9118a1ee4378928c06df8a1c1705')
|
||||
version('1.44.6', sha256='3e1e41ba838737e200611ff001e3b304c2ca4cdbba63d200a20db0b0ddc0f86c')
|
||||
version('1.42.4', sha256='1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d')
|
||||
version('1.42.0', sha256='9924d88a3dcedff753f0763814a1605307c5c9c931413b8b47ea7267d1b19446', deprecated=True)
|
||||
version('1.41.0', sha256='1f76ef95953dc58ee5d6a53e5f1cb6db913f3e0eb489713ee9266695cae580ba', deprecated=True)
|
||||
version('1.40.3', sha256='abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3', deprecated=True)
|
||||
version('1.40.1', sha256='e27af54172c72b3ac6be53c9a4c67053e16c905e02addcf3a603ceb2005c1a40', deprecated=True)
|
||||
version('1.36.8', sha256='18dbb51b8ae12bae0ab7a958e7cf3317c9acfc8a1e1103ec2f147164a0fc2d07', deprecated=True)
|
||||
|
||||
variant('X', default=False, description="Enable an X toolkit")
|
||||
|
||||
@ -36,18 +42,53 @@ class Pango(AutotoolsPackage):
|
||||
depends_on('gobject-introspection')
|
||||
depends_on('fontconfig')
|
||||
depends_on('freetype@2:')
|
||||
depends_on('fribidi', when='@1.42:')
|
||||
depends_on('libffi')
|
||||
|
||||
depends_on('harfbuzz@1.2.3:', when='@1.41.0')
|
||||
depends_on('libxft@2.0.0:', when='@1.41.0 +X')
|
||||
depends_on('glib@2.33.12:', when='@1.41.0')
|
||||
depends_on('fontconfig@2.11.91:', when='@1.41.0')
|
||||
depends_on('cairo@1.12.10:', when='@1.41:')
|
||||
depends_on('fontconfig@2.11.91:', when='@1.41:')
|
||||
depends_on('glib@2.33.12:', when='@1.41:')
|
||||
depends_on('harfbuzz@1.2.3:', when='@1.41:')
|
||||
depends_on('libxft@2.0.0:', when='@1.41: +X')
|
||||
|
||||
depends_on('fribidi@0.19.7:', when='@1.42:')
|
||||
depends_on('harfbuzz@1.2.3:', when='@1.42:')
|
||||
|
||||
depends_on('glib@2.38.0:', when='@1.43:')
|
||||
depends_on('harfbuzz@1.4.2:', when='@1.43:')
|
||||
|
||||
depends_on('glib@2.59.2:', when='@1.44:')
|
||||
depends_on('harfbuzz@2.0.0:', when='@1.44:')
|
||||
|
||||
depends_on('glib@2.62:', when='@1.45:')
|
||||
depends_on('harfbuzz@2.2.0:', when='@1.48')
|
||||
|
||||
depends_on('fontconfig@2.13.0:', when='@1.49:')
|
||||
depends_on('fribidi@1.0.6:', when='@1.49:')
|
||||
depends_on('harfbuzz@2.6.0:', when='@1.49:')
|
||||
depends_on('json-glib@1.6.0:', when='@1.49:')
|
||||
|
||||
def url_for_version(self, version):
|
||||
url = "http://ftp.gnome.org/pub/GNOME/sources/pango/{0}/pango-{1}.tar.xz"
|
||||
return url.format(version.up_to(2), version)
|
||||
|
||||
def meson_args(self):
|
||||
args = []
|
||||
|
||||
# xft is not a meson option, even when it is a configure option
|
||||
if self.spec.satisfies('@1.49: +X'):
|
||||
args.append('-Dxft=enabled')
|
||||
elif self.spec.satisfies('@1.49: -X'):
|
||||
args.append('-Dxft=disabled')
|
||||
|
||||
# disable building of gtk-doc files following #9885 and #9771
|
||||
if self.spec.satisfies('@1.44:'):
|
||||
args.append('-Dgtk_doc=false')
|
||||
else:
|
||||
args.append('-Denable_docs=false')
|
||||
|
||||
return args
|
||||
|
||||
@when('@:1.42')
|
||||
def configure_args(self):
|
||||
args = []
|
||||
if self.spec.satisfies('+X'):
|
||||
@ -65,9 +106,6 @@ def configure_args(self):
|
||||
|
||||
return args
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make("install", parallel=False)
|
||||
|
||||
def setup_run_environment(self, env):
|
||||
env.prepend_path("GI_TYPELIB_PATH",
|
||||
join_path(self.prefix.lib, 'girepository-1.0'))
|
||||
@ -81,3 +119,18 @@ def setup_dependent_run_environment(self, env, dependent_spec):
|
||||
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||
env.prepend_path("GI_TYPELIB_PATH",
|
||||
join_path(self.prefix.lib, 'girepository-1.0'))
|
||||
|
||||
@when('@:1.42')
|
||||
def meson(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage configure phase"""
|
||||
configure('--prefix=' + prefix, *self.configure_args())
|
||||
|
||||
@when('@:1.42')
|
||||
def build(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage build phase"""
|
||||
make()
|
||||
|
||||
@when('@:1.42')
|
||||
def install(self, spec, prefix):
|
||||
"""Run the AutotoolsPackage install phase"""
|
||||
make('install', parallel=False)
|
||||
|
Loading…
Reference in New Issue
Block a user