For discussion of Alpine Linux development and developer support

2 2

[alpine-devel] Re: [ANN] Dwarf Fortress 40.04 available for sabotage/musl (was: DF 34.11 available)

John Spencer
Details
Message ID
<53D39B12.1050402@barfooze.de>
Sender timestamp
1406376722
DKIM signature
missing
Download raw message
DF 40.04 for musl is now available on 
http://ftp.barfooze.de/pub/sabotage/bin/

it was created from branch 4004_nogl of [2]
(and mayday package from updated master of [3]).

it again comes in three flavors:

$ sha512sum df_linux_4004-musl_nogl.tar.xz
fa40c0568a963baaf6fb9025fd94a52ba29916ddfff4f49d0b129f1093f301cb9a5512b0e45b99d0986758b766773a6f1bd8f6a54d12d968ac6b8eee66fb48b8 
  df_linux_4004-musl_nogl.tar.xz

base package (vanilla); containing only original DF files plus 
musl-linked libgraphics.so and libstdc++.so.
for usage on i386 musl systems with all required libs installed (openal, 
alsa,sdl,libx11,ncurses...)

NOTE: sdl must be patched to create thread stacks of at least 128KB, see
http://bugzilla.libsdl.org/show_bug.cgi?id=2019
(already the case on sabotage linux)


$ sha512sum df_linux_4004-musl_nogl-alllibs.tar.xz
5d57e068202f16e84a84b1ccb6220bdf6e9228cc1ceff9f5877043b5925c6991b98af9f32c0e979afe76df060e1ada1a75d2d3356d1972222b268f40ab6b1c05 
  df_linux_4004-musl_nogl-alllibs.tar.xz

same as above but with all dependent 32bit libraries included in libs/; 
can be used on x86_64 without further ado (given that kernel has 
CONFIG_IA32_EMULATION turned on).

  $ sha512sum df_linux_4004-musl_nogl_mayday-allibs.tar.xz
10f557cb04fa8e581785c029d0156d57f2f7d5d532fbe5f4b37febf5ee98cec63f601403f839f50fc8ac8f99ba5c89b8cafd117f3b14ef8cb0add9645f61d1a2 
  df_linux_4004-musl_nogl_mayday-allibs.tar.xz

same as above but with mayday tileset from [3].


have Fun,
--JS

P.S.: it should be possible to update to DF 40.05 and newer versions, 
once they come out by dropping libstdc++.so and libgraphics.so from the 
vanilla tarball into the df_linux dir (plus the modified start shell 
script);
and maybe even (if there are no changes in the RAW dir, which is likely 
- diff -r can tell you) to just copy an updated "Dwarf Fortress.exe" 
into df_linux_4004-musl_nogl's libs/ dir.

John Spencer wrote:
> dwarf fortress[0] is a very well known freeware game available for 
> linux, however only for glibc based systems, and i386 (32bit) only.
> 
> the graphics part of it is opensource, available here: [1]
> i forked it and applied a couple of patches to remove GTK+ and
> OpenGL dependencies, so it works with plain SDL and stdio[2].
> 
> using this trimmed down libgraphics.so, it's possible to run
> the GLibc linked binary thanks to musl's ABI compatibility
> (either by patching the DT_INTERP with patchelf to point to
> musl's dynlinker, or by launching /lib/ld-musl-i386.so.1 $binary,
> we do the latter in order to not touch the original binaries).
> 
> the libgraphics.so was additionally linked against ncurses, so
> it can be used even in a raw terminal if no X server is available.
> to use the ncurses driver, change the driver from "2D" to "TEXT"
> in data/init/init.txt.
> 
> i've uploaded 3 full DF tarballs containing this custom
> libgraphics.so to
> 
> http://ftp.barfooze.de/pub/sabotage/bin/
> 
> dwarf_fortress_34_11_linux_musl.tar.xz :
> equivalent to the original df_34_11_linux.tar.bz2 from upstream.
> only libgraphics.so and libstdc++.so/libgcc_s.so has been swapped
> out for sabotage ones to reduce the incompatibility surface.
> note that libstdc++.so from GCC >= 4.6 is not compatible with the
> game binary.
> sha512 checksum: 
> 44f7c50732959064709b15a737a61ba12232fa820e9416498b314a0ef79d97a67bb8953ae3b49e76ff72454be3e9765ac33234e3bd394b011a09e1a5deb7ea92 
> 
> 
> dwarf_fortress_34_11_linux_musl_including_all_deps.tar.xz :
> same as above, however all needed 32bit libraries have been added.
> that way this tarball can be extracted on a x86_64 or i386 system
> and started without further ado.
> sha512:
> 25698f960f11d6a367617a024b9358e58cbd2a4adc317c341fcd2bd86271d906b0b8ad62a5f03a0f6bfe7f246dd4a539cfeae36d8d13ce1ef0422c0cf6d10ffd 
> 
> 
> 
> dwarf_fortress_34_11_linux_musl_including_all_deps_and_mayday_tileset.tar.xz 
> :
> same as above, plus the graphical tileset "mayday".
> mayday support has been added using the patch/script available on [3].
> sha512:
> 711c85ab09cfdb5a330bd17d13e44cb62d00fde7db6b42746b8b1da0d41baff8081e0d9b1a4aaaea14006f2be0afb7aeea75306853139fd281ec6f1c4a2bddd5 
> 
> 
> so, now that even DF works on musl, there's no reason waiting any longer 
> to switch completely :-)
> 
> have lots of Fun,
> --JS
> 
> [0] http://www.bay12games.com/dwarves/
> [1] https://github.com/Baughn/Dwarf-Fortress--libgraphics-
> [2] https://github.com/rofl0r/df-libgraphics/tree/nogl
> [3] https://github.com/rofl0r/df-mayday
> 



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Paul Onyschuk
Details
Message ID
<20140726190205.4e479dec3c53c51d66f76938@bojary.koba.pl>
In-Reply-To
<53D39B12.1050402@barfooze.de> (view parent)
Sender timestamp
1406394125
DKIM signature
missing
Download raw message
On Sat, 26 Jul 2014 14:12:02 +0200
John Spencer <maillist-musl@barfooze.de> wrote:

> $ sha512sum df_linux_4004-musl_nogl-alllibs.tar.xz
> 
> same as above but with all dependent 32bit libraries included in
> libs/; can be used on x86_64 without further ado (given that kernel
> has CONFIG_IA32_EMULATION turned on).
> 

Works fine under Alpine Edge x86_64, though some adjustments are
needed.  PaX needs some tuning:

$ paxctl -c -r ./libs/libc.so

Since 32-bit musl won't load binary, when RANDMMAP is set.  There is
also small problem with sound.  Alsa is looking for it's own files in
wrong place:

ALSA lib conf.c:3707:(snd_config_update_r) Cannot access
file /share/alsa/alsa.conf

Setting ALSA_CONFIG_PATH to /usr/share/alsa/alsa.conf seems to affect
only alsa.conf, alsa will be still opening
/share/alsa/cards/aliases.conf.  Dirty workaround for sound in DF:

$ mkdir -p /share && ln -s /usr/share/alsa /share

-- 
Paul Onyschuk


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---

[alpine-devel] Re: [ANN] Dwarf Fortress 40.13 available for musl-based distros

John Spencer
Details
Message ID
<5447C6BE.9080807@barfooze.de>
In-Reply-To
<53D39B12.1050402@barfooze.de> (view parent)
Sender timestamp
1413990078
DKIM signature
missing
Download raw message
now available for 40.13

$ sha512sum df_linux_4013_musl_nogl-allibs*.xz
49e122c5ce4d8f2ee5ebe11524aa44797b40d6367a98395128a1897f1983a450cc0ecdc6a4510a123122cc41c11ce29455daa09ec0c20d384fa851656b73d74b 
  df_linux_4013_musl_nogl-allibs-mayday.tar.xz
2045af3edea8afa85e61ba39d97950e679ed995b694cc7ceab2b906bf04359c68fb308da8b8940fa572c3f711ff0184a2af39ac53ca061cab800f75515f25691 
  df_linux_4013_musl_nogl-allibs.tar.xz

i dropped the "vanilla" tarball this time. if you want the vanilla 
version, just remove all the .so's from libs/ except the ones that were 
in the previous vanilla version.

see below for download URL and further details.

Have Fun,
--JS

John Spencer wrote:
> DF 40.04 for musl is now available on 
> http://ftp.barfooze.de/pub/sabotage/bin/
> 
> it was created from branch 4004_nogl of [2]
> (and mayday package from updated master of [3]).
> 
> it again comes in three flavors:
> 
> $ sha512sum df_linux_4004-musl_nogl.tar.xz
> fa40c0568a963baaf6fb9025fd94a52ba29916ddfff4f49d0b129f1093f301cb9a5512b0e45b99d0986758b766773a6f1bd8f6a54d12d968ac6b8eee66fb48b8 
>  df_linux_4004-musl_nogl.tar.xz
> 
> base package (vanilla); containing only original DF files plus 
> musl-linked libgraphics.so and libstdc++.so.
> for usage on i386 musl systems with all required libs installed (openal, 
> alsa,sdl,libx11,ncurses...)
> 
> NOTE: sdl must be patched to create thread stacks of at least 128KB, see
> http://bugzilla.libsdl.org/show_bug.cgi?id=2019
> (already the case on sabotage linux)
> 
> 
> $ sha512sum df_linux_4004-musl_nogl-alllibs.tar.xz
> 5d57e068202f16e84a84b1ccb6220bdf6e9228cc1ceff9f5877043b5925c6991b98af9f32c0e979afe76df060e1ada1a75d2d3356d1972222b268f40ab6b1c05 
>  df_linux_4004-musl_nogl-alllibs.tar.xz
> 
> same as above but with all dependent 32bit libraries included in libs/; 
> can be used on x86_64 without further ado (given that kernel has 
> CONFIG_IA32_EMULATION turned on).
> 
>  $ sha512sum df_linux_4004-musl_nogl_mayday-allibs.tar.xz
> 10f557cb04fa8e581785c029d0156d57f2f7d5d532fbe5f4b37febf5ee98cec63f601403f839f50fc8ac8f99ba5c89b8cafd117f3b14ef8cb0add9645f61d1a2 
>  df_linux_4004-musl_nogl_mayday-allibs.tar.xz
> 
> same as above but with mayday tileset from [3].
> 
> 
> have Fun,
> --JS
> 
> P.S.: it should be possible to update to DF 40.05 and newer versions, 
> once they come out by dropping libstdc++.so and libgraphics.so from the 
> vanilla tarball into the df_linux dir (plus the modified start shell 
> script);
> and maybe even (if there are no changes in the RAW dir, which is likely 
> - diff -r can tell you) to just copy an updated "Dwarf Fortress.exe" 
> into df_linux_4004-musl_nogl's libs/ dir.
> 
> John Spencer wrote:
>> dwarf fortress[0] is a very well known freeware game available for 
>> linux, however only for glibc based systems, and i386 (32bit) only.
>>
>> the graphics part of it is opensource, available here: [1]
>> i forked it and applied a couple of patches to remove GTK+ and
>> OpenGL dependencies, so it works with plain SDL and stdio[2].
>>
>> using this trimmed down libgraphics.so, it's possible to run
>> the GLibc linked binary thanks to musl's ABI compatibility
>> (either by patching the DT_INTERP with patchelf to point to
>> musl's dynlinker, or by launching /lib/ld-musl-i386.so.1 $binary,
>> we do the latter in order to not touch the original binaries).
>>
>> the libgraphics.so was additionally linked against ncurses, so
>> it can be used even in a raw terminal if no X server is available.
>> to use the ncurses driver, change the driver from "2D" to "TEXT"
>> in data/init/init.txt.
>>
>> i've uploaded 3 full DF tarballs containing this custom
>> libgraphics.so to
>>
>> http://ftp.barfooze.de/pub/sabotage/bin/
>>
>> dwarf_fortress_34_11_linux_musl.tar.xz :
>> equivalent to the original df_34_11_linux.tar.bz2 from upstream.
>> only libgraphics.so and libstdc++.so/libgcc_s.so has been swapped
>> out for sabotage ones to reduce the incompatibility surface.
>> note that libstdc++.so from GCC >= 4.6 is not compatible with the
>> game binary.
>> sha512 checksum: 
>> 44f7c50732959064709b15a737a61ba12232fa820e9416498b314a0ef79d97a67bb8953ae3b49e76ff72454be3e9765ac33234e3bd394b011a09e1a5deb7ea92 
>>
>>
>> dwarf_fortress_34_11_linux_musl_including_all_deps.tar.xz :
>> same as above, however all needed 32bit libraries have been added.
>> that way this tarball can be extracted on a x86_64 or i386 system
>> and started without further ado.
>> sha512:
>> 25698f960f11d6a367617a024b9358e58cbd2a4adc317c341fcd2bd86271d906b0b8ad62a5f03a0f6bfe7f246dd4a539cfeae36d8d13ce1ef0422c0cf6d10ffd 
>>
>>
>>
>> dwarf_fortress_34_11_linux_musl_including_all_deps_and_mayday_tileset.tar.xz 
>> :
>> same as above, plus the graphical tileset "mayday".
>> mayday support has been added using the patch/script available on [3].
>> sha512:
>> 711c85ab09cfdb5a330bd17d13e44cb62d00fde7db6b42746b8b1da0d41baff8081e0d9b1a4aaaea14006f2be0afb7aeea75306853139fd281ec6f1c4a2bddd5 
>>
>>
>> so, now that even DF works on musl, there's no reason waiting any 
>> longer to switch completely :-)
>>
>> have lots of Fun,
>> --JS
>>
>> [0] http://www.bay12games.com/dwarves/
>> [1] https://github.com/Baughn/Dwarf-Fortress--libgraphics-
>> [2] https://github.com/rofl0r/df-libgraphics/tree/nogl
>> [3] https://github.com/rofl0r/df-mayday
>>
> 
> 



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---