ports/devel/boost-libs/files/patch-boost-1.85.0-bcp-filesystem
Dima Panov e8fba4b053
devel/boost*: update to 1.85.0 release (+)
With hat:	office
Changelog:	https://www.boost.org/users/history/version_1_85_0.html

Sponsored by:	Future Crew, LLC
2024-10-03 13:24:50 +03:00

188 lines
7.1 KiB
Text

https://bugs.gentoo.org/932240
https://github.com/boostorg/bcp/commit/cd21e9b4a749a77c24facf2da44f01e032c40842
From cd21e9b4a749a77c24facf2da44f01e032c40842 Mon Sep 17 00:00:00 2001
From: Andrey Semashev <andrey.semashev@gmail.com>
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 tools/bcp/add_dependent_lib.cpp tools/bcp/add_dependent_lib.cpp
index 4852914..521b70d 100644
--- tools/bcp/add_dependent_lib.cpp
+++ tools/bcp/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 tools/bcp/add_path.cpp tools/bcp/add_path.cpp
index 8a1fee3..747bb8c 100644
--- tools/bcp/add_path.cpp
+++ tools/bcp/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 tools/bcp/bcp_imp.hpp tools/bcp/bcp_imp.hpp
index e515581..51c85ba 100644
--- tools/bcp/bcp_imp.hpp
+++ tools/bcp/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 tools/bcp/copy_path.cpp tools/bcp/copy_path.cpp
index 4143c79..6b7a370 100644
--- tools/bcp/copy_path.cpp
+++ tools/bcp/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 tools/bcp/file_types.cpp tools/bcp/file_types.cpp
index 297d304..69f6027 100644
--- tools/bcp/file_types.cpp
+++ tools/bcp/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);
}