Installing adesklets ******************** Compilation Requirements ======================== To compile adesklets from source, you will need: * A compiler supporting ANSI C plus variadic macros (about every version of gcc from 2.7.0 will do - or about everything else published in the last ten years, for that matter) * X11 libraries and headers(1) * Imlib2 1.1.2 and up (the more recent the better; go and fetch it from http://sourceforge.net/projects/enlightenment/ ) * GNU readline * A reasonably POSIX-compliant system It can also use, if present in the system: * fontconfig , for automated detection of all usable fonts present in the system * GNU history , the faithful complement to GNU readline for command history support: _it is required to have it for all the desklets using interactive mode of execution_ * iconv library and headers (such as libiconv ), for internationalization support (dynamic support of extended character sets) * Python 2.3 and up, if you want Python support (you most probably do - most desklets are written in this language for now) * Perl 5.8.2 and up(2), if you want Perl support (some desklets will be written in Perl) Many systems routinely package "development" versions of libraries and tools separately (`imlib2-devel', `readline-devel', `fontconfig-devel', `python-devel', etc); if this is the case for the target system, those have to be chosen over the "regular" versions; you do not need anything but the runtime for Perl though, since the enclosed package is pure Perl. Runtime requirements ==================== In addition to the compilation requirements, the optional adesklets shell frontend, installed by default, will itself need a few utilities, all expected to minimally comply with POSIX 1003.2 and 1003.2a specifications: * a sh-compatible `/bin/sh' shell * a Streaming EDitor (sed) * test, mkdir, rmdir, sleep, kill and ls The `xwininfo' and `xprop' programs can also be used by this frontend, if a given fake-root window detection routine is explicitely invoked. Both XFree86 and X.org (R6 and R7) implementations of these utilities have been tested. Other programs will eventually be used by specific detection routine: see the frontend source for details. Portability Notice ================== This package was built with portability in mind: all vendor-specific extensions were avoided, and specs (ANSI, SVID 3, BSD 4.3, POSIX) were followed in a conservative way. Nevertheless, original development took place on a single Linux system; it is quite probable that adesklets will not compile or work as expected in some cases. Fixing portability issues is an important concern for us. adesklets has been ported and successfully tested by the developers on many systems. As of version 0.6.0, it has been verified to compile and run out of the box on a variety of: * *Kernels/Systems*: Linux (2.2, 2.4, 2.6 series), FreeBSD (4.10, 5, 6 and 7), NetBSD (1.6), OpenBSD (3.8) * *C Libraries*: (when applicable): glibc (2.1.3 and up), uclibc (0.9.28) * *Compilers*: gcc (2.95.2, whole 3 serie, 4.0.2, 4.1.0) Moreover, adesklets itself is fully architecture independent, although Imlib2 is further optimized for the x86 and amd64. It is routinely used on x86, amd64 and ppc machines by the author. At the time of writing, adesklets is already integrated in ports collections of many BSD and software libraries of linux distributions. For reference, let's mention: * Debian package: http://packages.debian.org/unstable/x11/adesklets , maintained by Bartosz Fenski <fenio@debian.org> (also in testing and stable branches). * FreeBSD port: http://www.freshports.org/deskutils/adesklets/ , maintained by Roman Bogorodskiy <novel@freebsd.org>. Did you try to run the package on something not listed here? Let us know, especially if it did not work. Software download ================= The current version of the software (as a source bzip'ed tarball) can be found on the SourceForge project page: http://sf.net/projects/adesklets/ You can extract it from the console with `tar'. As of version 0.6.0, the command line would be: tar xvjf adesklets-0.6.0.tar.bz2 or, if your installed version of `tar' does not support filtering archives through bzip2: bzcat adesklets-0.6.0.tar.bz2 | tar xv Verifying Software Integrity (optional) ======================================= As of adesklets 0.6.0, you can also download from SourceForge an ascii-armored detached signature named `adesklets-0.6.0.tar.bz2.asc', that you can match against the author's Open PGP public key (*note Open PGP Public Key::, in appendix) to assert the package integrity. For instance, with `GnuPG' (http://www.gnupg.org/ ), you would use: gpg --verify adesklets-0.6.0.tar.bz2.asc adesklets-0.6.0.tar.bz2 You can also get the public key for <syfou@users.sourceforge.net> from various public key servers such as http://www.keyserver.net/ or http://pgp.mit.edu/ . Feel free to contact the author directly if you want to authenticate the key further. Compilation and Installation: ============================= adesklets provides the usual autoconf/automake scripts of GNU packages. Therefore, in most cases, installation follows the normal three steps: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages describing which features it is checking for. 2. Type `make' to compile the package. 3. Type `make install' to install the programs and any data files and documentation. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. Compilers and Options: ====================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. You can give `configure' initial values for variables by setting them in the environment. Using a Bourne-compatible shell, you can do that on the command line like this: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure Or on systems that have the `env' program, you can do it like this: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure Optional Features: ================== adesklets comes with a few optional features you can select or not from the `configure' script. Type: ./configure --help for a complete, short description. Here are a few interesting ones: * You may choose to compile adesklets without X support at all (`--without-x'). You will get a version that is obviously not suited for desklets rendering, but still good for command line image manipulation * You can remove support for some others packages as well: `--without-history', `--without-fontconfig' * The shell frontend can be avoided altogether using: `--disable-frontend-shell-driver' ---------- Footnotes ---------- (1) Except for headless builds, useful for server environments and such; read further for details. (2) Some older versions carry a version of makemaker that has broken DESTDIR support.