From Fedora Project Wiki

fp-wiki>ImportUser
(Imported from MoinMoin)
 
m (removed category)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Michael Thomas =
= 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 [[SIGs/Games|  Games]] .  I have written a draft of [[PackagingDrafts/Tcl|  Tcl packaging guidelines]]  and maintain the packaging for a large number of games and Tcl extensions for both Fedora and EPEL, including:
I'm a Tcl developer who wants to see more of the popular Tcl extensions included in Fedora, as well as more high quality [[SIGs/Games|  Games]] .  As a Fedora Sponsor, I am willing to help other Tcl'ers and gamers through the Fedora sponsorship process.  I have written [[Packaging/Tcl|  Tcl packaging guidelines]]  and maintain the packaging for a large number of games and Tcl extensions for both Fedora and EPEL.  You can see the full list of packages that I maintain at:


https://admin.fedoraproject.org/pkgdb/users/packages/wart?acls=owner
An incomplete list grouped by category:
=== Tcl Packages ===
* tclhttpd - The Tcl web/application server
* tclhttpd - The Tcl web/application server
* tclxml - XML parsing for Tcl
* tclxml - XML parsing for Tcl
Line 26: Line 31:
* tclpro - Tcl development and debugging GUI
* tclpro - Tcl development and debugging GUI


* spr - Statistical Pattern Recognition
=== Games ===
 
* [[Games/xpilot|  xpilot-ng]]  - An addictive multiplayer space game
* [[Games/xpilot|  xpilot-ng]]  - An addictive multiplayer space game
* [[Games/tong|  tong]]  - Another game
* [[Games/tong|  tong]]  - Another game
Line 50: Line 54:
* manaworld-music - Music for the manaworld game
* manaworld-music - Music for the manaworld game


=== WorldForge ===
* atlascpp - World<code></code>Forge message protocol
* atlascpp - World<code></code>Forge message protocol
* skstream - World<code></code>Forge IO library
* skstream - World<code></code>Forge IO library
Line 63: Line 68:
* sear-media - media files for sear
* sear-media - media files for sear


Pending contributions waiting for approval:
=== Personal Fedora bookmarks ===
* None
 
Future contributions still being packaged:
* tclxslt - XSLT processing library for Tcl
* ember - Another World<code></code>Forge client
 
Personal Fedora bookmarks
* Buildsys status - http://buildsys.fedoraproject.org/build-status/index.psp
* Buildsys status - http://buildsys.fedoraproject.org/build-status/index.psp
* Package review guidelines - http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
* Package review guidelines - http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
Line 76: Line 74:
* Fedora infrastructure ticket system - https://admin.fedoraproject.org/tickets
* Fedora infrastructure ticket system - https://admin.fedoraproject.org/tickets


Spec file tricks for copy-and-paste
=== Spec file tricks for copy-and-paste ===
* To convert a file from some encoding to UTF-8
* To convert a file from some encoding to UTF-8
<pre>
<pre>
Line 126: Line 124:
%{!?tcl_sitelib: %define tcl_sitelib %{_datadir}/tcl%(echo 'puts $tcl_version' | tclsh)}
%{!?tcl_sitelib: %define tcl_sitelib %{_datadir}/tcl%(echo 'puts $tcl_version' | tclsh)}
</pre>
</pre>
[[MailTo(wart AT kobold DOT org)
[[MailTo(wart AT kobold DOT org)]
 
<BR>
----
[[Category:Homepage]]

Latest revision as of 13:19, 9 March 2009

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. You can see the full list of packages that I maintain at:

https://admin.fedoraproject.org/pkgdb/users/packages/wart?acls=owner

An incomplete list grouped by category:

Tcl Packages

  • 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

Games

  • 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

WorldForge

  • atlascpp - WorldForge message protocol
  • skstream - WorldForge IO library
  • libmodelfile - library for accessing various 3d model file formats
  • eris - Client-side session layer for atlascpp
  • mercator - Terrain library for WorldForge applications
  • sage - OpenGL extensions library using SDL
  • varconf - WorldForge configuration library
  • wfmath - WorldForge math library
  • wfut - WorldForge updater tool
  • cyphesis - WorldForge game server
  • sear - WorldForge client
  • sear-media - media files for sear

Personal Fedora bookmarks

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)]