Geek Gadgets Projects List

Edition 0.1, last updated 17 November 1996.

Generated on 1 October 1997

by Niall Teasdale, nt@sss.co.uk


Table of Contents


Copyright (C) 1997

How Can You Help

There is an incredible amount of programmer talent available in the Amiga community, with an incalculable amount of hours going into producing demos, freely distributable software, shareware, and other such goodies. If only 1% of that effort could be harnessed to improve Geek Gadgets, we could easily have a standard set of freely available tools that would rival any commercially available tools for the Amiga.

You do not have to be an expert AmigaDOS programmer to help. Neither do you have to be an expert in compiler or other software tools technology. All you have to do is be willing to learn and be willing to work in a community effort.

As you read the project list, look for things that you think are within your capabilities to either work on, or to help test, or even simply to help document. If you think of something interesting that either needs doing by yourself or someone else, send that suggestion to the maintainer of this list. Tackle as big or as small of a project as your skills and available time permits. Think of it as "adopting a program".

If you do want to take on one of the projects mentioned in this file, send email to <gg-projects@hedgehog.demon.co.uk>.

Rewards

For certain projects we may offer small rewards to the first person or team of persons to complete them. If you can't help with a project, perhaps you or the company you work for can contribute to an award for a specific project. You can pledge an award for any project you wish.

BTW. It's the Projects Manager's job to make sure rewards are sent off when they have been earned, so don't forget to let me know when you think you've earned it.

Difficulty

Each project has a rating of how difficult it is. This is an educated guess only, so in reality it may turn out to be easier/more difficult than expected. In general, easy projects can be done by anyone with some C programming knowledge, and preferably some knowledge about tools like 'make'. If you get stuck, just ask. There are always people willing to help out.

Projects of average difficulty can be done by anyone who has a reasonable C programming experience and a more than passing knowledge of Unix-like systems. Again, if you get stuck somewhere, just ask.

Finally, difficult projects require a solid knowledge about Unix and C programming. You must be aware of the Unix kernel functions and about the pitfalls and complexities of programming in a multitasking evironment. Also knowledge about 680x0 programming is required for some projects. As usual, if you get stuck, ask.

Often, the difficulty rating is a range (easy-average, average-difficult). In that case it wasn't possible to make a very educated guess because nobody had really looked into it to find out what exactly needs to be done. So you'll have to find out as you go along.

Projects List

This is a list of projects related to maintenance or development of Geek Gadgets. This list is currently being maintained by Niall Teasdale <gg-projects@hedgehog.demon.co.uk>.

Project 1: Get binutils changes merged back into main source

DESCRIPTION

Take the changes that were made in 2.6 and work with the maintainers of binutils at cygnus to ensure that those changes will still work in the next release and also hopefully to get the changes accepted into the master source tree so they don't have to be maintained separately.

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services

DIFFICULTY

Average

STATUS

No current activity.

Daniel Verite <daniel@brainstorm.eu.org> has been in contact with Ian Taylor <ian@cygnus.com> of Cygnus about getting this done. It is possible, but some hacks need cleaning up. Daniel does not think he has time to do this at the moment. If someone would like to volunteer, get in touch with Daniel as he can probably offer some help.

Project 2: Test -RESIDENT (-resident with 32-bit offsets)

DESCRIPTION

An option -flarge-baserel exists in gcc. This is the same as -fbaserel, would overcome the 64K limit for data.

In order to test this all libraries need to be recompiled with this flag. If it works, an option -RESIDENT or -resident32 or whatever should be added to the specs file.

It is reported that this does not work and needs to be fixed.

VOLUNTEERS

REWARD

2 free Aminet or Geek Gadgets CDs - value USD 40 - furnished by Amiga Library Services

DIFFICULTY

Easy

STATUS

No current activity.

Project 3: Replace the current inlines by the new define-based inlines

DESCRIPTION

VOLUNTEERS

REWARD

2 free Aminet or Geek Gadgets CDs - value USD 40 - furnished by Amiga Library Services

STATUS

Completed by Kamil Iskra <iskra@student.uci.agh.edu.pl>.

Project 4: Fix latest version of GNU tar

DESCRIPTION

Find out why "cat t.tar.gz | tar xzvf -" fails to work for large archives. Also find out why tar is unable to do something like:

tar -Mxvf DEV:PC0

with any of the DEV-handlers on Aminet. Similar problems if you use the PIPE: device instead. All is does is to print

Operation not supported by device

There have been two ports of GNU tar which worked and didn't use ixemul.library, so maybe the problem is in ixemul/open()?

VOLUNTEERS

REWARD

2 free Aminet or Geek Gadgets CDs - value USD 40 - furnished by Amiga Library Services

DIFFICULTY

Easy

STATUS

Hans Verkuil has analyzed the first problem with piping and tar still needs to be patched to work around it. Volunteers can contact him for details.

I've had a report that this has been fixed and I need to check that the patches have been applied.

Project 5: Upgrade to the latest pdksh

DESCRIPTION

Some work has been done on this by Lars Hecking <lhecking@nmrc.ucc.ie>. He has merged the diffs from 4.9 (and some more stuff) into 5.2.3. It compiles fine and runs mostly ok interactively, but dies on scripts. It is believed that fork()/vfork() emulation is incomplete.

There are also a couple of documented bugs in pdksh 4.9 that either need to be fixed in 4.9 or else ensure they are fixed in the updated version:

* In pdksh 4.9, the built in echo doesn't properly handle args that start with '-', so we have to use GNU echo.

* Pdksh 4.9 doesn't properly handle the following, either interactively or in a script file. No warning or error is generated, the elif clause is simply ignored:

if test -f foo then echo foo elif test -f bar <--- missing following "then" echo bar fi

* Pdksh 4.9 does not properly handle the following:

cat >a.c <<EOF EOF VOLUNTEERS

David Zaroski <cz253@cleveland.Freenet.Ed>

DIFFICULTY

Difficult

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services

Project 6: Port bash

DESCRIPTION

Some work has been done on this by Lars Hecking <lhecking@nmrc.ucc.ie>. He is able to supply a corrected config.sh (the one generated from configure is faulty). As for the pdksh port, some code needs to be written for launching external progs (fork()/vfork() emulation, again).

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services

DIFFICULTY

Difficult

STATUS

No current activity.

Project 7: Add MuFS support to ixemul library

DESCRIPTION

Mike Krings <kringsm@athene.informatik.uni-bonn.de> has already done some work on this. E.g. he has implemented getpwuid() getpwname() getgrgid() and some more. But some problems have come up. Functions like getpwuid() return the data in a static buffer, which is difficult to implement in a shared library. But this problem can be solved.

He will do some future work, if anyone could do the following stuff:

- open "multiuser.library" V39 on ixemul startup - close it on shutdown

Also, the multiuser headers should be integrated into the ixemul include tree in the ixemul source so anyone can rebuild the library.

VOLUNTEERS

Hans Verkuil

REWARD

Free Aminet or Geek Gadgets CDs, quantity depends upon actual work - furnished by Amiga Library Services

DIFFICULTY

Average

STATUS

Completed by Mike Krings.

Project 8: Implement the chip-keyword in gcc

DESCRIPTION

Some code already exists and it would be wonderful if somebody would take this on.

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services

DIFFICULTY

Difficult

STATUS

This is done, but requires a (currently alpha) version of binutils which has full amigados hunk support. Anyone want to test it?

Project 9: Write an AmigaDOS GUI for gdb

DESCRIPTION

Write a GUI for gdb. Gdb already has hooks for GUI's. A good place to start would be to get and examine GDBTK, which is a version of GDB that has a GUI written in TK. Available from ftp.cygnus.com in pub/gdb.

VOLUNTEERS

Jason White <jpwhite@harp.aix.calpoly.edu>

REWARD

10 free Aminet or Geek Gadgets CDs - value USD 200 - furnished by Amiga Library Services

DIFFICULTY

Difficult

STATUS

Jason has volunteered to do this and has a web page for this project at <http://www.calpoly.edu/~jpwhite/>.

The project is already well under way and he expects to meet the deadlines that he has set on the web page.

As of October 14, Paul reports that he hopes the beta will be ready in November.

Project 10: Update GNU emacs port to latest release

DESCRIPTION

Current EMACS ports are based on version 18.59. A port of 19.28 exists but is not stable. First step is to make it stable and make it work, second step is to convert it so that it compiles with GNU C as well as SAS/C.

One problem apparently with emacs19 is that it doesn't work on systems that have different memory pools. That means that Amiga's where the physical addresses of the memory boards are far apart (say, 0x00300000-0x00500000, 0x07000000-0x07400000) cannot use emacs. It assumes that the upper 8 bits of all memory addresses are preferably 0, or at least always have the same constant value. And that's also a problem with emacs 18. It will not run reliably on Amiga which has such a problematic memory configuration.

VOLUNTEERS

REWARD

10 free Aminet or Geek Gadgets CDs - value USD 200 - furnished by Amiga Library Services

DIFFICULTY

Difficult

STATUS

No current activity.

Fred has some diffs for Emacs 19.28 which need applying to the base 19.34b code and then making work.

Project 11: Port ghostview

DESCRIPTION

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services

DIFFICULTY

Average-difficult

STATUS

No current activity.

Project 12: Fold changes back into main source bases

DESCRIPTION

Many of the changes currently in Geek Gadgets are candidates for being folded back into the main source base for each of the specific tools. You will need to work with the maintainer of each tool to take the current changes and get them folded back into his source tree. Some changes may require complete reworks in order to make them acceptable, and some may be acceptable "as is".

VOLUNTEERS

DIFFICULTY

Average

REWARD

Free Aminet or Geek Gadgets CDs, quantity depends upon actual work - furnished by Amiga Library Services

STATUS

No current activity.

Project 13: Keep the Geek Gadgets Projects List up to date

DESCRIPTION

This list now takes the form of a texinfo file which needs to be kept up to date.

VOLUNTEERS

Niall Teasdale, Geek Gadgets 'Projects Manager' <gg-projects@hedgehog.demon.co.uk>

DIFFICULTY

Beyond imagining

REWARD

The satisfaction of a job well done.

STATUS

October 13th 1996 sees the first texinfo version of this list going live.

In the future I plan to build a small database program to maintain the list (automatic output of texinfo) which should ease the job.

Project 14: Complete a port of the latest version of Perl

DESCRIPTION

Complete a port of the latest version of perl, including having it pass it's testsuite. Some work has already been done <fnf@amigalib.com>.

VOLUNTEERS

Hans Verkuil

REWARD

2 free Aminet or Geek Gadgets CDs - value USD 40 - furnished by Amiga Library Services

STATUS

This is now in the latest snapshot. Work done by?

Project 15: Port TK to the Amiga

DESCRIPTION

VOLUNTEERS

Hans Verkuil

REWARD

10 free Aminet or Geek Gadgets CDs - value USD 200 - furnished by Amiga Library Services

DIFFICULTY

Average-difficult

STATUS

Hans is working on this as part of his X port.

Project 16: Turn TCL libraries into shared library tcl.library

DESCRIPTION

The need for this is not yet established completely. It seems reasonable, since tcl is such a cool thing, and it would be good to have the shareable parts be in a shared library.

VOLUNTEERS

Hans Verkuil

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services

DIFFICULTY

Average

STATUS

Hans is working on this as part of his X port.

Project 17: Making tasking in GNU ADA work

DESCRIPTION

Probably requires porting effort of low level support library.

VOLUNTEERS

REWARD

2 free Aminet or Geek Gadgets CDs - value USD 40 - furnished by Amiga Library Services

DIFFICULTY

Difficult

STATUS

No current activity.

Project 18: Implement support to access the serial port in a Unix compatible way

DESCRIPTION

Many programs, such as gdb and GNU uucp, require access to the serial port. In order to easily port these programs support needs to be added to ixemul.library to emulate the way Unix handles this. I'm not entirely sure what exactly needs to be done, but it will probably entail adding special handling for a /dev/ttya file (much like the way /dev/null is currently handled).

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services

DIFFICULTY

Average-difficult

STATUS

No current activity.

Project 19: Port programs from the NetBSD distribution to the Amiga

DESCRIPTION

The NetBSD distribution <ftp://ftp.netbsd.org> provides a huge number of programs and utilities that are also free and a lot of these programs are probably quite easy to port.

VOLUNTEERS

Hans Verkuil

REWARD

2 free Aminet or Geek Gadgets CDs - value USD 40 - for each "significant" port (includes making it GNU "make" compatible and use autoconfig) - furnished by Amiga Library Services

DIFFICULTY Easy-average (depends on which programs you port, of course :-)

STATUS

No current activity.

Project 20: Port glibc-1.09, the GNU standard C library

DESCRIPTION

The PROJECT line says it all, really.

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services.

DIFFICULTY

Average

STATUS

No current activity.

Project 21: Merge useful parts from PasTeX into Geek Gadgets unixtex

DESCRIPTION

A very useful thing for someone to do would be to try building PasTeX from the supplied source. Assuming that works, and that the source is complete, there would probably be some parts that would be very useful to merge into the Geek Gadgets unixtex, such as showdvi for example. At one time the Geek Gadgets unixtex was based on a newer version of TeX than PasTeX, but I don't know if that is still true or not, if PasTeX has been updated. In any case, Geek Gadgets unixtex could also use some updating from the CTAN archives.

VOLUNTEERS

REWARD

3 free Aminet or Geek Gadgets CDs - value USD 60 - furnished by Amiga Library Services.

DIFFICULTY

Average

STATUS

No current activity.

Project 22: Construct a shared/link library to use X11 programs/source

DESCRIPTION

Try to make an X11 emulation library so that X11 programs can be compiled and linked with it and look like a 'normal' Amiga program. Use the existing source of DJGPP's GRXLIB (MSDOS GCC port) as a starting point. GRXLIB implements an API to access VGA gfxcards. One could make an VGA card that resembles the Amiga gfx chipset. Use the X11 emulation library XlibEmu, which uses GRXLIB, to build the actual X11 emulation. Terje Pedersen did it so it is possible.

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services.

DIFFICULTY

Might depend if the project could be splitted into several parts or not.

STATUS

No current activity, well some ;)

Project 23: "Amiga-fy" JOVE (Jonathan's Own Version of EMACS)

DESCRIPTION

JOVE is a very nice, small EMACS type editor, which comes from the contrib portion of the BSD distribution. It would be very nice to have an Intuition interface for it, rather than the current termcap based one.

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services.

DIFFICULTY

Moderate.

STATUS

No current activity.

Project 24: Turn libg++ into a shared library

DESCRIPTION

Libg++ contains most of the C++ runtime support for the GNU C++ compiler. It would be very useful to have a shared library version available, as well as the regular link library.

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services.

DIFFICULTY

Moderate.

STATUS

No current activity.

Project 25: Port Red Hat Linux's RPM

DESCRIPTION

The Geek Gadgets needs a package management system, that keeps track of what packages are installed, what files belong to what packages, what the versions are of each package, uninstalling a package, upgrading an installed package, etc. The Red Hat Linux distribution has such a package, called RPM.

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services.

DIFFICULTY

Moderate to easy.

STATUS

Part of the current snaphot. Work done by Kristof Depraetere <Kristof Depraetere@rug.ac.be>. He's working with Eric Troan of Red Hat Software to get his code integrated back into the baseline software.

Project 26: Generate Objective-C runtime shared library

DESCRIPTION

Transform the GNU Objective-C runtime library (libobjc.a) into an Amiga shared library.

VOLUNTEERS

REWARD

5 free Aminet or Geek Gadgets CDs - value USD 100 - furnished by Amiga Library Services.

DIFFICULTY

Moderate.

STATUS

Laurent Peron <Laurent.Peron@emi.u-bordeaux.fr> volunteered for this originally.

Summer project of Laurent's, status report Sept 96.

Laurent has now abandoned this project in favour of a port of GNU Guile to the Amiga. New volunteers are welcomed.

Project 27: Integrate shared library handling into gcc/ld

DESCRIPTION

From a recent email on gg-gcc:

One problem with the current approach with respect to shared libraries is that every program that links with shared libraries has to be linked in a non-standard way. This should be integrated into gcc or ld. I'm not sure which is the best. Fred suggested that perhaps the 'collect' tool could be used for this purpose.

Currently, if I want to link a program that uses one or more shared libraries, I have to call 'prelink' with the same arguments as the linker/gcc. Prelink determines which of the arguments specify a shared library and creates a small C source, which it compiles, and a linker script. Next you use the linker to link the program, but you have to specify the linker script through -Tshared.x. Finally you have to run the 'postlink' utility that postprocesses the executable.

All this should happen transparently. As programmer I don't want to know which libraries are static and which libraries are shared. However, there should be an option to disable this automatic detection. I don't want this to happen when I link a shared library, for example.

VOLUNTEERS

Kamil Iskra <iskra@student.uci.agh.edu.pl>

REWARD

Not yet decided.

DIFFICULTY

Not yet decided.

STATUS

In progress - preliminary version has been sent to Hans Verkuil and has been stated to be working well.

Project 28: Port wxWindows to the Amiga

DESCRIPTION

wxWindows is a C++ class library similar to the Microsoft Foundation Classes (MFC). It allows programs to be written for UNIX, Windows, VAX and other platforms in a manner which is more-or-less machine independant. The source code is available.

Included among various wxWindows apps is a GUI builder for wxWindows.

VOLUNTEERS

REWARD

Not yet defined.

DIFFICULTY

Moderate-Difficult.

STATUS

No work being carried out.

If anyone is interested in finding out more details, contact <gg-projects@hedgehog.demon.co.uk> and I'll supply the site name where information and source code can be found.

Project 29: Geek Gadgets port of Lynx

DESCRIPTION

VOLUNTEERS

REWARD

Not yet defined.

DIFFICULTY

Unknown.

STATUS

No work being carried out.

Project 30 Geek Gadgets port of tin

DESCRIPTION

Mathew Hunter reports that development on tin appears to have stopped. I anyone interested in continuing work on this program? Is work still being done?

VOLUNTEERS

Janne Kiviluoto <jajoki@utu.fi>

REWARD

Not yet defined.

DIFFICULTY

Unknown.

STATUS

Janne has volunteered for this one.

Mathew Hunter <mhunter@andrew.cmu.ed> has the source code.

Project 31: Integrate DLD into Geek Gadgets build scheme

DESCRIPTION

DLD (and one or two other things like libnix) need configure scipts and other bits and bobs adding to allow them to fit into the Geek Gadgets build scheme.

DLD also needs updating to the latest FSF version.

VOLUNTEERS

REWARD

Not yet defined.

DIFFICULTY

Unknown.

STATUS

No work being carried out.

Project 32: Find out (and fix) why make can't be made resident

DESCRIPTION

VOLUNTEERS

REWARD

Not yet defined.

DIFFICULTY

Unknown.

STATUS

Project completed, patches sent to Fred.

Project 33: Implement a POSIX.4 compliant thread library

DESCRIPTION

POSIX.4 is the real-time section of POSIX. It might be useful to have a thread library (and perhaps other aspects of this standard) on the Amiga.

Some work on threads has already been done to get kaffe working. This might be useable as a base. Ask on gg-java for information.

VOLUNTEERS

REWARD

Not yet defined.

DIFFICULTY

Unknown.

STATUS

No work being carried out.

Project 34: Geek Gadgets Webmaster

DESCRIPTION

Create a set of Geek Gadgets web pages to link to all the other Geek Gadgets related web pages and the material on ninemoons. Then those pages must be maintained.

VOLUNTEERS

L.A. Guest <L.A.Guest@computing.bradford.ac.uk> has taken on this role.

REWARD

Not yet defined.

DIFFICULTY

STATUS

Luke is busy compiling the pages now and needs to know about people currently doing other Geek Gadgets jobs (e.g. me) so they can be put on one of the pages.

Project 35: Add ARexx support to EMACS

DESCRIPTION

Add ARexx support to EMACS such that later it can be used as the core of an Integrated Development Environment.

VOLUNTEERS

REWARD

Not yet defined - a good one for someone to offer a reward for.

DIFFICULTY

Just guessing here, but I'd say this won't be easy.

STATUS

No work is currently being carried out.

Project 36: Port of Modula 3 Compiler

DESCRIPTION

Port a Modula 3 compiler to the Amiga. There is a freely available one which someone could try. If you missed the original posting (from Fred) and want to have a go, email the Projects Manager and I'll post you a copy.

VOLUNTEERS

REWARD

Not yet defined.

DIFFICULTY

Unknown.

STATUS

No work is currently being carried out.

Project 37: Port V to the Amiga

DESCRIPTION

V is another GUI design system. Sources are available at <ftp://ftp.cs.unm.edu/pub/wampler>. Really, this is an alternative to Project 28.

VOLUNTEERS

REWARD

Not yet defined.

DIFFICULTY

Unknown.

STATUS

No work is currently being carried out.


This document was generated on 1 October 1997 using the texi2html translator version 1.51.