Bug 239141 - games/supertuxkart: enable Wayland support, unbreak on non-x86
Summary: games/supertuxkart: enable Wayland support, unbreak on non-x86
Status: Closed FIXED
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-10-28 20:46 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 ?
Comment 7 commit-hook freebsd_committer 2019-10-28 14:06:15 UTC
A commit references this bug:

Author: amdmi3
Date: Mon Oct 28 14:06:07 UTC 2019
New revision: 515863
URL: https://svnweb.freebsd.org/changeset/ports/515863

Log:
  - Add wayland support

  PR:		239141
  Submitted by:	greg@unrelenting.technology

Changes:
  head/games/supertuxkart/Makefile
Comment 8 Dmitry Marakasov freebsd_committer 2019-10-28 20:46:31 UTC
Piotr and Mark have not provided enough feedback on powerpc64/sparc64 builds, so I'm assuming these fixed by the corrected patch-lib_angelscript_source_as__config.h. Assuming mips/mips64 fixed as well - cannot confirm as these fail on libdrm. aarch64 confirmed fixed.
Comment 9 commit-hook freebsd_committer 2019-10-28 20:46:43 UTC
A commit references this bug:

Author: amdmi3
Date: Mon Oct 28 20:46:11 UTC 2019
New revision: 515930
URL: https://svnweb.freebsd.org/changeset/ports/515930

Log:
  - Fix build on non-x86

  PR:		239141
  Submitted by:	greg@unrelenting.technology

Changes:
  head/games/supertuxkart/Makefile
  head/games/supertuxkart/files/patch-lib_angelscript_source_as__config.h