Package Details: sm64plus-git 3.1.0-1

Git Clone URL: https://aur.archlinux.org/sm64plus-git.git (read-only, click to copy)
Package Base: sm64plus-git
Description: A standalone fork of the Super Mario 64 PC Port with quality of life improvements
Upstream URL: https://github.com/MorsGames/sm64plus
Licenses: reverse-engineered and unlicensed
Conflicts: sm64plus
Provides: sm64plus
Submitter: coolreader18
Maintainer: coolreader18
Last Packager: coolreader18
Votes: 3
Popularity: 0.000000
First Submitted: 2021-04-28 01:11 (UTC)
Last Updated: 2023-06-22 21:14 (UTC)

Latest Comments

1 2 Next › Last »

ecetin commented on 2023-06-22 14:12 (UTC) (edited on 2023-06-22 14:13 (UTC) by ecetin)

Thanks to @shaurz comment and some smaller adjustments, I have got the build working with this git patch:

From 81291725aa9cbc707873bbb7a3518de827cfa55f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emre=20=C3=87etin?= <aur@ecetin.dev>
Date: Thu, 22 Jun 2023 02:29:45 +0200
Subject: [PATCH] Updated to version 3.1.0

---
 PKGBUILD            | 11 ++++++-----
 sm64plus-wrapper.sh |  2 +-
 sm64plus.desktop    |  1 +
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/PKGBUILD b/PKGBUILD
index 0e17883..d134c05 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,7 +14,7 @@
 # The sha1 should be: 9bef1128717f958171a4afac3ed78ee2bb4e86ce

 pkgname=sm64plus-git
-pkgver=2.1.0
+pkgver=3.1.0
 pkgrel=1
 pkgdesc="A standalone fork of the Super Mario 64 PC Port with quality of life improvements"
 arch=(x86_64)
@@ -32,8 +32,8 @@ install=
 source=('sm64plus::git+https://github.com/MorsGames/sm64plus' sm64plus-wrapper.sh sm64plus.desktop file://baserom.us.z64)
 noextract=()
 sha1sums=('SKIP'
-          'cd724c8043248366903993a33e9e079fbfc5e88b'
-          'd8b8b8065fac319ac095ec2248c0200a9b9d6eb4'
+          '31ed4551ebf6db2baebc330168f493b8cca5c847'
+          '4e70d3f09e1c1bd06cac62994ac4da9fcf17706b'
           '9bef1128717f958171a4afac3ed78ee2bb4e86ce')

 # Please refer to the 'USING VCS SOURCES' section of the PKGBUILD man page for
@@ -46,6 +46,7 @@ pkgver() {

 build() {
    cd "$srcdir/sm64plus"
+   cp "$srcdir/baserom.us.z64" "$srcdir/sm64plus"
    SM64PLUS_BASEROM_us="$srcdir/baserom.us.z64" make -j "$(nproc)"
    convert star.ico[1] star.png
 }
@@ -53,8 +54,8 @@ build() {
 package() {
    cd "$srcdir/sm64plus"
    mkdir -p "$pkgdir/opt/sm64plus"
-   cp -r build/us_pc/textures -t "$pkgdir/opt/sm64plus"
-   install build/us_pc/sm64.us.f3dex2e "$pkgdir/opt/sm64plus"
+   cp -r build/us_pc/* -t "$pkgdir/opt/sm64plus"
+   install build/us_pc/sm64.us "$pkgdir/opt/sm64plus"
    install -D "$srcdir/sm64plus-wrapper.sh" "$pkgdir/usr/bin/sm64plus"
    install -D "$srcdir/sm64plus.desktop" -t "$pkgdir/usr/share/applications"
    install -D star.png "$pkgdir/usr/share/pixmaps/sm64plus.png"
diff --git a/sm64plus-wrapper.sh b/sm64plus-wrapper.sh
index fc99480..26d6485 100644
--- a/sm64plus-wrapper.sh
+++ b/sm64plus-wrapper.sh
@@ -5,4 +5,4 @@ set -eu
 config_dir=${XDG_CONFIG_HOME:-~/.config}/sm64plus
 mkdir -p "$config_dir"
 cd "$config_dir"
-exec /opt/sm64plus/sm64.us.f3dex2e /opt/sm64plus/textures
+exec /opt/sm64plus/sm64.us
diff --git a/sm64plus.desktop b/sm64plus.desktop
index 4ad201a..0c1228f 100644
--- a/sm64plus.desktop
+++ b/sm64plus.desktop
@@ -1,6 +1,7 @@
 [Desktop Entry]
 Name=Super Mario 64 Plus
 Comment=Fork of SM64 Desktop with improvements
+Path=/opt/sm64plus
 Exec=/usr/bin/sm64plus
 Icon=sm64plus
 Terminal=false
-- 
2.40.1

shaurz commented on 2023-01-02 23:25 (UTC)

To get this to build I had to add:

cp $srcdir/baserom.us.z64 $srcdir/sm64plus/

To the 2nd line of build()

Also the built executable is now called sm64.us not sm64.us.f3dex2e

Mezzy12 commented on 2022-08-02 14:02 (UTC) (edited on 2022-08-02 14:04 (UTC) by Mezzy12)

I did some digging and the textures are installed in /opt/sm64plus by this pkgbuild. The executable in /bin correctly targets it using the proper arguments. Could be an issue with having the files loaded on a separate non-user directory? I really don't know. I messed around with directory permissions and nothing worked. Build it from git by yourself if you want this to work in the meantime; I did that and it works fine. I really don't know enough about pkgbuild to suggest a proper fix for this. Quite frankly I'm not sure why this pkgbuild uses /opt in the first place.

Mezzy12 commented on 2022-08-01 14:44 (UTC)

@hazelnot the issue still seems to be present, has anyone got this working? Looks like something to do with the gfx folder from the build process. The wiki says you can pass a directory to the 'gfx' argument to fix the purple and black texture issue, but it isn't present once the package is compiled and installed. Honestly I'm not even sure why it's an issue because other SM64pc ports don't have this problem.

hazelnot commented on 2022-02-04 12:52 (UTC)

@coolreader, thanks for the fix, but now all the textures in the game seem to be completely missing, with a Source Engine-like pink and black checkerboard texture

selurvedu commented on 2022-01-27 05:13 (UTC) (edited on 2022-01-27 05:13 (UTC) by selurvedu)

@coolreader18 Thanks for the update! But I still think audiofile should be added to makedepends, here's why:

$ pacman -R audiofile
...
$ makepkg
...
/usr/bin/ld: cannot find -laudiofile
collect2: e/usr/bin/ld: cannot find -laudiofile
collect2: error: ld returned 1 exit status
make: *** [Makefile:66: tabledesign] Error 1
make: *** Waiting for unfinished jobs....
Makefile:152: *** Failed to build tools.  Stop.
$ pacman -S --asdeps audiofile
...
$ makepkg
(compilation succeeds)

The game and the sound will work as intended if you remove audiofile after compiling sm64plus, so it's just a compile-time dependency.

selurvedu commented on 2022-01-24 02:09 (UTC)

@coolreader18 Python is a make dep, your PKGBUILD is correct, but sm64pc-git isn't. :)

coolreader18 commented on 2022-01-24 02:07 (UTC)

@selurvedu thanks for noticing! definitely don't need glew, ldd doesn't list anything. However, I don't think it actually depends on python at runtime, unless I'm missing something that you caught. the binary has no dependencies on libpython and rg -i python --binary /opt/sm64plus brings up nothing.

selurvedu commented on 2022-01-24 01:50 (UTC)

Hi! Please consider updating the dependencies in this PKGBUILD, see my comment here: https://aur.archlinux.org/packages/sm64pc-git/#comment-848377

(Of course, you should leave imagemagick as is since you use it directly in build().)

coolreader18 commented on 2021-12-14 01:23 (UTC)

@hazelnot thank you for catching that, fixed it!