@fenuks Thanks for the tip.
Search Criteria
Package Details: vcmi-git 1.6.0.1.g370ecf6f6-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/vcmi-git.git (read-only, click to copy) |
---|---|
Package Base: | vcmi-git |
Description: | Open-source engine for Heroes of Might and Magic III |
Upstream URL: | http://vcmi.eu |
Keywords: | homm3 |
Licenses: | GPL2 |
Conflicts: | vcmi |
Provides: | vcmi |
Submitter: | Raziel23 |
Maintainer: | fenuks |
Last Packager: | fenuks |
Votes: | 47 |
Popularity: | 0.006676 |
First Submitted: | 2014-04-07 07:23 (UTC) |
Last Updated: | 2024-12-20 18:09 (UTC) |
Dependencies (19)
- boost-libs
- desktop-file-utils (desktop-file-utils-gitAUR)
- ffmpeg (ffmpeg-nvcodec-11-1-gitAUR, ffmpeg-cudaAUR, ffmpeg-fullAUR, ffmpeg-decklinkAUR, ffmpeg-amd-fullAUR, ffmpeg-ffplayoutAUR, ffmpeg-full-gitAUR, ffmpeg-gitAUR, ffmpeg-headlessAUR, ffmpeg-amd-full-gitAUR, ffmpeg-obsAUR, ffmpeg-libfdk_aacAUR)
- gtk-update-icon-cache (gtk-update-icon-cache-gitAUR)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- libxkbcommon-x11 (libxkbcommon-x11-gitAUR)
- luajit (luajit-2.1-lua52-gitAUR, luajit-gitAUR, luajit-openrestyAUR)
- qt5-base (qt5-base-gitAUR, qt5-base-headlessAUR)
- sdl2_image
- sdl2_mixer
- sdl2_ttf
- tbb (onetbb-gitAUR, onetbb)
- boost (boost-gitAUR) (make)
- cmake (cmake-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- qt5-tools (make)
- innoextract (innoextract-gitAUR) (optional) – required by vcmibuilder
- unshield (unshield-gitAUR) (optional) – required by vcmibuilder
- unzip (unzip-natspecAUR, unzip-zstdAUR) (optional) – required by vcmibuilder
Required by (1)
- vcmi-demo (requires vcmi)
Sources (4)
pppbb commented on 2024-09-07 10:54 (UTC)
fenuks commented on 2024-09-06 08:17 (UTC)
@pppbb Just apply the patch and remove bits you don't like or copy change from it in prepare()
function.
pppbb commented on 2024-09-06 07:57 (UTC) (edited on 2024-09-06 07:57 (UTC) by pppbb)
@fenuks Could you post patch only with workaround for last issue?
fenuks commented on 2024-09-06 07:25 (UTC)
Downgrading boost isn't a particularly good idea given it will break a number of programs that were built against the latest version. If you applied the patch I provided, you would probably have noticed it contains a workaround for this issue.
pppbb commented on 2024-09-05 21:46 (UTC)
I downgraded boost but i got another problem: Make Error at clientapp/cmake_install.cmake:70 (file): file INSTALL cannot find "/home/piotr/.cache/yay/vcmi-git/src/vcmi-git/clientapp/icons/vcmiclient.16x16.png": No such file or directory. Call Stack (most recent call first): cmake_install.cmake:77 (include)
fenuks commented on 2024-09-04 22:19 (UTC) (edited on 2024-09-04 22:20 (UTC) by fenuks)
@pppbb Probably upstream will update code to the newest boost version, in the meanwhile, you can use this patch.
diff --git c/PKGBUILD i/PKGBUILD
index c0613a1..90250ae 100644
--- c/PKGBUILD
+++ i/PKGBUILD
@@ -21,8 +21,13 @@ install="${pkgname}.install"
source=("${pkgname}::git+https://github.com/vcmi/vcmi.git#branch=develop"
git+https://github.com/vcmi/innoextract.git#branch=vcmi
git+https://github.com/fuzzylite/fuzzylite.git#branch=release
+ boost-186.patch
)
-md5sums=('SKIP' 'SKIP' 'SKIP')
+md5sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'aa22332b0b892d53ea8510c1258f8c22'
+ )
pkgver() {
cd "${pkgname}"
@@ -36,6 +41,10 @@ prepare() {
git config submodule.innoextract.url "${srcdir}/innoextract"
git config submodule.AI/FuzzyLite.url "${srcdir}/fuzzylite"
git -c protocol.file.allow=always submodule update
+ git apply "${srcdir}/boost-186.patch"
+ # workaround for a bad clientapp/CMakeList.txt changes introduced in e15aca4d8ba1e8ef9c6a21bd38d79756ae2cd112
+ cp -r client/icons/ clientapp
+
}
build() {
diff --git c/boost-186.patch i/boost-186.patch
new file mode 100644
index 0000000..3096d99
--- /dev/null
+++ i/boost-186.patch
@@ -0,0 +1,58 @@
+diff --git i/client/ServerRunner.cpp w/client/ServerRunner.cpp
+index 2a7a0791e..927673fac 100644
+--- i/client/ServerRunner.cpp
++++ w/client/ServerRunner.cpp
+@@ -15,11 +15,6 @@
+ #include "../lib/CThreadHelper.h"
+ #include "../server/CVCMIServer.h"
+
+-#ifndef VCMI_MOBILE
+-#include <boost/process/child.hpp>
+-#include <boost/process/io.hpp>
+-#endif
+-
+ #include <future>
+
+ ServerThreadRunner::ServerThreadRunner() = default;
+@@ -97,7 +92,7 @@ uint16_t ServerProcessRunner::start(uint16_t port, bool connectToLobby, std::sha
+ args.push_back("--lobby");
+
+ std::error_code ec;
+- child = std::make_unique<boost::process::child>(serverPath, args, ec, boost::process::std_out > logPath);
++ child = std::make_unique<boost::process::v1::child>(serverPath, args, ec, boost::process::v1::std_out > logPath);
+
+ if (ec)
+ throw std::runtime_error("Failed to start server! Reason: " + ec.message());
+diff --git i/client/ServerRunner.h w/client/ServerRunner.h
+index d5ba38b53..ac125e417 100644
+--- i/client/ServerRunner.h
++++ w/client/ServerRunner.h
+@@ -15,6 +15,11 @@ struct StartInfo;
+
+ VCMI_LIB_NAMESPACE_END
+
++#ifndef VCMI_MOBILE
++#include <boost/process/v1/child.hpp>
++#include <boost/process/v1/io.hpp>
++#endif
++
+ class CVCMIServer;
+
+ class IServerRunner
+@@ -45,15 +50,11 @@ class ServerThreadRunner : public IServerRunner, boost::noncopyable
+
+ #ifndef VCMI_MOBILE
+
+-namespace boost::process {
+-class child;
+-}
+-
+ /// Class that runs server instance as a child process
+ /// Available only on desktop systems where process management is allowed
+ class ServerProcessRunner : public IServerRunner, boost::noncopyable
+ {
+- std::unique_ptr<boost::process::child> child;
++ std::unique_ptr<boost::process::v1::child> child;
+
+ public:
+ uint16_t start(uint16_t port, bool connectToLobby, std::shared_ptr<StartInfo> startingInfo) override;
pppbb commented on 2024-09-03 04:26 (UTC)
After Arch update boost 1.86 vcmi-git don't build anymore.
FabioLolix commented on 2024-05-05 12:09 (UTC)
Almost sure it need qt5-tools
as makedepends, that's usually used for translation stuff
6b6279 commented on 2024-05-05 12:07 (UTC) (edited on 2024-05-05 12:08 (UTC) by 6b6279)
Seems like some new dependency was added upsteam, build fails with
CMake Error at /usr/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package):
Could not find a package configuration file provided by "Qt5LinguistTools"
with any of the following names:
Qt5LinguistToolsConfig.cmake
qt5linguisttools-config.cmake
Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or
set "Qt5LinguistTools_DIR" to a directory containing one of the above
files. If "Qt5LinguistTools" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:515 (find_package)
-- Configuring incomplete, errors occurred!
Might need to add qt5-tools
as a build dependency?
Pinned Comments