Skip to content

Commit b2643a8

Browse files
authored
Merge pull request #2722 from swt2c/build_wxwidgets_newer_libtiff
Build wxWidgets with libtiff v4.7.0 and pcre v10.44
2 parents d0058a3 + bc1c9ce commit b2643a8

File tree

4 files changed

+143
-1
lines changed

4 files changed

+143
-1
lines changed

.github/workflows/ci-build.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ jobs:
5353
submodules: 'recursive'
5454
fetch-depth: 0
5555

56+
- name: Checkout specific submodule refs
57+
run: buildtools/checkout_submodule_refs.sh
58+
5659
- name: Set up Python
5760
uses: actions/setup-python@v5
5861
with:
@@ -61,7 +64,7 @@ jobs:
6164

6265
- name: Install dependencies
6366
run: |
64-
sudo apt-get install -y gettext
67+
sudo apt-get install -y gettext dos2unix
6568
python -m pip install --upgrade -r requirements.txt
6669
6770
- name: Generate wrapper code

build.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2261,6 +2261,14 @@ def _archive_submodules(root, dest):
22612261
copyFile(opj(PDEST, '{}.egg-info/PKG-INFO'.format(baseName)),
22622262
opj(PDEST, 'PKG-INFO'))
22632263

2264+
# (TEMP) apply patch to wxWidgets for building newer libraries
2265+
msg('Applying patches...')
2266+
pwd = pushDir(PDEST)
2267+
runcmd('dos2unix ext/wxWidgets/build/msw/makefile.vc')
2268+
runcmd('patch -p1 -d ext/wxWidgets -i ../../buildtools/newer_libtiff_pcre.patch')
2269+
runcmd('unix2dos ext/wxWidgets/build/msw/makefile.vc')
2270+
del pwd
2271+
22642272
# build the tarball
22652273
msg('Archiving Phoenix source...')
22662274
rootname = "%s-%s" % (baseName, cfg.VERSION)

buildtools/checkout_submodule_refs.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
#
3+
# This script is used by CI jobs to update the git submodules in wxWidgets to
4+
# newer versions than are currently in the wx 3.2 branch (mostly for security
5+
# reasons.
6+
7+
set -e
8+
9+
pushd ext/wxWidgets/src/tiff && git checkout 4ab5e7a6aeacf09699e91300da9310874641053f && popd
10+
pushd ext/wxWidgets/3rdparty/pcre && git checkout b4b4098743aaa80ec78ea18da2f175c1b26dda18 && popd

buildtools/newer_libtiff_pcre.patch

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
From 6f80b7033bf4c79c160d1a58e14a5e78de17b449 Mon Sep 17 00:00:00 2001
2+
From: Scott Talbert <swt@techie.net>
3+
Date: Tue, 8 Apr 2025 19:01:23 -0400
4+
Subject: [PATCH] Update makefiles to build with newer tiff and pcre
5+
6+
---
7+
Makefile.in | 12 ++++++++++++
8+
build/msw/makefile.vc | 12 ++++++++++++
9+
2 files changed, 24 insertions(+)
10+
11+
diff --git a/Makefile.in b/Makefile.in
12+
index 49deccbbaf..a562cecc93 100644
13+
--- a/Makefile.in
14+
+++ b/Makefile.in
15+
@@ -90,6 +90,7 @@ WXREGEX_CFLAGS = $(WX_CPPFLAGS) -DNDEBUG \
16+
$(____SHARED) $(CPPFLAGS) $(CFLAGS)
17+
WXREGEX_OBJECTS = \
18+
wxregex_pcre2_auto_possess.o \
19+
+ wxregex_pcre2_chkdint.o \
20+
wxregex_pcre2_compile.o \
21+
wxregex_pcre2_config.o \
22+
wxregex_pcre2_context.o \
23+
@@ -231,9 +232,11 @@ WXTIFF_OBJECTS = \
24+
wxtiff_tif_fax3sm.o \
25+
wxtiff_tif_flush.o \
26+
wxtiff_tif_getimage.o \
27+
+ wxtiff_tif_hash_set.o \
28+
wxtiff_tif_jbig.o \
29+
wxtiff_tif_jpeg.o \
30+
wxtiff_tif_jpeg_12.o \
31+
+ wxtiff_tif_lerc.o \
32+
wxtiff_tif_luv.o \
33+
wxtiff_tif_lzma.o \
34+
wxtiff_tif_lzw.o \
35+
@@ -14962,6 +14965,9 @@ locale_uninstall:
36+
wxregex_pcre2_auto_possess.o: $(srcdir)/3rdparty/pcre/src/pcre2_auto_possess.c
37+
$(CCC) -c -o $@ $(WXREGEX_CFLAGS) $(srcdir)/3rdparty/pcre/src/pcre2_auto_possess.c
38+
39+
+wxregex_pcre2_chkdint.o: $(srcdir)/3rdparty/pcre/src/pcre2_chkdint.c
40+
+ $(CCC) -c -o $@ $(WXREGEX_CFLAGS) $(srcdir)/3rdparty/pcre/src/pcre2_chkdint.c
41+
+
42+
wxregex_pcre2_compile.o: $(srcdir)/3rdparty/pcre/src/pcre2_compile.c
43+
$(CCC) -c -o $@ $(WXREGEX_CFLAGS) $(srcdir)/3rdparty/pcre/src/pcre2_compile.c
44+
45+
@@ -15346,6 +15352,9 @@ wxtiff_tif_flush.o: $(srcdir)/src/tiff/libtiff/tif_flush.c
46+
wxtiff_tif_getimage.o: $(srcdir)/src/tiff/libtiff/tif_getimage.c
47+
$(CCC) -c -o $@ $(WXTIFF_CFLAGS) $(srcdir)/src/tiff/libtiff/tif_getimage.c
48+
49+
+wxtiff_tif_hash_set.o: $(srcdir)/src/tiff/libtiff/tif_hash_set.c
50+
+ $(CCC) -c -o $@ $(WXTIFF_CFLAGS) $(srcdir)/src/tiff/libtiff/tif_hash_set.c
51+
+
52+
wxtiff_tif_jbig.o: $(srcdir)/src/tiff/libtiff/tif_jbig.c
53+
$(CCC) -c -o $@ $(WXTIFF_CFLAGS) $(srcdir)/src/tiff/libtiff/tif_jbig.c
54+
55+
@@ -15355,6 +15364,9 @@ wxtiff_tif_jpeg.o: $(srcdir)/src/tiff/libtiff/tif_jpeg.c
56+
wxtiff_tif_jpeg_12.o: $(srcdir)/src/tiff/libtiff/tif_jpeg_12.c
57+
$(CCC) -c -o $@ $(WXTIFF_CFLAGS) $(srcdir)/src/tiff/libtiff/tif_jpeg_12.c
58+
59+
+wxtiff_tif_lerc.o: $(srcdir)/src/tiff/libtiff/tif_lerc.c
60+
+ $(CCC) -c -o $@ $(WXTIFF_CFLAGS) $(srcdir)/src/tiff/libtiff/tif_lerc.c
61+
+
62+
wxtiff_tif_luv.o: $(srcdir)/src/tiff/libtiff/tif_luv.c
63+
$(CCC) -c -o $@ $(WXTIFF_CFLAGS) $(srcdir)/src/tiff/libtiff/tif_luv.c
64+
65+
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
66+
index f1d20ad7f4..3efd7d8ea3 100644
67+
--- a/build/msw/makefile.vc
68+
+++ b/build/msw/makefile.vc
69+
@@ -48,6 +48,7 @@ WXREGEX_CFLAGS = /M$(__RUNTIME_LIBS_10)$(__DEBUGRUNTIME) /DWIN32 \
70+
$(CPPFLAGS) $(CFLAGS)
71+
WXREGEX_OBJECTS = \
72+
$(OBJS)\wxregex_pcre2_auto_possess.obj \
73+
+ $(OBJS)\wxregex_pcre2_chkdint.obj \
74+
$(OBJS)\wxregex_pcre2_compile.obj \
75+
$(OBJS)\wxregex_pcre2_config.obj \
76+
$(OBJS)\wxregex_pcre2_context.obj \
77+
@@ -202,9 +203,11 @@ WXTIFF_OBJECTS = \
78+
$(OBJS)\wxtiff_tif_fax3sm.obj \
79+
$(OBJS)\wxtiff_tif_flush.obj \
80+
$(OBJS)\wxtiff_tif_getimage.obj \
81+
+ $(OBJS)\wxtiff_tif_hash_set.obj \
82+
$(OBJS)\wxtiff_tif_jbig.obj \
83+
$(OBJS)\wxtiff_tif_jpeg.obj \
84+
$(OBJS)\wxtiff_tif_jpeg_12.obj \
85+
+ $(OBJS)\wxtiff_tif_lerc.obj \
86+
$(OBJS)\wxtiff_tif_luv.obj \
87+
$(OBJS)\wxtiff_tif_lzma.obj \
88+
$(OBJS)\wxtiff_tif_lzw.obj \
89+
@@ -6498,6 +6501,9 @@ build_cfg_file: $(SETUPHDIR)
90+
$(OBJS)\wxregex_pcre2_auto_possess.obj: ..\..\3rdparty\pcre\src\pcre2_auto_possess.c
91+
$(CC) /c /nologo /TC /Fo$@ $(WXREGEX_CFLAGS) ..\..\3rdparty\pcre\src\pcre2_auto_possess.c
92+
93+
+$(OBJS)\wxregex_pcre2_chkdint.obj: ..\..\3rdparty\pcre\src\pcre2_chkdint.c
94+
+ $(CC) /c /nologo /TC /Fo$@ $(WXREGEX_CFLAGS) ..\..\3rdparty\pcre\src\pcre2_chkdint.c
95+
+
96+
$(OBJS)\wxregex_pcre2_compile.obj: ..\..\3rdparty\pcre\src\pcre2_compile.c
97+
$(CC) /c /nologo /TC /Fo$@ $(WXREGEX_CFLAGS) ..\..\3rdparty\pcre\src\pcre2_compile.c
98+
99+
@@ -6870,6 +6876,9 @@ $(OBJS)\wxtiff_tif_flush.obj: ..\..\src\tiff\libtiff\tif_flush.c
100+
$(OBJS)\wxtiff_tif_getimage.obj: ..\..\src\tiff\libtiff\tif_getimage.c
101+
$(CC) /c /nologo /TC /Fo$@ $(WXTIFF_CFLAGS) ..\..\src\tiff\libtiff\tif_getimage.c
102+
103+
+$(OBJS)\wxtiff_tif_hash_set.obj: ..\..\src\tiff\libtiff\tif_hash_set.c
104+
+ $(CC) /c /nologo /TC /Fo$@ $(WXTIFF_CFLAGS) ..\..\src\tiff\libtiff\tif_hash_set.c
105+
+
106+
$(OBJS)\wxtiff_tif_jbig.obj: ..\..\src\tiff\libtiff\tif_jbig.c
107+
$(CC) /c /nologo /TC /Fo$@ $(WXTIFF_CFLAGS) ..\..\src\tiff\libtiff\tif_jbig.c
108+
109+
@@ -6879,6 +6888,9 @@ $(OBJS)\wxtiff_tif_jpeg.obj: ..\..\src\tiff\libtiff\tif_jpeg.c
110+
$(OBJS)\wxtiff_tif_jpeg_12.obj: ..\..\src\tiff\libtiff\tif_jpeg_12.c
111+
$(CC) /c /nologo /TC /Fo$@ $(WXTIFF_CFLAGS) ..\..\src\tiff\libtiff\tif_jpeg_12.c
112+
113+
+$(OBJS)\wxtiff_tif_lerc.obj: ..\..\src\tiff\libtiff\tif_lerc.c
114+
+ $(CC) /c /nologo /TC /Fo$@ $(WXTIFF_CFLAGS) ..\..\src\tiff\libtiff\tif_lerc.c
115+
+
116+
$(OBJS)\wxtiff_tif_luv.obj: ..\..\src\tiff\libtiff\tif_luv.c
117+
$(CC) /c /nologo /TC /Fo$@ $(WXTIFF_CFLAGS) ..\..\src\tiff\libtiff\tif_luv.c
118+
119+
--
120+
2.49.0
121+

0 commit comments

Comments
 (0)