source: trunk/third/eel/README @ 17274

Revision 17274, 7.8 KB checked in by amb, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17273, which included commits to RCS files with non-trunk default branches.
Line 
1This file briefly describes Eel, the Eazel Extensions Library.  It
2also contains build instructions as well as other information that
3might be useful for folks trying to either use Eel or hack on it.
4
5====================
60: Table of contents
7====================
8
90: Table of contents
101: Hacking
112: Introduction
123: Distribution-specific notes
134: Compiling
145: FreeType issues
15
16==========
171: Hacking
18==========
19
20If you would like to hack on Eel, or have patches, please send
21them to the Nautilus mailing list:
22
23<nautilus-list@lists.eazel.com>
24
25We use the Nautilus mailing list because the code in Eel was
26originally part of Nautilus.  If there is enough interest in
27discussing Eel on this list, we will create a new mailing list
28as soon as the traffic warrants it.
29
30===============
312: Introduction
32===============
33
34The Eazel Extensions Library is a collection of widgets and extensions
35to many modules of the GNOME platform.  These widgets and extensions
36were developed by hackers working on Nautilus.   For the duration of
37the Nautilus 1.0 development cycle, the code was internal to Nautilus
38and its components.
39
40In order to make these useful extensions usable to other projects, we
41have decided to put then in their own library.  It is possible that
42we will move even more extensions/widgets from Nautilus to Eel.
43
44If you wish to use Eel for a project, have patches, suggestions and/or
45you wish to discuss whether some of the extensions belong in the
46library they extend, please send mail to the mailing list in section 1.
47
48==============================
493: Distribution-specific notes
50==============================
51
52The following describes the libraries that Eel hackers use for
53development and what we have tested with. At the moment, we make no
54guarantees one way or another about whether Eel will work with
55other versions.
56
57You will also need the library package that is associated with each
58development package, these versions are for Red Hat 6.2 and Debian
59"potato":
60
61library         Red Hat                     Debian                          approx. version
62--------------  ------------------------    ------------------------------  ------------------
63audiofile       audiofile-devel-0.1.9-3     libaudiofile-dev (0.1.9-0.1)    0.1.9
64esound          esound-0.2.20               ?                               0.2
65libc            glibc-devel-2.1.3-15        libc6-dev (2.1.3-10)            2.1.3
66libc++          egcs-c++-1.1.2-30           libstdc++2.10-dev (2.95.2-12)   2.9.0, 2.10
67libjpeg         libjpeg-devel-6b-10         libjpeg62-dev (6b-1.2)          6b 1.0-1.2
68libpng          libpng-devel-1.0.5-3        libpng2-dev (1.0.5-1)           1.0.5
69libtiff         libtiff-devel-3.5.4-5       libtiff3g-dev (3.5.4-5)         3.5.4
70libungif        libungif-devel-4.1.0-4      libungif3g-dev (3.0-3)          3.0 or 4.1.0
71Xlib            XFree86-devel-3.3.6-20      xlib6g-dev (3.3.6-7)            3.3.6
72zlib            zlib-devel-1.1.3-6          zlib1g-dev (1.1.3-5)            1.1.3
73freetype2       freetype2-devel-1.0beta8    ?                               1.0beta8
74
75Other modules for Red Hat users:
76
77        - For most modules, the versions in Red Hat 6.1 or 6.2 will do (listed above).
78
79        - FreeType packages are available here:
80
81        http://developer.eazel.com/eazel-hacking/updates/redhat62/freetype2/freetype-2.0.1-4.i386.rpm
82        http://developer.eazel.com/eazel-hacking/updates/redhat62/freetype2/freetype-devel-2.0.1-4.i386.rpm
83
84Replace "redhat62" with "redhat70" if you are using RedHat Linux 7.0.
85
86Other modules for Debian users: using potato, or possibly woody:
87
88        - None are known at this time
89
90=====================
914: Compiling from cvs
92=====================
93
94NOTE: Instructions on compiling from tarballs should be extracted from
95the copy of Eel inside the tarball, not here in CVS.
96
97Compiling from cvs a lot of work, and some packages may not compile at
98any given moment when you check them out.
99
100First, make sure you have installed the packages detailed below. If
101you are running GNOME from binaries (Helix Code or your native
102distribution binaries), please make sure you have installed the
103corresponding development packages. (i.e.: the *-devel packages which
104provide the necessary C header files.
105
106Then, make sure you have no old version of the packages eel
107depends on on your system. You can check the version of the relevant
108packages by trying to execute "package-config --version" (ie:
109gnome-config --version will report gnome-libs version, gconf-config
110--version will report gconf's version).
111
112The following lists the packages and the versions that are required.
113
114    module             branch             configure options
115    ------             ------             -----------------
116    glib:              glib-1-2
117    gtk+:              gtk-1-2
118    gnome-xml:         LIB_XML_1_BRANCH
119    gnome-libs:        gnome-libs-1-0     --enable-prefer-db1
120    xml-i18n-tools:    xml-i18n-tools-stable-1-x
121    gdk-pixbuf:        HEAD               --enable-canvas-pixbuf
122    gnome-vfs:         HEAD
123    librsvg:           HEAD
124
125One difference between tarball and cvs compilation is that when you
126get stuff from cvs, you don't get a configure script. This script has
127to be generated.  This script is usually generated with the help of
128another script available from cvs named "autogen.sh". For those
129interested, "autogen.sh" will run in turn aclocal, automake, autoconf
130and configure. You thus need versions of the GNU tools for the
131following packages:
132
133        package         version       command
134        -------         -------       -------
135        automake        1.4           automake --version
136        autoconf        2.13          autoconf --version
137
138Earlier versions might work but no one has tested them.
139
140You will need to create the ${prefix}/share/aclocal directory
141before compiling any package and setup the following environment
142variable:
143
144        export ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ${prefix}/share/aclocal"
145
146We assume you want to install these packages in another prefix than
147/usr since you want to keep a working system. For the following, we
148assume you are installing in /usr/local. ie: ${prefix}=/usr/local
149
150Redefine your PATH environment variable:
151        export PATH=$PATH:${prefix}/bin
152
153Redefine your LD_LIBRARY_PATH environment variable:
154
155        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${prefix}/lib
156
157Redefine your GNOME_PATH environment variable:
158
159        export GNOME_PATH=$GNOME_PATH:${prefix}
160
161In the order defined above and with the specific options detailed
162above for each package, you should run the autogen scripts:
163
164        ./autogen.sh --prefix=${prefix} <special-options>
165
166Then:
167
168        make
169
170Then get root and:
171
172        make install.
173
174==================
1755: FreeType issues
176==================
177
178Eel includes support for rendering anti aliased text (smooth
179mode).  For smooth mode to work, Eel needs to detect and use
180FreeType2 in your system.
181
182To learn more about FreeType2, please see:
183
184        http://freetype.sourceforge.net/
185
186If you are using a RedHat 6.x or greater system, then you can easily
187add FreeType2 support by installing the rpms found here:
188
189        http://developer.eazel.com/eazel-hacking/updates/redhat62/freetype2
190
191Replace "redhat62" with "redhat70" if you are using RedHat Linux 7.0.
192
193Originally, the Freetype 2 rpm that we used for Eel/Nautilus was called "freetype2".
194Now that RedHat 7.1 is is coming around, they have included freetype 2 in their
195distribution.  They called the rpm "freetype-2" (Freetype Version 2).  Their
196freetype-2 rpm contains both Freetype version 1 and Freetype version 2.  In
197order to avoid naming conflicts, we have renamed our freetype2 rpm to freetype-2.
198This will cause problems for people upgrading from our old rpms to our new ones.
199To remove the old rpms,
200
2011) su
202   <password>
2032) rpm -e --nodeps freetype2 freetype2-devel
2043) Install the new Freetype-2 rpms: rpm -Uvh freetype*2.0.1*.rpm
Note: See TracBrowser for help on using the repository browser.