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