I took a stab at updating the port for Dungeon Crawl Stone Soup (games/stone-soup). A couple things worth mentioning about my attached attempt:
The existing patch to upstream's Makefile to replace hardocded "5.1"s with MODLUA_DEP_VERSION didn't seem necessary; the build system tries its best to find an installed lua 5.1 and OpenBSD's is picked up. Lua 5.2 and 5.3 are evidently not supported so I don't think finagling the port module into upstream's build tool buys flexibility or safety. The build now requires python and py-yaml to generate a header from some data files; I've added lang/python to MODULES and textproc/py-yaml to the build deps, and taken advantage of the shebang-adjustment hook. python2.7 and python3.6, with matching textproc/py-yaml, both run the script in question just fine, so the port builds with either supported MODPY_VERSION. The default (tiles) flavor and the no_x11 flavor both build on amd64, are playable, can read one another's saves, etc. I'll have to leave it to a better roguelike player to test that the whole game is playable. I don't mind missing the port lock as this is my first attempt at submitting an update, so there'll probably be developmental feedback. For instance I'm sure I've gotten whitespace wrong somewhere. Regards, Evan Silberman Index: Makefile =================================================================== RCS file: /cvs/ports/games/stone-soup/Makefile,v retrieving revision 1.34 diff -u -p -r1.34 Makefile --- Makefile 27 Jun 2018 21:03:49 -0000 1.34 +++ Makefile 4 Apr 2019 06:18:38 -0000 @@ -7,11 +7,10 @@ CATEGORIES = games HOMEPAGE = http://crawl.develz.org/ MASTER_SITES = https://crawl.develz.org/release/${VERSION:R}/ -VERSION = 0.18.1 +VERSION = 0.23.2 DISTNAME= stone_soup-${VERSION}-nodeps EXTRACT_SUFX= .tar.xz PKGNAME= stone-soup-${VERSION} -REVISION= 1 WRKDIST = ${WRKDIR}/stone_soup-${VERSION} WRKSRC = ${WRKDIST}/source @@ -29,13 +28,19 @@ MAKE_FLAGS = CC="${CC}" GCC="${GCC}" GX SAVEDIR="~/.crawl" \ NO_YACC=1 V=1 -MAKE_ENV += MODLUA_DEP_VERSION=${MODLUA_DEP_VERSION} COMPILER = base-clang ports-gcc -MODULES = lang/lua +MODULES = lang/python \ + lang/lua MODLUA_VERSION = 5.1 WANTLIB = c m ${MODLUA_WANTLIB} sqlite3 ${COMPILER_LIBCXX} -BUILD_DEPENDS = graphics/pngcrush +MODPY_RUN_DEPENDS = No +CONFIGURE_STYLE = none +MODPY_ADJ_FILES = util/species-gen.py + +BUILD_DEPENDS = graphics/pngcrush \ + textproc/py-yaml${MODPY_FLAVOR} + LIB_DEPENDS = databases/sqlite3 # License GPLv2+ Index: distinfo =================================================================== RCS file: /cvs/ports/games/stone-soup/distinfo,v retrieving revision 1.5 diff -u -p -r1.5 distinfo --- distinfo 1 Oct 2016 12:56:54 -0000 1.5 +++ distinfo 4 Apr 2019 06:18:38 -0000 @@ -1,2 +1,2 @@ -SHA256 (stone_soup-0.18.1-nodeps.tar.xz) = S9rXd4+IqZRwxyX/dKgUW91gAy+a5Izll/dLiueE2FA= -SIZE (stone_soup-0.18.1-nodeps.tar.xz) = 9716104 +SHA256 (stone_soup-0.23.2-nodeps.tar.xz) = KgCWIZX1t6TC+9H8XvWX7rfgT6C576RxrggZCDEEgcM= +SIZE (stone_soup-0.23.2-nodeps.tar.xz) = 11046032 Index: patches/patch-source_Makefile =================================================================== RCS file: /cvs/ports/games/stone-soup/patches/patch-source_Makefile,v retrieving revision 1.4 diff -u -p -r1.4 patch-source_Makefile --- patches/patch-source_Makefile 27 May 2017 16:41:41 -0000 1.4 +++ patches/patch-source_Makefile 4 Apr 2019 06:18:38 -0000 @@ -14,10 +14,10 @@ Index: source/Makefile STRIP := strip -x @@ -325,11 +322,8 @@ endif # - ifndef NO_APPLE_GCC + ifndef NO_APPLE_PLATFORM ifeq ($(uname_S),Darwin) -ifneq ($(shell gcc -v 2>&1 | grep Apple),) --APPLE_GCC = YesPlease +-APPLE_PLATFORM = YesPlease endif endif -endif @@ -40,39 +40,6 @@ Index: source/Makefile ifneq ($(FORCE_CC),) GCC := $(FORCE_CC) -@@ -639,9 +625,9 @@ ifndef BUILD_LUA - BUILD_LUA = yes - endif - else -- ifneq ($(shell $(PKGCONFIG) lua5.1 --exists || echo no),) -- ifneq ($(shell $(PKGCONFIG) lua-5.1 --exists || echo no),) -- ifneq ($(shell $(PKGCONFIG) lua --exists || echo no),) -+ ifneq ($(shell $(PKGCONFIG) lua --exists || echo no),) -+ ifneq ($(shell $(PKGCONFIG) lua${MODLUA_DEP_VERSION} --exists || echo no),) -+ ifneq ($(shell $(PKGCONFIG) lua${MODLUA_DEP_VERSION} --exists || echo no),) - BUILD_LUA = yes - else - ifeq ($(shell $(PKGCONFIG) lua --modversion | head -c 3),5.1) -@@ -651,16 +637,16 @@ ifndef BUILD_LUA - endif - endif - else -- LUA_PACKAGE = lua-5.1 -+ LUA_PACKAGE = lua${MODLUA_DEP_VERSION} - endif - else -- LUA_PACKAGE = lua5.1 -+ LUA_PACKAGE = lua${MODLUA_DEP_VERSION} - endif - endif - endif - ifndef BUILD_LUA - ifndef LUA_PACKAGE -- LUA_PACKAGE = lua5.1 -+ LUA_PACKAGE = lua${MODLUA_DEP_VERSION} - endif - INCLUDES_L += $(shell $(PKGCONFIG) $(LUA_PACKAGE) --cflags-only-I | sed -e 's/-I/-isystem /') - CFLAGS_L += $(shell $(PKGCONFIG) $(LUA_PACKAGE) --cflags-only-other) @@ -673,7 +659,7 @@ endif ifndef BUILD_SQLITE Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/games/stone-soup/pkg/PLIST,v retrieving revision 1.6 diff -u -p -r1.6 PLIST --- pkg/PLIST 1 Oct 2016 12:56:54 -0000 1.6 +++ pkg/PLIST 4 Apr 2019 06:18:38 -0000 @@ -6,8 +6,8 @@ share/crawl/dat/ share/crawl/dat/clua/ share/crawl/dat/clua/autofight.lua share/crawl/dat/clua/automagic.lua +share/crawl/dat/clua/delays.lua share/crawl/dat/clua/kills.lua -share/crawl/dat/clua/runrest.lua share/crawl/dat/clua/stash.lua share/crawl/dat/database/ share/crawl/dat/database/FAQ.txt @@ -86,9 +86,11 @@ share/crawl/dat/des/branches/spider.des share/crawl/dat/des/branches/swamp.des share/crawl/dat/des/branches/tar.des share/crawl/dat/des/branches/temple.des +share/crawl/dat/des/branches/temple_compat.des share/crawl/dat/des/branches/tomb.des share/crawl/dat/des/branches/vaults.des share/crawl/dat/des/branches/vaults_rooms_empty.des +share/crawl/dat/des/branches/vaults_rooms_ghost.des share/crawl/dat/des/branches/vaults_rooms_hard.des share/crawl/dat/des/branches/vaults_rooms_standard.des share/crawl/dat/des/branches/zot.des @@ -121,8 +123,9 @@ share/crawl/dat/des/guide.txt share/crawl/dat/des/portals/ share/crawl/dat/des/portals/bailey.des share/crawl/dat/des/portals/bazaar.des +share/crawl/dat/des/portals/desolation.des +share/crawl/dat/des/portals/gauntlet.des share/crawl/dat/des/portals/icecave.des -share/crawl/dat/des/portals/lab.des share/crawl/dat/des/portals/ossuary.des share/crawl/dat/des/portals/sewer.des share/crawl/dat/des/portals/trove.des @@ -141,6 +144,7 @@ share/crawl/dat/des/serial/gnoll_camp.de share/crawl/dat/des/serial/ice.des share/crawl/dat/des/serial/magic_research.des share/crawl/dat/des/serial/park.des +share/crawl/dat/des/serial/rivers.des share/crawl/dat/des/serial/serial_guide.txt share/crawl/dat/des/serial/sigils.des share/crawl/dat/des/serial/undead.des @@ -160,10 +164,8 @@ share/crawl/dat/des/test.des share/crawl/dat/des/test/suite-los.des share/crawl/dat/des/test/suite.des share/crawl/dat/des/traps/ -share/crawl/dat/des/traps/boulders.des -share/crawl/dat/des/traps/grate.des +share/crawl/dat/des/traps/monster_drop.des share/crawl/dat/des/traps/rats_trap.des -share/crawl/dat/des/traps/spider_basket.des share/crawl/dat/des/tutorial/ share/crawl/dat/des/tutorial/lesson1.des share/crawl/dat/des/tutorial/lesson2.des @@ -178,6 +180,7 @@ share/crawl/dat/des/variable/compat.des share/crawl/dat/des/variable/d_encompass.des share/crawl/dat/des/variable/float.des share/crawl/dat/des/variable/geyser.des +share/crawl/dat/des/variable/ghost.des share/crawl/dat/des/variable/grated_community.des share/crawl/dat/des/variable/large_abstract.des share/crawl/dat/des/variable/large_themed.des @@ -185,6 +188,9 @@ share/crawl/dat/des/variable/lemuel_cast share/crawl/dat/des/variable/mini.des share/crawl/dat/des/variable/mini_features.des share/crawl/dat/des/variable/mini_monsters.des +share/crawl/dat/des/variable/polyominoes.des +share/crawl/dat/des/variable/the_bubble.des +share/crawl/dat/des/variable/the_grid.des share/crawl/dat/descript/ share/crawl/dat/descript/ability.txt share/crawl/dat/descript/backgrounds.txt @@ -204,7 +210,6 @@ share/crawl/dat/descript/cs/monsters.txt share/crawl/dat/descript/cs/quotes.txt share/crawl/dat/descript/cs/species.txt share/crawl/dat/descript/cs/spells.txt -share/crawl/dat/descript/status.txt share/crawl/dat/descript/cs/tutorial.txt share/crawl/dat/descript/cs/unident.txt share/crawl/dat/descript/cs/unrand.txt @@ -428,6 +433,7 @@ share/crawl/dat/descript/ru/unrand.txt share/crawl/dat/descript/skills.txt share/crawl/dat/descript/species.txt share/crawl/dat/descript/spells.txt +share/crawl/dat/descript/status.txt share/crawl/dat/descript/sv/ share/crawl/dat/descript/sv/ability.txt share/crawl/dat/descript/sv/cards.txt @@ -469,10 +475,48 @@ share/crawl/dat/descript/zh/spells.txt share/crawl/dat/descript/zh/tutorial.txt share/crawl/dat/descript/zh/unident.txt share/crawl/dat/descript/zh/unrand.txt +share/crawl/dat/dist_bones/ +share/crawl/dat/dist_bones/README +share/crawl/dat/dist_bones/bones.store.Crypt +share/crawl/dat/dist_bones/bones.store.D-10 +share/crawl/dat/dist_bones/bones.store.D-11 +share/crawl/dat/dist_bones/bones.store.D-12 +share/crawl/dat/dist_bones/bones.store.D-13 +share/crawl/dat/dist_bones/bones.store.D-14 +share/crawl/dat/dist_bones/bones.store.D-15 +share/crawl/dat/dist_bones/bones.store.D-3 +share/crawl/dat/dist_bones/bones.store.D-4 +share/crawl/dat/dist_bones/bones.store.D-5 +share/crawl/dat/dist_bones/bones.store.D-6 +share/crawl/dat/dist_bones/bones.store.D-7 +share/crawl/dat/dist_bones/bones.store.D-8 +share/crawl/dat/dist_bones/bones.store.D-9 +share/crawl/dat/dist_bones/bones.store.Depths +share/crawl/dat/dist_bones/bones.store.Elf +share/crawl/dat/dist_bones/bones.store.Hells +share/crawl/dat/dist_bones/bones.store.Lair-1 +share/crawl/dat/dist_bones/bones.store.Lair-2 +share/crawl/dat/dist_bones/bones.store.Lair-3 +share/crawl/dat/dist_bones/bones.store.Lair-4 +share/crawl/dat/dist_bones/bones.store.Lair-5 +share/crawl/dat/dist_bones/bones.store.Lair-6 +share/crawl/dat/dist_bones/bones.store.Orc +share/crawl/dat/dist_bones/bones.store.Pan +share/crawl/dat/dist_bones/bones.store.Shoals +share/crawl/dat/dist_bones/bones.store.Slime +share/crawl/dat/dist_bones/bones.store.Snake +share/crawl/dat/dist_bones/bones.store.Spider +share/crawl/dat/dist_bones/bones.store.Swamp +share/crawl/dat/dist_bones/bones.store.Tomb +share/crawl/dat/dist_bones/bones.store.Vaults +share/crawl/dat/dist_bones/bones.store.Zig +share/crawl/dat/dist_bones/bones.store.Zot share/crawl/dat/dlua/ share/crawl/dat/dlua/debug.lua share/crawl/dat/dlua/dungeon.lua share/crawl/dat/dlua/fnwrap.lua +share/crawl/dat/dlua/gauntlet.lua +share/crawl/dat/dlua/ghost.lua share/crawl/dat/dlua/init.lua share/crawl/dat/dlua/iter.lua share/crawl/dat/dlua/layout/ @@ -511,11 +555,13 @@ share/crawl/dat/dlua/lm_items.lua share/crawl/dat/dlua/lm_mon_prop.lua share/crawl/dat/dlua/lm_monst.lua share/crawl/dat/dlua/lm_mslav.lua +share/crawl/dat/dlua/lm_named_hatch.lua share/crawl/dat/dlua/lm_pdesc.lua share/crawl/dat/dlua/lm_props.lua share/crawl/dat/dlua/lm_timed.lua share/crawl/dat/dlua/lm_tmsg.lua share/crawl/dat/dlua/lm_toll.lua +share/crawl/dat/dlua/lm_trans.lua share/crawl/dat/dlua/lm_trig.lua share/crawl/dat/dlua/lm_trove.lua share/crawl/dat/dlua/loadmaps.lua @@ -540,29 +586,41 @@ share/crawl/dat/dlua/v_rooms.lua share/crawl/dat/dlua/v_shapes.lua share/crawl/dat/dlua/vault.lua share/crawl/dat/dlua/ziggurat.lua +share/crawl/dat/tiles/title_Cws_Minotauros.png +share/crawl/dat/tiles/title_froggy_goodgod_tengu_gold.png +share/crawl/dat/tiles/title_froggy_jiyva_felid.png +share/crawl/dat/tiles/title_froggy_natasha_and_boris.png +share/crawl/dat/tiles/title_froggy_rune_and_run_failed_on_dis.png +share/crawl/dat/tiles/title_froggy_thunder_fist_nikola.png +share/crawl/dat/tiles/title_ploomutoo_ijyb.png share/crawl/docs/ share/crawl/docs/CREDITS.txt +share/crawl/docs/aptitudes-wide.txt share/crawl/docs/aptitudes.txt share/crawl/docs/arena.txt @comment share/crawl/docs/changelog.txt share/crawl/docs/crawl_manual.txt +@comment share/crawl/docs/develop/new_dev_checklist.txt +@comment share/crawl/docs/develop/process.txt @comment share/crawl/docs/develop/ @comment share/crawl/docs/develop/IRC.txt @comment share/crawl/docs/develop/android.txt +@comment share/crawl/docs/develop/background_creation.txt @comment share/crawl/docs/develop/coding_conventions.txt @comment share/crawl/docs/develop/ctags.txt @comment share/crawl/docs/develop/editor_tips.txt @comment share/crawl/docs/develop/gdb_tips.txt +@comment share/crawl/docs/develop/god_creation.txt @comment share/crawl/docs/develop/keys.txt @comment share/crawl/docs/develop/levels/ @comment share/crawl/docs/develop/levels/advanced.txt @comment share/crawl/docs/develop/levels/introduction.txt @comment share/crawl/docs/develop/levels/syntax.txt @comment share/crawl/docs/develop/levels/triggerables.txt +@comment share/crawl/docs/develop/monster_creation.txt @comment share/crawl/docs/develop/monster_speech.txt -@comment share/crawl/docs/develop/new_dev_checklist.txt +@comment share/crawl/docs/develop/mutation_creation.txt @comment share/crawl/docs/develop/patch_guide.txt -@comment share/crawl/docs/develop/process.txt @comment share/crawl/docs/develop/save_compatibility.txt @comment share/crawl/docs/develop/spells.txt @comment share/crawl/docs/develop/testing.txt @@ -588,6 +646,7 @@ share/crawl/settings/0.13_monster_glyphs share/crawl/settings/0.14_monster_glyphs.txt share/crawl/settings/0.16_monster_glyphs.txt share/crawl/settings/0.17_monster_glyphs.txt +share/crawl/settings/0.18_monster_glyphs.txt share/crawl/settings/0.9_monster_glyphs.txt share/crawl/settings/034_command_keys.txt share/crawl/settings/052_monster_glyphs.txt @@ -600,6 +659,9 @@ share/crawl/settings/dec_glyphs.txt share/crawl/settings/dvorak_command_keys.txt share/crawl/settings/ibm_glyphs.txt share/crawl/settings/init.txt +@comment share/crawl/settings/mac/ +@comment share/crawl/settings/mac/Crawl profile.terminal +share/crawl/settings/neo_command_keys.txt share/crawl/settings/no_vi_command_keys.txt share/crawl/settings/old_unicode_glyphs.txt share/crawl/settings/safe_move_shift.txt