Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 585832 - games-roguelike/dwarf-fortress-0.43.03 version bump
Summary: games-roguelike/dwarf-fortress-0.43.03 version bump
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Alex Xu (Hello71)
URL: http://www.bay12games.com/dwarves
Whiteboard:
Keywords: Inclusion, PATCH, REVIEWED
Depends on:
Blocks:
 
Reported: 2016-06-13 14:07 UTC by eroen
Modified: 2016-07-21 19:09 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
0001-dwarf-fortress-43_03-bump.patch (0001-dwarf-fortress-43_03-bump.patch,6.91 KB, patch)
2016-06-13 14:18 UTC, eroen
Details | Diff
0001-dwarf-fortress-43_03-bump.patch (0001-dwarf-fortress-43_03-bump.patch,6.10 KB, patch)
2016-06-13 20:29 UTC, eroen
Details | Diff
0001-dwarf-fortress-43_03-bump.patch (0001-dwarf-fortress-43_03-bump.patch,6.15 KB, patch)
2016-06-13 21:00 UTC, eroen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description eroen 2016-06-13 14:07:06 UTC
Dwarf fortress 0.43.03 was released May 22, 2016.


Release notes for 0.43.03 (May 22, 2016):

Here are some more bug fixes.

Major bug fixes
	(*) Made customized magma forge jobs use metal instead of making things out of coal
	(*) Adjusted conflict code to stop taverngoers from joining siegers over petty grievances
	(*) Fixed material overcount in adv site work menu

Other bug fixes/tweaks
	(*) Made pain from broken tissues depend on relative part size
	(*) Made embark profiles load fish properly
	(*) Made assigning an animal to a restraint remove it from pasture assignments properly
	(*) Made pasturing jobs respect connectivity in creation and in seeing if they should continue
	(*) Made dwarves remove animals assigned to pastures from cages/chains that are in the pasture
	(*) Fixed display error causing creature to be described as gigantic too often
	(*) Allowed metal mechanisms to be made from the job manager
	(*) Made dragonfire affect metal items and generally amplified fire effects a bit
	(*) Stopped veins in large mineral clusters from being improperly restricted
	(*) Stopped placement issue with minerals that had more than one specific environment
	(*) Stopped woodcutters from using axes without edges (like training axes)
	(*) Allowed soil critters to live in wider temperature ranges
	(*) Fixed problem with temperature checks on certain wilderness populations
	(*) Made construct mechanisms job show material
	(*) Made mountain travel restriction not affect other actions
	(*) Allowed adventure mode divers to move through deep water properly
	(*) Made placing items on tables remove item from your inventory properly
	(*) Made improvement reactions increase and apply skill properly
	(*) Reported site of adventurer masterpieces correctly
	(*) Stopped manually-set low frame rate cap from being stuck

******************************************************

Release notes for 0.43.02 (May 11, 2016):

Smoothed out some rough areas in the adventure part of the release.  We'll be continuing on with bug fix releases.

Major bug fixes
	(*) Stopped zone corruption problem from adventure sites (caused crashes)
	(*) Stopped adventure camps from being aged by the age of the world repeatedly
	(*) Stopped certain site build orders from skipping the collapse check
	(*) Stopped prisoners in goblin sites from starting no quarter fights with their rescuers
	(*) Made people that join you stop personal/shared activities that might interfere them from following you

Other bug fixes/tweaks
	(*) Stopped felling of trees in the arena, so you wouldn't be teleported to a weird hidden region map
	(*) Indicated child/baby state of prisoners during look etc.

******************************************************

Release notes for 0.43.01 (May 9, 2016):

A new version number!  With the work order additions and adventurer-created sites, this one ended up with more new stuff and fewer bug fixes than expected, and my version calculator just tipped over at 0.43.  You can use the new 'b' site building option in adventure mode to create a site (outside the bounds of other sites).  For dwarf mode work orders, you can set conditions and details from the manager.  You can also create orders tied to specific shops from their workshop profiles.

A miscellaneous note: in order to retire at the adventurer sites you create, you'll need to name the site, create a main hall zone, and claim the hall during conversation (or while shouting to yourself).

Next up we'll be doing more bug fix releases to make sure we have a vaguely presentable DF before we disappear into a new compiler and 64 bits.

New stuff
	(*) Ability to build up new sites in adv mode, either yourself or by assigning companions
	(*) Ability to do carpentry in adv mode
	(*) Ability to chop down trees in adv mode
	(*) Ability to make stone axes in adv mode
	(*) Ability to pull branches from trees in adv mode
	(*) Can put start conditions on work orders (by amount of resources or dependence on other work orders)
	(*) Can specify materials/images/etc. in work orders
	(*) Can create work order from profile which is tied to specific workshop
	(*) Can set maximum number of shops that a general work order can task at once
	(*) Can set maximum number of general work orders per shop or disallow them by profession or altogether (note: this won't work for active old-save jobs)
	(*) Allowed perpetual work orders
	(*) Repeatable work orders, ability to set restart frequencies

Major bug fixes
	(*) Stopped masterpiece trading from causing artisans to suffer effects of art defacement

Other bug fixes/tweaks
	(*) Got rid of work order limit of 30 jobs
	(*) Improved work order filtering (respect partial vs. full results etc.)
	(*) Stopped work orders from taking more than one slot per workshop
	(*) Stopped non-citizens from being charged for violating production orders
	(*) Stopped mother from getting both her and spouse's miscarriage thought
	(*) Refreshed material list when deleting uniform item
	(*) XML export now has the exact site rectangle
Comment 1 eroen 2016-06-13 14:18:18 UTC
Created attachment 437374 [details, diff]
0001-dwarf-fortress-43_03-bump.patch

Bump to EAPI 6, drop deprecated games.eclass, make $PN usage for filenames
more consistent.  Add missing source file to Makefile.


--- dwarf-fortress-0.42.06.ebuild	2016-06-13 14:20:55.882011595 +0200
+++ dwarf-fortress-0.43.03.ebuild	2016-06-13 15:44:49.724131231 +0200
@@ -2,9 +2,9 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
-inherit eutils games multilib versionator
+inherit multilib versionator
 
 MY_PV=$(replace_all_version_separators _ "$(get_version_component_range 2-)")
 MY_PN=df
@@ -38,20 +38,18 @@
 
 S=${WORKDIR}/${MY_PN}_linux
 
-gamesdir="${GAMES_PREFIX_OPT}/${PN}"
+gamesdir="/opt/${PN}"
 QA_PRESTRIPPED="${gamesdir}/libs/Dwarf_Fortress"
 RESTRICT="strip"
 
 pkg_setup() {
-	games_pkg_setup
-
 	multilib_toolchain_setup x86
 }
 
 src_prepare() {
 	rm libs/*.so*
 	cp "${FILESDIR}"/{dwarf-fortress,Makefile} .
-	epatch_user
+	default
 }
 
 src_configure() {
@@ -70,25 +68,21 @@
 	doins -r raw data libs
 
 	# install our wrapper
-	dogamesbin ${PN}
+	dobin ${PN}
 
 	# install docs
 	dodoc README.linux *.txt
 
-	prepgamesdirs
-
-	fperms 750 "${gamesdir}"/libs/Dwarf_Fortress
+	fperms 755 "${gamesdir}"/libs/Dwarf_Fortress
 }
 
 pkg_postinst() {
 	elog "System-wide Dwarf Fortress has been installed to ${gamesdir}. This is"
-	elog "symlinked to ~/.dwarf-fortress when dwarf-fortress is run."
-	elog "For more information on what exactly is replaced, see ${GAMES_BINDIR}/${PN}."
-	elog "Note: This means that the primary entry point is ${GAMES_BINDIR}/${PN}."
+	elog "symlinked to ~/.dwarf-fortress when ${PN} is run."
+	elog "For more information on what exactly is replaced, see /usr/bin/${PN}."
+	elog "Note: This means that the primary entry point is /usr/bin/${PN}."
 	elog "Do not run ${gamesdir}/libs/Dwarf_Fortress."
 	elog
 	elog "Optional runtime dependencies: install sys-libs/ncurses[$(use amd64 && echo "abi_x86_32,")unicode]"
 	elog "for [PRINT_MODE:TEXT]. Install media-libs/openal$(use amd64 && echo "[abi_x86_32]") for audio output."
-	elog
-	games_pkg_postinst
 }
--- a/games-roguelike/dwarf-fortress/files/Makefile
+++ b/games-roguelike/dwarf-fortress/files/Makefile
@@ -11,7 +11,7 @@ SRCS := g_src/basics.cpp g_src/command_line.cpp g_src/enabler.cpp \
 	g_src/music_and_sound_openal.cpp g_src/random.cpp g_src/textlines.cpp \
 	g_src/enabler_input.cpp g_src/KeybindingScreen.cpp \
 	g_src/win32_compat.cpp g_src/textures.cpp g_src/resize++.cpp \
-	g_src/renderer_offscreen.cpp g_src/ttf_manager.cpp
+	g_src/renderer_offscreen.cpp g_src/ttf_manager.cpp g_src/ViewBase.cpp
 OBJS := $(SRCS:.cpp=.o)
 
 BLIBS := ncursesw openal sndfile
Comment 2 Alex Xu (Hello71) 2016-06-13 15:20:51 UTC
as long as you're fixing things, could you figure out why the libsdl deps have specific USE flags on them? I can't remember why I put them in there (or if it was me who did it).
Comment 3 eroen 2016-06-13 20:29:42 UTC
Created attachment 437442 [details, diff]
0001-dwarf-fortress-43_03-bump.patch

(In reply to Alex Xu (Hello71) from comment #2)
> as long as you're fixing things, could you figure out why the libsdl deps
> have specific USE flags on them? I can't remember why I put them in there
> (or if it was me who did it).

I have tested (build and run) various use flag combinations of the deps and updated the ebuild. For libsdl and openal some sort of output should be enabled for sanity, but from looking at the tree I'm given to understand this is not usually explicit. I only have a setup to test (respectively) X and alsa outputs, but presumably the others work too.

I'm confused as to why the dependencies on kbproto and xproto were added, I don't see anything including the headers they install.

I also made some more minor edits since the previous patch.


--- dwarf-fortress-0.42.06.ebuild	2016-06-13 21:36:48.934633160 +0200
+++ dwarf-fortress-0.43.03.ebuild	2016-06-13 22:06:27.988675442 +0200
@@ -2,9 +2,9 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
-inherit eutils games multilib versionator
+inherit multilib versionator
 
 MY_PV=$(replace_all_version_separators _ "$(get_version_component_range 2-)")
 MY_PN=df
@@ -20,38 +20,34 @@
 IUSE="debug"
 
 RDEPEND="media-libs/glew[abi_x86_32(-)]
-	media-libs/libsdl[abi_x86_32(-),opengl,video,X]
-	media-libs/libsndfile[abi_x86_32(-),alsa]
-	media-libs/sdl-image[abi_x86_32(-),jpeg,png,tiff]
+	media-libs/libsdl[abi_x86_32(-),joystick,video]
+	media-libs/sdl-image[abi_x86_32(-),png]
 	media-libs/sdl-ttf[abi_x86_32(-)]
 	sys-libs/zlib[abi_x86_32(-)]
 	virtual/glu[abi_x86_32(-)]
 	x11-libs/gtk+:2[abi_x86_32(-)]"
-# Yup, openal and ncurses are only needed at compile-time; the code dlopens it at runtime
-# if requested.
+# Yup, libsndfile, openal and ncurses are only needed at compile-time; the code
+# dlopens them at runtime if requested.
 DEPEND="${RDEPEND}
+	media-libs/libsndfile[abi_x86_32(-)]
 	media-libs/openal[abi_x86_32(-)]
 	sys-libs/ncurses[abi_x86_32(-),unicode]
-	virtual/pkgconfig
-	x11-proto/kbproto[abi_x86_32(-)]
-	x11-proto/xproto[abi_x86_32(-)]"
+	virtual/pkgconfig"
 
 S=${WORKDIR}/${MY_PN}_linux
 
-gamesdir="${GAMES_PREFIX_OPT}/${PN}"
-QA_PRESTRIPPED="${gamesdir}/libs/Dwarf_Fortress"
+gamesdir="/opt/${PN}"
+QA_PREBUILT="${gamesdir#/}/libs/Dwarf_Fortress"
 RESTRICT="strip"
 
 pkg_setup() {
-	games_pkg_setup
-
 	multilib_toolchain_setup x86
 }
 
 src_prepare() {
-	rm libs/*.so*
-	cp "${FILESDIR}"/{dwarf-fortress,Makefile} .
-	epatch_user
+	rm -f libs/*.so* || die
+	cp "${FILESDIR}"/{dwarf-fortress,Makefile} . || die
+	default
 }
 
 src_configure() {
@@ -61,7 +57,7 @@
 
 src_compile() {
 	default
-	sed -i -e "s:^gamesdir=.*:gamesdir=${gamesdir}:" ${PN} || die
+	sed -i -e "s:^gamesdir=.*:gamesdir=${gamesdir}:" dwarf-fortress || die
 }
 
 src_install() {
@@ -70,25 +66,21 @@
 	doins -r raw data libs
 
 	# install our wrapper
-	dogamesbin ${PN}
+	dobin dwarf-fortress
 
 	# install docs
 	dodoc README.linux *.txt
-
-	prepgamesdirs
-
-	fperms 750 "${gamesdir}"/libs/Dwarf_Fortress
 }
 
 pkg_postinst() {
 	elog "System-wide Dwarf Fortress has been installed to ${gamesdir}. This is"
 	elog "symlinked to ~/.dwarf-fortress when dwarf-fortress is run."
-	elog "For more information on what exactly is replaced, see ${GAMES_BINDIR}/${PN}."
-	elog "Note: This means that the primary entry point is ${GAMES_BINDIR}/${PN}."
+	elog "For more information on what exactly is replaced, see /usr/bin/dwarf-fortress."
+	elog "Note: This means that the primary entry point is /usr/bin/dwarf-fortress."
 	elog "Do not run ${gamesdir}/libs/Dwarf_Fortress."
 	elog
-	elog "Optional runtime dependencies: install sys-libs/ncurses[$(use amd64 && echo "abi_x86_32,")unicode]"
-	elog "for [PRINT_MODE:TEXT]. Install media-libs/openal$(use amd64 && echo "[abi_x86_32]") for audio output."
-	elog
-	games_pkg_postinst
+	elog "Optional runtime dependencies:"
+	elog "Install sys-libs/ncurses[$(use amd64 && echo "abi_x86_32,")unicode] for [PRINT_MODE:TEXT]"
+	elog "Install media-libs/openal$(use amd64 && echo "[abi_x86_32]") and media-libs/libsndfile$(use amd64 && echo "[abi_x86_32]") for audio output"
+	elog "Install media-libs/libsdl[$(use amd64 && echo "abi_x86_32,")opengl] for the OpenGL PRINT_MODE settings"
 }

--- a/games-roguelike/dwarf-fortress/files/Makefile
+++ b/games-roguelike/dwarf-fortress/files/Makefile
@@ -11,7 +11,7 @@ SRCS := g_src/basics.cpp g_src/command_line.cpp g_src/enabler.cpp \
        g_src/music_and_sound_openal.cpp g_src/random.cpp g_src/textlines.cpp \
        g_src/enabler_input.cpp g_src/KeybindingScreen.cpp \
        g_src/win32_compat.cpp g_src/textures.cpp g_src/resize++.cpp \
-       g_src/renderer_offscreen.cpp g_src/ttf_manager.cpp
+       g_src/renderer_offscreen.cpp g_src/ttf_manager.cpp g_src/ViewBase.cpp
 OBJS := $(SRCS:.cpp=.o)
 
 BLIBS := ncursesw openal sndfile

--- a/games-roguelike/dwarf-fortress/files/dwarf-fortress
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress
@@ -10,7 +10,7 @@ do_install() {
        cp -rsn "$gamesdir"/* "$install"/
 }
 
-if [[ -d "$install" ]]; then
+if [ -d "$install" ]; then
        # delete dangling symlinks
        find -L "$install/" -type l -delete
        # ignore "are the same file" errors
Comment 4 eroen 2016-06-13 21:00:53 UTC
Created attachment 437444 [details, diff]
0001-dwarf-fortress-43_03-bump.patch

Whoops, the fperms call was supposed to stay :(
Comment 5 Alex Xu (Hello71) 2016-06-13 21:41:42 UTC
Haven't tested, but LGTM. I don't know why I omitted ViewBase.cpp, and I don't really feel like spending a few hours to track it down. If it works, then sure.
Comment 6 Alex Xu (Hello71) 2016-06-15 22:24:35 UTC
please don't do that.
Comment 7 Alex Xu (Hello71) 2016-07-17 19:08:28 UTC
could someone please apply this? I want to start working on the same-arch version, but I'd like this to be in first.
Comment 8 Alex Xu (Hello71) 2016-07-17 19:12:47 UTC
see bug 589026.