aboutsummaryrefslogtreecommitdiffstats
path: root/main/gtk+3.0
diff options
context:
space:
mode:
authorRasmus Thomsen <oss@cogitri.dev>2020-04-30 10:02:58 +0200
committerLeo <thinkabit.ukim@gmail.com>2020-04-30 10:31:20 +0000
commit073f96d5257705552f6f0910ed0d815282f77310 (patch)
tree454573917f8012fb5eabdae90a41d9554562080b /main/gtk+3.0
parent1cc1dd8fb0b7e5663971e24423df2a9725f161a8 (diff)
downloadaports-073f96d5257705552f6f0910ed0d815282f77310.tar.bz2
aports-073f96d5257705552f6f0910ed0d815282f77310.tar.xz
main/gtk+3.0: upgrade to 3.24.20
Diffstat (limited to 'main/gtk+3.0')
-rw-r--r--main/gtk+3.0/APKBUILD17
-rw-r--r--main/gtk+3.0/check-version.py200
2 files changed, 213 insertions, 4 deletions
diff --git a/main/gtk+3.0/APKBUILD b/main/gtk+3.0/APKBUILD
index 248dd9a695..b241d6fe6f 100644
--- a/main/gtk+3.0/APKBUILD
+++ b/main/gtk+3.0/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=gtk+3.0
-pkgver=3.24.18
+pkgver=3.24.20
pkgrel=0
pkgdesc="The GTK+ Toolkit (v3)"
url="https://www.gtk.org/"
@@ -61,11 +61,19 @@ checkdepends="
"
source="https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz
10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch
+ check-version.py
"
-
builddir="$srcdir/gtk+-$pkgver"
+prepare() {
+ default_prepare
+
+ # Upstream forgot to include this in the tarball
+ # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1776
+ mv "$srcdir"/check-version.py .
+}
+
build() {
meson \
--prefix=/usr \
@@ -119,5 +127,6 @@ doc() {
default_doc
}
-sha512sums="51ba13ae3cd0db9b62462ba399f08738885648adcb545bf0852c4e5b04bc2a1dd88629fafefc282f6a200daa8330e7606f22a70bd2ce6fde32a992a6cd7a0950 gtk+-3.24.18.tar.xz
-e4ea76484b70bd9beb65b2964bbcff3b3f78f5f6fe70b12309a7721ca134e3735e8aaac09803f93b393a6130a703f8f346c0df89ad45d18c580dac1e0e922276 10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch"
+sha512sums="bda8eeacf721afcff4565756fe45857cbf8b053494d1d747ca9b97c899e9fe21fddef6871ecd5ec9a7a0f87b0a3ede2f9d6b5e5712de10a845100d82464a4556 gtk+-3.24.20.tar.xz
+e4ea76484b70bd9beb65b2964bbcff3b3f78f5f6fe70b12309a7721ca134e3735e8aaac09803f93b393a6130a703f8f346c0df89ad45d18c580dac1e0e922276 10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch
+b97ccd8fb78d7c32fe91607befd6a7c0dd969fbfc9c242948fc88085133e3461583a0b18ade199b73f9659cae5f5525b940e66535a6ced4b916af9a88b3cc578 check-version.py"
diff --git a/main/gtk+3.0/check-version.py b/main/gtk+3.0/check-version.py
new file mode 100644
index 0000000000..46bcc3ac4e
--- /dev/null
+++ b/main/gtk+3.0/check-version.py
@@ -0,0 +1,200 @@
+#!/usr/bin/env python3
+
+import re
+import sys
+
+try:
+ configure_ac = sys.argv[1]
+except Exception:
+ configure_ac = 'configure.ac'
+
+try:
+ meson_build = sys.argv[2]
+except Exception:
+ meson_build = 'meson.build'
+
+CONFIGURE_MAJOR_VERSION_RE = re.compile(
+ r'''
+ ^
+ \s*
+ m4_define\(
+ \s*
+ \[gtk_major_version\]
+ \s*
+ ,
+ \s*
+ \[
+ (?P<version>[0-9]+)
+ \]
+ \s*
+ \)
+ $
+ ''',
+ re.UNICODE | re.VERBOSE
+)
+
+CONFIGURE_MINOR_VERSION_RE = re.compile(
+ r'''
+ ^
+ \s*
+ m4_define\(
+ \s*
+ \[gtk_minor_version\]
+ \s*
+ ,
+ \s*
+ \[
+ (?P<version>[0-9]+)
+ \]
+ \s*
+ \)
+ $
+ ''',
+ re.UNICODE | re.VERBOSE
+)
+
+CONFIGURE_MICRO_VERSION_RE = re.compile(
+ r'''
+ ^
+ \s*
+ m4_define\(
+ \s*
+ \[gtk_micro_version\]
+ \s*
+ ,
+ \s*
+ \[
+ (?P<version>[0-9]+)
+ \]
+ \s*
+ \)
+ $
+ ''',
+ re.UNICODE | re.VERBOSE
+)
+
+CONFIGURE_INTERFACE_AGE_RE = re.compile(
+ r'''
+ ^
+ \s*
+ m4_define\(
+ \s*
+ \[gtk_interface_age\]
+ \s*
+ ,
+ \s*
+ \[
+ (?P<age>[0-9]+)
+ \]
+ \s*
+ \)
+ $
+ ''',
+ re.UNICODE | re.VERBOSE
+)
+
+MESON_VERSION_RE = re.compile(
+ r'''
+ ^
+ \s*
+ version
+ \s*
+ :{1}
+ \s*
+ \'{1}
+ (?P<major>[0-9]+)
+ \.{1}
+ (?P<minor>[0-9]+)
+ \.{1}
+ (?P<micro>[0-9]+)
+ \'{1}
+ \s*
+ ,?
+ $
+ ''',
+ re.UNICODE | re.VERBOSE
+)
+
+MESON_INTERFACE_AGE_RE = re.compile(
+ r'''
+ ^\s*gtk_interface_age\s*={1}\s*(?P<age>[0-9]+)\s*$
+ ''',
+ re.UNICODE | re.VERBOSE
+)
+
+version = {}
+
+with open(configure_ac, 'r') as f:
+ line = f.readline()
+ while line:
+ res = CONFIGURE_MAJOR_VERSION_RE.match(line)
+ if res:
+ if 'major' in version:
+ print(f'Redefinition of major version; version is already set to {version["major"]}')
+ sys.exit(1)
+ version['major'] = res.group('version')
+ line = f.readline()
+ continue
+ res = CONFIGURE_MINOR_VERSION_RE.match(line)
+ if res:
+ if 'minor' in version:
+ print(f'Redefinition of minor version; version is already set to {version["minor"]}')
+ sys.exit(1)
+ version['minor'] = res.group('version')
+ line = f.readline()
+ continue
+ res = CONFIGURE_MICRO_VERSION_RE.match(line)
+ if res:
+ if 'micro' in version:
+ print(f'Redefinition of micro version; version is already set to {version["micro"]}')
+ sys.exit(1)
+ version['micro'] = res.group('version')
+ line = f.readline()
+ continue
+ res = CONFIGURE_INTERFACE_AGE_RE.match(line)
+ if res:
+ if 'age' in version:
+ print(f'Redefinition of interface age; age is already set to {version["age"]}')
+ sys.exit(1)
+ version['age'] = res.group('age')
+ line = f.readline()
+ continue
+ if ('major', 'minor', 'micro', 'age') in version:
+ break
+ line = f.readline()
+
+print(f'GTK version defined in {configure_ac}: {version["major"]}.{version["minor"]}.{version["micro"]} (age: {version["age"]})')
+
+configure_version = version
+version = {}
+
+with open(meson_build, 'r') as f:
+ line = f.readline()
+ inside_project = False
+ while line:
+ if line.startswith('project('):
+ inside_project = True
+ if inside_project:
+ res = MESON_VERSION_RE.match(line)
+ if res:
+ version['major'] = res.group('major')
+ version['minor'] = res.group('minor')
+ version['micro'] = res.group('micro')
+ if inside_project and line.endswith(')'):
+ inside_project = False
+ res = MESON_INTERFACE_AGE_RE.match(line)
+ if res:
+ version['age'] = res.group('age')
+ if ('major', 'minor', 'micro', 'age') in version:
+ break
+ line = f.readline()
+
+print(f'GTK version defined in {meson_build}: {version["major"]}.{version["minor"]}.{version["micro"]} (age: {version["age"]})')
+
+meson_version = version
+
+if configure_version != meson_version:
+ print('Version mismatch between Autotools and Meson builds')
+ sys.exit(1)
+
+sys.exit(0)