Bug 192419 - [patch] games/ufoai : update, support stage and claim maintainership
Summary: [patch] games/ufoai : update, support stage and claim maintainership
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Guido Falsi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-06 07:59 UTC by m.tsatsenko
Modified: 2014-08-25 10:17 UTC (History)
2 users (show)

See Also:


Attachments
patch (7.58 KB, patch)
2014-08-06 07:59 UTC, m.tsatsenko
no flags Details | Diff
ufoai patch (29.41 KB, patch)
2014-08-07 23:54 UTC, Guido Falsi
no flags Details | Diff
ufoai.patch (31.00 KB, patch)
2014-08-23 22:40 UTC, Guido Falsi
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description m.tsatsenko 2014-08-06 07:59:25 UTC
Created attachment 145410 [details]
patch

- Update to 2.5
- Support STAGE and remove DEPRECATED
- Claim maintainership

Buildlogs: https://redports.org/buildarchive/20140805233311-14457/
Comment 1 John Marino freebsd_committer 2014-08-06 08:39:10 UTC
Thanks for providing test logs, that makes it easy to classify as "patch-ready"
Comment 2 Guido Falsi freebsd_committer 2014-08-07 23:54:14 UTC
Created attachment 145493 [details]
ufoai patch

Hi!

I'm testing your port. I made a few changes. First of all the software does build correctly with clang with just a few fixes and has no problem with MAKE_JOBS.

I leveraged USES=compiler to make it work with clang. As it is now this brings in a clang dependency on OS versions without it or with an older version by default, as USES=compiler prefers clang whenever possible. This can also be overridden by users with "FAVORITE_COMPILER=gcc" in make.conf though, and compiler will try to use a gcc version to satisfy the requirement.

To make it compile with clang I took a few patches from the upstream ufoai repository on github. These patches come from there:

patch-src__client__battlescape__cl_particle.cpp
patch-src__client__renderer__r_state.cpp
patch-src__tools__radiant__radiant__ui__colourscheme__ColourScheme.h
patch-src__tools__radiant__radiant__ui__colourscheme__ColourSchemeManager.cpp

this file I did patch, and the patch is clean enough to be sent upstream:

patch-src__tools__radiant__radiant__exec.cpp

While this final patch I did make but it's really ugly, it needs to be reviewed by someone who knows C++ better than me, anyway it works fine:

patch-src__game__g_ai.cpp

The port was completely broken with the UFORADIANT option turned on, even as it is in the ports tree now. I fixed that, that option also unserwent a partial conversion to the optionsng framework in the past, there still were references to WITH_UFORADIANT around!(not your fault), I lao had to tweak the do-install target to make the uforadiant software really start once installed. It was missing files.

Please note I was able to start radiant an do something ith it's windows, but I have no idea how to use the software, I assume it works since it did not crash :)

The software build system was using these options:

-falign-loops=2 -falign-jumps=2 -falign-functions=2

which are unsupported by clang, and it errors out with them, so I added a conditional to sed them out when using clang as a compiler.

A few more smaller things:

Added USES=execinfo in place of explicit execinfo depend.

USE_PYTHON_BUILD=yes causes the system to already add a dependency on python, so I removed the explicit one.

Finally, You have not put yourself as MAINTAINER for games/ufoai, I have in my patch.

At the same time you put yourself as maintainer for ufoai-data, which already has a maintainer.

Now, I think these ports should be maintained by the same person, so I agree on assigning them both to you, in you confirm this is your intention, but since it is usually required to get approval to change maintainer I'm going to add acm to this PR, and ask for approval.

In the while can you review and test my patch and approve it? Thanks!
Comment 3 m.tsatsenko 2014-08-09 21:06:32 UTC
Thanks for you work! 
Changes you made looks fine.
And yes, I know ufoai-data port is currently maintained by acm@. Of cause we need to get an approval from him.
Comment 4 Guido Falsi freebsd_committer 2014-08-22 14:11:24 UTC
Hi acm,

Did you notice this PR?

Is it ok with you handling ufoai-data maintainership to the submitter?

I''d like to commit this one before the timeout for unstaged ports, so if I don't get a reply from you in the next few days I'll have to ask portmgr to approve the change.

Thanks in advance and sorry for rushing you!
Comment 5 Guido Falsi freebsd_committer 2014-08-23 22:40:35 UTC
Created attachment 146197 [details]
ufoai.patch

I have updated the patch in the while.

I converted it to USES=python:build

I also force gcc as a compiler on FreeBSD versions where clang isn't the default, due to problems with command line arguments I have observed in poudriere when dependencies are compiled with gcc.

To submitter, please review these changes.

Thanks.
Comment 6 Guido Falsi freebsd_committer 2014-08-25 10:17:01 UTC
Committed. Thanks!
Comment 7 commit-hook freebsd_committer 2014-08-25 10:17:07 UTC
A commit references this bug:

Author: madpilot
Date: Mon Aug 25 10:16:45 UTC 2014
New revision: 366053
URL: http://svnweb.freebsd.org/changeset/ports/366053

Log:
  - Update games/ufoai and games/ufoai-data to 2.5
  - Stagify games/ufoai
  - Modernize port
  - Fix UFORADIANT option (off by default)
  - Assign maintainership to submitter [1]

  PR:		192419
  Submitted by:	m.tsatsenko at gmail.com
  Approved by:	portmgr [1]

Changes:
  head/games/ufoai/Makefile
  head/games/ufoai/distinfo
  head/games/ufoai/files/patch-src__client__battlescape__cl_particle.cpp
  head/games/ufoai/files/patch-src__client__renderer__r_state.cpp
  head/games/ufoai/files/patch-src__game__g_ai.cpp
  head/games/ufoai/files/patch-src__libs__vorbis__config.h
  head/games/ufoai/files/patch-src__tools__radiant__radiant__exec.cpp
  head/games/ufoai/files/patch-src__tools__radiant__radiant__ui__colourscheme__ColourScheme.h
  head/games/ufoai/files/patch-src__tools__radiant__radiant__ui__colourscheme__ColourSchemeManager.cpp
  head/games/ufoai/pkg-descr
  head/games/ufoai/pkg-plist
  head/games/ufoai-data/Makefile
  head/games/ufoai-data/distinfo