Crawl release "Doomed Geometries", released Feb 06 2026
Built in a clean proot(1) on Feb 04 2026 snapshot, tested full 11
hour all-gem all-rune playthrough, and many (many) more splatted
characters ;)
Port changes:
In MAKE_FLAGS, FORCE_CC sets GCC, and FORCE_CXX sets GXX
and HOSTCXX; so GCC, GXX and HOSTCXX can be removed.
In MAKE_FLAGS, CC is set by GCC which is set by FORCE_CC,
so CC can be removed.
In MAKE_FLAGS, CXX is set by GXX which is set by FORCE_CXX,
so CXX can be removed.
In MAKE_FLAGS, define NO_TRY_LLD and NO_TRY_GOLD, which set
-fuse-ld=lld or -fuse-ld=gold respectively. Use the
platform-specific default linker instead.
In MAKE_FLAGS, `find $(make show=WRKDIST) -exec grep -F
_INCLUDE_DIR {} +` outputs nothing. We can remove LUA_INCLUDE_DIR
and SQLITE_INCLUDE_DIR.
Same as above, but grep for LUA_LIB outputting nothing.
crawl's Makefile now handles lua version with the simpler
LUA_PACKAGE macro, which we set to MODLUA_FLAVOR.
In MAKE_FLAGS, INSTALL_UGRP is only for dgamelaunch (read
more here https://nethackwiki.com/wiki/Dgamelaunch). We
don't use this so it can be removed.
In MAKE_FLAGS, remove LDFLAGS. pkg-config pulls in the
needed library paths in crawl's Makefile.
In MAKE_FLAGS, remove NO_YACC. We have both yacc and flex
in base; avoids using pre-built components for the level
compiler at ${WRKSRC}/prebuilt.
In MAKE_FLAGS for no_x11, remove USE_UNICODE and UNICODE_LOCALE
as ncurses unicode support is handled with pkg-config in
crawl's Makefile.
We aren't using configure, remove CONFIGURE_STYLE = none.
CONFIGURE_ENV gets set by the lang/python module, but there's
no configure script at WRKSRC.
Patch lets us remove SRC_VERSION and RECENT_TAG from
MAKE_FLAGS and instead use the official fallback file in
${WRKSRC}/util/release_ver. like SRC_VERSION, RECENT_TAG
calls git, but seems to be used for experimental/non-stable
releases. Its been patched to copy SRC_VERSION. TAGNAME is
gone, it was for setting RECENT_TAG (incorrectly), which
is also gone.
Simplified patches for Makefile and rltiles/Makefile. The
patches aren't explicitly required for a successful build,
but we avoid hardcoded invocations of git and gcc (and
accompanying non-fatal errors at build time). While advpng
currently isn't ported, if at any point it is and is installed
before building this port, it'll lead to this port incorrectly
being built with advpng instead of pngcrush, as it take
precedence without the patch.
Bump lua module to 5.4 as required by upstream.
Set MODLUA_SA so FULLPKGPATH doesn't get clobbered from
`FULLPKGNAME ?= ${PKGNAME:S/^lua/${_MODLUA_PKG_PREFIX}/'`
inside lua.port.mk (FLAVOR_EXT is no longer appended,
breaking no_x11 packaging). FULLPKGNAME could also set
manually to ${PKGNAME}${FLAVOR_EXT} but I've opted for the
former.
MODPY_RUN_DEPENDS -> MODPY_RUNDEP. Reading python-module(5)
and python.port.mk, MODPY_RUN_DEPENDS isn't to be set by
the user and is used to set the python port to use (e.g.
lang/python/3). Setting to 'No' may have produced the desired
effect, but it is an error.
Add all python3 shebangs in ${WRKSRC}/utils to MODPY_ADJ_FILES.
Misc. formatting and variable expansion changes.
OK?
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/stone-soup/Makefile,v
diff -u -r1.52 Makefile
--- Makefile 31 Jan 2026 18:24:22 -0000 1.52
+++ Makefile 21 Feb 2026 21:10:03 -0000
@@ -2,12 +2,9 @@
COMMENT = dungeon crawl stone soup
-VERSION = 0.32.0
-REVISION= 2
-TAGNAME = Gods and Makers
-
-DISTNAME= stone_soup-${VERSION}-nodeps
-PKGNAME= stone-soup-${VERSION}
+VERSION = 0.34.0
+DISTNAME = stone_soup-${VERSION}-nodeps
+PKGNAME = stone-soup-${VERSION}
CATEGORIES = games
@@ -16,79 +13,62 @@
MAINTAINER = Stefan Moran <[email protected]>
# GPLv2+
-PERMIT_PACKAGE= Yes
-
-WANTLIB += ${COMPILER_LIBCXX} ${MODLUA_WANTLIB} c m sqlite3
+PERMIT_PACKAGE = Yes
SITES =
https://github.com/crawl/crawl/releases/download/${VERSION}/
-EXTRACT_SUFX= .tar.xz
+EXTRACT_SUFX = .tar.xz
-COMPILER = base-clang ports-gcc
-MODULES = lang/python \
- lang/lua
+MODULES = lang/lua lang/python
+
+MODLUA_SA = Yes
+MODLUA_VERSION = 5.4
+
+MODPY_RUNDEP = No
+MODPY_ADJ_FILES = checkconventionalcommit.py configure-msvc.py \
+ configure.py coverage form-gen.py gen-all.py \
+ genutil.py job-gen.py mon-gen.py species-gen.py \
+ status-icon-sizes-gen.py tag-35-upgrade.py
+MODPY_ADJ_FILES := ${MODPY_ADJ_FILES:S/^/util\//}
-MODLUA_VERSION = 5.1
+WANTLIB = ${COMPILER_LIBCXX} ${MODLUA_WANTLIB} c m sqlite3 z
-BUILD_DEPENDS = graphics/pngcrush \
+BUILD_DEPENDS = graphics/pngcrush \
textproc/py-yaml
LIB_DEPENDS = databases/sqlite3
-MAKE_FLAGS = CC="${CC}" GCC="${GCC}" GXX="${CXX}" \
- CXX="${CXX}" HOSTCXX="${CXX}" \
- LUA_INCLUDE_DIR=${MODLUA_INCL_DIR} \
- LUA_LIB=${MODLUA_LIB} \
- SQLITE_INCLUDE_DIR=${LOCALBASE}/include \
- LDFLAGS=-L${LOCALBASE}/lib \
- INSTALL_UGRP=root:wheel \
- prefix=${PREFIX} \
- SAVEDIR="~/.crawl" \
- NO_YACC=1 V=1 \
- SRC_VERSION=${VERSION} RECENT_TAG="${TAGNAME}"
-
USE_GMAKE = Yes
-CONFIGURE_STYLE = none
-
-MODPY_RUN_DEPENDS = No
-MODPY_ADJ_FILES = util/species-gen.py \
- util/tag-35-upgrade.py
+MAKE_FLAGS = FORCE_CC=${CC} FORCE_CXX=${CXX} LUA_PACKAGE=${MODLUA_FLAVOR} \
+ NO_TRY_GOLD=1 NO_TRY_LLD=1 V=1 prefix=${PREFIX}
FLAVORS = no_x11
FLAVOR ?=
.if ${FLAVOR:Mno_x11}
-WANTLIB += curses pthread z
-MAKE_FLAGS += USE_UNICODE=y UNICODE_LOCALE=y
+WANTLIB += curses
.else
-# This should be automatically set during "gmake -C rltiles..." but isn't...
-CFLAGS += -DUSE_TILE
-CXXFLAGS += -DUSE_TILE
-
-MAKE_FLAGS += TILES=y \
- LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib \
- -lSDL2 -lSDL2_image -lpng -pthread"
-WANTLIB += GL GLU SDL2 SDL2_image freetype png pthread z
-RUN_DEPENDS = devel/desktop-file-utils
-LIB_DEPENDS += devel/sdl2 \
- devel/sdl2-image \
- databases/sqlite3 \
- graphics/png
+WANTLIB += GL SDL2 SDL2_image SDL2_mixer freetype
+LIB_DEPENDS += devel/sdl2 devel/sdl2-image devel/sdl2-mixer
+RUN_DEPENDS += devel/desktop-file-utils
+MAKE_FLAGS += SOUND=1 TILES=1
.endif
NO_TEST = Yes
-CFLAGS += -I${LOCALBASE}/include -I${LOCALBASE}/include/SDL2
-CXXFLAGS += -I${LOCALBASE}/include -I${LOCALBASE}/include/SDL2
-
-WRKDIST = ${WRKDIR}/stone_soup-${VERSION}
+WRKDIST = ${WRKDIR}/${DISTNAME:-nodeps=}
WRKSRC = ${WRKDIST}/source
+COMPILER = base-clang ports-gcc
+
post-install:
- mv ${PREFIX}/bin/crawl ${PREFIX}/bin/crawl-ss
- chmod 755 ${PREFIX}/bin/crawl-ss
+ mv ${PREFIX}/bin/crawl ${PREFIX}/bin/crawl-ss # Collision with net/crawl
+ chmod ${BINMODE} ${PREFIX}/bin/crawl-ss
${INSTALL_MAN} ${WRKDIST}/docs/crawl.6 ${PREFIX}/man/man6/crawl-ss.6
-.if ! ${FLAVOR:Mno_x11}
- ${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps ${PREFIX}/share/applications
- ${INSTALL_DATA} ${FILESDIR}/stone-soup.desktop \
+.if ${FLAVOR:Nno_x11}
+ ${INSTALL_DATA_DIR} \
+ ${PREFIX}/share/pixmaps \
+ ${PREFIX}/share/applications
+ ${INSTALL_DATA} \
+ ${FILESDIR}/stone-soup.desktop \
${PREFIX}/share/applications
${INSTALL_DATA} \
${PREFIX}/share/crawl/dat/tiles/stone_soup_icon-32x32.png \
Index: distinfo
===================================================================
RCS file: /cvs/ports/games/stone-soup/distinfo,v
diff -u -r1.11 distinfo
--- distinfo 4 Oct 2024 01:11:00 -0000 1.11
+++ distinfo 21 Feb 2026 21:10:03 -0000
@@ -1,2 +1,2 @@
-SHA256 (stone_soup-0.32.0-nodeps.tar.xz) =
tJNABX09YqWQb81PA3opnemlAOe3x1Qfd9/Bhj++fVY=
-SIZE (stone_soup-0.32.0-nodeps.tar.xz) = 21311400
+SHA256 (stone_soup-0.34.0-nodeps.tar.xz) =
vMc3VIFelb1In2UdUxrnZIDQV+QsgiSJLe73pr7f/Is=
+SIZE (stone_soup-0.34.0-nodeps.tar.xz) = 26438524
Index: patches/patch-source_Makefile
===================================================================
RCS file: /cvs/ports/games/stone-soup/patches/patch-source_Makefile,v
diff -u -r1.11 patch-source_Makefile
--- patches/patch-source_Makefile 4 Oct 2024 01:11:00 -0000 1.11
+++ patches/patch-source_Makefile 21 Feb 2026 21:10:03 -0000
@@ -1,23 +1,16 @@
Index: source/Makefile
--- source/Makefile.orig
+++ source/Makefile
-@@ -509,15 +509,7 @@ ifneq ($(GCC_VER),)
- GCC_VER_SUFFIX:=-$(GCC_VER)
- endif
+@@ -511,7 +511,7 @@ endif
--# Attempt to use a full compiler name, to make
--# distcc builds work nicely.
+ # Attempt to use a full compiler name, to make
+ # distcc builds work nicely.
-LMACH := $(shell gcc -dumpmachine)-
--ifeq ($(LMACH),-)
++LMACH := -
+ ifeq ($(LMACH),-)
LMACH :=
--endif
--ifeq ($(shell which $(LMACH)gcc$(GCC_VER_SUFFIX) > /dev/null 2> /dev/null &&
echo "Yes"),)
--LMACH :=
--endif
-
- ifneq ($(FORCE_CC),)
- GCC := $(FORCE_CC)
-@@ -1177,14 +1169,10 @@ OBJECTS += $(TILEDEFOBJS)
+ endif
+@@ -1170,14 +1170,10 @@ OBJECTS += $(TILEDEFOBJS)
ifdef TILES_ANY
ifndef NO_OPTIMIZE
@@ -32,22 +25,15 @@
endif
endif
-@@ -1280,9 +1268,7 @@ GENERATED_FILES := $(GENERATED_HEADERS) art-data.h mi-
+@@ -1274,9 +1270,9 @@ GENERATED_FILES := $(GENERATED_HEADERS) art-data.h mi-
LANGUAGES = $(filter-out en, $(notdir $(wildcard dat/descript/??)))
SRC_PKG_BASE := stone_soup
-SRC_VERSION := $(shell git describe $(MERGE_BASE) 2>/dev/null || cat
util/release_ver)
++SRC_VERSION := $(shell cat util/release_ver)
MAJOR_VERSION = $(shell echo "$(SRC_VERSION)"|$(SED) -r
's/-.*//;s/^([^.]+\.[^.]+).*/\1/')
-RECENT_TAG := $(shell git describe --abbrev=0 $(MERGE_BASE))
++RECENT_TAG := $(SRC_VERSION)
WINARCH := $(shell $(GXX) -dumpmachine | grep -q x64_64 && echo win64 || echo
win32)
export SRC_VERSION
-@@ -2106,7 +2092,7 @@ mac-app-console: all
- # Building the Android package
- #
-
--NPROC := $(shell nproc)
-+
-
- android-project/app/build.gradle: android-project/app/build.gradle.in
- sed -e "s/@ANDROID_VERSION@/${ANDROID}/" -e
"s/@CRAWL_VERSION@/${SRC_VERSION}/" -e "s/@NPROC@/${NPROC}/"
<android-project/app/build.gradle.in >android-project/app/build.gradle
Index: patches/patch-source_rltiles_Makefile
===================================================================
RCS file: /cvs/ports/games/stone-soup/patches/patch-source_rltiles_Makefile,v
diff -u -r1.5 patch-source_rltiles_Makefile
--- patches/patch-source_rltiles_Makefile 12 Nov 2023 14:03:31 -0000
1.5
+++ patches/patch-source_rltiles_Makefile 21 Feb 2026 21:10:03 -0000
@@ -1,17 +1,12 @@
Index: source/rltiles/Makefile
--- source/rltiles/Makefile.orig
+++ source/rltiles/Makefile
-@@ -57,13 +57,7 @@ endif
+@@ -57,7 +57,7 @@ endif
# Attempt to use a full compiler name, to make
# distcc builds work nicely.
-LMACH := $(shell gcc -dumpmachine)-
--ifeq ($(LMACH),-)
++LMACH := -
+ ifeq ($(LMACH),-)
LMACH :=
--endif
--ifeq ($(shell which $(LMACH)gcc > /dev/null 2> /dev/null && echo "Yes"),)
--LMACH :=
--endif
- HOSTCXX ?= $(LMACH)g++
-
- DELETE = rm -f
+ endif
Index: pkg/PFRAG.no-no_x11
===================================================================
RCS file: /cvs/ports/games/stone-soup/pkg/PFRAG.no-no_x11,v
diff -u -r1.13 PFRAG.no-no_x11
--- pkg/PFRAG.no-no_x11 5 Mar 2024 03:10:19 -0000 1.13
+++ pkg/PFRAG.no-no_x11 21 Feb 2026 21:10:03 -0000
@@ -1,4 +1,3 @@
-share/applications/stone-soup.desktop
share/crawl/dat/tiles/
share/crawl/dat/tiles/feat.png
share/crawl/dat/tiles/floor.png
@@ -21,6 +20,7 @@
share/crawl/dat/tiles/title_baconkid_gastronok.png
share/crawl/dat/tiles/title_baconkid_mnoleg.png
share/crawl/dat/tiles/title_benadryl_antaeus.png
+share/crawl/dat/tiles/title_benadryl_oni.png
share/crawl/dat/tiles/title_denzi_dragon.png
share/crawl/dat/tiles/title_denzi_evil_mage.png
share/crawl/dat/tiles/title_denzi_invasion.png
@@ -38,6 +38,7 @@
share/crawl/dat/tiles/title_kaonedong_ignis_the_dying_flame.png
share/crawl/dat/tiles/title_kaonedong_menkaure_prince_of_dust.png
share/crawl/dat/tiles/title_king7artist_eustachio.png
+share/crawl/dat/tiles/title_lemurrobot_gozag_vaults.png
share/crawl/dat/tiles/title_micah_c_ereshkigal.png
share/crawl/dat/tiles/title_nibiki_octopode.png
share/crawl/dat/tiles/title_omndra_zot_demon.png
@@ -51,8 +52,7 @@
share/crawl/dat/tiles/title_shadyamish_octm.png
share/crawl/dat/tiles/title_white_noise_entering_the_dungeon.png
share/crawl/dat/tiles/title_white_noise_grabbing_the_orb.png
+share/crawl/dat/tiles/title_ylam_formicid_shrikes.png
share/crawl/dat/tiles/wall.png
share/crawl/docs/tiles_help.txt
-share/pixmaps/
-share/pixmaps/stone-soup.png
@tag update-desktop-database
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/games/stone-soup/pkg/PLIST,v
diff -u -r1.13 PLIST
--- pkg/PLIST 4 Oct 2024 01:11:00 -0000 1.13
+++ pkg/PLIST 21 Feb 2026 21:10:03 -0000
@@ -18,6 +18,7 @@
share/crawl/dat/database/gizmo.txt
share/crawl/dat/database/godname.txt
share/crawl/dat/database/godspeak.txt
+share/crawl/dat/database/graffiti.txt
share/crawl/dat/database/help.txt
share/crawl/dat/database/insult.txt
share/crawl/dat/database/miscast.txt
@@ -50,6 +51,7 @@
share/crawl/dat/database/zh/wpnnoise.txt
share/crawl/dat/defaults/
share/crawl/dat/defaults/autopickup_exceptions.txt
+share/crawl/dat/defaults/consumable_shortcuts.txt
share/crawl/dat/defaults/glyph_colours.txt
share/crawl/dat/defaults/menu_colours.txt
share/crawl/dat/defaults/messages.txt
@@ -108,7 +110,6 @@
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
@@ -146,6 +147,7 @@
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/necropolis.des
share/crawl/dat/des/portals/ossuary.des
share/crawl/dat/des/portals/sewer.des
share/crawl/dat/des/portals/trove.des
@@ -198,12 +200,10 @@
share/crawl/dat/des/variable/
share/crawl/dat/des/variable/ambush.des
share/crawl/dat/des/variable/arcadia.des
-share/crawl/dat/des/variable/cathedral_bats.des
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
@@ -214,6 +214,7 @@
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/des/variable/wad_woods.des
share/crawl/dat/des/variable/winding_woodlands.des
share/crawl/dat/descript/
share/crawl/dat/descript/ability.txt
@@ -269,6 +270,7 @@
share/crawl/dat/descript/de/tutorial.txt
share/crawl/dat/descript/de/unident.txt
share/crawl/dat/descript/de/unrand.txt
+share/crawl/dat/descript/egos.txt
share/crawl/dat/descript/el/
share/crawl/dat/descript/el/ability.txt
share/crawl/dat/descript/el/backgrounds.txt
@@ -289,7 +291,10 @@
share/crawl/dat/descript/es/features.txt
share/crawl/dat/descript/es/gods.txt
share/crawl/dat/descript/es/items.txt
+share/crawl/dat/descript/es/monstatus.txt
share/crawl/dat/descript/es/monsters.txt
+share/crawl/dat/descript/es/mutations.txt
+share/crawl/dat/descript/es/passives.txt
share/crawl/dat/descript/es/quotes.txt
share/crawl/dat/descript/es/skills.txt
share/crawl/dat/descript/es/species.txt
@@ -408,6 +413,7 @@
share/crawl/dat/descript/lv/tutorial.txt
share/crawl/dat/descript/lv/unident.txt
share/crawl/dat/descript/lv/unrand.txt
+share/crawl/dat/descript/monstatus.txt
share/crawl/dat/descript/monsters.txt
share/crawl/dat/descript/mutations.txt
share/crawl/dat/descript/nl/
@@ -529,7 +535,6 @@
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
@@ -622,10 +627,8 @@
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/changelog.txt
share/crawl/docs/crawl_manual.txt
-@comment share/crawl/docs/develop/coding_conventions.txt
-@comment share/crawl/docs/develop/background_creation.txt
@comment share/crawl/docs/develop/
@comment share/crawl/docs/develop/IRC.txt
@comment share/crawl/docs/develop/android.txt
@@ -638,6 +641,7 @@
@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/reserved_monsters.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