[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: pkg-src

From: Aleksej Saushev
Subject: [Axiom-developer] Re: pkg-src
Date: Sun, 18 May 2008 23:43:34 +0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (berkeley-unix)

root <address@hidden> writes:

>>I'd really like to push Axiom into the world, but I don't
>>believe in tarballs or binary packages, other ways for Axiom
>>to get into major distribution is pkgsrc (
> I'm looking at pkgsrc now.
> Axiom is currently available as tarballs and binaries.
> It is also available thru git, arch, cvs, and svn.
> Master copies of releases are updated every other month on
> sourceforge, savannah, github, and

This scheme actually is problematic. We need tarballs or other
reliable forms of distribution (like ZIP archives), so that we
could have reliable cryptographic sums. VCS access is problematic.

In WIP ( there's support for VCS-based
packages, but those are really unreliable. I maintain several of
them, and have to admit it myself. To support you need to be able
to reproduce bugs. With VCS-based package it is problematic.

>>I had experience with several similar attempts
>>in past, they all presented miserable picture. As for now,
>>I see only one practical way. It is pkgsrc. The points are:
>>1. It is really cross-platform. I use it on NetBSD, FreeBSD,
>>have used it successfully on RedHat Fedora, Gentoo, SuSE,
>>Debian, Windows XP. I know personally those, who use it on
>>Solaris, IRIX, HP-UX, Mac OS X.
> I tried to port Axiom to FreeBSD without success.
> I did succeed getting it running on Mac OSX.
> There is an old Debian version of Axiom but Debian requires a
> complete restructuring of the source tree to do things like split
> the documentation from the source code. Given that Axiom merges
> documentation and source this isn't a reasonable split for Axiom.
> I have a copy of the latest OpenSolaris but the build attempt is
> stalled because Latex requires a module from Sun which is not
> available except to people who pay for support. I can find no way
> around this restriction so OpenSolaris support is unlikely.

I haven't heard of any problems with teTeX on Solaris.

You might want to try the version from pkgsrc. If you fail
occasionally, you should definitly contact package team at
<address@hidden> or file bug report at
Solaris is one of the best supported platforms.

>>2. There's technically qualified community around that supports
>>it, providing regular bulk builds for major platforms.
> A community that supports pkgsrc? Or a community that supports
> the packages? I doubt I'll find a community that supports the 
> packages.

We do support packages. And since Axiom belongs to the class of
rather rare open-source programs, you may find more supporters,
than you expect.

>>3. You can ship reduced infrastructure just to deploy Axiom,
>>thus you don't need to maintain tools yourself.
> Axiom requires very little "infrastructure", basically just
> make, some X11 libraries, latex, awk, and gcc.
> There has been no need to "maintain" any tools. Tools are not
> the key problem facing Axiom. Axiom needs more documentation
> and more user-related information. The build system Makefile
> chain has been working for 5 years and is rarely changed.

It doesn't work for me, and many others will consider it unacceptible
to maintain in their system. Probably I come from quite a different
world, and in my world there're rather strict rules to what a package
may and what it may not. Of course, some can let it go any way,
if it doesn't interfere with others, but this is considered
messy nevertheless.

Indifferent to my world, people usually prefer native system packages,
when there's no one, they tend not to install anything at all,
because eventually things change, and you have to update.
What package management system (e.g. pkgsrc) provides, is clean
update path. Once you installed, you don't need to pass through
it, when updating. Installation from tarballs proved to be risky.

>>The only problem is... Axiom needs to get cross-platform too.
>>This means, that Lisp in the base has to be changed,
>>GCL is dead beyond resurrection, choices are CLISP and SBCL.
>>Sad, but true. Other lisps are less portable and less
>>actively supported.
> Hmmm, methinks you fall into the philosophy supporting FriCAS.
> Waldek seems to have your goals already achieved.

Except for literate programming, if I understand it correct,
and tarball, which I'm waiting for.

> Axiom's approach to becoming cross-platform is to use the browser for
> the help system and graphics. Once that is complete we can delete all
> of the non-portable C code.

Hm. This means the usage of CGI or similar interfaces.
This may be more problematic, than X toolkits.

> Next we move to a lisp-only ASDF build system on an ANSI common lisp
> platform which gets rid of make and all the related tools. The
> lisp-only system will have native support for noweb style source files
> since these are the standard Axiom file format. Thus there will be no
> need for noweb.
> So, in the longer term the only "tools" needed will be lisp and latex.
> Everything else, such as make, gcc, awk, noweb, and other tools will
> just fade away.

The direction is rather clear here. The only problem with this way is,
that ASDF doesn't support parallel builds (make does). When the source
grows, this may become an issue.

> At the present time all anyone needs to do to build Axiom is to set
> the AXIOM shell variable properly and type 'make'. I only claim that
> Axiom "just works" on systems that I've personally built. You can see
> the list on <>

Right, I've seen this list, it doesn't contain any system, which I use.

> I don't see that this is an area where there is much to improve. Not
> everyone agrees.  If you would like to hear other opinions they are
> journaled in the mailing list archives.

> Given your suggestion, though, I'll review pkgsrc sometime this week.

Good luck! If you have any questions, you can ask them on mailing list
<address@hidden>, or on the IRC #pkgsrc at

reply via email to

[Prev in Thread] Current Thread [Next in Thread]