summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorWouter Deconinck <wdconinc@gmail.com>2022-05-11 05:48:07 -0500
committerGitHub <noreply@github.com>2022-05-11 12:48:07 +0200
commit61969566f8e882fd317b033c2ac17e60635ced55 (patch)
tree28f31fbcd15d029dcc241f7442267ae198f23865 /var
parent49948bb3e700051ba4c8592a506055c0e5f44100 (diff)
downloadspack-61969566f8e882fd317b033c2ac17e60635ced55.tar.gz
spack-61969566f8e882fd317b033c2ac17e60635ced55.tar.bz2
spack-61969566f8e882fd317b033c2ac17e60635ced55.tar.xz
spack-61969566f8e882fd317b033c2ac17e60635ced55.zip
pango: updated versions with MesonPackage (#30591)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/fribidi/package.py9
-rw-r--r--var/spack/repos/builtin/packages/harfbuzz/package.py50
-rw-r--r--var/spack/repos/builtin/packages/json-glib/package.py25
-rw-r--r--var/spack/repos/builtin/packages/pango/package.py85
4 files changed, 142 insertions, 27 deletions
diff --git a/var/spack/repos/builtin/packages/fribidi/package.py b/var/spack/repos/builtin/packages/fribidi/package.py
index 215a0fbfda..13baeda95b 100644
--- a/var/spack/repos/builtin/packages/fribidi/package.py
+++ b/var/spack/repos/builtin/packages/fribidi/package.py
@@ -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.5', sha256='6a64f2a687f5c4f203a46fa659f43dd43d1f8b845df8d723107e8a7e6158e4ce')
+ 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)
diff --git a/var/spack/repos/builtin/packages/harfbuzz/package.py b/var/spack/repos/builtin/packages/harfbuzz/package.py
index e27727be93..7ccc6aa645 100644
--- a/var/spack/repos/builtin/packages/harfbuzz/package.py
+++ b/var/spack/repos/builtin/packages/harfbuzz/package.py
@@ -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 @@ class Harfbuzz(AutotoolsPackage):
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 @@ class Harfbuzz(AutotoolsPackage):
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')
diff --git a/var/spack/repos/builtin/packages/json-glib/package.py b/var/spack/repos/builtin/packages/json-glib/package.py
index 317fe1cb96..9b5939ce25 100644
--- a/var/spack/repos/builtin/packages/json-glib/package.py
+++ b/var/spack/repos/builtin/packages/json-glib/package.py
@@ -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')
diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py
index d736ca3455..43b537b3b4 100644
--- a/var/spack/repos/builtin/packages/pango/package.py
+++ b/var/spack/repos/builtin/packages/pango/package.py
@@ -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 @@ class Pango(AutotoolsPackage):
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 @@ class Pango(AutotoolsPackage):
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)