Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

boost/1.85.0 package update #16905

Merged
merged 2 commits into from
May 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions boost.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package:
name: boost
version: 1.84.0
version: 1.85.0
epoch: 0
description: "A library for interacting with the Linux kernel's Berkeley Packet Filter (BPF) facility from user space"
copyright:
Expand All @@ -12,6 +12,7 @@ environment:
- build-base
- busybox
- ca-certificates-bundle
- patch
- python3
- python3-dev
- wolfi-base
Expand Down Expand Up @@ -54,7 +55,13 @@ pipeline:
- uses: fetch
with:
uri: https://boostorg.jfrog.io/artifactory/main/release/${{package.version}}/source/boost_${{vars.mangled-package-version}}.tar.gz
expected-sha256: a5800f405508f5df8114558ca9855d2640a2de8f0445f051fa1c7c3383045724
expected-sha256: be0d91732d5b0cc6fbb275c7939974457e79b54d6f07ce2e3dfdd68bef883b0b

# Apply patches to fix build https://github.com/boostorg/bcp/pull/18
- runs: |
cd ./tools/bcp
patch -p1 < ../../c98516b5b76e9132eba78a399af9c95ec8d23bd4.patch
patch -p1 < ../../cd21e9b4a749a77c24facf2da44f01e032c40842.patch

- runs: |
abiflags="$(python3-config --abiflags)"
Expand Down
62 changes: 62 additions & 0 deletions boost/c98516b5b76e9132eba78a399af9c95ec8d23bd4.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
From c98516b5b76e9132eba78a399af9c95ec8d23bd4 Mon Sep 17 00:00:00 2001
From: Andrey Semashev <[email protected]>
Date: Sun, 24 Mar 2024 15:43:33 +0300
Subject: [PATCH] Updated list of special dependencies.

---
add_path.cpp | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/add_path.cpp b/add_path.cpp
index 747bb8c..9ae43c9 100644
--- a/add_path.cpp
+++ b/add_path.cpp
@@ -196,12 +196,6 @@ void bcp_implementation::add_file(const fs::path& p)
//
static const std::pair<fs::path, fs::path>
specials[] = {
- std::pair<fs::path, fs::path>("tools/build/src/kernel/modules.jam", "libs/predef/check"),
- std::pair<fs::path, fs::path>("tools/build/src/kernel/modules.jam", "libs/predef/tools"),
- std::pair<fs::path, fs::path>("tools/build/src/kernel/modules.jam", "tools/boost_install/boost-install.jam"),
- std::pair<fs::path, fs::path>("tools/build/src/kernel/modules.jam", "tools/boost_install/boost-install-dirs.jam"),
- std::pair<fs::path, fs::path>("tools/build/src/kernel/modules.jam", "tools/boost_install/Jamfile"),
- std::pair<fs::path, fs::path>("tools/build/src/kernel/modules.jam", "libs/headers"),
std::pair<fs::path, fs::path>("libs/test/build/Jamfile.v2", "libs/timer/src"),
std::pair<fs::path, fs::path>("libs/test/build/Jamfile.v2", "libs/timer/build"),
std::pair<fs::path, fs::path>("boost/atomic/capabilities.hpp", "boost/atomic/detail"),
@@ -226,14 +220,14 @@ static const std::pair<fs::path, fs::path>
std::pair<fs::path, fs::path>("libs/thread/build", "boost/system"),
std::pair<fs::path, fs::path>("libs/thread/build", "boost/cerrno.hpp"),
std::pair<fs::path, fs::path>("libs/thread/build", "boost/chrono"),
- std::pair<fs::path, fs::path>("boost/filesystem/convenience.hpp", "boost/filesystem.hpp"),
+ std::pair<fs::path, fs::path>("boost/filesystem/cstdio.hpp", "boost/filesystem.hpp"),
+ std::pair<fs::path, fs::path>("boost/filesystem/directory.hpp", "boost/filesystem.hpp"),
std::pair<fs::path, fs::path>("boost/filesystem/exception.hpp", "boost/filesystem.hpp"),
std::pair<fs::path, fs::path>("boost/filesystem/fstream.hpp", "boost/filesystem.hpp"),
std::pair<fs::path, fs::path>("boost/filesystem/operations.hpp", "boost/filesystem.hpp"),
+ std::pair<fs::path, fs::path>("boost/filesystem/file_status.hpp", "boost/filesystem.hpp"),
std::pair<fs::path, fs::path>("boost/filesystem/path.hpp", "boost/filesystem.hpp"),
std::pair<fs::path, fs::path>("boost/filesystem.hpp", "libs/filesystem/build"),
- std::pair<fs::path, fs::path>("boost/filesystem.hpp", "libs/filesystem/v2"),
- std::pair<fs::path, fs::path>("boost/filesystem.hpp", "libs/filesystem/v3"),
std::pair<fs::path, fs::path>("boost/config.hpp", "boost/config"),
std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "libs/config/checks"),
std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "libs/config/test"),
@@ -242,6 +236,7 @@ static const std::pair<fs::path, fs::path>
std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "tools/boost_install/BoostDetectToolset.cmake"),
std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "tools/boost_install/boost-install.jam"),
std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "tools/boost_install/boost-install-dirs.jam"),
+ std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "tools/boost_install/Jamfile"),
std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "boostcpp.jam"),
std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "project-config.jam"),
std::pair<fs::path, fs::path>("tools/build/bootstrap.sh", "bootstrap.bat"),
@@ -271,7 +266,8 @@ static const std::pair<fs::path, fs::path>
std::pair<fs::path, fs::path>("boost/test/detail/config.hpp", "libs/test/src"),
std::pair<fs::path, fs::path>("boost/test/detail/config.hpp", "libs/test/build"),
std::pair<fs::path, fs::path>("boost/test/detail/config.hpp", "libs/predef/build.jam"),
- std::pair<fs::path, fs::path>("boost/test/detail/config.hpp", "libs/predef/check"),
+ std::pair<fs::path, fs::path>("boost/test/detail/config.hpp", "libs/predef/tools/check"),
+ std::pair<fs::path, fs::path>("boost/test/detail/config.hpp", "libs/predef/check"), // libs/predef/check if obsolete, but may still be used
std::pair<fs::path, fs::path>("boost/typeof.hpp", "boost/typeof/incr_registration_group.hpp"),
std::pair<fs::path, fs::path>("boost/function_types/detail/pp_loop.hpp", "boost/function_types/detail/pp_cc_loop"),
std::pair<fs::path, fs::path>("boost/function_types/components.hpp", "boost/function_types/detail/components_impl"),
184 changes: 184 additions & 0 deletions boost/cd21e9b4a749a77c24facf2da44f01e032c40842.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
From cd21e9b4a749a77c24facf2da44f01e032c40842 Mon Sep 17 00:00:00 2001
From: Andrey Semashev <[email protected]>
Date: Sun, 24 Mar 2024 14:49:18 +0300
Subject: [PATCH] Remove usage of deprecated and removed Boost.Filesystem APIs.

---
add_dependent_lib.cpp | 5 +++--
add_path.cpp | 30 +++++++++++++++---------------
bcp_imp.hpp | 1 +
copy_path.cpp | 8 ++++----
file_types.cpp | 2 +-
5 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/add_dependent_lib.cpp b/add_dependent_lib.cpp
index 4852914..521b70d 100644
--- a/add_dependent_lib.cpp
+++ b/add_dependent_lib.cpp
@@ -15,6 +15,7 @@
#include "bcp_imp.hpp"
#include "fileview.hpp"
#include <boost/regex.hpp>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/exception.hpp>
#include <iostream>
@@ -43,12 +44,12 @@ static void init_library_scanner(const fs::path& p, bool cvs_mode, const std::st
//
// Don't add files created by build system:
//
- if((p.leaf() == "bin") || (p.leaf() == "bin-stage"))
+ if((p.filename() == "bin") || (p.filename() == "bin-stage"))
return;
//
// Don't add version control directories:
//
- if((p.leaf() == "CVS") || (p.leaf() == ".svn"))
+ if((p.filename() == "CVS") || (p.filename() == ".svn"))
return;
//
// don't add directories not under version control:
diff --git a/add_path.cpp b/add_path.cpp
index 8a1fee3..747bb8c 100644
--- a/add_path.cpp
+++ b/add_path.cpp
@@ -15,6 +15,7 @@
#include "bcp_imp.hpp"
#include "fileview.hpp"
#include <boost/regex.hpp>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/exception.hpp>
#include <iostream>
@@ -24,8 +25,7 @@ void bcp_implementation::add_path(const fs::path& p)
{
if (m_excluded.find(p) != m_excluded.end())
return;
- fs::path normalized_path = p;
- normalized_path.normalize();
+ fs::path normalized_path = p.lexically_normal();
if(fs::exists(m_boost_path / normalized_path))
{
if(fs::is_directory(m_boost_path / normalized_path))
@@ -45,12 +45,12 @@ void bcp_implementation::add_directory(const fs::path& p)
//
// Don't add files created by build system:
//
- if((p.leaf() == "bin") || (p.leaf() == "bin-stage"))
+ if((p.filename() == "bin") || (p.filename() == "bin-stage"))
return;
//
// Don't add version control directories:
//
- if((p.leaf() == "CVS") || (p.leaf() == ".svn"))
+ if((p.filename() == "CVS") || (p.filename() == ".svn"))
return;
//
// don't add directories not under version control:
@@ -180,7 +180,7 @@ void bcp_implementation::add_file(const fs::path& p)
{
// only concatonate if it's a relative path
// rather than a URL:
- fs::path dep(p.branch_path() / s);
+ fs::path dep(p.parent_path() / s);
if(!m_dependencies.count(dep))
{
m_dependencies[dep] = p; // set up dependency tree
@@ -355,13 +355,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile)
continue;
}
include_file = i->str();
- fs::path test_file(m_boost_path / p.branch_path() / include_file);
- if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost"))
+ fs::path test_file(m_boost_path / p.parent_path() / include_file);
+ if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost"))
{
- if(!m_dependencies.count(p.branch_path() / include_file))
+ if(!m_dependencies.count(p.parent_path() / include_file))
{
- m_dependencies[p.branch_path() / include_file] = p;
- add_pending_path(p.branch_path() / include_file);
+ m_dependencies[p.parent_path() / include_file] = p;
+ add_pending_path(p.parent_path() / include_file);
}
}
else if(fs::exists(m_boost_path / include_file))
@@ -405,13 +405,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile)
++i;
continue;
}
- fs::path test_file(m_boost_path / p.branch_path() / include_file);
- if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost"))
+ fs::path test_file(m_boost_path / p.parent_path() / include_file);
+ if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost"))
{
- if(!m_dependencies.count(p.branch_path() / include_file))
+ if(!m_dependencies.count(p.parent_path() / include_file))
{
- m_dependencies[p.branch_path() / include_file] = p;
- add_pending_path(p.branch_path() / include_file);
+ m_dependencies[p.parent_path() / include_file] = p;
+ add_pending_path(p.parent_path() / include_file);
}
}
else if(fs::exists(m_boost_path / include_file))
diff --git a/bcp_imp.hpp b/bcp_imp.hpp
index e515581..51c85ba 100644
--- a/bcp_imp.hpp
+++ b/bcp_imp.hpp
@@ -14,6 +14,7 @@
#include <set>
#include <map>
#include <queue>
+#include <string>
#include <boost/filesystem/path.hpp>

namespace fs = boost::filesystem;
diff --git a/copy_path.cpp b/copy_path.cpp
index 4143c79..6b7a370 100644
--- a/copy_path.cpp
+++ b/copy_path.cpp
@@ -49,18 +49,18 @@ void bcp_implementation::copy_path(const fs::path& p)
if(fs::exists(m_dest_path / p))
{
std::cout << "Copying (and overwriting) file: " << p.string() << "\n";
- fs::remove(m_dest_path / p);
+ fs::remove(m_dest_path / p);
}
else
std::cout << "Copying file: " << p.string() << "\n";
//
// create the path to the new file if it doesn't already exist:
//
- create_path(p.branch_path());
+ create_path(p.parent_path());
//
// do text based copy if requested:
//
- if((p.leaf() == "Jamroot") && m_namespace_name.size())
+ if((p.filename() == "Jamroot") && m_namespace_name.size())
{
static std::vector<char> v1, v2;
v1.clear();
@@ -240,7 +240,7 @@ void bcp_implementation::create_path(const fs::path& p)
if(!fs::exists(m_dest_path / p))
{
// recurse then create the path:
- create_path(p.branch_path());
+ create_path(p.parent_path());
fs::create_directory(m_dest_path / p);
}
}
diff --git a/file_types.cpp b/file_types.cpp
index 297d304..69f6027 100644
--- a/file_types.cpp
+++ b/file_types.cpp
@@ -52,7 +52,7 @@ bool bcp_implementation::is_binary_file(const fs::path& p)
"|"
"(Jamfile|makefile|configure)",
boost::regex::perl | boost::regex::icase);
- return !boost::regex_match(p.leaf().generic_string(), e);
+ return !boost::regex_match(p.filename().generic_string(), e);

}