diff mupdf-source/thirdparty/harfbuzz/src/gen-hb-version.py @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mupdf-source/thirdparty/harfbuzz/src/gen-hb-version.py	Mon Sep 15 11:43:07 2025 +0200
@@ -0,0 +1,40 @@
+#!/usr/bin/env python3
+
+"This tool is intended to be used from meson"
+
+import os, sys, shutil, re
+
+if len (sys.argv) < 4:
+	sys.exit(__doc__)
+
+version = sys.argv[1]
+major, minor, micro = version.split (".")
+
+OUTPUT = sys.argv[2]
+INPUT = sys.argv[3]
+CURRENT_SOURCE_DIR = os.path.dirname(INPUT)
+
+try:
+	with open (OUTPUT, "r", encoding='utf-8') as old_output:
+		for line in old_output:
+			old_version = re.match (r"#define HB_VERSION_STRING \"(\d.\d.\d)\"", line)
+			if old_version and old_version[1] == version:
+				sys.exit ()
+except IOError:
+	pass
+
+with open (INPUT, "r", encoding='utf-8') as template:
+	with open (OUTPUT, "wb") as output:
+		output.write (template.read ()
+			.replace ("@HB_VERSION_MAJOR@", major)
+			.replace ("@HB_VERSION_MINOR@", minor)
+			.replace ("@HB_VERSION_MICRO@", micro)
+			.replace ("@HB_VERSION@", version)
+			.encode ())
+
+# copy it also to the source tree, but only if it has changed
+baseline_filename = os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT))
+with open(baseline_filename, "rb") as baseline:
+	with open(OUTPUT, "rb") as generated:
+		if baseline.read() != generated.read():
+			shutil.copyfile (OUTPUT, baseline_filename)