diff --git a/packages/n/nana/patches/1.7.4/u8string_fix.patch b/packages/n/nana/patches/1.7.4/u8string_fix.patch new file mode 100644 index 000000000..986bd626f --- /dev/null +++ b/packages/n/nana/patches/1.7.4/u8string_fix.patch @@ -0,0 +1,44 @@ +diff --git a/source/detail/posix/xdnd_protocol.hpp b/source/detail/posix/xdnd_protocol.hpp +index aa1ae43..d856869 100644 +--- a/source/detail/posix/xdnd_protocol.hpp ++++ b/source/detail/posix/xdnd_protocol.hpp +@@ -156,7 +156,7 @@ namespace nana{ + for(auto& file : data.files) + { + uri_list += "file://"; +- uri_list += file.u8string(); ++ uri_list += file.string(); + uri_list += "\r\n"; + } + +diff --git a/source/gui/filebox.cpp b/source/gui/filebox.cpp +index 63586ab..28071d5 100644 +--- a/source/gui/filebox.cpp ++++ b/source/gui/filebox.cpp +@@ -1013,7 +1013,7 @@ namespace nana + for(auto i = selection_.targets.cbegin(); i != selection_.targets.cend();) + { + std::filesystem::path p{*i}; +- if(p.filename().u8string() == mfs.name) ++ if(p.filename().string() == mfs.name) + { + if(!selection_.is_deselect_delayed) + { +@@ -1042,7 +1042,7 @@ namespace nana + if(!filename_string.empty()) + filename_string += ' '; + +- filename_string += "\"" + p.filename().u8string() + "\""; ++ filename_string += "\"" + p.filename().string() + "\""; + } + } + +@@ -1576,7 +1576,7 @@ namespace nana + + + if(!targets.empty()) +- impl_->path = targets.front().parent_path().u8string(); ++ impl_->path = targets.front().parent_path().string(); + else + impl_->path.clear(); + #endif diff --git a/packages/n/nana/xmake.lua b/packages/n/nana/xmake.lua index e1dc669a5..db49f5376 100644 --- a/packages/n/nana/xmake.lua +++ b/packages/n/nana/xmake.lua @@ -8,6 +8,9 @@ package("nana") add_versions("1.6.2", "5f5cb791dff292e27bfa29d850b93f809a0d91d6044ea7e22ce7ae76a5d8b24e") add_versions("1.7.2", "e2efb3b7619e4ef3b6de93f8afc70ff477ec6cabf4f9740f0d786904c790613f") add_versions("1.7.4", "56f7b1ed006c750fccf8ef15ab1e83f96751f2dfdcb68d93e5f712a6c9b58bcb") + if is_plat("linux") then + add_patches("1.7.4", path.join(os.scriptdir(), "patches", "1.7.4", "u8string_fix.patch"), "c783588816664124ba3b4077e18696899c8389419a015773b5bfe988e3a73f6a") + end if is_plat("linux", "windows") then add_deps("cmake >=3.12") @@ -18,6 +21,7 @@ package("nana") add_defines("_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING") elseif is_plat("linux") then add_syslinks("pthread", "X11", "Xft", "fontconfig") + add_links("nana") end on_install("linux", "windows", function (package) @@ -32,8 +36,9 @@ package("nana") end import("package.tools.cmake").install(package, configs) - if is_plat("windows") then - os.cp("include", package:installdir()) + os.cp("include", package:installdir()) + if is_plat("linux") then + os.cp("**.a", package:installdir("lib")) end end)