Package Details: vcmi 1.5.1-1

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: 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: 46
Popularity: 0.31
First Submitted: 2013-03-12 14:11 (UTC)
Last Updated: 2024-05-17 15:13 (UTC)

Pinned Comments

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 2022-12-13 13:33 (UTC) (edited on 2022-12-13 13:33 (UTC) by Gigas002)

Updated the package to version 1.0.0. Used vcmi-git for reference. Works on my machine (c)

Removed the outdated patches, since the bug seems to be fixed (https://github.com/vcmi/vcmi/commit/5d8e943787666543df6b858c001ab4e59b09fe2d)

Use stable ffmpeg instead of ffmpeg4.4 (https://github.com/vcmi/vcmi/pull/737)

Try to use fuzzylite-git if you can't build fuzzylite package

Latest Comments

1 2 3 4 5 6 Next › Last »

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.

Crandel commented on 2024-05-12 09:58 (UTC) (edited on 2024-05-12 09:59 (UTC) by Crandel)

I have the same error with chinese.qm, as was mentioned already.

Also I've tried to change compiler from ccache to clang as was mentioned in pinned comment, but have this error:

[ 39%] Linking CXX shared library ../bin/libvcmi.so
CMakeFiles/vcmi.dir/StdInc.cpp.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
make[2]: *** [lib/CMakeFiles/vcmi.dir/build.make:4606: bin/libvcmi.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:621: lib/CMakeFiles/vcmi.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

michaldybczak commented on 2024-05-12 08:54 (UTC)

I have the same compile error with the chinese.qm path.

A_Bart commented on 2024-05-11 21:02 (UTC) (edited on 2024-05-11 21:03 (UTC) by A_Bart)

Hello, compiling is fine but packaging fails with:

CMake Error at launcher/cmake_install.cmake:82 (file):
  file INSTALL cannot find
  "/home/antonio/.cache/paru/clone/vcmi/src/vcmi-1.5.0/build/launcher/translation/chinese.qm":
  No such file or directory.
Call Stack (most recent call first):
  cmake_install.cmake:62 (include)

That file is present in the parent directory however, probably it's just a path issue

Gigas002 commented on 2024-05-10 17:07 (UTC) (edited on 2024-05-13 13:05 (UTC) by Gigas002)

Building the 1.5.0 release may cause some compiler warnings with gcc, but should compile and work without problems anyway. If you don't want to see that nasty stuff - compile with clang instead, add these lines to PKGBUILD:

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
}