From c50852aba0aa8df22e17133352edb432a9fc1e56 Mon Sep 17 00:00:00 2001 From: yurybura Date: Fri, 17 Jan 2020 02:10:15 +0300 Subject: [boost] Update to 1.72.0 (#9317) * [boost-python] Support Python2 as feature, fix build with installed Python2 * [boost-python] Update generate script to support Python2 mod * Re-generate boost ports * [boost-modular-build-helper] Update to 1.71. [boost-build] Update to 1.71. * [boost-modular-build-helper] Remove manual library name changing [boost-iostreams] Use boost-modular-headers.cmake script * Delete temporary file. * Revert changes in modular build script. * Update ports versions. * [boost-modular-build-helper] Fix build boost-iostreams with LZMA and ZSTD * [boost] Update to 1.72.0 * [libtorrent] Fix build with Boost 1.72.0 Original PR: https://github.com/arvidn/libtorrent/pull/4091 * Update ci.baseline.txt: - fail libgo:* due to use the removed class from Boost.Context 1.72.0 (reported issue https://github.com/yyzybb537/libgo/issues/214) - pass boost-context:arm64-windows - fix typo * Folly only supports the x64 architecture * fail boost-coroutine:arm64-windows=fail and boost-fiber:arm64-windows=fail because they use fcontext_t from Boost.Context which is not implemented for Windows on ARM64 (reported issue https://github.com/boostorg/context/issues/130) * Fix globbing-expressions * Add vcpkg_buildpath_length_warning(37) for boost-system. Revert boost-iostreams port changes. * Update ci.baseline.txt --- scripts/boost/generate-ports.ps1 | 72 +++++++++++++------------ scripts/boost/post-source-stubs/iostreams.cmake | 2 +- scripts/boost/post-source-stubs/python.cmake | 2 +- scripts/ci.baseline.txt | 10 +++- 4 files changed, 48 insertions(+), 38 deletions(-) (limited to 'scripts') diff --git a/scripts/boost/generate-ports.ps1 b/scripts/boost/generate-ports.ps1 index 5f5897718..200b8376e 100644 --- a/scripts/boost/generate-ports.ps1 +++ b/scripts/boost/generate-ports.ps1 @@ -1,7 +1,7 @@ [CmdletBinding()] param ( $libraries = @(), - $version = "1.71.0" + $version = "1.72.0" ) $scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition @@ -37,6 +37,7 @@ function Generate() { param ( [string]$Name, + [string]$PortName, [string]$Hash, [bool]$NeedsBuild, $Depends = @() @@ -44,29 +45,18 @@ function Generate() $controlDeps = ($Depends | sort) -join ", " - $sanitizedName = $name -replace "_","-" + $versionSuffix = "" - $versionsuffix = "" - if ($Name -eq "asio" -or $Name -eq "mpi") - { - $versionsuffix = "-1" - } - - if ($Name -eq "python" -or $Name -eq "test") - { - $versionsuffix = "-2" - } - - mkdir "$portsDir/boost-$sanitizedName" -erroraction SilentlyContinue | out-null + mkdir "$portsDir/boost-$PortName" -erroraction SilentlyContinue | out-null $controlLines = @( "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" - "Source: boost-$sanitizedName" - "Version: $version$versionsuffix" + "Source: boost-$PortName" + "Version: $version$versionSuffix" "Build-Depends: $controlDeps" - "Homepage: https://github.com/boostorg/$name" + "Homepage: https://github.com/boostorg/$Name" "Description: Boost $Name module" ) - if ($Name -eq "locale") + if ($PortName -eq "locale") { $controlLines += @( "" @@ -75,7 +65,7 @@ function Generate() "Build-Depends: icu" ) } - if ($Name -eq "regex") + if ($PortName -eq "regex") { $controlLines += @( "" @@ -84,13 +74,24 @@ function Generate() "Build-Depends: icu" ) } - $controlLines | out-file -enc ascii "$portsDir/boost-$sanitizedName/CONTROL" + $controlLines | out-file -enc ascii "$portsDir/boost-$PortName/CONTROL" $portfileLines = @( "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" "" "include(vcpkg_common_functions)" "" + ) + + if ($PortName -eq "system") + { + $portfileLines += @( + "vcpkg_buildpath_length_warning(37)" + "" + ) + } + + $portfileLines += @( "vcpkg_from_github(" " OUT_SOURCE_PATH SOURCE_PATH" " REPO boostorg/$Name" @@ -98,11 +99,11 @@ function Generate() " SHA512 $Hash" " HEAD_REF master" ) - if ($Name -eq "asio") + if ($PortName -eq "asio") { $portfileLines += @(" PATCHES windows_alloca_header.patch") } - if ($Name -eq "iostreams") + if ($PortName -eq "iostreams") { $portfileLines += @(" PATCHES Removeseekpos.patch") } @@ -111,14 +112,14 @@ function Generate() "" ) - if (Test-Path "$scriptsDir/post-source-stubs/$Name.cmake") + if (Test-Path "$scriptsDir/post-source-stubs/$PortName.cmake") { - $portfileLines += @(get-content "$scriptsDir/post-source-stubs/$Name.cmake") + $portfileLines += @(get-content "$scriptsDir/post-source-stubs/$PortName.cmake") } if ($NeedsBuild) { - if ($Name -eq "locale") + if ($PortName -eq "locale") { $portfileLines += @( "if(`"icu`" IN_LIST FEATURES)" @@ -139,7 +140,7 @@ function Generate() ")" ) } - elseif ($Name -eq "regex") + elseif ($PortName -eq "regex") { $portfileLines += @( "if(`"icu`" IN_LIST FEATURES)" @@ -152,7 +153,7 @@ function Generate() "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"`${REQUIREMENTS}`")" ) } - elseif ($Name -eq "thread") + elseif ($PortName -eq "thread") { $portfileLines += @( "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" @@ -164,7 +165,7 @@ function Generate() ")" ) } - elseif ($Name -eq "iostreams") + elseif ($PortName -eq "iostreams") { } else @@ -175,7 +176,7 @@ function Generate() ) } } - if ($Name -ne "iostreams") + if ($PortName -ne "iostreams") { $portfileLines += @( "include(`${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)" @@ -183,12 +184,12 @@ function Generate() ) } - if (Test-Path "$scriptsDir/post-build-stubs/$Name.cmake") + if (Test-Path "$scriptsDir/post-build-stubs/$PortName.cmake") { - $portfileLines += @(get-content "$scriptsDir/post-build-stubs/$Name.cmake") + $portfileLines += @(get-content "$scriptsDir/post-build-stubs/$PortName.cmake") } - $portfileLines | out-file -enc ascii "$portsDir/boost-$sanitizedName/portfile.cmake" + $portfileLines | out-file -enc ascii "$portsDir/boost-$PortName/portfile.cmake" } if (!(Test-Path "$scriptsDir/boost")) @@ -383,13 +384,16 @@ foreach ($library in $libraries) $deps += @("mpi") } + $portName = $library -replace "_","-" + Generate ` -Name $library ` + -PortName $portName ` -Hash $hash ` -Depends $deps ` -NeedsBuild $needsBuild - $libraries_in_boost_port += @(TransformReference $library) + $libraries_in_boost_port += @(TransformReference $portName) } finally { @@ -400,7 +404,7 @@ foreach ($library in $libraries) if ($libraries_in_boost_port.length -gt 1) { # Generate master boost control file which depends on each individual library # mpi is excluded due to it having a dependency on msmpi - $boostDependsList = @($libraries_in_boost_port | % { "boost-$_" -replace "_","-" } | ? { $_ -notmatch "boost-mpi" }) -join ", " + $boostDependsList = @($libraries_in_boost_port | % { "boost-$_" } | ? { $_ -notmatch "boost-mpi" }) -join ", " @( "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" diff --git a/scripts/boost/post-source-stubs/iostreams.cmake b/scripts/boost/post-source-stubs/iostreams.cmake index 55841bb3f..df1479fb8 100644 --- a/scripts/boost/post-source-stubs/iostreams.cmake +++ b/scripts/boost/post-source-stubs/iostreams.cmake @@ -1,5 +1,5 @@ vcpkg_download_distfile(LICENSE - URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.70.0/LICENSE_1_0.txt" + URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.72.0/LICENSE_1_0.txt" FILENAME "boost_LICENSE_1_0.txt" SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 ) diff --git a/scripts/boost/post-source-stubs/python.cmake b/scripts/boost/post-source-stubs/python.cmake index 40b8e0a0b..5610c489d 100644 --- a/scripts/boost/post-source-stubs/python.cmake +++ b/scripts/boost/post-source-stubs/python.cmake @@ -1,5 +1,5 @@ # Find Python. Can't use find_package here, but we already know where everything is -file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python[0-9.]*") +file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python3.*") set(PYTHONLIBS_RELEASE "${CURRENT_INSTALLED_DIR}/lib") set(PYTHONLIBS_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib") string(REGEX REPLACE ".*python([0-9\.]+)$" "\\1" PYTHON_VERSION "${PYTHON_INCLUDE_PATH}") diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 2067b2983..c4889fbc6 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -143,12 +143,13 @@ blosc:x64-uwp=fail bond:arm-uwp=fail bond:x64-osx=fail bond:x64-uwp=fail -boost-context:arm64-windows=fail boost-context:arm-uwp=fail boost-context:x64-uwp=fail boost-coroutine:arm-uwp=fail +boost-coroutine:arm64-windows=fail boost-coroutine:x64-uwp=fail boost-fiber:arm-uwp=fail +boost-fiber:arm64-windows=fail boost-fiber:x64-osx=fail boost-fiber:x64-uwp=fail boost-fiber:x64-linux=ignore @@ -456,6 +457,7 @@ fmilib:x64-windows=ignore fmilib:x64-windows-static=ignore fmilib:x86-windows=ignore # Folly fails due to a compiler bug in MSVC 19.22.27905, fixed in newer releases +folly:arm64-windows=fail folly:x86-windows=fail folly:x64-windows=fail folly:x64-windows-static=fail @@ -741,7 +743,12 @@ libgd:x64-linux=ignore libgit2:arm64-windows=fail libgit2:arm-uwp=fail libgit2:x64-uwp=fail +libgo:arm64-windows=fail +libgo:x64-linux=fail libgo:x64-osx=fail +libgo:x64-windows=fail +libgo:x64-windows-static=fail +libgo:x86-windows=fail libhydrogen:arm64-windows=fail libics:arm-uwp=fail libics:x64-uwp=fail @@ -1418,7 +1425,6 @@ qt5-macextras:x64-windows-static=fail qt5-macextras:x86-windows=fail qt5-winextras:x64-linux=fail qt5-winextras:x64-osx=fail -quantlib:x64-osx=fail quickfast:x64-linux=ignore quickfix:x64-linux=ignore quickfix:x64-windows=ignore -- cgit v1.2.3