From: chloris-pale-green <chloris-pale-green@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: [PR PATCH] devilutionX: update to 1.4.1.
Date: Fri, 09 Sep 2022 15:47:08 +0200 [thread overview]
Message-ID: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-39184@inbox.vuxu.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 2166 bytes --]
There is a new 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 dc5567e40a68fd13829b23674a4fc4aeb5886aa2 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'
}
next reply other threads:[~2022-09-09 13:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-09 13:47 chloris-pale-green [this message]
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
2022-09-10 12:25 ` chloris-pale-green
2022-12-10 1:58 ` github-actions
2022-12-22 15:44 ` bugcrazy
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
2023-01-15 1:39 [PR PATCH] " kruceter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-39184@inbox.vuxu.org \
--to=chloris-pale-green@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).