* Re: [PR PATCH] [Updated] devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
@ 2022-09-09 13:50 ` chloris-pale-green
2022-09-09 14:04 ` chloris-pale-green
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chloris-pale-green @ 2022-09-09 13:50 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2171 bytes --]
There is an updated pull request by chloris-pale-green against master on the void-packages repository
https://github.com/chloris-pale-green/void-packages devilutionx
https://github.com/void-linux/void-packages/pull/39184
devilutionX: update to 1.4.1.
Updated the package since the packaged version was released more than a year ago. For the most recent release, the template had to be changed for the build to succeed. See notes below.
**Cross builds seem to fail.** See notes below. Help is welcome.
#### Testing the changes
- I tested the changes in this PR: **YES**
#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64 (cross, **failed**)
- armv6l (cross, **failed**),
- x86_64-musl (masterdir)
#### Template changes
- Add devel dependencies so that more libs from the repos get dynamically linked instead of built and linked statically.
- Add host dependencies needed for the build process by trial and error.
- Upstream uses `smpq` to create a MPQ archive with game assets. Manually use `mpqtool` from Void repos. If the assets are not in a MPQ archive, the game expects them in something like `/usr/bin/assets`, which is not acceptable.
- Install process did nothing, even when manually calling `cmake --install`. The installation is not complicated so I've created an alternative install script.
#### Failing cross builds
Both `aarch64` and `armv6l` crossbuilds fail with the same error:
```
=> devilutionX-1.4.1_1: running do_build ...
ninja: error: '/usr/lib64/libSDL2main.a', needed by 'devilutionx', missing and no known rule to make it
```
Additionally, when I've tried to move `devel` deps to `hostmakedepends`, the build failed because the binary could not be stripped. I suspect that the build process does not cross-compile, but builds for the host arch instead (looking for libraries in `/usr/lib64` on `armv6l` is suspicious enough). Perhaps some additional arguments for Cmake are required.
A patch file from https://github.com/void-linux/void-packages/pull/39184.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-devilutionx-39184.patch --]
[-- Type: text/x-diff, Size: 2654 bytes --]
From bd34d6756f84fd570dcbc0c84beb85f663ac0dae Mon Sep 17 00:00:00 2001
From: Chloris <chloris@freedommail.ch>
Date: Mon, 5 Sep 2022 09:07:01 +0200
Subject: [PATCH] devilutionX: update to 1.4.1.
---
srcpkgs/devilutionX/template | 39 ++++++++++++++++++++++++++++++------
1 file changed, 33 insertions(+), 6 deletions(-)
diff --git a/srcpkgs/devilutionX/template b/srcpkgs/devilutionX/template
index 829ff248926b..6bf190178769 100644
--- a/srcpkgs/devilutionX/template
+++ b/srcpkgs/devilutionX/template
@@ -1,17 +1,44 @@
# Template file for 'devilutionX'
pkgname=devilutionX
-version=1.2.1
+version=1.4.1
revision=1
build_style=cmake
-configure_args="-DVERSION_NUM=$version -DBINARY_RELEASE=ON -DTTF_FONT_PATH=\"/usr/share/fonts/truetype/CharisSILB.ttf\""
-makedepends="SDL2-devel SDL2_ttf-devel SDL2_mixer-devel libsodium-devel"
+configure_args="-DVERSION_NUM=$version -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF"
+hostmakedepends="gettext git mpqtool pkgconf"
+makedepends="bzip2-devel fmt-devel libsodium-devel SDL2-devel SDL2_image-devel SDL2_mixer-devel zlib-devel"
short_desc="Diablo I engine for modern operating systems"
maintainer="MarcoAPC <marcoaureliopc@gmail.com>"
license="Unlicense"
homepage="https://github.com/diasurgical/devilutionX"
distfiles="https://github.com/diasurgical/devilutionX/archive/${version}.tar.gz"
-checksum=002dcbd4d4a5bdf8db1a3ec01139e5bfbed46d6a1caa32b17c9f2df161ad3521
+checksum=54b9fd496eba5b82d7e64891ab4de808f539c60b3b94bfa49639e0d9580fb7b8
-post_install() {
- vlicense LICENSE
+post_build() {
+ # Create devilutionx.mpq asset archive
+ # (smpq, required by the build script, is not available in Void repos
+ # so an alternative program mpqtool is used to create the MPQ archive)
+ mpqtool new 'build/assets' 'build/devilutionx.mpq'
+}
+
+do_install() {
+ vbin 'build/devilutionx'
+ # Install assets to the directory that is recognized by the binary
+ vinstall 'build/devilutionx.mpq' 644 'usr/share/diasurgical/devilutionx'
+
+ vdoc 'README.md'
+ vlicense 'LICENSE'
+
+ cd 'Packaging'
+ # Install desktop entries
+ vinstall 'nix/devilutionx.desktop' 644 'usr/share/applications'
+ vinstall 'nix/devilutionx-hellfire.desktop' 644 'usr/share/applications'
+ # Install icons
+ vinstall 'resources/icon.png' 644 \
+ 'usr/share/icons/hicolor/512x512/apps' 'devilutionx.png'
+ vinstall 'resources/hellfire.png' 644 \
+ 'usr/share/icons/hicolor/512x512/apps' 'devilutionx-hellfire.png'
+ vinstall 'resources/icon_32.png' 644 \
+ 'usr/share/icons/hicolor/32x32/apps' 'devilutionx.png'
+ vinstall 'resources/hellfire_32.png' 644 \
+ 'usr/share/icons/hicolor/32x32/apps' 'devilutionx-hellfire.png'
}
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
2022-09-09 13:50 ` [PR PATCH] [Updated] " chloris-pale-green
@ 2022-09-09 14:04 ` chloris-pale-green
2022-09-10 6:10 ` tranzystorek-io
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chloris-pale-green @ 2022-09-09 14:04 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 559 bytes --]
New comment by chloris-pale-green on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1242017867
Comment:
On ARM architectures there are many Cmake errors for different targets like this:
```
CMake Error in build/_deps/sdl_audiolib-src/CMakeLists.txt:
Imported target "SDL2::SDL2" includes non-existent path
"/usr/include/SDL2"
```
If anyone has any idea why the libs seem to be missing, let me know. As far as I know, `SDL2-devel` is a dependency and it installs stuff into `/usr/include/SDL2`.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
2022-09-09 13:50 ` [PR PATCH] [Updated] " chloris-pale-green
2022-09-09 14:04 ` chloris-pale-green
@ 2022-09-10 6:10 ` tranzystorek-io
2022-09-10 6:12 ` tranzystorek-io
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: tranzystorek-io @ 2022-09-10 6:10 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 261 bytes --]
New comment by tranzystorek-io on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1242641121
Comment:
Seems there's a problem with building SDL_audiolib from the fetched source, we could try packaging it ourselves
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
` (2 preceding siblings ...)
2022-09-10 6:10 ` tranzystorek-io
@ 2022-09-10 6:12 ` tranzystorek-io
2022-09-10 12:25 ` chloris-pale-green
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: tranzystorek-io @ 2022-09-10 6:12 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 308 bytes --]
New comment by tranzystorek-io on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1242641121
Comment:
Seems there's a problem with building SDL_audiolib from the fetched source, we could try packaging it ourselves
...or not, it's not versioned in any way :/
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
` (3 preceding siblings ...)
2022-09-10 6:12 ` tranzystorek-io
@ 2022-09-10 12:25 ` chloris-pale-green
2022-12-10 1:58 ` github-actions
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chloris-pale-green @ 2022-09-10 12:25 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 856 bytes --]
New comment by chloris-pale-green on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1242718047
Comment:
> Seems there's a problem with building SDL_audiolib from the fetched source, we could try packaging it ourselves
>
> ...or not, it's not versioned in any way :/
It really does not seem to be versioned ... it's a bit like someone made a quick solution to their problem. I've also noticed that there is some overlap between contributors of devilutionX and SDL_audiolib. It's a good question if the package would be useful for anything else besides devilutionX.
However, I don't think it is a SDL_audiolib-specific issue that we're facing here. It seems to me that it simply doesn't find SDL libraries. They are detected as dynamic system libraries, but not found when things should get compiled.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
` (4 preceding siblings ...)
2022-09-10 12:25 ` chloris-pale-green
@ 2022-12-10 1:58 ` github-actions
2022-12-22 15:44 ` bugcrazy
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: github-actions @ 2022-12-10 1:58 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 305 bytes --]
New comment by github-actions[bot] on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1344975478
Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
` (5 preceding siblings ...)
2022-12-10 1:58 ` github-actions
@ 2022-12-22 15:44 ` bugcrazy
2022-12-23 2:29 ` bugcrazy
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: bugcrazy @ 2022-12-22 15:44 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 240 bytes --]
New comment by bugcrazy on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1362990028
Comment:
M y PR is funcional for all architectures: https://github.com/void-linux/void-packages/pull/34039
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
` (6 preceding siblings ...)
2022-12-22 15:44 ` bugcrazy
@ 2022-12-23 2:29 ` bugcrazy
2023-01-11 18:45 ` kruceter
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: bugcrazy @ 2022-12-23 2:29 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 239 bytes --]
New comment by bugcrazy on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1362990028
Comment:
My PR is funcional for all architectures: https://github.com/void-linux/void-packages/pull/34039
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
` (7 preceding siblings ...)
2022-12-23 2:29 ` bugcrazy
@ 2023-01-11 18:45 ` kruceter
2023-01-12 7:49 ` chloris-pale-green
2023-01-12 7:49 ` [PR PATCH] [Closed]: " chloris-pale-green
10 siblings, 0 replies; 12+ messages in thread
From: kruceter @ 2023-01-11 18:45 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 357 bytes --]
New comment by kruceter on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1379332899
Comment:
@chloris-pale-green, I could make it build wth aarch64 on https://github.com/kruceter/void-packages/pull/2.
My work also includes your changes for which you have my gratitude.
I hope it will be useful to you.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
` (8 preceding siblings ...)
2023-01-11 18:45 ` kruceter
@ 2023-01-12 7:49 ` chloris-pale-green
2023-01-12 7:49 ` [PR PATCH] [Closed]: " chloris-pale-green
10 siblings, 0 replies; 12+ messages in thread
From: chloris-pale-green @ 2023-01-12 7:49 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 438 bytes --]
New comment by chloris-pale-green on void-packages repository
https://github.com/void-linux/void-packages/pull/39184#issuecomment-1379932172
Comment:
Thank you, @kruceter. You've displayed some templating skills I'll never acquire in my life. 😁
Actually, I'm very grateful to you to make use of my incomplete work. So nice it didn't go to waste. 🙂
I'm closing this pull request. Further development should go in kruceter#2.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PR PATCH] [Closed]: devilutionX: update to 1.4.1.
2022-09-09 13:47 [PR PATCH] devilutionX: update to 1.4.1 chloris-pale-green
` (9 preceding siblings ...)
2023-01-12 7:49 ` chloris-pale-green
@ 2023-01-12 7:49 ` chloris-pale-green
10 siblings, 0 replies; 12+ messages in thread
From: chloris-pale-green @ 2023-01-12 7:49 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1989 bytes --]
There's a closed pull request on the void-packages repository
devilutionX: update to 1.4.1.
https://github.com/void-linux/void-packages/pull/39184
Description:
Updated the package since the packaged version was released more than a year ago. For the most recent release, the template had to be changed for the build to succeed. See notes below.
**Cross builds seem to fail.** See notes below. Help is welcome.
#### Testing the changes
- I tested the changes in this PR: **YES**
#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64 (cross, **failed**)
- armv6l (cross, **failed**),
- x86_64-musl (masterdir)
#### Template changes
- Add devel dependencies so that more libs from the repos get dynamically linked instead of built and linked statically.
- Add host dependencies needed for the build process by trial and error.
- Upstream uses `smpq` to create a MPQ archive with game assets. Manually use `mpqtool` from Void repos. If the assets are not in a MPQ archive, the game expects them in something like `/usr/bin/assets`, which is not acceptable.
- Install process did nothing, even when manually calling `cmake --install`. The installation is not complicated so I've created an alternative install script.
#### Failing cross builds
Both `aarch64` and `armv6l` crossbuilds fail with the same error:
```
=> devilutionX-1.4.1_1: running do_build ...
ninja: error: '/usr/lib64/libSDL2main.a', needed by 'devilutionx', missing and no known rule to make it
```
Additionally, when I've tried to move `devel` deps to `hostmakedepends`, the build failed because the binary could not be stripped. I suspect that the build process does not cross-compile, but builds for the host arch instead (looking for libraries in `/usr/lib64` on `armv6l` is suspicious enough). Perhaps some additional arguments for Cmake are required.
^ permalink raw reply [flat|nested] 12+ messages in thread