build() {
cd "${_pkgname}-${pkgver}"
# -------------------------------------------------------------------------
# GCC 15 Fix: Move HfSStrReplace definition to the top
# -------------------------------------------------------------------------
local HEADER="src/hef_src/hef_str_piece.h"
# 1. Define the compact struct string (including the fix for operator=)
local NEW_DEF='struct HfSStrReplace { int limit; bool bCaseInsensitive; HfSStrReplace(int l=-1, bool b=0) : limit(l), bCaseInsensitive(b) {} HfSStrReplace\& operator=(const HfSStrReplace\&) = default; };'
# 2. Delete the original definition at the bottom of the file
# We match the line starting with "struct HfSStrReplace {" (with brace) to avoid deleting the forward decl
sed -i '/^struct HfSStrReplace {/,/^};/d' "$HEADER"
# 3. Replace the forward declaration at the top with the full definition
sed -i "s/^struct HfSStrReplace;/${NEW_DEF}/" "$HEADER"
# -------------------------------------------------------------------------
# Fix 2: Missing <ctime> include in hef_data.cpp (for struct tm, time, etc.)
# -------------------------------------------------------------------------
sed -i '1i #include <ctime>' src/hef_src/hef_data.cpp
cd "projects/01_shared_lib"
make release CXX="g++ -Wno-template-body"
}
With this patch I am able to compile it as of today. Hope it will help.
Pinned Comments
sirocco commented on 2018-05-28 00:41 (UTC) (edited on 2018-05-28 00:43 (UTC) by sirocco)
yes, according to https://github.com/ikk00/p7z-usr
In DCMD go to Options then Plugins. In Packer Plugin tab click the "Add" button and select the "p7z_usr.wcx" file.
In the "Tweak" dialog box, add the file extensions of file types for this plugin to open, see handlers list below.
Notes:
this is a read-only plugin, omitting types supported by other, archive dedicated, plugins is recommended.
list of file types supported is long, direct editing of DCMD configuration file may be a better approach.
ghderty commented on 2018-05-27 19:13 (UTC) (edited on 2018-05-27 19:25 (UTC) by ghderty)
It looks like this plugin needs to be installed manually: Configuration -> Options... -> Plugins -> Packer plugins (.WCX) -> Add -> and select /usr/lib/doublecmd/plugins/wcx/p7z_usr/p7z_usr.wcx