source: projects/specs/trunk/o/ocaml/ocaml-vl.spec @ 9296

Revision 9296, 12.8 KB checked in by inagaki, 9 years ago (diff)

2015-01-26 Ryoichi INAGAKI <ryo1@…>

  • ledit: rebuilt
  • ocaml, ocaml-findlib: updated
  • ocaml-camlp4, ocaml-labltk: split from ocaml
  • ocaml-camlp5, pcaml-facile: updated and renamed


Line 
1Name: ocaml
2Summary: OCaml compiler and programming environment
3Summary(ja): OCaml コンパイラとプログラミング環境
4Version: 4.02.1
5Release: 1%{?_dist_release}
6Source0: http://caml.inria.fr/distrib/ocaml-4.02/ocaml-%{version}.tar.xz
7Source1: http://caml.inria.fr/distrib/ocaml-4.02/ocaml-4.02-refman-html.tar.gz
8Source2: http://caml.inria.fr/distrib/ocaml-4.02/ocaml-4.02-refman.pdf
9Source3: http://caml.inria.fr/distrib/ocaml-4.02/ocaml-4.02-refman.info.tar.gz
10Source4: ocamlbyteinfo.ml
11
12# Vine Source(s)
13Source10: caml-mode-install.sh
14Source11: caml-mode-remove.sh
15
16License: QPL and (LGPLv2+ with exceptions)
17Group: Development/Languages
18URL: http://caml.inria.fr/
19
20BuildRoot: %{_tmppath}/%{name}-%{version}-root
21# Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735).
22BuildRequires:  binutils-devel
23BuildRequires:  ncurses-devel
24BuildRequires:  gdbm-devel
25BuildRequires:  emacs
26BuildRequires:  gawk
27BuildRequires:  perl
28BuildRequires:  util-linux
29BuildRequires:  libICE-devel
30BuildRequires:  libSM-devel
31BuildRequires:  libX11-devel
32BuildRequires:  libXaw-devel
33BuildRequires:  libXext-devel
34BuildRequires:  libXft-devel
35BuildRequires:  libXmu-devel
36BuildRequires:  libXrender-devel
37BuildRequires:  libXt-devel
38BuildRequires:  mesa-libGL-devel
39BuildRequires:  mesa-libGLU-devel
40BuildRequires:  chrpath
41
42Requires:       gcc
43Requires:       rpm-build >= 4.8.0
44Requires:       util-linux
45
46Provides:       ocaml(runtime) = %{version}
47Provides:       ocaml(compiler) = %{version}
48
49Vendor: Project Vine
50Distribution: Vine Linux
51Packager: inagaki, kenta
52
53%define debug_package %{nil}
54
55%global __ocaml_requires_opts -c -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo'
56%global __ocaml_provides_opts -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo'
57
58%description
59OCaml is a high-level, strongly-typed, functional and object-oriented
60programming language from the ML family of languages.
61
62This package comprises two batch compilers (a fast bytecode compiler
63and an optimizing native-code compiler), an interactive toplevel system,
64parsing tools (Lex,Yacc), a replay debugger, a documentation generator,
65and a comprehensive library.
66
67%description -l ja
68OCaml は ML 系言語の方言で、高水準で強い型付けを備えた関数型と
69オブジェクト指向を併せ持ったプログラミング言語です。
70このパッケージには、2 つのバッチコンパイラ (コンパイル速度が高速な
71バイトコードコンパイラと最適化を行なうネイティブコードコンパイラ)、
72トップレベル対話環境、構文解析ツール (Lex, Yacc)、リプレイデバッガ、
73ドキュメント生成ツール、そして広範囲に渡るライブラリが含まれています。
74
75#%package labltk
76#Summary: Tk bindings for Objective Caml
77#Summary(ja): Objective Caml の Tk バインディング
78#Group: Development/Languages
79#Requires: ocaml = %{version}-%{release}
80#Requires: tk tcl
81#Obsoletes: labltk <= %{version}
82#
83#%description labltk
84#A library for interfacing Objective Caml with the scripting language
85#Tcl/Tk. It include the OCamlBrowser code editor / library browser.
86#
87#%package camlp4
88#Summary: Pre-Processor-Pretty-Printer for OCaml
89#Group: Development/Languages
90#Requires: ocaml = %{version}-%{release}
91#Obsoletes: camlp4 <= %{version}
92#
93#%description camlp4
94#Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
95#file and printing some result on standard output.
96
97%package docs
98Summary: Documentation for OCaml
99Summary(ja): OCaml のドキュメント
100Group: Documentation
101Requires: ocaml = %{version}-%{release}
102Requires(post): /sbin/install-info
103Requires(preun): /sbin/install-info
104
105%description docs
106OCaml is a high-level, strongly-typed, functional and object-oriented
107programming language from the ML family of languages.
108
109This package contains documentation in PDF and HTML format as well as
110man pages and info files.
111
112
113%package source
114Summary:        Source code for OCaml libraries
115Summary(ja):    OCaml ライブラリのソースコード
116Group:          Development/Libraries
117Requires:       ocaml = %{version}-%{release}
118
119%description source
120Source code for OCaml libraries.
121
122
123%package mode
124Summary:        Emacs mode for OCaml
125Summary(ja):    OCaml 用 Emacs mode
126Group:          Applications/Editors/Emacs
127Requires:       ocaml = %{version}-%{release}
128Requires:       emacsen-common
129Requires:       emacs
130Obsoletes:      ocaml-emacs <= %{version}
131
132%description mode
133Emacs mode for OCaml.
134
135%description -l ja mode
136OCaml 用の Emacs mode です.
137
138
139%prep
140%setup -q -T -b 0 -n %{name}-%{version}
141%setup -q -T -D -a 1 -n %{name}-%{version}
142%setup -q -T -D -a 3 -n %{name}-%{version}
143cp %{SOURCE2} refman.pdf
144
145%build
146# make -jN (N > 1) breaks the build.  Therefore we cannot use
147# %{?_smp_mflags} nor MAKEFLAGS.
148unset MAKEFLAGS
149
150CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
151./configure \
152    -bindir %{_bindir} \
153    -libdir %{_libdir}/ocaml \
154    -x11lib %{_libdir} \
155    -x11include %{_includedir} \
156    -mandir %{_mandir}/man1 \
157    -no-curses
158make world opt opt.opt
159make -C emacs ocamltags
160#(cd infoman; gzip -cd ocaml.info.gz >> ocaml-info-entry; mv ocaml-info-entry  ocaml.info; gzip -f ocaml.info)
161# for dumpobj, objinfo
162#(cd tools; make dumpobj; make objinfo; cd ..)
163
164# Currently these tools are supplied by Debian, but are expected
165# to go upstream at some point.
166includes="-nostdlib -I stdlib -I utils -I parsing -I typing -I bytecomp -I asmcomp -I driver -I otherlibs/unix -I otherlibs/str -I otherlibs/dynlink"
167boot/ocamlrun ./ocamlc $includes dynlinkaux.cmo %{SOURCE4} -o ocamlbyteinfo
168
169%install
170rm -rf $RPM_BUILD_ROOT
171
172make install \
173     BINDIR=$RPM_BUILD_ROOT%{_bindir} \
174     LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \
175     MANDIR=$RPM_BUILD_ROOT%{_mandir}
176perl -pi -e "s|^$RPM_BUILD_ROOT||" $RPM_BUILD_ROOT%{_libdir}/ocaml/ld.conf
177
178(
179    # install info files
180    mkdir -p $RPM_BUILD_ROOT%{_infodir};
181    cd infoman; cp ocaml*.gz $RPM_BUILD_ROOT%{_infodir}
182)
183(
184    # for dumpobj, objinfo
185    cd tools;
186    install dumpobj objinfo $RPM_BUILD_ROOT%{_bindir}
187)
188
189# for Emacs Lisp
190make -C emacs install install-ocamltags BINDIR=$RPM_BUILD_ROOT%{_bindir} \
191    EMACSDIR=$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/caml-mode
192
193# emacsen-common-ize
194mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/emacsen-common/packages/install
195mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/emacsen-common/packages/remove
196%_installemacsenscript caml-mode %{SOURCE10}
197
198%_removeemacsenscript  caml-mode %{SOURCE11}
199
200# Remove rpaths from stublibs .so files.
201chrpath --delete $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/*.so
202
203install -m 0755 ocamlbyteinfo $RPM_BUILD_ROOT%{_bindir}
204
205find $RPM_BUILD_ROOT -name .ignore -delete
206
207# Disable build root strip policy:
208# executables generated by ocamlc -custom MUST NOT BE STRIPPED
209# But now that we have dynamic loading of C code, none of the executables
210# in the distribution is generated by ocamlc -custom, so leave default.
211# %define __spec_install_post /usr/lib/rpm/brp-compress
212
213
214%clean
215rm -rf $RPM_BUILD_ROOT
216
217
218%post docs
219/sbin/install-info \
220    --entry="* ocaml: (ocaml).   The OCaml compiler and programming environment" \
221    --section="Programming Languages" \
222    %{_infodir}/%{name}.info \
223    %{_infodir}/dir 2>/dev/null || :
224
225
226%preun docs
227if [ $1 -eq 0 ]; then
228    /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir 2>/dev/null || :
229fi
230
231%post mode
232if [ "$1" = 2 ]; then
233    %_emacsenPackageRemove caml-mode
234
235fi
236
237%_addemacsenlist caml-mode
238
239%_emacsenPackageInstall caml-mode
240
241
242%preun mode
243if [ "$1" = 0 ]; then
244    %_emacsenPackageRemove caml-mode
245   
246    %_removeemacsenlist caml-mode
247
248fi
249
250
251%files
252%defattr(-, root, root)
253%doc README LICENSE
254%{_bindir}/*
255%{_libdir}/ocaml
256### in ocaml-camlp4
257#%exclude %{_bindir}/camlp4*
258#%exclude %{_bindir}/mkcamlp4
259#%exclude %{_libdir}/ocaml/camlp4/
260### in ocaml-labltk
261#%exclude %{_bindir}/labltk
262#%exclude %{_bindir}/ocamlbrowser
263#%exclude %{_libdir}/ocaml/labltk/
264#%exclude %{_libdir}/ocaml/stublibs/dlllabltk.so
265### in ocaml-mode
266%exclude %{_bindir}/ocamltags
267### in ocaml-source
268%exclude %{_libdir}/ocaml/*.ml
269
270#%files camlp4
271#%defattr(-, root, root, 0755)
272#%{_bindir}/camlp4*
273#%{_bindir}/mkcamlp4
274#%dir %{_libdir}/ocaml/
275#%{_libdir}/ocaml/camlp4/
276
277#%files labltk
278#%defattr(-, root, root, 0755)
279#%doc otherlibs/labltk/examples_*tk
280#%{_bindir}/labltk
281#%{_bindir}/ocamlbrowser
282#%dir %{_libdir}/ocaml/
283#%dir %{_libdir}/ocaml/stublibs/
284#%{_libdir}/ocaml/labltk/
285#%{_libdir}/ocaml/stublibs/dlllabltk.so
286
287%files docs
288%doc refman.pdf htmlman
289%{_infodir}/*
290%{_mandir}/man1/*
291%{_mandir}/man3/*
292
293%files source
294%doc LICENSE
295%{_libdir}/ocaml/*.ml
296
297%files mode
298%defattr(-, root, root, 0755)
299%doc emacs/README
300%{_bindir}/ocamltags
301%dir %{_datadir}/emacs/
302%dir %{_datadir}/emacs/site-lisp/caml-mode
303%{_datadir}/emacs/site-lisp/caml-mode/*.el
304%{_datadir}/emacs/site-lisp/caml-mode/*.elc
305%{_prefix}/lib/emacsen-common/packages/install/caml-mode
306%{_prefix}/lib/emacsen-common/packages/remove/caml-mode
307
308
309%changelog
310* Sun Jan 25 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 4.02.1-1
311- new upstream relase
312- spilt documents to docs subpackage
313- spilt *.ml to source subpackage
314- added SOURCE4
315
316* Tue May 15 2012 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.12.1-2
317- fixed SOURCEs URL typo
318- updated SOURCE1
319
320* Sun Jan 15 2012 NAKAMURA Kenta <kenta@vinelinux.org> 3.12.1-1
321- new upstream version 3.12.1
322- rebuild with rpm-4.9.1.2
323
324* Wed Apr 27 2011 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.12.0-1
325- new upstream release
326
327* Fri Apr 16 2010 Shu KONNO <owa@bg.wakwak.com> 3.11.0-2
328- rebuilt with new tool chain
329
330* Sat May  9 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.11.0-1
331- new upstream release
332- spec in UTF-8
333
334* Sat Jul 12 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.10.2-1vl5
335- new upstream release for VineSeed
336
337* Sat Jul 12 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.10.2-1vl4
338- new upstream release
339
340* Wed Feb  6 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.10.1-0vl1
341- new upstream release
342
343* Sun Sep 23 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.10.0-0vl2
344- rebuilt with VineSeed
345
346* Sun Sep 23 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.10.0-0vl1
347- new upstream release
348
349* Tue Nov 28 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.09.3-0vl2
350- rebuilt for VinePlus/4.0
351
352* Mon Nov 27 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.09.3-0vl1
353- new upstream release
354
355* Tue Sep 12 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.09.2-0vl4
356- changed ocaml-mode Group to Appliations/Editors/Emacs <BTS:VineLinux:163>
357
358* Wed Aug 30 2006 KAZUKI SHIMURA <kazuki@ma.ccnw.ne.jp> - 3.09.2-0vl3
359- add BuildRequires: XOrg-devel, ncurses-devel, gdbm-devel, emacsen
360- use %%{_prefix}/lib instead of %%{_libdir} for elisp directory
361
362* Wed Jun  7 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.09.2-0vl2
363- rebuilt for VineSeed Plus
364
365* Wed Jun  7 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.09.2-0vl1
366- new upstream release
367
368* Sat Feb 25 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.09.1-0vl3
369- rebuilt for VineSeed Plus
370
371* Sat Feb 25 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.09.1-0vl2
372- rebuilt for VinePlus/3.0
373- added BuildRequires: expect, thread
374
375* Sat Jan 28 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.09.1-0vl1
376- new upstream release
377
378* Sat Nov  5 2005 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.09.0-0vl2
379- rebuild for VineSeed Plus
380
381* Thu Nov  3 2005 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.09.0-0vl1
382- new upstream release
383
384* Tue Oct 18 2005 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.08.4-0vl3
385- rebuild with VineSeed Plus
386
387* Mon Oct 17 2005 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.08.4-0vl2
388- rebuild with VinePlus/3.0
389- added dumpobj, objinfo
390
391* Sat Oct  8 2005 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.08.4-0vl1
392- new upstream release
393- split to caml4p, labltk, mode packages
394
395* Thu Mar 24 2005 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.08.3-0vl1
396- new upstream release
397
398* Sat Dec  4 2004 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.08.2-0vl1
399- new upstream release
400
401* Fri Oct 15 2004 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.08.1-0vl1
402- new upstream release
403
404* Fri Aug 20 2004 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.08.0-0vl4
405- fixed typo based on 3.08.0-0vl3
406  * Thu Aug 12 2004 IKEDA Katsumi <ikeda@webmasters.gr.jp> 3.08.0-0vl3
407  - Modified typo: %%descriptin -l ja into %description -l ja
408
409* Tue Aug 17 2004 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.08.0-0vl3
410- rebuild for VinePlus/3.0 and VineSeedPlus
411- updated Japanese description
412- merged VinePlus/2.6 spec file
413  * Fri Jul 23 2004 IKEDA Katsumi <ikeda@webmasters.gr.jp> 3.08.0-0vl2
414  - Modified the character code of this file into euc-jp.
415  * Tue Jul 21 2004 by IKEDA Katsumi <ikeda@rg8.so-net.ne.jp> 3.08.0-0vl1
416  - new upstream release.
417  - Modified Copyright.
418  - Added Summary(ja), %%descriptin -l ja, Prereq and %%clean.
419  - Added %%post and %%preun for running /sbin/install-info.
420
421* Wed Apr  7 2004 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 3.07-2vl2
422- rebuild for VineSeed
423- s/Copyright/License/
424
425* Thu Feb 12 2004 by IKEDA Katsumi <ikedak@rg8.so-net.ne.jp>
426- 3.07-2vl1
427- Modified %Vendor and %BuildRoot.
428- Add %Distribution.
Note: See TracBrowser for help on using the repository browser.