So, about the qt6 compilation... The upstream fix have been merged, however, since it was merged to a wrong branch it's not in a recent release. Hoping to see it in a next one. For now, I think I found out a dirty hack to force compile with qt5, have to live with it.
Search Criteria
Package Details: vcmi 1.5.7-2
Package Actions
Git Clone URL: | https://aur.archlinux.org/vcmi.git (read-only, click to copy) |
---|---|
Package Base: | vcmi |
Description: | Open-source engine for Heroes of Might and Magic III |
Upstream URL: | http://vcmi.eu |
Keywords: | homm homm3 vcmi |
Licenses: | GPL-2.0-or-later AND CC-BY-SA-4.0 |
Conflicts: | vcmi |
Provides: | vcmi |
Submitter: | Raziel23 |
Maintainer: | Gigas002 |
Last Packager: | Gigas002 |
Votes: | 50 |
Popularity: | 0.78 |
First Submitted: | 2013-03-12 14:11 (UTC) |
Last Updated: | 2024-09-06 16:07 (UTC) |
Dependencies (20)
- boost-libs
- ffmpeg (ffmpeg-nvcodec-11-1-gitAUR, ffmpeg-ffplayoutAUR, ffmpeg-amd-full-gitAUR, ffmpeg-cudaAUR, ffmpeg-full-gitAUR, ffmpeg-gitAUR, ffmpeg-libfdk_aacAUR, ffmpeg-fullAUR, ffmpeg-decklinkAUR, ffmpeg-headlessAUR, ffmpeg-obsAUR, ffmpeg-amd-fullAUR)
- fuzzyliteAUR (fuzzylite-gitAUR)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- libxkbcommon-x11 (libxkbcommon-x11-gitAUR)
- luajit (luajit-2.1-lua52-gitAUR, luajit-gitAUR, luajit-openrestyAUR)
- onetbb
- qt6-base (qt6-base-headlessAUR, qt6-base-gitAUR)
- sdl2_image
- sdl2_mixer
- sdl2_ttf
- boost (boost-gitAUR) (make)
- ccache (ccache-gitAUR) (make)
- cmake (cmake-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- minizip (minizip-gitAUR) (make)
- qt6-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)
Sources (1)
Gigas002 commented on 2024-06-23 14:10 (UTC)
Gigas002 commented on 2024-05-30 15:40 (UTC)
@michaldybczak The fix is not yet merged upstream, unfortunately. You can track the progress on this issue using the link in pinned post. It's scheduled to be merged somewhere before 1.6.0 release, but no exact schedule
michaldybczak commented on 2024-05-30 15:35 (UTC)
Still can't compile the package in the latest version. The same issue with "translation/chinese.qm" path.
Gigas002 commented on 2024-05-29 15:08 (UTC)
PKGBUILD
tweaks
If you want to build with clang
, add this part to cmake
flags:
-DCMAKE_CXX_COMPILER='clang++' \
-DCMAKE_C_COMPILER='clang' \
If you want to use bundled fuzzylite
:
-DFORCE_BUNDLED_FL=ON \
If you want to use innoextract
(system-wide installation won't work since vcmi has a temporary? fork of innoextract
for now):
-DENABLE_INNOEXTRACT=ON \
Gigas002 commented on 2024-05-13 03:20 (UTC) (edited on 2024-05-13 13:04 (UTC) by Gigas002)
I think I was able to reproduce the issue in a clean docker container after some experiments. It seems to be caused by qt6 compilation for some reason
qt5-tools
builds translation files into ${srcdir}/${pkgname}-${pkgver}/build/launcher/translation/*.qm
But qt6-tools
builds translation files into ${srcdir}/${pkgname}-${pkgver}/build/launcher/*.qm
which causes make install
to fail
I don't know what enforces qt6 build on your machine, but I'm pretty sure it is the reason
I'll report this issue upstream
UPD
You can track this issue up here: https://github.com/vcmi/vcmi/issues/3522.
It's said to be merged around the end of may. I think I'll change the dependencies to qt6
with the next release.
Gigas002 commented on 2024-05-12 15:01 (UTC)
Thank you for your reports. I'll try to locate these problems tomorrow in a clean docker container
FreePenguin commented on 2024-05-12 14:36 (UTC)
Have the same issue with chinese.qm
FabioLolix commented on 2024-05-12 11:09 (UTC)
Hello, building with devtools works fine but you either need a local repo for fuzzylte or to pass it by command line
About this pkgbuild
- please rename source with
${pkgname}-${pkgver}.tar.gz::
Checking PKGBUILD
PKGBUILD (vcmi) W: Non-unique source name (1.5.0.tar.gz). Use a unique filename.
- change license to SPDX, see licenses package
vcmi E: GPL2 is not a valid SPDX license identifier.
VCMI Project source code is licensed under GPL version 2 or later. VCMI Project assets are licensed under CC-BY-SA 4.0. Assets sources and information about contributors are available under following link: https://github.com/vcmi/vcmi-assets
- remove not needed stuff from
.install
, this is already done by pacman hooks by default
vcmi W: .INSTALL file runs a command (update-desktop-database) provided by hooks.
vcmi W: .INSTALL file runs a command (gtk-update-icon-cache) provided by hooks.
vcmi W: unneeded dependency on a package (desktop-file-utils) run when needed by hooks.
update-desktop-database -q
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
vcmi W: Dependency included, but may not be needed ('desktop-file-utils')
vcmi W: Dependency included, but may not be needed ('gtk-update-icon-cache')
- qt5-tools is typically only needed at build time for translations
vcmi W: Dependency included, but may not be needed ('qt5-tools')
There is difference when building with devtools respect to dirty builds
devtools
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
-- Checking for module 'minizip'
-- Package 'minizip', required by 'virtual:world', not found
-- Could NOT find minizip (missing: minizip_LIBRARY minizip_INCLUDE_DIR)
[...]
[ 0%] Building C object lib/minizip/CMakeFiles/minizip.dir/unzip.c.o
-- -- -- Start of Git information
-- GIT_SHA1: GITDIR-NOTFOUND
-- -- -- End of Git information
==> Starting package()...
-- -- -- Start of Git information
-- GIT_SHA1: GITDIR-NOTFOUND
-- -- -- End of Git information
makepkg
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
-- Checking for module 'minizip'
-- Found minizip, version 1.3.1
-- Found minizip: /usr/lib/libminizip.so
[...]
-- -- -- Start of Git information
-- GIT_SHA1: 2d8004396c9214abbeae1312d330e416ba60da97
-- -- -- End of Git information
==> Starting package()...
-- -- -- Start of Git information
-- GIT_SHA1: 2d8004396c9214abbeae1312d330e416ba60da97
-- -- -- End of Git information
Crandel commented on 2024-05-12 10:42 (UTC)
@Gigas002 exactly the same issue with translation files using only makepkg. With clang as cxx compiler the same error happens. There are no translation
dir in src/build/launcher
directory.
Gigas002 commented on 2024-05-12 10:09 (UTC)
@A_Bart, @michaldybczak Can't reproduce your issue. Can you please try to build the package without helpers?
git clone https://aur.archlinux.org/vcmi.git
cd vcmi
makepkg
@Crandel
Adding clang
should not replace the ccache
. Here's how build
func would look in this case:
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
mkdir -p build && cd build
cmake -B. -H.. \
-DCMAKE_INSTALL_PREFIX='/usr' \
-DCMAKE_INSTALL_RPATH='/usr/lib/vcmi' \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE \
-DCMAKE_SKIP_RPATH='FALSE' \
-DENABLE_TEST=OFF \
-DFORCE_BUNDLED_FL=OFF \
-DCMAKE_BUILD_TYPE='Release' \
-DCMAKE_CXX_COMPILER_LAUNCHER='ccache' \
-DCMAKE_C_COMPILER_LAUNCHER='ccache' \
-DENABLE_INNOEXTRACT='FALSE' \
-DCMAKE_CXX_COMPILER='clang++' \
-DCMAKE_C_COMPILER='clang' \
-Wno-dev
make
}
Anyway, could you also try to build the package the above way? I just want to make sure it doesn't have something with cache or it's not paru-specific problem.
Pinned Comments
Gigas002 commented on 2024-05-29 15:08 (UTC)
PKGBUILD
tweaksIf you want to build with
clang
, add this part tocmake
flags:If you want to use bundled
fuzzylite
:If you want to use
innoextract
(system-wide installation won't work since vcmi has a temporary? fork ofinnoextract
for now):