From 7751a438530ed18500733a8641ed4278ff7bf237 Mon Sep 17 00:00:00 2001 From: Siong Chin Date: Thu, 27 Mar 2025 09:12:29 +0000 Subject: [PATCH 01/14] Use the latest tk patch for a Mac issue (NO_JIRA) --- build_conquest_python.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index 1261f82..7c62935 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -297,7 +297,7 @@ def verify(self): class TkPackage(AutoconfMixin, NoArchiveMixin, Package): name = 'tk' - version = '8.6.11' + version = '8.6.16' @property def source_archives(self): @@ -305,6 +305,8 @@ def source_archives(self): # Canonical would be https://prdownloads.sourceforge.net/tcl/ but it's fetching garbage # How lovely to have a different tcl and tk version.... f'tk{self.version}-src.tar.gz': f'https://freefr.dl.sourceforge.net/project/tcl/Tcl/{self.version}/tk{self.version}.1-src.tar.gz' + # This works for 8.6.16: https://sourceforge.net/projects/tcl/files/Tcl/8.6.16/tk8.6.16-src.tar.gz/download, + # so we can try this if the above fails } @property From 416b6067b496da27c4b4a53af800e6b666e74974 Mon Sep 17 00:00:00 2001 From: Siong Chin Date: Thu, 27 Mar 2025 09:26:58 +0000 Subject: [PATCH 02/14] update mac agents to macos 13 (NO_JIRA) --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 3cb4a46..3e7bb74 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -65,7 +65,7 @@ jobs: - job: macOS pool: - vmImage: "macOS-11" + vmImage: "macOS-13" variables: artifactory.platformName: "darwin" steps: From fe300a1c358b01f9222783f76474edba5110bce3 Mon Sep 17 00:00:00 2001 From: Siong Chin Date: Thu, 27 Mar 2025 09:40:40 +0000 Subject: [PATCH 03/14] Update zlib source url (NO_JIRA) --- build_conquest_python.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index 7c62935..9d09a24 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -26,7 +26,9 @@ class ZlibPackage(InstallInConquestPythonBaseMixin, AutoconfMixin, NoArchiveMixi @property def source_archives(self): return { - f'zlib-{self.version}.tar.xz': f'https://www.zlib.net/zlib-{self.version}.tar.xz' + # older version of zlib no longer available on zlib.net, + # so get it directly from Mark Adler's github repo + f'zlib-{self.version}.tar.xz': f'https://github.com/madler/zlib/releases/download/v{self.version}/zlib-{self.version}.tar.xz' } From 419c5afb1c702e57b117432a67ac4f74b6cf2346 Mon Sep 17 00:00:00 2001 From: Siong Chin Date: Thu, 27 Mar 2025 09:53:44 +0000 Subject: [PATCH 04/14] Hopeful fix tk source url (NO_JIRA) --- build_conquest_python.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index 9d09a24..ac8cdf5 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -306,9 +306,8 @@ def source_archives(self): return { # Canonical would be https://prdownloads.sourceforge.net/tcl/ but it's fetching garbage # How lovely to have a different tcl and tk version.... - f'tk{self.version}-src.tar.gz': f'https://freefr.dl.sourceforge.net/project/tcl/Tcl/{self.version}/tk{self.version}.1-src.tar.gz' - # This works for 8.6.16: https://sourceforge.net/projects/tcl/files/Tcl/8.6.16/tk8.6.16-src.tar.gz/download, - # so we can try this if the above fails + # The url is a bit of a mess, but it's the only one that works? + f'tk{self.version}-src.tar.gz': f'https://sourceforge.net/projects/tcl/files/Tcl/${self.version}/tk{self.version}-src.tar.gz/download' } @property From c13ace3198618869aaee28803273abecf9afa682 Mon Sep 17 00:00:00 2001 From: Jason Christopher Cole <62337096+jasonccole@users.noreply.github.com> Date: Thu, 27 Mar 2025 10:33:36 +0000 Subject: [PATCH 05/14] Update build_conquest_python.py (NO_JIRA) align TK and TCL version - remove a spurious $ from the tk path --- build_conquest_python.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index ac8cdf5..fcbb382 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -168,7 +168,7 @@ def verify(self): class TclPackage(AutoconfMixin, NoArchiveMixin, Package): name = 'tcl' - version = '8.6.11' + version = '8.6.16' tclversion = '8.6' @property @@ -307,7 +307,7 @@ def source_archives(self): # Canonical would be https://prdownloads.sourceforge.net/tcl/ but it's fetching garbage # How lovely to have a different tcl and tk version.... # The url is a bit of a mess, but it's the only one that works? - f'tk{self.version}-src.tar.gz': f'https://sourceforge.net/projects/tcl/files/Tcl/${self.version}/tk{self.version}-src.tar.gz/download' + f'tk{self.version}-src.tar.gz': f'https://sourceforge.net/projects/tcl/files/Tcl/{self.version}/tk{self.version}-src.tar.gz/download' } @property From 200dead6c0443923b1715efde3a49d44829536eb Mon Sep 17 00:00:00 2001 From: Jason Christopher Cole <62337096+jasonccole@users.noreply.github.com> Date: Thu, 27 Mar 2025 11:11:54 +0000 Subject: [PATCH 06/14] Update build_conquest_python.py (NO_JIRA) Fix removal of extraneous packages --- build_conquest_python.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index fcbb382..ef6c41e 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -181,17 +181,15 @@ def source_archives(self): def extract_source_archives(self): super().extract_source_archives() # Remove packages we don't want to build - shutil.rmtree(self.main_source_directory_path / - 'pkgs' / 'sqlite3.34.0') - shutil.rmtree(self.main_source_directory_path / 'pkgs' / 'tdbc1.1.2') - shutil.rmtree(self.main_source_directory_path / - 'pkgs' / 'tdbcmysql1.1.2') - shutil.rmtree(self.main_source_directory_path / - 'pkgs' / 'tdbcodbc1.1.2') - shutil.rmtree(self.main_source_directory_path / - 'pkgs' / 'tdbcpostgres1.1.2') - shutil.rmtree(self.main_source_directory_path / - 'pkgs' / 'tdbcsqlite3-1.1.2') + sp = Path(self.main_source_directory_path /'pkgs' ) + + sqlite_path = sp.glob('sqlite*') + for file in sqlite_path: + shutil.rmtree(file) + + tbc_path = sp.glob('tdbc*') + for file in tbc_pathh: + shutil.rmtree(file) @property def main_source_directory_path(self): From fa3ed02536065beae73a884589ba03f4f15237bc Mon Sep 17 00:00:00 2001 From: Jason Christopher Cole <62337096+jasonccole@users.noreply.github.com> Date: Thu, 27 Mar 2025 11:14:54 +0000 Subject: [PATCH 07/14] Update build_conquest_python.py fix obviously wrong thing --- build_conquest_python.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index ef6c41e..0e5b16f 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -181,14 +181,14 @@ def source_archives(self): def extract_source_archives(self): super().extract_source_archives() # Remove packages we don't want to build - sp = Path(self.main_source_directory_path /'pkgs' ) + sp = Path(self.main_source_directory_path /'pkgs') sqlite_path = sp.glob('sqlite*') for file in sqlite_path: shutil.rmtree(file) tbc_path = sp.glob('tdbc*') - for file in tbc_pathh: + for file in tbc_path: shutil.rmtree(file) @property From 7183ec552ef092ce18c613de0483306e91125294 Mon Sep 17 00:00:00 2001 From: Jason Christopher Cole <62337096+jasonccole@users.noreply.github.com> Date: Thu, 27 Mar 2025 11:19:06 +0000 Subject: [PATCH 08/14] Update build_conquest_python.py (NO_JIRA) fix fussy review dog thing --- build_conquest_python.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index 0e5b16f..a8aade7 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -181,7 +181,7 @@ def source_archives(self): def extract_source_archives(self): super().extract_source_archives() # Remove packages we don't want to build - sp = Path(self.main_source_directory_path /'pkgs') + sp = Path(self.main_source_directory_path / 'pkgs') sqlite_path = sp.glob('sqlite*') for file in sqlite_path: From 35c85932566060ce7ac5ef84cf6e934f6f587856 Mon Sep 17 00:00:00 2001 From: Jason Christopher Cole <62337096+jasonccole@users.noreply.github.com> Date: Thu, 27 Mar 2025 12:09:29 +0000 Subject: [PATCH 09/14] Update jpeg package to the one now available (NO_JIRA) --- build_conquest_python.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index a8aade7..577f057 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -507,12 +507,12 @@ def arguments_to_configuration_script(self): class JpegPackage(InstallInConquestPythonBaseMixin, AutoconfMixin, NoArchiveMixin, Package): name = 'jpeg' - version = '9e' + version = '9f' @property def source_archives(self): return { - f'jpegsrc.v{self.version}.tar.gz': f'https://fossies.org/linux/misc/jpegsrc.v9e.tar.gz' + f'jpegsrc.v{self.version}.tar.gz': f'https://fossies.org/linux/misc/jpegsrc.v{self.version}.tar.gz' } From fa1118079801d759580c9e6fd927739c2eb1806c Mon Sep 17 00:00:00 2001 From: Siong Chin Date: Thu, 27 Mar 2025 13:14:58 +0000 Subject: [PATCH 10/14] Disable the collect issues task that requires sorting (CQ-1485) Our new artifactory no longer support sorting. Also CQ-1449 --- common-tasks.yml | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/common-tasks.yml b/common-tasks.yml index 2fbeca2..37bb550 100644 --- a/common-tasks.yml +++ b/common-tasks.yml @@ -6,24 +6,25 @@ steps: scriptPath: build_conquest_python.py displayName: 'install conquest_python' -# Upload artifactory build info -- task: ArtifactoryCollectIssues@1 - inputs: - artifactoryService: 'devops-ccdc-3rd-party' - configSource: 'taskConfiguration' - taskConfig: | - version: 1 - issues: - trackerName: JIRA - regexp: '(.*?)\b\(?(Jira|JIRA|jira)?\s+([A-Za-z]{2,5}\d*-\d+)\)?' - keyGroupIndex: 3 - summaryGroupIndex: 1 - trackerUrl: https://jira.ccdc.cam.ac.uk/issues - aggregate: true - aggregationStatus: RELEASED - buildName: '$(Build.DefinitionName)' - buildNumber: '$(Build.BuildNumber)-$(artifactory.platformName)' - displayName: 'Collect issues' +#### The new artifactory doesn't support sorting, so we can't do this task for now +## Upload artifactory build info +#- task: ArtifactoryCollectIssues@1 +# inputs: +# artifactoryService: 'devops-ccdc-3rd-party' +# configSource: 'taskConfiguration' +# taskConfig: | +# version: 1 +# issues: +# trackerName: JIRA +# regexp: '(.*?)\b\(?(Jira|JIRA|jira)?\s+([A-Za-z]{2,5}\d*-\d+)\)?' +# keyGroupIndex: 3 +# summaryGroupIndex: 1 +# trackerUrl: https://jira.ccdc.cam.ac.uk/issues +# aggregate: true +# aggregationStatus: RELEASED +# buildName: '$(Build.DefinitionName)' +# buildNumber: '$(Build.BuildNumber)-$(artifactory.platformName)' +# displayName: 'Collect issues' - powershell: | $filename = Get-ChildItem -Path $(Build.ArtifactStagingDirectory) -Filter *.tar.gz | Select-Object -ExpandProperty Name From b6364c5a0e1904aa5d695482686b881966eb4907 Mon Sep 17 00:00:00 2001 From: Jason Christopher Cole <62337096+jasonccole@users.noreply.github.com> Date: Mon, 31 Mar 2025 16:17:47 +0100 Subject: [PATCH 11/14] PMW experiment (NO_JIRA) See if using newer PMW works ... --- build_conquest_python.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index 577f057..a6d3efe 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -721,7 +721,7 @@ def main(): ConquestPythonPackage().build() ConquestPythonPackage().ensure_pip() ConquestPythonPackage().pip_install( - 'Pmw==2.0.1', + 'Pmw==2.1.1', 'numpy==1.16.6', 'PyInstaller==3.5', 'PyOpenGL==3.1.0', From 38a1c54a700fe06f60fec1a37ae8f630317c6528 Mon Sep 17 00:00:00 2001 From: Jason Christopher Cole <62337096+jasonccole@users.noreply.github.com> Date: Tue, 1 Apr 2025 18:54:42 +0100 Subject: [PATCH 12/14] Try tcltk 8.6.13 (NO_JIRA) Try version that is closest to the version Pmw was released for yet fixes the bugs we need to fix --- build_conquest_python.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index a6d3efe..60ff935 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -168,7 +168,7 @@ def verify(self): class TclPackage(AutoconfMixin, NoArchiveMixin, Package): name = 'tcl' - version = '8.6.16' + version = '8.6.13' tclversion = '8.6' @property @@ -297,7 +297,7 @@ def verify(self): class TkPackage(AutoconfMixin, NoArchiveMixin, Package): name = 'tk' - version = '8.6.16' + version = '8.6.13' @property def source_archives(self): From a1e5c7fa157c80613587931018312662a5fe2b40 Mon Sep 17 00:00:00 2001 From: Jason Christopher Cole <62337096+jasonccole@users.noreply.github.com> Date: Wed, 2 Apr 2025 13:04:28 +0100 Subject: [PATCH 13/14] back to 8.6.16 as downgrading made no difference (NO_JIRA) --- build_conquest_python.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index 60ff935..a6d3efe 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -168,7 +168,7 @@ def verify(self): class TclPackage(AutoconfMixin, NoArchiveMixin, Package): name = 'tcl' - version = '8.6.13' + version = '8.6.16' tclversion = '8.6' @property @@ -297,7 +297,7 @@ def verify(self): class TkPackage(AutoconfMixin, NoArchiveMixin, Package): name = 'tk' - version = '8.6.13' + version = '8.6.16' @property def source_archives(self): From 774ccd3227d8277dbcb83dfee0b6a30f9cf8fbe5 Mon Sep 17 00:00:00 2001 From: Siong Chin Date: Fri, 4 Apr 2025 10:39:31 +0100 Subject: [PATCH 14/14] Remove whitespace in blank line (NO_JIRA) --- build_conquest_python.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_conquest_python.py b/build_conquest_python.py index a6d3efe..b15a41e 100755 --- a/build_conquest_python.py +++ b/build_conquest_python.py @@ -182,7 +182,7 @@ def extract_source_archives(self): super().extract_source_archives() # Remove packages we don't want to build sp = Path(self.main_source_directory_path / 'pkgs') - + sqlite_path = sp.glob('sqlite*') for file in sqlite_path: shutil.rmtree(file)