]> git.pld-linux.org Git - packages/ocaml.git/blobdiff - ocaml.spec
- added as_needed.patch
[packages/ocaml.git] / ocaml.spec
index ad423371bdf5c5467b3867bb6d26305f3c559b02..dc6c2fca33d3bd677fc6c8dc9dfaf9ac90db4311 100644 (file)
@@ -9,23 +9,23 @@
 %{!?with_x:%undefine   with_tk}
 
 %define                p4ver   3.06
-%define                sver    3.08
+%define                sver    3.09
 
 Summary:       The Objective Caml compiler and programming environment
 Summary(pl):   Kompilator OCamla (Objective Caml) oraz ¶rodowisko programistyczne
 Name:          ocaml
-Version:       3.08.2
-Release:       1
+Version:       3.09.2
+Release:       2
 Epoch:         1
 License:       distributable
 Vendor:                Group of implementors <caml-light@inria.fr>
 Group:         Development/Languages
-Source0:       http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{version}.tar.gz
-# Source0-md5: b79358a09884f5e679433cce284de43e
+Source0:       http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{version}.tar.bz2
+# Source0-md5: 63428ce7e114520e8f529c9ca809a1b0
 Source1:       http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.html.tar.gz
-# Source1-md5: 0daee5643db6960682c1a7d84467885f
+# Source1-md5: b25eb211bf91bcaa536b12d12731ceec
 Source2:       http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.ps.gz
-# Source2-md5: 35a5d4318456c0982e72ee3f33364bf5
+# Source2-md5: 598bb8e86329afe1ae374385b2e177e7
 Source3:       ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{p4ver}-manual.html.tar.gz
 # Source3-md5: 21370bae4e7f6435b38aeb21db7ce8bb
 Source4:       ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{p4ver}-manual.dvi.gz
@@ -34,22 +34,27 @@ Source5:    ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{p4ver}-tutori
 # Source5-md5: 96d8eb4ca5abd58c9a280ba59f73b192
 Source6:       ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{p4ver}-tutorial.dvi.gz
 # Source6-md5: fcd87c235109364242a0c9ccf176dff8
-Source7:       http://www.oefai.at/~markus/ocaml_sources/pure-fun-1.0.4.tar.bz2
+Source7:       http://www.ocaml.info/ocaml_sources/pure-fun-1.0.4.tar.bz2
 # Source7-md5: 567bc681b4cc1cfcbbfb6fa5f012019b
-Source8:       http://www.oefai.at/~markus/ocaml_sources/ds-contrib.tar.gz
+Source8:       http://www.ocaml.info/ocaml_sources/ds-contrib.tar.gz
 # Source8-md5: 77fa1da7375dea1393cc0b6cd802d7e1
+Source9:       http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.info.tar.gz
+# Source9-md5: 280160b1fc7c8513074c3fda0446de29
 Patch0:                %{name}-build.patch
 Patch1:                %{name}-db3.patch
 Patch2:                %{name}-objinfo.patch
-Patch3:                %{name}-mano.patch
 # needs update for ocaml 3.08
-#Patch4:               %{name}-unused-var-warning.patch
+#Patch3:               %{name}-unused-var-warning.patch
+Patch4:                %{name}-tk85support.patch
+Patch5:                %{name}-CFLAGS.patch
+Patch6:                %{name}-as_needed.patch
 URL:           http://caml.inria.fr/
-%{?with_x:BuildRequires:       XFree86-devel}
 %{?with_db3:BuildRequires:     db3-devel}
 %{!?with_db3:BuildRequires:    db-devel >= 4.1}
 %{?with_tk:BuildRequires:      tk-devel}
+%{?with_x:BuildRequires:       xorg-lib-libX11-devel}
 %if %{with emacs}
+BuildRequires: sed >= 4.0
 BuildRequires: xemacs
 BuildRequires: xemacs-common
 BuildRequires: xemacs-fsf-compat-pkg
@@ -59,6 +64,8 @@ Provides:     ocaml-ocamldoc
 Obsoletes:     ocaml-ocamldoc
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                specflags       -fno-strict-aliasing
+
 %description
 Objective Caml is a high-level, strongly-typed, functional and
 object-oriented programming language from the ML family of languages.
@@ -77,17 +84,65 @@ oraz optymalizuj
 pracy, narzêdzia do tworzenia analizatorów leksykalnych oraz sk³adniowych
 (ocamllex, ocamlyacc), odpluskwiacz (ocamldebug) i biblioteki.
 
+%package runtime
+Summary:       Runtime system for OCaml
+Summary(pl):   ¦rodowisko uruchomieniowe dla OCamla
+Group:         Libraries
+
+%description runtime
+This package contains binaries needed to run bytecode OCaml programs:
+ocamlrun bytecode interpreter, and basic dynamic link libraries.
+
+%description runtime -l pl
+Pakiet ten zawiera binaria potrzebne do uruchamiania programów w
+OCamlu skompilowanych do bajtkodu: interpreter bajtkodu (ocamlrun) oraz
+podstawowe biblioteki linkowane dynamicznie.
+
+%package lib-source
+Summary:       Sources of OCaml standard library
+Summary(pl):   ¬ród³a biblioteki standardowej OCamla
+Group:         Development/Languages
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description lib-source
+This sources come helpful during debugging of user programs with ocamldebug.
+
+%description lib-source -l pl
+¬ród³a te s± przydatne przy odpluskwianiu programów u¿ytkownika
+z u¿yciem ocamldebug.
+
+%package doc-html
+Summary:       HTML documentation for OCaml
+Summary(pl):   Dokumentacja dla OCamla w formacie HTML
+Group:         Development/Tools
+
+%description doc-html
+HTML documentation for OCaml.
+
+%description doc-html -l pl
+Dokumentacja dla OCamla w formacie HTML.
+
 %package doc-ps
 Summary:       PostScript documentation for OCaml
 Summary(pl):   Dokumentacja dla OCamla w formacie PostScript
 Group:         Development/Tools
 
 %description doc-ps
-PostScript documentation for OCaml. HTML documentation is in main package.
+PostScript documentation for OCaml.
 
 %description doc-ps -l pl
-Dokumentacja dla OCamla w formacie PostScript. Dokumentacja HTML jest
-w g³ównym pakiecie.
+Dokumentacja dla OCamla w formacie PostScript.
+
+%package doc-info
+Summary:       Info documentation for OCaml
+Summary(pl):   Dokumentacja info dla OCamla
+Group:         Development/Tools
+
+%description doc-info
+Info documentation for OCaml.
+
+%description doc-info -l pl
+Dokumentacja info dla OCamla.
 
 %package emacs
 Summary:       Emacs mode for OCaml
@@ -101,19 +156,20 @@ Emacs mode files for Objective Caml language.
 %description emacs -l pl
 Pliki trybu OCamla dla Emacsa.
 
-%package runtime
-Summary:       Runtime system for OCaml
-Summary(pl):   ¦rodowisko uruchomieniowe dla OCamla
+%package labltk
+Summary:       Runtime for LablTk library
+Summary(pl):   ¦rodowisko uruchomieniowe dla biblioteki LablTk
 Group:         Libraries
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
-%description runtime
-This package contains binaries needed to run bytecode OCaml programs:
-ocamlrun bytecode interpreter, and basic dynamic link libraries.
+%description labltk
+LablTk gives OCaml program access to Tcl/Tk GUI widgets. This package
+contains files needed to run bytecode OCaml programs using LablTk.
 
-%description runtime -l pl
-Pakiet ten zawiera binaria potrzebne do uruchamiania programów w
-OCamlu skompilowanych do bajtkodu: interpreter bajtkodu (ocamlrun) oraz
-podstawowe biblioteki linkowane dynamicznie.
+%description labltk -l pl
+Biblioteka LablTk daje programom napisanym w OCamlu dostêp do widgetów
+Tcl/Tk. Pakiet ten zawiera binaria potrzebne do uruchamiania programów
+u¿ywaj±cych LablTk.
 
 %package labltk-devel
 Summary:       LablTk library for OCaml
@@ -130,20 +186,21 @@ Biblioteka LablTk daje programom napisanym w OCamlu dost
 Tcl/Tk. Pakiet ten zawiera pliki niezbêdne do tworzenia programów
 u¿ywaj±cych LablTk.
 
-%package labltk
-Summary:       Runtime for LablTk library
-Summary(pl):   ¦rodowisko uruchomieniowe dla biblioteki LablTk
-Group:         Libraries
+%package x11graphics
+Summary:       X11 graphic output for OCaml
+Summary(pl):   Dostêp do X11 dla OCamla
+Group:         Development/Libraries
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 
-%description labltk
-LablTk gives OCaml program access to Tcl/Tk GUI widgets. This package
-contains files needed to run bytecode OCaml programs using LablTk.
+%description x11graphics
+x11graphics module gives OCaml program access to drawing in X11
+windows. This package contains files needed to run bytecode OCaml
+programs using x11graphics.
 
-%description labltk -l pl
-Biblioteka LablTk daje programom napisanym w OCamlu dostêp do widgetów
-Tcl/Tk. Pakiet ten zawiera binaria potrzebne do uruchamiania programów
-u¿ywaj±cych LablTk.
+%description x11graphics -l pl
+Modu³ x11graphics daje programom napisanym w OCamlu mo¿liwo¶æ
+korzystania z interfejsu graficznego X11. Pakiet ten zawiera binaria
+potrzebne do uruchamiania programów u¿ywaj±cych x11graphics.
 
 %package x11graphics-devel
 Summary:       X11 graphic output for OCaml
@@ -161,22 +218,6 @@ Modu
 korzystania z interfejsu graficznego X11. Pakiet ten zawiera pliki
 niezbêdne do tworzenia programów u¿ywaj±cych x11graphics.
 
-%package x11graphics
-Summary:       X11 graphic output for OCaml
-Summary(pl):   Dostêp do X11 dla OCamla
-Group:         Development/Libraries
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-
-%description x11graphics
-x11graphics module gives OCaml program access to drawing in X11
-windows. This package contains files needed to run bytecode OCaml
-programs using x11graphics.
-
-%description x11graphics -l pl
-Modu³ x11graphics daje programom napisanym w OCamlu mo¿liwo¶æ
-korzystania z interfejsu graficznego X11. Pakiet ten zawiera binaria
-potrzebne do uruchamiania programów u¿ywaj±cych x11graphics.
-
 %package camlp4
 Summary:       Objective Caml Preprocessor
 Summary(pl):   Preprocesor OCamla
@@ -214,6 +255,17 @@ Camlp4 umie 
 poprawionej sk³adni OCamla. Potrafi tak¿e t³umaczyæ programy z jednej
 sk³adni na drug±.
 
+%package camlp4-doc-html
+Summary:       Objective Caml Preprocessor - HTML documentation 
+Summary(pl):   Preprocesor OCamla - dokumentacja HTML 
+Group:         Development/Languages
+
+%description camlp4-doc-html
+Objective Caml Preprocessor - HTML documentation.
+
+%description camlp4-doc-html -l pl
+Preprocesor OCamla - dokumentacja HTML.
+
 %package compiler-objects
 Summary:       Compiled parts of OCaml compiler
 Summary(pl):   Skompilowane czê¶ci kompilatora OCamla
@@ -244,19 +296,6 @@ something like that.
 Bêdziesz potrzebowaæ tego pakietu, je¶li zamierzasz pisaæ front end
 dla ocamldoc lub co¶ podobnego.
 
-%package lib-source
-Summary:       Sources of OCaml standard library
-Summary(pl):   ¬ród³a biblioteki standardowej OCamla
-Group:         Development/Languages
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-
-%description lib-source
-This sources come helpful during debugging of user programs with ocamldebug.
-
-%description lib-source -l pl
-¬ród³a te s± przydatne przy odpluskwianiu programów u¿ytkownika
-z u¿yciem ocamldebug.
-
 # maybe we'll want to add some more stuff here?
 %package examples
 Summary:       Example source code for OCaml
@@ -277,9 +316,9 @@ autorstwa Okasaki'ego, napisane w OCamlu, wraz z dodatkami.
 mkdir examples
 tar xjf %{SOURCE7} -C examples
 tar xzf %{SOURCE8} -C examples
+tar xzf %{SOURCE9}
 # order mess with docs somewhat
-mkdir docs
-mkdir docs/html
+mkdir -p docs/html
 mv htmlman docs/html/ocaml
 cp %{SOURCE2} docs/ocaml.ps.gz
 mv camlp4-%{p4ver}-manual.html docs/html/camlp4
@@ -289,27 +328,29 @@ cp %{SOURCE6} docs/camlp4-tutorial.ps.gz
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
-#%patch4 -p1
+#%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
 
-%build
+%build 
 cp -f /usr/share/automake/config.sub config/gnu
 ./configure \
-        -cc "%{__cc} %{rpmcflags}" \
+        -cc "%{__cc}" \
        -bindir %{_bindir} \
        -libdir %{_libdir}/%{name} \
        -mandir %{_mandir}/man1 \
        -host %{_host} \
        %{!?with_tk:-no-tk} \
        -with-pthread \
-       -x11lib /usr/X11R6/%{_lib}
+       -x11lib %{_libdir}
 
-%{__make} world bootstrap opt.opt
-%{__make} -C tools objinfo
+%{__make} -j1 world bootstrap opt.opt CFLAGS="%{rpmcflags} -Wall"
+%{__make} -C tools objinfo CFLAGS="%{rpmcflags} -Wall" -j1
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_includedir},%{_examplesdir}/%{name}-{labltk-,}%{version}}
+install -d $RPM_BUILD_ROOT{%{_includedir},%{_infodir},%{_examplesdir}/%{name}-{labltk-,}%{version}}
 
 %{__make} install \
        BINDIR=$RPM_BUILD_ROOT%{_bindir} \
@@ -359,25 +400,21 @@ ln -sf %{_libdir}/%{name}/{scrape,add}labels $RPM_BUILD_ROOT%{_bindir}
 rm -rf $RPM_BUILD_ROOT%{_mandir}/man3
 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/labltk/{labltktop,pp}
 
+# install info pages
+cp -f infoman/*.gz $RPM_BUILD_ROOT%{_infodir}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%files runtime
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ocamlrun
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/stublibs
-%attr(755,root,root) %{_libdir}/%{name}/stublibs/dll*.so
-%exclude %{_libdir}/%{name}/stublibs/dllgraphics.so
-%if %{with tk}
-%exclude %{_libdir}/%{name}/stublibs/dlllabltk.so
-%exclude %{_libdir}/%{name}/stublibs/dlltkanim.so
-%endif
+%post doc-info
+[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+
+%postun doc-info
+[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 
 %files
 %defattr(644,root,root,755)
 %doc LICENSE Changes README Upgrading
-%doc docs/html/ocaml
 %attr(755,root,root) %{_bindir}/ocaml*
 %{!?_without_tk:%exclude %{_bindir}/ocamlbrowser}
 %exclude %{_bindir}/ocamlrun
@@ -402,36 +439,52 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/%{name}/*labels
 %{_mandir}/man1/*ocaml*
 
+%files runtime
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ocamlrun
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/stublibs
+%attr(755,root,root) %{_libdir}/%{name}/stublibs/dll*.so
+%exclude %{_libdir}/%{name}/stublibs/dllgraphics.so
+%if %{with tk}
+%exclude %{_libdir}/%{name}/stublibs/dlllabltk.so
+%exclude %{_libdir}/%{name}/stublibs/dlltkanim.so
+%endif
+
 %files lib-source
 %defattr(644,root,root,755)
 %{_libdir}/%{name}/*.ml
 %{_libdir}/%{name}/*.mli
 %{_libdir}/%{name}/*/*.mli
 
-%files examples
+%files doc-html
 %defattr(644,root,root,755)
-%{_examplesdir}/%{name}-%{version}
+%doc docs/html/ocaml/*
+
+%files doc-ps
+%defattr(644,root,root,755)
+%doc docs/*.ps.gz
+
+%files doc-info
+%defattr(644,root,root,755)
+%{_infodir}/ocaml.info*
 
 # they are poor, html is much better
 #%files manpages
 #%%{_mandir}/man3/*
 
-%files compiler-objects
+%if %{with emacs}
+%files emacs
 %defattr(644,root,root,755)
-%{_libdir}/%{name}/compiler
+%{_datadir}/emacs/site-lisp/*.el*
+%endif
 
-%files camlp4
+%if %{with tk}
+%files labltk
 %defattr(644,root,root,755)
-%doc docs/html/camlp4*
-%attr(755,root,root) %{_bindir}/*camlp4*
-%attr(755,root,root) %{_bindir}/ocpp
-# Not installed since 3.05, is is needed?
-#%attr(755,root,root) %{_bindir}/odyl
-%{_libdir}/%{name}/camlp4
-%{_mandir}/man*/*camlp4*
-%{_mandir}/man*/*ocpp*
+%attr(755,root,root) %{_libdir}/%{name}/stublibs/dlllabltk.so
+%attr(755,root,root) %{_libdir}/%{name}/stublibs/dlltkanim.so
 
-%if %{with tk}
 %files labltk-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/labltk
@@ -441,36 +494,43 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/%{name}/labltk/*.a
 %attr(755,root,root) %{_libdir}/%{name}/labltk/tkcompiler
 %{_examplesdir}/%{name}-labltk-%{version}
-
-%files labltk
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/stublibs/dlllabltk.so
-%attr(755,root,root) %{_libdir}/%{name}/stublibs/dlltkanim.so
 %endif
 
 %if %{with x}
+%files x11graphics
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/stublibs/dllgraphics.so
+
 %files x11graphics-devel
 %defattr(644,root,root,755)
 %{_libdir}/%{name}/graphics*.cm*
 %{_libdir}/%{name}/graphics.a
 %{_libdir}/%{name}/libgraphics.a
+%endif
 
-%files x11graphics
+%files camlp4
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/stublibs/dllgraphics.so
-%endif
+%attr(755,root,root) %{_bindir}/*camlp4*
+%attr(755,root,root) %{_bindir}/ocpp
+# Not installed since 3.05, is it needed?
+#%attr(755,root,root) %{_bindir}/odyl
+%{_libdir}/%{name}/camlp4
+%{_mandir}/man*/*camlp4*
+%{_mandir}/man*/*ocpp*
 
-%if %{with emacs}
-%files emacs
+%files camlp4-doc-html
 %defattr(644,root,root,755)
-%{_datadir}/emacs/site-lisp/*.el*
-%endif
+%doc docs/html/camlp4*
+
+%files compiler-objects
+%defattr(644,root,root,755)
+%{_libdir}/%{name}/compiler
 
 %files ocamldoc-devel
 %defattr(644,root,root,755)
 %{_libdir}/%{name}/ocamldoc/*.cm*
 %{_libdir}/%{name}/ocamldoc/*.a
 
-%files doc-ps
+%files examples
 %defattr(644,root,root,755)
-%doc docs/*.ps.gz
+%{_examplesdir}/%{name}-%{version}
This page took 0.053698 seconds and 4 git commands to generate.