facf0c92e0
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
54 lines
1.4 KiB
Python
Executable File
54 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# cairo version.py
|
|
#
|
|
# Extracts the version from cairo-version.h for the meson build files.
|
|
#
|
|
import os
|
|
import re
|
|
import sys
|
|
|
|
|
|
MAJOR_RE = re.compile(
|
|
r'^\s*#\s*define\s+CAIRO_VERSION_MAJOR\s+(?P<number>[0-9]+)\s*$',
|
|
re.UNICODE)
|
|
|
|
MINOR_RE = re.compile(
|
|
r'^\s*#\s*define\s+CAIRO_VERSION_MINOR\s+(?P<number>[0-9]+)\s*$',
|
|
re.UNICODE)
|
|
|
|
MICRO_RE = re.compile(
|
|
r'^\s*#\s*define\s+CAIRO_VERSION_MICRO\s+(?P<number>[0-9]+)\s*$',
|
|
re.UNICODE)
|
|
|
|
version_major = None
|
|
version_minor = None
|
|
version_micro = None
|
|
|
|
srcroot = os.path.dirname(__file__)
|
|
version_h = os.path.join(srcroot, "src", "cairo-version.h")
|
|
|
|
with open(version_h, "r", encoding="utf-8") as f:
|
|
for line in f:
|
|
res = MAJOR_RE.match(line)
|
|
if res:
|
|
assert version_major is None
|
|
version_major = res.group('number')
|
|
continue
|
|
res = MINOR_RE.match(line)
|
|
if res:
|
|
assert version_minor is None
|
|
version_minor = res.group('number')
|
|
continue
|
|
res = MICRO_RE.match(line)
|
|
if res:
|
|
assert version_micro is None
|
|
version_micro = res.group('number')
|
|
continue
|
|
|
|
if not (version_major and version_minor and version_micro):
|
|
print(f"ERROR: Could not extract version from cairo-version.h in {srcroot}", file=sys.stderr) # noqa
|
|
sys.exit(-1)
|
|
|
|
print(f"{version_major}.{version_minor}.{version_micro}")
|