diff --git a/CHANGES.markdown b/CHANGES.markdown index c859ee7d..fccc939f 100644 --- a/CHANGES.markdown +++ b/CHANGES.markdown @@ -17,13 +17,13 @@ happens, so I'm now setting it to a slightly arbitrary time early in the morning Bug fixes and minor enhancements. ### New Features -* Updated Danish translations (courtesy of Orla Valbjørn Møller) +* None ### Bug Fixes * 4.0.13 and ubuntu 24.10 crash [913](https://github.com/Brewtarget/brewtarget/issues/913) ### Release Timestamp -Tue, 31 Dec 2024 04:00:15 +0100 +Wed, 1 Jan 2025 04:00:15 +0100 ## v4.0.14 Bug fixes and minor enhancements. diff --git a/scripts/buildTool.py b/scripts/buildTool.py index 662dc28f..bbe9ddfe 100755 --- a/scripts/buildTool.py +++ b/scripts/buildTool.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 #----------------------------------------------------------------------------------------------------------------------- -# scripts/buildTool.py is part of Brewtarget, and is copyright the following authors 2022-2024: +# scripts/buildTool.py is part of Brewtarget, and is copyright the following authors 2022-2025: # • Matt Young # # Brewtarget is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -582,8 +582,9 @@ def installDependencies(): # # Although things should compile with 1.79.0, if we're going to all the bother of installing Boost manually, # we'll install a more recent one. + # minBoostVersion = packaging.version.parse('1.79.0') - boostVersionToInstall = packaging.version.parse('1.84.0') # NB: This _must_ have the patch version + boostVersionToInstall = packaging.version.parse('1.87.0') # NB: This _must_ have the patch version maxBoostVersionFound = packaging.version.parse('0') possibleBoostVersionHeaders = [pathlib.Path('/usr/include/boost/version.hpp'), pathlib.Path('/usr/local/include/boost/version.hpp')] @@ -656,6 +657,22 @@ def installDependencies(): # cd ~ # sudo rm -rf ~/boost-tmp # + # EXCEPT that, from time to time, the jfrog link stops working. (AIUI, JFrog provides hosting to Boost at + # no cost, but sometimes usage limit is exceeded on their account.) + # + # Instead, you can download Boost more reliably from GitHub: + # + # cd ~ + # mkdir ~/boost-tmp + # cd ~/boost-tmp + # wget https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-b2-nodocs.tar.xz + # tar -xf boost-1.87.0-b2-nodocs.tar.xz + # cd boost-1.87.0 + # ./bootstrap.sh + # sudo ./b2 install + # cd ~ + # sudo rm -rf ~/boost-tmp + # # We can handle the temporary directory stuff more elegantly (ie RAII style) in Python however # # NOTE: On older versions of Linux, there are problems building some of the Boost libraries that I haven't @@ -715,15 +732,22 @@ def installDependencies(): previousWorkingDirectory = pathlib.Path.cwd().as_posix() os.chdir(tmpDirName) log.debug('Working directory now ' + pathlib.Path.cwd().as_posix()) + boostBaseName = 'boost-' + str(boostVersionToInstall) boostUnderscoreName = 'boost_' + str(boostVersionToInstall).replace('.', '_') +# downloadFile( +# 'https://boostorg.jfrog.io/artifactory/main/release/' + str(boostVersionToInstall) + '/source/' + +# boostUnderscoreName + '.tar.bz2' +# ) downloadFile( - 'https://boostorg.jfrog.io/artifactory/main/release/' + str(boostVersionToInstall) + '/source/' + - boostUnderscoreName + '.tar.bz2' + 'https://github.com/boostorg/boost/releases/download/' + + boostBaseName + '/' + boostBaseName + '-b2-nodocs.tar.xz' ) log.debug('Boost download completed') - shutil.unpack_archive(boostUnderscoreName + '.tar.bz2') +# shutil.unpack_archive(boostUnderscoreName + '.tar.bz2') + shutil.unpack_archive(boostBaseName + '-b2-nodocs.tar.xz') log.debug('Boost archive extracted') - os.chdir(boostUnderscoreName) +# os.chdir(boostUnderscoreName) + os.chdir(boostBaseName) log.debug('Working directory now ' + pathlib.Path.cwd().as_posix()) btUtils.abortOnRunFail(subprocess.run(['./bootstrap.sh', '--with-python=python3'])) log.debug('Boost bootstrap finished') @@ -1666,8 +1690,18 @@ def doPackage(): ) # - # The source tarball and its checksum end up in the meson-dist subdirectory of mbuild, so we just move them into the - # packages/source directory (first making sure the latter exists and is empty!). + # The compressed source tarball and its checksum end up in the meson-dist subdirectory of mbuild, so we just move + # them into the packages/source directory (first making sure the latter exists and is empty!). + # + # The filename of the compressed tarball etc generated by Meson are always: + # [project_name]-[project_version].tar.xz + # [project_name]-[project_version].tar.xz.sha256sum + # + # We would prefer the names to be: + # [project_name]-[project_version]-Source_Code.tar.xz + # [project_name]-[project_version]-Source_Code.tar.xz.sha256sum + # + # TODO We should do this renaming and regenerate the sha256sum file (so it contains the new filename) # # We are only talking about 2 files, so some of this is overkill, but it's easier to be consistent with what we do # for the other subdirectories of mbuild/packages