This is an old revision of the document!


Ports

Most interesting upcoming ports

  • games/openmv: Unofficial TES3: Morrowind engine reimplementation
  • depends on new ports:
    • audio/audiere - committed
    • devel/dsss - depends on lang/gdc patch (ports/124567)
    • devel/ois - committed
    • lang/monster - depends on dsss
  • games/hedgewars: Free Worms-like turn based strategy game
  • depends on FreePascal infrastructure revamp by acm@ (ports/124235)

Interesting things to port

  • Number of free (as in beer), but closedsource linux games
  • Some OIS using games are available to port after we have devel/ois
    • Those Funny Funguloids (I have a port, but it crashes wierdly)
    • Orxonox
    • Powerball (looks nice, but there are license issues with data - may we have that in ports at all?)
    • CSP
    • Safe Free Zone (looks dead)
  • Apricot project is a mush (they've not opened their source yet)
  • Second Life Client (they have docs on how to build on FreeBSD in their wiki also with patches, but it all looks just to scary for me)

Ports that need fixing

  • lang/gdc
  • exceptions don't work for some reason with our D compiler.
  • devel/scons
  • doesn't propagate environment variables. This breaks building scons-using ports with ccache enabled in tindys, because required environment variables like CCACHE_DIR won't get to ccache. For now, propagating whole environment can only be done with patching SConstructs (`ENV = os.environ' needs to be added to Environment()). The better would be to have knob is scons. Even better if it's pushed upstream, but undocumented knob just for FreeBSD port might also be acceptable.

Software

  • kiconv preload
  • An utility to preload charset conversion tables into kernel iconv on boot time, so users can mount media (cd9660, msdosfs) with vfs.usermount=1 with charset conversion and not get Permission Denied error.
  • Status: Utility is very simple, but I still need to add more flexible command arguments parsing, rc.d script and make a port.
  • Improving joystick support on FreeBSD
  • Under FreeBSD, joysticks, rudders and other game controllers are supported via joy(4) and uhid(4) devices. Most common libraries to add joystick support to opensource games are SDL, OIS and plib. Unfortunately, OIS port currently doesn't support any joysticks at all, and SDL fails to work with my Microsoft SideWinder Force Feedback 2 Joystick. So here what I plan to do to improve the situation:
    1. Write FreeBSD joystick support for OIS from scratch. This should be done with using libusbhid(3) pretty similar way to how it's done in SDL, but I plan to make it in more common and clear way, so even my M$ joystick works.
    2. Next step is to improve SDL. Still need to speak with SDL guys if they're against complete rewrite, hack is also acceptable.
    3. Next thing is to check out plib capabilities.
    4. Another large task it Force Feedback support. Need to read some documentation and docs on how it can be implemented, then add support to OIS (other libs don't support FF AFAIK)
  • Status: Discovered what was SDL problem, played with libusbhid a bit.
  • Better FUSE based automounter
  • Apart from complicated config and need for NFS services, amd(8) lacks some functionality. For example, it cannot mount filesystems inside jails - symlink to real filesystem mountpoint created in, say, $JAILDIR/hosts/ will point to $JAILDIR/.amd_mnt, instead of /.amd_mnt.
  • Status: Not started
  • Utility for copying parts of file hierarchy
  • Would be useful for creating minimal jails or flash images. Main idea is to have list of path include/exclude specifications, like this:
+/etc
+/usr                      # copy /usr
-/usr/local                # but exclude usr/local
+/usr/local/{bin,lib,sbin} # still copy bin, sbin, lib
-/usr/share
+/usr/share/{groff_font,man,syscons,zoneinfo}
+/usr/share/locale/*UTF8*/LC_*
  • Add ability to override file ownership, permissions and flags, ability to create links instead of copying etc.
  • Status: Not started

  • dmitrymarakasov.1214321152.txt.gz
  • Last modified: 2008/06/24 15:25
  • by DmitryMarakasov