Michael Thomas
I'm a Tcl developer who wants to see more of the popular Tcl extensions included in Fedora, as well as more high quality Games . As a Fedora Sponsor, I am willing to help other Tcl'ers and gamers through the Fedora sponsorship process. I have written Tcl packaging guidelines and maintain the packaging for a large number of games and Tcl extensions for both Fedora and EPEL, including:
- tclhttpd - The Tcl web/application server
- tclxml - XML parsing for Tcl
- tcldom - DOM bindings for Tcl
- tdom - Another DOM API for Tcl
- tcllib - A library of utility modules for Tcl
- tklib - A library of utility modules for Tk
- tclsoap - SOAP support for Tcl
- tkcon - Tcl console
- itcl - A Tcl extension that adds object-oriented features to Tcl
- itk - A Tk extension that adds object-oriented features and megawidget support to Tk
- iwidgets - A set of megawidgets based on Itcl
- tk-tktreectrl - Tree widget for Tk
- tcl-tcldict - The 'dict' command backported from Tcl 8.5 to Tcl 8.4
- tile - Theme support for the Tk widget library
- bwidget - Extended widget set for Tk
- memchan - Memory-based channels for Tcl
- tclcompiler - Tcl bytecode compiler
- tbcload - Tcl bytecoad loader
- tclparser - Tcl syntax parser
- tclchecker - Tcl syntax checker
- tcldebugger - Tcl debugging library
- tclpro - Tcl development and debugging GUI
- spr - Statistical Pattern Recognition
- nsca - Nagios Service Check Adapter
- xpilot-ng - An addictive multiplayer space game
- tong - Another game
- neverball - 3D game
- abe - old-school C-64 style side scrolling game
- freedroidrpg - A Tux-based rpg game
- rogue - A classic roguelike game
- ularn - Yet another roguelike game
- prboom - GPL DOOM game engine
- freedoom - Freely redistributable replacement game files for DOOM
- freedoom-freedm - Deathmatch levels for freedoom
- yadex - doom level editor
- deutex - Doom wad manipulator
- bsd-games - A collection of classic text-based games
- crossfire - A mutliplayer network RPG game server
- crossfire-client - Client applications for crossfire
- crossfire-maps - Map files for crossfire
- wormux - Clone of the popular 'Worms' game
- guichan - 3D graphics and widget library
- compat-guichan05 - compatibility libraries for guichan-0.5
- manaworld - 2D MMORPG
- manaworld-music - Music for the manaworld game
- atlascpp - World
Forge message protocol
- skstream - World
Forge IO library
- libmodelfile - library for accessing various 3d model file formats
- eris - Client-side session layer for atlascpp
- mercator - Terrain library for World
Forge applications
- sage - OpenGL extensions library using SDL
- varconf - World
Forge configuration library
- wfmath - World
Forge math library
- wfut - World
Forge updater tool
- cyphesis - World
Forge game server
- sear - World
Forge client
- sear-media - media files for sear
Pending contributions waiting for approval:
- None
Future contributions still being packaged:
- tclxslt - XSLT processing library for Tcl
- ember - Another World
Forge client
Personal Fedora bookmarks
- Buildsys status - http://buildsys.fedoraproject.org/build-status/index.psp
- Package review guidelines - http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
- Fedora Accounts system - https://admin.fedora.redhat.com/accounts/
- Fedora infrastructure ticket system - https://admin.fedoraproject.org/tickets
Spec file tricks for copy-and-paste
- To convert a file from some encoding to UTF-8
iconv --from=ISO-8859-1 --to=UTF-8 file.txt > file.txt.new
- To remove DOS line endings from a file in-place
sed -i 's/\r//' file.txt
- Give a desktop icon a transparent background and convert to png
BuildRequires: ImageMagick ... convert -transparent black njamicon.ico %{name}.png
- Preserve the timestamp on a patched autotools source file to prevent unnecessary triggering of autoconf/automake/etc.
touch -r configure.ac configure.ac.stamp %patch0 -p0 touch -r configure.ac.stamp configure.ac
- %pre/%post scripts for managing an init.d script
%pre user_uid=<code>id -u crossfire 2>/dev/null</code> if [ x"$user_uid" = x ] ; then %{_sbindir}/fedora-useradd 27 -r -s /sbin/nologin \ -d %{_datadir}/%{name} -M -c 'Crossfire Server' \ crossfire >/dev/null || : fi %post /sbin/chkconfig --add crossfire %preun if [ "$1" -le "0" ] ; then /sbin/service crossfire stop > /dev/null 2>&1 /sbin/chkconfig --del crossfire fi %postun if [ "$1" -ge "1" ] ; then /sbin/service crossfire condrestart >/dev/null 2>&1 fi
- spec file header for defining tcl package directories
%{!?tcl_sitearch: %define tcl_sitearch %{_libdir}/tcl%(echo 'puts $tcl_version' | tclsh)} %{!?tcl_sitelib: %define tcl_sitelib %{_datadir}/tcl%(echo 'puts $tcl_version' | tclsh)}
[[MailTo(wart AT kobold DOT org)]