Skip to content

Commit

Permalink
games/golly: Update to 4.2
Browse files Browse the repository at this point in the history
- Switch to DISTVERSION
- Define LICENSE_FILE
- Take maintainership

Changes: https://golly.sourceforge.io/Help/changes.html
  • Loading branch information
nunotexbsd committed Jul 15, 2023
1 parent 89d30ec commit 6bdfe8c
Show file tree
Hide file tree
Showing 7 changed files with 123 additions and 709 deletions.
45 changes: 27 additions & 18 deletions games/golly/Makefile
@@ -1,27 +1,23 @@
PORTNAME= golly
PORTVERSION= 3.3
DISTVERSION= 4.2
DISTVERSIONSUFFIX= -src
PORTREVISION= 4
CATEGORIES= games
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}

MAINTAINER= ports@FreeBSD.org
MAINTAINER= eduardo@FreeBSD.org
COMMENT= Conway's Game of Life and other cellular automata
WWW= http://golly.sourceforge.net/

LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/../docs/License.html

USES= autoreconf compiler:c++11-lib gl localbase xorg
USE_GL= gl glu
USE_WX= 3.0+
USES= gl gmake localbase python sdl
USE_GL= gl
USE_SDL= sdl2
USE_WX= 3.2

GNU_CONFIGURE= yes
# Pretend objdump is available even if it is not e.g. on aarch64.
# The Python shared library name is already looked up via
# distutils.sysconfig.get_config_var("LDLIBRARY") which is unlikely
# to fail; objdump is never actually used.
CONFIGURE_ARGS= ac_cv_prog_OBJDUMP=/usr/bin/false \
--with-wx-config=${WX_CONFIG:T}
MAKEFILE= makefile-gtk
BINARY_ALIAS= g++=${CC} python3=${PYTHON_CMD} wx-config=${WX_CONFIG}

DESKTOP_ENTRIES= "Golly" \
"${COMMENT}" \
Expand All @@ -30,14 +26,27 @@ DESKTOP_ENTRIES= "Golly" \
"Education;" \
""

WRKSRC_SUBDIR= gui-wx/configure
PATCH_WRKSRC= ${WRKSRC}/../..
PATCH_WRKSRC= ${WRKSRC}/..
WRKSRC_SUBDIR= gui-wx

OPTIONS_DEFINE= DOCS
PLIST_FILES= bin/bgolly \
bin/golly \
share/pixmaps/golly.xpm
PORTDATA= Help Patterns Rules Scripts

pre-build:
@${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}|g' \
${WRKSRC}/wxmain.cpp ${WRKSRC}/wxhelp.cpp

# There is no install target at makefile-gtk
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/../golly ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/../bgolly ${STAGEDIR}${PREFIX}/bin

(cd ${WRKSRC}/.. && ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR})

post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
${INSTALL_DATA} ${WRKSRC}/../icons/appicon.xpm \
${INSTALL_DATA} ${WRKSRC}/icons/appicon.xpm \
${STAGEDIR}${PREFIX}/share/pixmaps/golly.xpm

.include <bsd.port.mk>
6 changes: 3 additions & 3 deletions games/golly/distinfo
@@ -1,3 +1,3 @@
TIMESTAMP = 1571245789
SHA256 (golly-3.3-src.tar.gz) = 88fd776b1afd763ef32ac6e6d95ddfcbc51b74f6ef6a1f3ba9aa659295d573c8
SIZE (golly-3.3-src.tar.gz) = 5465595
TIMESTAMP = 1689422582
SHA256 (golly-4.2-src.tar.gz) = 569128a923da64c3ff0062186406e4e51fdff02aeabf1f292983753bd065e95d
SIZE (golly-4.2-src.tar.gz) = 15348982
22 changes: 22 additions & 0 deletions games/golly/files/patch-gui-wx_wxhelp.cpp
@@ -0,0 +1,22 @@
Set DATADIR url to Help pages

--- gui-wx/wxhelp.cpp.orig 2022-04-19 11:02:31 UTC
+++ gui-wx/wxhelp.cpp
@@ -168,7 +168,7 @@ long whenactive; // when help window beca

long whenactive; // when help window became active (elapsed millisecs)

-const wxString helphome = _("Help/index.html"); // contents page
+const wxString helphome = _("%%DATADIR%%/Help/index.html"); // contents page
wxString currhelp = helphome; // current help file
const wxString lexicon_name = _("lexicon"); // name of lexicon layer

@@ -1322,7 +1322,7 @@ void ShowAboutBox()
#ifdef __WXMAC__
html->SetFontSizes(helpfontsize);
#endif
- html->CheckAndLoad(_("Help/about.html"));
+ html->CheckAndLoad(_("%%DATADIR%%/Help/about.html"));

// avoid HtmlView::OnSize calling CheckAndLoad again
html->canreload = false;
56 changes: 56 additions & 0 deletions games/golly/files/patch-gui-wx_wxmain.cpp
@@ -0,0 +1,56 @@
Set DATADIR url to Help pages

--- gui-wx/wxmain.cpp.orig 2021-01-23 03:06:47 UTC
+++ gui-wx/wxmain.cpp
@@ -1446,29 +1446,29 @@ void MainFrame::OnMenu(wxCommandEvent& event)
case ID_TILE: ToggleTileLayers(); break;

// Help menu
- case ID_HELP_INDEX: ShowHelp(_("Help/index.html")); break;
- case ID_HELP_INTRO: ShowHelp(_("Help/intro.html")); break;
- case ID_HELP_TIPS: ShowHelp(_("Help/tips.html")); break;
- case ID_HELP_ALGOS: ShowHelp(_("Help/algos.html")); break;
- case ID_HELP_LEXICON: ShowHelp(_("Help/Lexicon/lex.htm")); break;
- case ID_HELP_ARCHIVES: ShowHelp(_("Help/archives.html")); break;
- case ID_HELP_LUA: ShowHelp(_("Help/lua.html")); break;
- case ID_HELP_OVERLAY: ShowHelp(_("Help/overlay.html")); break;
- case ID_HELP_PYTHON: ShowHelp(_("Help/python.html")); break;
+ case ID_HELP_INDEX: ShowHelp(_("%%DATADIR%%/Help/index.html")); break;
+ case ID_HELP_INTRO: ShowHelp(_("%%DATADIR%%/Help/intro.html")); break;
+ case ID_HELP_TIPS: ShowHelp(_("%%DATADIR%%/Help/tips.html")); break;
+ case ID_HELP_ALGOS: ShowHelp(_("%%DATADIR%%/Help/algos.html")); break;
+ case ID_HELP_LEXICON: ShowHelp(_("%%DATADIR%%/Help/Lexicon/lex.htm")); break;
+ case ID_HELP_ARCHIVES: ShowHelp(_("%%DATADIR%%/Help/archives.html")); break;
+ case ID_HELP_LUA: ShowHelp(_("%%DATADIR%%/Help/lua.html")); break;
+ case ID_HELP_OVERLAY: ShowHelp(_("%%DATADIR%%/Help/overlay.html")); break;
+ case ID_HELP_PYTHON: ShowHelp(_("%%DATADIR%%/Help/python.html")); break;
case ID_HELP_KEYBOARD: ShowHelp(SHOW_KEYBOARD_SHORTCUTS); break;
- case ID_HELP_MOUSE: ShowHelp(_("Help/mouse.html")); break;
- case ID_HELP_FILE: ShowHelp(_("Help/file.html")); break;
- case ID_HELP_EDIT: ShowHelp(_("Help/edit.html")); break;
- case ID_HELP_CONTROL: ShowHelp(_("Help/control.html")); break;
- case ID_HELP_VIEW: ShowHelp(_("Help/view.html")); break;
- case ID_HELP_LAYER: ShowHelp(_("Help/layer.html")); break;
- case ID_HELP_HELP: ShowHelp(_("Help/help.html")); break;
- case ID_HELP_REFS: ShowHelp(_("Help/refs.html")); break;
- case ID_HELP_FORMATS: ShowHelp(_("Help/formats.html")); break;
- case ID_HELP_BOUNDED: ShowHelp(_("Help/bounded.html")); break;
- case ID_HELP_PROBLEMS: ShowHelp(_("Help/problems.html")); break;
- case ID_HELP_CHANGES: ShowHelp(_("Help/changes.html")); break;
- case ID_HELP_CREDITS: ShowHelp(_("Help/credits.html")); break;
+ case ID_HELP_MOUSE: ShowHelp(_("%%DATADIR%%/Help/mouse.html")); break;
+ case ID_HELP_FILE: ShowHelp(_("%%DATADIR%%/Help/file.html")); break;
+ case ID_HELP_EDIT: ShowHelp(_("%%DATADIR%%/Help/edit.html")); break;
+ case ID_HELP_CONTROL: ShowHelp(_("%%DATADIR%%/Help/control.html")); break;
+ case ID_HELP_VIEW: ShowHelp(_("%%DATADIR%%/Help/view.html")); break;
+ case ID_HELP_LAYER: ShowHelp(_("%%DATADIR%%/Help/layer.html")); break;
+ case ID_HELP_HELP: ShowHelp(_("%%DATADIR%%/Help/help.html")); break;
+ case ID_HELP_REFS: ShowHelp(_("%%DATADIR%%/Help/refs.html")); break;
+ case ID_HELP_FORMATS: ShowHelp(_("%%DATADIR%%/Help/formats.html")); break;
+ case ID_HELP_BOUNDED: ShowHelp(_("%%DATADIR%%/Help/bounded.html")); break;
+ case ID_HELP_PROBLEMS: ShowHelp(_("%%DATADIR%%/Help/problems.html")); break;
+ case ID_HELP_CHANGES: ShowHelp(_("%%DATADIR%%/Help/changes.html")); break;
+ case ID_HELP_CREDITS: ShowHelp(_("%%DATADIR%%/Help/credits.html")); break;
case ID_HELP_BUTT: ShowHelp(wxEmptyString); break;
case wxID_ABOUT: ShowAboutBox(); break;

156 changes: 0 additions & 156 deletions games/golly/files/patch-python2-support-removal

This file was deleted.

15 changes: 15 additions & 0 deletions games/golly/files/patch-sound_cute__sound.h
@@ -0,0 +1,15 @@
On all BSDs the function alloca(3) is declared in stdlib.h.
See also: https://sourceforge.net/p/golly/bugs/62/

--- sound/cute_sound.h.orig 2023-07-15 13:39:21 UTC
+++ sound/cute_sound.h
@@ -624,9 +624,6 @@ cs_plugin_id_t cs_add_plugin(cs_context_t* ctx, const
#elif CUTE_SOUND_PLATFORM == CUTE_SOUND_SDL

#include <SDL2/SDL.h>
- #ifndef _WIN32
- #include <alloca.h>
- #endif

#else

0 comments on commit 6bdfe8c

Please sign in to comment.