]> git.pld-linux.org Git - packages/global.git/blob - global.spec
up to 6.3.4
[packages/global.git] / global.spec
1 # TODO
2 # unpackaged:
3 #%attr(755,root,root) %{_bindir}/globash
4 #%attr(755,root,root) %{_bindir}/gtags-cscope
5 #%{_libdir}/gtags/*.{so,la,a}
6 #%{_datadir}/gtags/*
7 #%{_mandir}/man1/globash.1*
8
9 # Conditional build:
10 %bcond_without  xemacs          # without xemacs subpackage
11 %bcond_without  pgsql           # without PostgreSQL support
12 %bcond_without  home_etc        # use home_etc
13
14 Summary:        GNU GLOBAL - common source code tag system
15 Summary(pl.UTF-8):      GNU GLOBAL - system list odwołań powszechnego użytku
16 Name:           global
17 Version:        6.3.4
18 Release:        0.1
19 License:        GPLv2+ and BSD
20 Group:          Development/Tools
21 Source0:        http://ftp.gnu.org/gnu/global/%{name}-%{version}.tar.gz
22 # Source0-md5:  06aee2306ac2113e6347043066679eea
23 #Source1:       http://www.vim.org/scripts/download_script.php?src_id=2708
24 Patch20:        %{name}-ac-shared-pgsql.patch
25 URL:            http://www.gnu.org/software/global/
26 BuildRequires:  autoconf
27 BuildRequires:  automake
28 %{?with_home_etc:BuildRequires: home-etc-devel}
29 BuildRequires:  libtool
30 %{?with_pgsql:BuildRequires:    postgresql-devel}
31 BuildRequires:  texinfo
32 %{?with_xemacs:BuildRequires:   xemacs}
33 Requires:       coreutils
34 Requires:       findutils
35 Requires:       idutils
36 Requires:       setup >= 2.4.6-2
37 Provides:       gtags-%{version}-%{release}
38 Provides:       htags-%{version}-%{release}
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 # definitions useful for vim-global-tags subpackage
42 %define         _vimdatadir     %{_datadir}/vim/vimfiles
43
44 %define         filterout_c     -Werror=format-security
45
46 %description
47 GNU GLOBAL is a source code tag system that works the same way across
48 diverse environments. It supports C, C++, Yacc, Java, PHP and
49 assembler source code. You can locate the specified function or method
50 in source files and move there easily. It is useful to hack a large
51 project containing many subdirectories, many general, main()-type
52 functions. It allows you to create one tags container for a big code
53 tree.
54 %if %{with pgsql}
55 Tagging information may be keept in the traditional db files, or shared
56 GNU GLOBAL is a source code tag system that works the same way across
57 diverse environments. It supports C, C++, Yacc, Java, PHP and
58 assembler source code. You can locate the specified function or method
59 in source files and move there easily. It is useful to hack a large
60 project containing many subdirectories, many general, main()-type
61 functions. It allows you to create one tags container for a big code
62 tree. using the PostgreSQL database.
63 %endif
64 You can also find some subpackages, containing support for additional
65 GNU GLOBAL is a source code tag system that works the same way across
66 diverse environments. It supports C, C++, Yacc, Java, PHP and
67 assembler source code. You can locate the specified function or method
68 in source files and move there easily. It is useful to hack a large
69 project containing many subdirectories, many general, main()-type
70 functions. It allows you to create one tags container for a big code
71 tree. using the PostgreSQL database. GLOBAL's features, and for
72 compliance with common code editors (symbols' completion, jumping).
73
74 %description -l pl.UTF-8
75 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
76 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
77 Umożliwia on odszukanie podanej funkcji lub metody w plikach
78 źródłowych i przeniesienie się do niej w łatwy sposób. Narzędzie to
79 jest przydatne do dłubania w dużych projektach, zawierających mnóstwo
80 podkatalogów, wiele funkcji głównych w stylu main(). Pozwala on
81 utworzyć jeden kontener ze znacznikami dla dużego drzewa kodu.
82 %if %{with pgsql}
83 Informacje o znacznikach mogą być przechowywane w postaci plików db,
84 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
85 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
86 Umożliwia on odszukanie podanej funkcji lub metody w plikach
87 źródłowych i przeniesienie się do niej w łatwy sposób. Narzędzie to
88 jest przydatne do dłubania w dużych projektach, zawierających mnóstwo
89 podkatalogów, wiele funkcji głównych w stylu main(). Pozwala on
90 utworzyć jeden kontener ze znacznikami dla dużego drzewa kodu. lub też
91 współdzielone przy pomocy bazy danych PostgreSQL.
92 %endif
93 Można także znaleźć kilka podpakietów, które zawierają wsparcie dla
94 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
95 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
96 Umożliwia on odszukanie podanej funkcji lub metody w plikach
97 źródłowych i przeniesienie się do niej w łatwy sposób. Narzędzie to
98 jest przydatne do dłubania w dużych projektach, zawierających mnóstwo
99 podkatalogów, wiele funkcji głównych w stylu main(). Pozwala on
100 utworzyć jeden kontener ze znacznikami dla dużego drzewa kodu. lub też
101 współdzielone przy pomocy bazy danych PostgreSQL. dodatkowych
102 mechanizmów GLOBAL, a także pozwalają na współpracę z niektórymi
103 znanymi edytorami kodu (dopełnianie nazw symboli, przeskakiwanie).
104
105 %package htags
106 Summary:        GNU GLOBAL - programs for making hypertext from source code
107 Summary(pl.UTF-8):      GNU GLOBAL - programy produkujące hypertext z kodów źródłowych
108 Group:          Development/Tools
109 Requires:       %{name} = %{version}-%{release}
110 Requires:       perl-base >= 5.005
111 Provides:       gozilla-%{version}-%{release}
112 Provides:       htags-%{version}-%{release}
113
114 %description htags
115 GNU GLOBAL is a source code tag system that works the same way across
116 diverse environments. It supports C, C++, Yacc, Java, PHP and
117 assembler source code.
118
119 Htags makes hypertext from source code. The package also contains the
120 gozilla wrapper, which enforces Mozilla-based web browsers to display
121 source code in an elegant way. Htags can also work with a CVS
122 repository, which makes it more easy to navigate though the code over
123 the Web.
124
125 %description htags -l pl.UTF-8
126 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
127 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
128
129 Htags jest narzędziem generującym hypertext z kodów. Pakiet ten
130 zawiera także program wyskakujący o nazwie gozilla, który zmusza
131 przeglądarki bazujące na Mozilla, aby wyświetlały kod źródłowy w
132 elegancki sposób. Htags potrafi również współpracować z repozytorium
133 CVS ułatwiając nawigację w kodach poprzez WWW.
134
135 %package gtags-perl-wrapper
136 Summary:        GNU GLOBAL - gtags wrapper for tools which use Perl
137 Summary(pl.UTF-8):      GNU GLOBAL - program pomocniczy dla narzędzi używających Perl
138 Group:          Development/Tools
139 Requires:       %{name} = %{version}-%{release}
140 Requires:       perl-base >= 5.005
141 Provides:       gtags-perl-wrapper-%{version}-%{release}
142
143 %description gtags-perl-wrapper
144 GNU GLOBAL is a source code tag system that works the same way across
145 diverse environments. It supports C, C++, Yacc, Java, PHP and
146 assembler source code.
147
148 This package contains simple Perl wrapper, which allows to use the
149 system for some tools and editors.
150
151 %description gtags-perl-wrapper -l pl.UTF-8
152 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
153 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
154
155 Ten pakiet zawiera program pomocniczy, który pozwala używać tego
156 systemu niektórym narzędziom i edytorom.
157
158 %package globash
159 Summary:        GNU GLOBAL - Bash customization to walk though the source trees
160 Summary(pl.UTF-8):      GNU GLOBAL - usprawnienie dla Bash do poruszania się po drzewach źródeł
161 Group:          Development/Tools
162 Requires:       %{name} = %{version}-%{release}
163 Requires:       bash >= 2.05
164 Provides:       globash-%{version}-%{release}
165
166 %description globash
167 GNU GLOBAL is a source code tag system that works the same way across
168 diverse environments. It supports C, C++, Yacc, Java, PHP and
169 assembler source code.
170
171 This package allows you to invoke a customized Bash with features that
172 makes easy to navigate in the sources trees. These are: Vi-like tag
173 stack, Emacs-like tag name completion, editor or viewer automatic
174 invocation, tag mark facility, and a cookie facility for managing
175 directories.
176
177 %description globash -l pl.UTF-8
178 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
179 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
180
181 Ten pakiet pozwala wywoływać odpowiednio przystosowaną wersję powłoki
182 Bash z udogodnieniami, które czynią nawigowanie po drzewku źródeł
183 rzeczą łatwą. Do tych udogodnień należą: stos znaczników w stylu Vi,
184 dopełnianie nazw w stylu edytora Emacs, automatyczne wywoływanie
185 edytorów lub przeglądarek, mechanizm wyróżniania znaczników, oraz
186 mechanizm ciasteczek pomagający zarządzać katalogami.
187
188 %package -n xemacs-gtags-mode-pkg
189 Summary:        XEmacs mode for the GNU GLOBAL source tag system
190 Summary(pl.UTF-8):      Tryb systemu list odwołań GNU GLOBAL dla edytora XEmacs
191 Group:          Development/Tools
192 Requires:       %{name} = %{version}-%{release}
193 Requires:       xemacs
194
195 %description -n xemacs-gtags-mode-pkg
196 GNU GLOBAL is a source code tag system that works the same way across
197 diverse environments. It supports C, C++, Yacc, Java, PHP and
198 assembler source code.
199
200 This package allows to integrate the GLOBAL source tag system with the
201 XEmacs editor.
202
203 %description -n xemacs-gtags-mode-pkg -l pl.UTF-8
204 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
205 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
206
207 Ten pakiet pozwala zintegrować system GLOBAL z edytorem XEmacs.
208
209 %package -n vim-global-tags
210 Summary:        ViM editor plugin for GNU GLOBAL source tag system
211 Summary(pl.UTF-8):      wtyczka dla edytora ViM do systemu odwołań GNU GLOBAL
212 Group:          Development/Tools
213 Requires:       %{name} = %{version}-%{release}
214 # for _vimdatadir existence
215 Requires:       vim-rt >= 4:6.3.058-3
216
217 %description -n vim-global-tags
218 GNU GLOBAL is a source code tag system that works the same way across
219 diverse environments. It supports C, C++, Yacc, Java, PHP and
220 assembler source code.
221
222 This package allows users to use GLOBAL tag system in ViM editor.
223
224 %description -n vim-global-tags -l pl.UTF-8
225 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
226 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
227
228 Ten pakiet pozwala użytkownikom na używanie systemu znaczników i
229 odwołań GLOBAL w edytorze ViM.
230
231 %package -n less-global-tags
232 Summary:        less pager's helper for GNU GLOBAL source tag system
233 Summary(pl.UTF-8):      wsparcie dla polecenia less do systemu odwołań GNU GLOBAL
234 Group:          Development/Tools
235 Requires:       %{name} = %{version}-%{release}
236 Requires:       xemacs
237
238 %description -n less-global-tags
239 GNU GLOBAL is a source code tag system that works the same way across
240 diverse environments. It supports C, C++, Yacc, Java, PHP and
241 assembler source code.
242
243 This package allows users to navigate through GLOBAL tags and
244 references system using less pager.
245
246 %description -n less-global-tags -l pl.UTF-8
247 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
248 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
249
250 Ten pakiet pozwala użytkownikom na nawigację poprzez system znaczników
251 i odwołań systemu GLOBAL używając polecenia less.
252
253 %prep
254 %setup -q
255 #%patch20 -p1
256
257 %build
258 %{__libtoolize}
259 %{__aclocal}
260 %{__autoconf}
261 %{__autoheader}
262 %{__automake}
263 %configure \
264         %{?with_pgsql:--with-postgres=shared} \
265         %{?with_home_etc:--with-home-etc=/usr}
266 %{__make}
267
268 %install
269 rm -rf $RPM_BUILD_ROOT
270 install -d $RPM_BUILD_ROOT%{_bindir} \
271         $RPM_BUILD_ROOT%{_sysconfdir}/gtags \
272         $RPM_BUILD_ROOT%{_mandir}/man1 \
273         $RPM_BUILD_ROOT%{_datadir}/{xemacs-packages/lisp/gtags,gtags} \
274         $RPM_BUILD_ROOT%{_vimdatadir}/plugin \
275         $RPM_BUILD_ROOT%{_infodir} \
276         $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} \
277         $RPM_BUILD_ROOT/etc/profile.d \
278         $RPM_BUILD_ROOT/etc/shrc.d \
279
280 # /etc/shrc.d/*.sh hook for globash
281 cat << EOF > $RPM_BUILD_ROOT/etc/shrc.d/globash.sh
282 alias globash='/bin/bash --rcfile %{_sysconfdir}/gtags/globash.rc'
283 EOF
284
285 # /etc/shrc.d/*.csh hook for globash
286 cat << EOF > $RPM_BUILD_ROOT/etc/shrc.d/globash.csh
287 alias globash '/bin/bash --rcfile %{_sysconfdir}/gtags/globash.rc'
288 EOF
289
290 # /etc/profile.d/*sh hooks for less-global-tags
291 echo 'LESSGLOBALTAGS="global"'       > $RPM_BUILD_ROOT/etc/profile.d/less-global.sh
292 echo 'export LESSGLOBALTAGS'        >> $RPM_BUILD_ROOT/etc/profile.d/less-global.sh
293 echo 'setenv LESSGLOBALTAGS global'  > $RPM_BUILD_ROOT/etc/profile.d/less-global.csh
294
295 %{__make} install \
296         DESTDIR=$RPM_BUILD_ROOT
297
298 # documentation and other stuff
299 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/{AUTHORS,NEWS,COPYING,ChangeLog,FAQ,INSTALL,LICENSE,README,THANKS} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
300 rm -f $RPM_BUILD_ROOT%{_datadir}/gtags/{dir.gz,nvi*gtags.diff}
301 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
302
303 # vim support
304 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/gtags.vim $RPM_BUILD_ROOT%{_vimdatadir}/plugin
305
306 # perl wrapper
307 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/gtags.pl $RPM_BUILD_ROOT%{_bindir}
308
309 # globash
310 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/globash.rc $RPM_BUILD_ROOT%{_sysconfdir}/gtags
311
312 # default config
313 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/gtags.conf $RPM_BUILD_ROOT%{_sysconfdir}/gtags
314
315 # emacs support
316 %if %{with xemacs}
317 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/gtags.el $RPM_BUILD_ROOT%{_datadir}/xemacs-packages/lisp/gtags
318 xemacs -batch -no-autoloads -l autoload -f batch-update-directory \
319         $RPM_BUILD_ROOT%{_datadir}/xemacs-packages/lisp/gtags
320 xemacs -batch -vanilla -f batch-byte-compile \
321         $RPM_BUILD_ROOT%{_datadir}/xemacs-packages/lisp/gtags/gtags.el
322 find $RPM_BUILD_ROOT%{_datadir} -type f -name "*.el" | while read i; do test ! -f ${i}c || rm -f $i; done
323 %endif
324
325 %clean
326 rm -rf $RPM_BUILD_ROOT
327
328 %post   -p      /sbin/postshell
329 -/usr/sbin/fix-info-dir -c %{_infodir}
330
331 %postun -p      /sbin/postshell
332 -/usr/sbin/fix-info-dir -c %{_infodir}
333
334 %files
335 %defattr(644,root,root,755)
336 %doc %{_docdir}/%{name}-%{version}
337 %attr(755,root,root) %{_bindir}/g*tags
338 %attr(755,root,root) %{_bindir}/global
339 %dir %{_sysconfdir}/gtags
340 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/gtags/gtags.conf
341 %{_mandir}/man1/global*
342 %{_mandir}/man1/g*tags*
343 %{_infodir}/*.info*
344
345 %files htags
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_bindir}/htags
348 %attr(755,root,root) %{_bindir}/gozilla
349 %{_mandir}/man1/htags*
350 %{_mandir}/man1/gozilla*
351
352 %files gtags-perl-wrapper
353 %defattr(644,root,root,755)
354 %attr(755,root,root) %{_bindir}/gtags.pl
355
356 %files globash
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %config %{_sysconfdir}/shrc.d/globash*
359 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gtags/globash.rc
360
361 %if %{with xemacs}
362 %files -n xemacs-gtags-mode-pkg
363 %defattr(644,root,root,755)
364 %dir %{_datadir}/xemacs-packages/lisp/*
365 %{_datadir}/xemacs-packages/lisp/*/*.el*
366 %endif
367
368 %files -n less-global-tags
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %config /etc/profile.d/less-global*
371
372 %files -n vim-global-tags
373 %defattr(644,root,root,755)
374 %{_vimdatadir}/plugin/*
This page took 0.119248 seconds and 3 git commands to generate.