Another diff I have used on riscv64 bulk build cluster since some
weeks/months.  The executables are named differently on riscv64.

The SConstruct file has this logic:

    if env["arch"] != "":
        suffix += "." + env["arch"]
    elif env["bits"] == "32":
        suffix += ".32"
    elif env["bits"] == "64":
        suffix += ".64"

In the detect.py scripts:

      if env["arch"] == "" and platform.machine() == "riscv64":
          env["arch"] = "rv64

The executables are named as such:

hifive /usr/ports/games/godot$ ls -l 
/usr/ports/pobj/godot-3.4.5/godot-3.4.5-stable/bin/godot.x11.opt.*
-rwxr-xr-x  1 _pbuild  _pbuild   77693472 Aug  8 02:59 
/usr/ports/pobj/godot-3.4.5/godot-3.4.5-stable/bin/godot.x11.opt.rv64
-rwxr-xr-x  1 _pbuild  _pbuild  157345856 Aug  8 05:28 
/usr/ports/pobj/godot-3.4.5/godot-3.4.5-stable/bin/godot.x11.opt.tools.rv64

which doesn't match the logic used in do-install, hence the following diff.
Another approach with more explicit code would be to use a variable in
the file names, that variable would hold either "rv64", "64" or "32"
depending on the arch.

Thoughts?  ok?


Index: Makefile
===================================================================
RCS file: /cvs/ports/games/godot/Makefile,v
retrieving revision 1.37
diff -u -p -r1.37 Makefile
--- Makefile    11 Jun 2022 12:55:20 -0000      1.37
+++ Makefile    18 Jun 2022 20:27:50 -0000
@@ -123,7 +123,7 @@ do-build:
        @${MODSCONS_BUILD_TARGET} tools=yes target=release_debug
 
 do-install:
-       ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.[36]* \
+       ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.+([!.]) \
                ${PREFIX}/bin/godot
        ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.tools.* \
                ${PREFIX}/bin/godot-tools

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to