Bug 217322 - [NEW PORT] devel/fifechan : fifengine's team fork guichan
Summary: [NEW PORT] devel/fifechan : fifengine's team fork guichan
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: Tobias Kortkamp
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-24 14:34 UTC by fiziologus
Modified: 2017-02-28 21:16 UTC (History)
1 user (show)

See Also:


Attachments
shar file (9.32 KB, text/plain)
2017-02-24 14:34 UTC, fiziologus
no flags Details
fifechan.diff (8.19 KB, patch)
2017-02-26 21:40 UTC, Tobias Kortkamp
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description fiziologus 2017-02-24 14:34:06 UTC
Created attachment 180258 [details]
shar file

FifeChan is fifengine's team fork guichan (after guichan development dead), and main GUI extension for fifengine itself.

This port need (dependency) for new (0.4.x) version games/py-fife, who needed for new (2017.x) version games/unknown-horizons.
Comment 1 Tobias Kortkamp freebsd_committer freebsd_triage 2017-02-24 20:34:14 UTC
Thanks for your submission.  Some comments:

- Please use USE_GITHUB, GH_PROJECT, etc. (see https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-distfiles.html#makefile-master_sites-github-description) instead of setting MASTER_SITES and DISTFILES

- Please only indent with 1 tab after variables

- What do the SHARED_* variables do?

- The pkg-descr could be a little more detailed.  Currently it's basically the same as the COMMENT

- Have you done any test building with Poudriere or Synth?

- What does portlint say about the port?

- What is the purpose of plist.sdlc?
Comment 2 fiziologus 2017-02-24 21:13:28 UTC
(In reply to Tobias Kortkamp from comment #1)
Thanks for quick response.

- I use release download, not GH_TAG. For this need MASTER_SITES and other stuff.

- One tab? OK. I just try content more human readable.

- SHARED* allow shared/static build for library. This hidden (not show with 'make config') options for future work. CMakeList this port allow separate build for each .so files (default all shared).

- Fifengine's team bad marketer. I use files from guichan port.

- Local build (amd64, FreeBSD 11), without build system (sorry).

- plist.sdlc? I thought that all removed. Delete this. (artifact from pkg-plist creation and tuning).

Sorry for english.
Comment 3 Tobias Kortkamp freebsd_committer freebsd_triage 2017-02-26 21:40:12 UTC
Created attachment 180325 [details]
fifechan.diff

(In reply to fiziologus from comment #2)
I am attaching a fixed version of this port that can build in Poudriere.

Your usage of options helpers is wrong.  For example, SDL_USE_SDL does not do anything.  Please review the patch I have attached for how to use them.

Test building in Poudriere/Synth would have caught this.  Even without Poudriere
you can check with `make run-depends-list` and `make stage-qa` if they actually
add the appropriate dependencies.  Having DEVELOPER=yes in /etc/make.conf helps
too.

P.S.: You have made the same mistakes in bug 217328, so it's probably a good idea to submit a fixed version of py-fife.
Comment 4 fiziologus 2017-02-27 09:55:18 UTC
(In reply to Tobias Kortkamp from comment #3)

Many thanks: rushing is bad thing, anytime.

One question:
SDL_USE=  sdl=sdl2, is USE_sdl, or right value case insensitive in this case.
Comment 5 Tobias Kortkamp freebsd_committer freebsd_triage 2017-02-28 17:16:56 UTC
(In reply to fiziologus from comment #4)

It's case insensitive and will be upcased automatically.  A lot of
ports lowercase it.  That's also the way it's documented in [1], but
IMO it doesn't matter as long as you're consistent.

So either 'XXX_USE= sdl=sdl2' or 'XXX_USE= SDL=sdl2' is the same as
the old way:

.if ${PORT_OPTIONS:MXXX}
USE_SDL=	sdl2
.endif

Anyway if submitted the port for review [2] and can probably commit it soon.

[1] https://www.freebsd.org/doc/en/books/porters-handbook/makefile-options.html#options-use
[2] https://reviews.freebsd.org/D9837
Comment 6 commit-hook freebsd_committer freebsd_triage 2017-02-28 21:16:08 UTC
A commit references this bug:

Author: tobik
Date: Tue Feb 28 21:15:16 UTC 2017
New revision: 435085
URL: https://svnweb.freebsd.org/changeset/ports/435085

Log:
  New port: devel/fifechan

  Fifechan is a lightweight cross platform GUI library written in C++
  specifically designed for games.  It has a small yet powerful built-in
  set of extendable GUI Widgets allowing users to create virtually
  unlimited types of widgets.

  Fifechan supports rendering in SDL, OpenGL, or Allegro out of the box
  or it can be adapted to use any rendering engine the user requires.
  Events are pushed to Fifechan which allows users to use any input
  library they wish or they could use the built in input handling
  through either SDL input or Allegro input.

  The primary goal for Fifechan is to keep it extendable, lightweight
  and still be powerful enough to use in all types of games out of the
  box.

  WWW: http://fifengine.net/

  PR:		217322
  Submitted by:	fiziologus@gmail.com (based on)
  Approved by:	lme (mentor)
  Differential Revision:	https://reviews.freebsd.org/D9837

Changes:
  head/devel/Makefile
  head/devel/fifechan/
  head/devel/fifechan/Makefile
  head/devel/fifechan/distinfo
  head/devel/fifechan/pkg-descr
  head/devel/fifechan/pkg-plist