X-Git-Url: http://git.pld-linux.org/?p=packages%2Fcamlp5.git;a=blobdiff_plain;f=camlp5.spec;h=13f4000209974866665c5f07c0600e1df38e64fc;hp=ca36c0ed409e73ad980e8cde29ec2233c50d1b5b;hb=d4aacc8;hpb=6831d50627adfcd3a285ad12fdbecd2b6974f665 diff --git a/camlp5.spec b/camlp5.spec index ca36c0e..13f4000 100644 --- a/camlp5.spec +++ b/camlp5.spec @@ -1,54 +1,67 @@ +# +# Conditional build: +%bcond_without ocaml_opt # skip building native optimized binaries (bytecode is always built) + +# not yet available on x32 (ocaml 4.02.1), update when upstream will support it +%ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9 +%undefine with_ocaml_opt +%endif + +%if %{without ocaml_opt} +%define _enable_debug_packages 0 +%endif + Summary: Objective Caml Preprocessor Summary(pl.UTF-8): Preprocesor OCamla Name: camlp5 -Version: 6.12 +Version: 8.00.02 Release: 1 License: distributable Group: Development/Languages -Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/%{name}-%{version}.tgz -# Source0-md5: d49d30b62396b7285f3d609ac90c3fe5 -#Source1: http://pauillac.inria.fr/~ddr/camlp5/doc/pdf/%{name}-%{version}.pdf -Source1: http://pauillac.inria.fr/~ddr/camlp5/doc/pdf/%{name}-6.00.pdf -# Source1-md5: b241eabfeb48f22b0fbd3e497198a76a -URL: http://caml.inria.fr/ +#Source0Download: https://github.com/camlp5/camlp5/releases +Source0: https://github.com/camlp5/camlp5/archive/rel%{version}/%{name}-%{version}.tar.gz +# Source0-md5: 096076be4b26034643508511e834ccc2 +Patch0: no-warn-error.patch +URL: https://camlp5.github.io/ BuildRequires: db-devel >= 4.1 BuildRequires: ocaml +BuildRequires: ocaml-ocamlbuild %requires_eq ocaml-runtime Requires: %{name} = %{epoch}:%{version}-%{release} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description -Camlp4 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers +Camlp5 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers tools for syntax (grammars) and the ability to modify the concrete syntax of the language (quotations, syntax extensions). -Camlp4 can parse normal Ocaml concrete syntax or any other +Camlp5 can parse normal Ocaml concrete syntax or any other user-definable syntax. As an example, an alternative syntax is provided, named revised, because it tries to fix some small problems of the normal syntax. -Camlp4 can pretty print the normal Ocaml concrete syntax or the +Camlp5 can pretty print the normal Ocaml concrete syntax or the revised one. It is therefore always possible to have a version of your sources compilable by the Objective Caml compiler without preprocessing. %description -l pl.UTF-8 -Camlp4 jest preprocesorem OCamla. Oferuje narzędzia do manipulowania +Camlp5 jest preprocesorem OCamla. Oferuje narzędzia do manipulowania składnią (gramatyki) oraz możliwość modyfikowania oryginalnej składni języka (cytowania, rozszerzenia). -Camlp4 może sparsować oryginalną składnię Ocamla lub dowolną inną +Camlp5 może sparsować oryginalną składnię Ocamla lub dowolną inną definiowalną przez użytkownika. Jako przykład podana jest alternatywna składnia (revised syntax), która próbuje poprawić drobne problemy występujące w składni oryginalnej. -Camlp4 umie ładnie formatować źródła zarówno w oryginalnej jak i +Camlp5 umie ładnie formatować źródła zarówno w oryginalnej jak i poprawionej składni OCamla. Potrafi także tłumaczyć programy z jednej składni na drugą. %package doc-html -Summary: Objective Caml Preprocessor - HTML documentation -Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja HTML +Summary: Objective Caml Preprocessor - HTML documentation +Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja HTML Group: Development/Languages %description doc-html @@ -57,22 +70,33 @@ Objective Caml Preprocessor - HTML documentation. %description doc-html -l pl.UTF-8 Preprocesor OCamla - dokumentacja HTML. +%package doc-pdf +Summary: Objective Caml Preprocessor - PDF documentation +Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja w formacie PDF +Group: Development/Languages + +%description doc-pdf +Objective Caml Preprocessor - PDF documentation. + +%description doc-pdf -l pl.UTF-8 +Preprocesor OCamla - dokumentacja w formacie PDF. + %prep -%setup -q -cp %{SOURCE1} doc/camlp4.pdf +%setup -q -n %{name}-rel%{version} +%patch0 -p1 -cp ocaml_src/lib/versdep/4.02.{1,2}.ml -cp -a ocaml_stuff/4.02.{1,2} +%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+perl(\s|$),#!%{__perl}\1,' \ + etc/mkcamlp5.pl -%build +%build ./configure \ + -prefix %{_prefix} \ -bindir %{_bindir} \ -libdir %{_libdir}/ocaml \ - -mandir %{_mandir}/man1 \ - -transitional + -mandir %{_mandir}/man1 -%{__make} -j1 world.opt -%{__make} -j1 -C doc/htmlp +%{__make} -j1 world%{?with_ocaml_opt:.opt} +%{__make} -j1 -C doc/htmlp pdf %install rm -rf $RPM_BUILD_ROOT @@ -83,9 +107,9 @@ rm -rf $RPM_BUILD_ROOT MANDIR=$RPM_BUILD_ROOT%{_mandir} # broken build system -for f in camlp5o.opt.1 camlp5r.opt.1 mkcamlp5.1 ocpp5.1 \ - camlp5o.1 camlp5r.1 camlp5sch.1 mkcamlp5.opt.1 ; do - rm -f $RPM_BUILD_ROOT%{_mandir}/man1/$f +for f in mkcamlp5.1 ocpp5.1 camlp5o.1 camlp5r.1 camlp5sch.1 \ + %{?with_ocaml_opt:camlp5o.opt.1 camlp5r.opt.1 mkcamlp5.opt.1} ; do + %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/$f echo '.so camlp5.1' >$RPM_BUILD_ROOT%{_mandir}/man1/$f done @@ -94,11 +118,19 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc CHANGES DEVEL ICHANGES MODE README UPGRADING doc/camlp4.pdf -%attr(755,root,root) %{_bindir}/* +%doc CHANGES DEVEL ICHANGES MODE README.md UPGRADING +%attr(755,root,root) %{_bindir}/camlp5* +%attr(755,root,root) %{_bindir}/mkcamlp5* +%attr(755,root,root) %{_bindir}/ocpp5 %{_libdir}/ocaml/%{name} -%{_mandir}/man1/* +%{_mandir}/man1/camlp5*.1* +%{_mandir}/man1/mkcamlp5*.1* +%{_mandir}/man1/ocpp5.1* %files doc-html %defattr(644,root,root,755) %doc doc/html/* + +%files doc-pdf +%defattr(644,root,root,755) +%doc doc/htmlp/camlp5.pdf