Bug 239141 - games/supertuxkart: enable Wayland support, unbreak on non-x86
Summary: games/supertuxkart: enable Wayland support, unbreak on non-x86
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Dmitry Marakasov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-11 11:29 UTC by Greg V
Modified: 2019-09-21 00:43 UTC (History)
2 users (show)

See Also:
amdmi3: maintainer-feedback+


Attachments
stk.patch (2.51 KB, patch)
2019-07-11 11:29 UTC, Greg V
no flags Details | Diff
stk.patch v2 (3.49 KB, patch)
2019-09-19 09:51 UTC, Greg V
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Greg V 2019-07-11 11:29:03 UTC
Created attachment 205690 [details]
stk.patch

- add Wayland dependency/option
- add one line fix for non-x86 (submitted as https://github.com/supertuxkart/stk-code/pull/3997) — tested on aarch64

One more thing I've discovered is that we have a graphics/squish port (that nothing seems to depend on, yet somehow I've had it installed) and having it installed breaks the build (since it's too old). Once it gets updated, we can depend on it instead of the built-in squish copy.
Comment 1 Dmitry Marakasov freebsd_committer 2019-07-30 13:26:11 UTC
This does not build at least on armv6:

FAILED: lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_arm_gcc.S.o
/nxb-bin/usr/bin/cc -DANGELSCRIPT_EXPORT -DNO_IRR_COMPILE_WITH_OPENGL_ -DSUPERTUXKART_VERSION=\"1.0\" -DUSE_GLES2 -D_IRR_COMPILE_WITH_OGLES2_ -D_LIB -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/bullet/src -I/usr/local/include -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/graphics_utils -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/libsquish -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/irrlicht/include -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/src -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/angelscript/projects/cmake/../../include -O3 -DNDEBUG    -Wa,-mimplicit-it=always -MD -MT lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_arm_gcc.S.o -MF lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_arm_gcc.S.o.d -o lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_arm_gcc.S.o -c /wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/angelscript/source/as_callfunc_arm_gcc.S
cc: error: unsupported argument '-mimplicit-it=always' to option 'Wa,'
Comment 2 Greg V 2019-09-19 09:51:09 UTC
Created attachment 207620 [details]
stk.patch v2

v2: ok, let's try to fix armv6/7.

(also rebased on top of bug 240554, which shouldn't've happened, the as_config.h part from here would've fixed powerpc64)
Comment 3 Dmitry Marakasov freebsd_committer 2019-09-20 15:46:06 UTC
Piotr, could you please confirm that this does not break powerpc64? Confirmed that it fixes armv6 and arm64.

Greg, any idea on how to fix i386?

---
FAILED: lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_x86.cpp.o
/usr/local/libexec/ccache/c++  -DANGELSCRIPT_EXPORT -DGLEW_NO_GLU -DSUPERTUXKART_VERSION=\"1.0\" -D_LIB -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/bullet/src -I/usr/local/include -I/usr/local/include/libdrm -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/graphics_utils -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/libsquish -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/irrlicht/include -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/src -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/angelscript/projects/cmake/../../include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing  -DNO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_  -D__FREE_BSD_ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing  -DNO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_  -D__FREE_BSD_ -MD -MT lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_x86.cpp.o -MF lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_x86.cpp.o.d -o lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_x86.cpp.o -c /wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/angelscript/source/as_callfunc_x86.cpp
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
error: this directive must appear between .cfi_startproc and .cfi_endproc directives
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
---
Comment 4 Greg V 2019-09-20 17:26:42 UTC
(In reply to Dmitry Marakasov from comment #3)

the easiest way would be to use REINPLACE_CMD to remove any lines in that file containing ".cfi_

I'm not sure why the compiler is not emitting call frame information on i386… (it is modern clang, right?) There are no disabling flags in the log here.
Comment 5 Mark Linimon freebsd_committer freebsd_triage 2019-09-20 17:37:05 UTC
(In reply to Dmitry Marakasov from comment #3)

In my testing it now fails on ppcports (FreeBSD 12):

/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-0.9.3/lib/angelscript/source/as_callfunc_x64_gcc.cpp:162:82: error: unknown register name '%rcx' in 'asm'
Comment 6 Greg V 2019-09-21 00:43:58 UTC
(In reply to Mark Linimon from comment #5)

Wait, 0.9.3?? The version in ports is 1.0.

Did the as_config.h patch apply? Can you post as_config.h after running make clean extract patch ?