Gentoo Archives: gentoo-user

From: maxim wexler <blissfix@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] help with ebuild
Date: Sun, 01 Jan 2006 16:52:06
Message-Id: 20060101164748.57177.qmail@web31708.mail.mud.yahoo.com
1 --- Lares Moreau <lares.moreau@×××××.com> wrote:
2
3 > On Sat, 2005-12-31 at 11:22 -0800, maxim wexler
4 > wrote:
5 > > Hello everybody,
6 > >
7 > > I'd like to write an ebuild for words-1.97, a
8 > nifty
9 > > latin -> english translator.
10 > >
11 > > In skel.ebuild for LICENSE="" what do I put? Are
12 > the
13 > > listings in /usr/portage/licenses all
14 > possibilities?
15 > > Which one do I pick? There doesn't seem to be any
16 > > direction in the docs for the words program
17 > itself.
18 > >
19 > > -mw
20 >
21 > In LICENCE you put the licence that words-1.97 is
22 > resleased under.
23 >
24 > Post your ebuild somewhere online and we'll take a
25 > look.
26
27 This is all I got so far. The guy who wrote it is
28 here,
29
30 bdragoo@×××××××××××××.edu
31
32 but he hasn't replied to me yet.
33
34
35 # Copyright 1999-2005 Gentoo Foundation
36 # Distributed under the terms of the GNU General
37 Public License v2
38 # $Header: $
39
40 # NOTE: The comments in this file are for instruction
41 and documentation.
42 # They're not meant to appear with your final,
43 production ebuild. Please
44 # remember to remove them before submitting or
45 committing your ebuild. That
46 # doesn't mean you can't add your own comments though.
47
48 # The 'Header' on the third line should just be left
49 alone. When your ebuild
50 # will be committed to cvs, the details on that line
51 will be automatically
52 # generated to contain the correct data.
53
54 # inherit lists eclasses to inherit functions from.
55 Almost all ebuilds should
56 # inherit eutils, as a large amount of important
57 functionality has been
58 # moved there. For example, the $(get_libdir)
59 mentioned below wont work
60 # without the following line:
61 inherit eutils
62 # A well-used example of an eclass function that needs
63 eutils is epatch. If
64 # your source needs patches applied, it's suggested to
65 put your patch in the
66 # 'files' directory and use:
67 #
68 # epatch ${FILESDIR}/patch-name-here
69 #
70 # eclasses tend to list descriptions of how to use
71 their functions properly.
72 # take a look at /usr/portage/eclasses/ for more
73 examples.
74
75 # Short one-line description of this package.
76 DESCRIPTION="This is a Latin to English translator"
77
78 # Homepage, not used by Portage directly but handy for
79 developer reference
80 HOMEPAGE="http://users.erols.com/whitaker/wordslux.htm"
81
82 # Point to any required sources; these will be
83 automatically downloaded by
84 # Portage.
85 SRC_URI="ftp://petrus.thomasaquinas.edu/pub/linux/words/words-1.97-linux.tar.gz"
86
87 # License of the package. This must match the name of
88 file(s) in
89 # /usr/portage/licenses/. For complex license
90 combination see the developer
91 # docs on gentoo.org for details.
92 LICENSE=""
93
94 # The SLOT variable is used to tell Portage if it's OK
95 to keep multiple
96 # versions of the same package installed at the same
97 time. For example,
98 # if we have a libfoo-1.2.2 and libfoo-1.3.2 (which is
99 not compatible
100 # with 1.2.2), it would be optimal to instruct Portage
101 to not remove
102 # libfoo-1.2.2 if we decide to upgrade to
103 libfoo-1.3.2. To do this,
104 # we specify SLOT="1.2" in libfoo-1.2.2 and SLOT="1.3"
105 in libfoo-1.3.2.
106 # emerge clean understands SLOTs, and will keep the
107 most recent version
108 # of each SLOT and remove everything else.
109 # Note that normal applications should use SLOT="0" if
110 possible, since
111 # there should only be exactly one version installed
112 at a time.
113 # DO NOT USE SLOT=""! This tells Portage to disable
114 SLOTs for this package.
115 SLOT="0"
116
117 # Using KEYWORDS, we can record masking information
118 *inside* an ebuild
119 # instead of relying on an external package.mask file.
120 Right now, you should
121 # set the KEYWORDS variable for every ebuild so that
122 it contains the names of
123 # all the architectures with which the ebuild works.
124 All of the official
125 # architectures can be found in the keywords.desc file
126 which is in
127 # /usr/portage/profiles/. Usually you should just set
128 this to "~x86". The ~
129 # in front of the architecture indicates that the
130 package is new and should be
131 # considered unstable until testing proves its
132 stability. So, if you've
133 # confirmed that your ebuild works on x86 and ppc,
134 you'd specify:
135 # KEYWORDS="~x86 ~ppc"
136 # Once packages go stable, the ~ prefix is removed.
137 # For binary packages, use -* and then list the archs
138 the bin package
139 # exists for. If the package was for an x86 binary
140 package, then
141 # KEYWORDS would be set like this: KEYWORDS="-* x86"
142 # DO NOT USE KEYWORDS="*". This is deprecated and
143 only for backward
144 # compatibility reasons.
145 KEYWORDS="~x86"
146
147 # Comprehensive list of any and all USE flags
148 leveraged in the ebuild,
149 # with the exception of any ARCH specific flags, i.e.
150 "ppc", "sparc",
151 # "x86" and "alpha". This is a required variable. If
152 the ebuild doesn't
153 # use any USE flags, set to "".
154 IUSE="X gnome"
155
156 # A space delimited list of portage features to
157 restrict. man 5 ebuild
158 # for details. Usually not needed.
159 #RESTRICT="nostrip"
160
161 # Build-time dependencies, such as
162 # ssl? ( >=dev-libs/openssl-0.9.6b )
163 # >=dev-lang/perl-5.6.1-r1
164 # It is advisable to use the >= syntax show above, to
165 reflect what you
166 # had installed on your system when you tested the
167 package. Then
168 # other users hopefully won't be caught without the
169 right version of
170 # a dependency.
171 DEPEND=""
172
173 # Run-time dependencies, same as DEPEND if RDEPEND
174 isn't defined:
175 #RDEPEND=""
176
177 # Source directory; the dir where the sources can be
178 found (automatically
179 # unpacked) inside ${WORKDIR}. The default value for
180 S is ${WORKDIR}/${P}
181 # If you don't need to change it, leave the S= line
182 out of the ebuild
183 # to keep it tidy.
184 S=${WORKDIR}/${P}
185
186 src_compile() {
187 # Most open-source packages use GNU autoconf for
188 configuration.
189 # The quickest (and preferred) way of running
190 configure is:
191 econf || die "econf failed"
192 #
193 # You could use something similar to the following
194 lines to
195 # configure your package before compilation. The "||
196 die" portion
197 # at the end will stop the build process if the
198 command fails.
199 # You should use this at the end of critical commands
200 in the build
201 # process. (Hint: Most commands are critical, that
202 is, the build
203 # process should abort if they aren't successful.)
204 #./configure \
205 # --host=${CHOST} \
206 # --prefix=/usr \
207 # --infodir=/usr/share/info \
208 # --mandir=/usr/share/man || die "./configure failed"
209 # Note the use of --infodir and --mandir, above. This
210 is to make
211 # this package FHS 2.2-compliant. For more
212 information, see
213 # http://www.pathname.com/fhs/
214
215 # emake (previously known as pmake) is a script that
216 calls the
217 # standard GNU make with parallel building options
218 for speedier
219 # builds (especially on SMP systems). Try emake
220 first. It might
221 # not work for some packages, because some makefiles
222 have bugs
223 # related to parallelism, in these cases, use emake
224 -j1 to limit
225 # make to a single process. The -j1 is a visual clue
226 to others
227 # that the makefiles have bugs that have been worked
228 around.
229 emake || die "emake failed"
230 }
231
232 src_install() {
233 # You must *personally verify* that this trick
234 doesn't install
235 # anything outside of DESTDIR; do this by reading and
236 # understanding the install part of the Makefiles.
237 # This is the preferred way to install.
238 make DESTDIR=${D} install || die
239
240 # For Makefiles that don't make proper use of
241 DESTDIR, setting
242 # prefix is often an alternative. However if you do
243 this, then
244 # you also need to specify mandir and infodir, since
245 they were
246 # passed to ./configure as absolute paths (overriding
247 the prefix
248 # setting).
249 #make \
250 # prefix=${D}/usr \
251 # mandir=${D}/usr/share/man \
252 # infodir=${D}/usr/share/info \
253 # libdir=${D}/usr/$(get_libdir) \
254 # install || die
255 # Again, verify the Makefiles! We don't want
256 anything falling
257 # outside of ${D}.
258
259 # The portage shortcut to the above command is
260 simply:
261 #
262 #einstall || die
263 }
264
265 >
266 > Also the Dev-handbook would be useful
267 >
268 http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
269 >
270 > -Lares
271
272
273
274
275 __________________________________________
276 Yahoo! DSL – Something to write home about.
277 Just $16.99/mo. or less.
278 dsl.yahoo.com
279
280 --
281 gentoo-user@g.o mailing list