SPECS: camlp5.spec (NEW) - initial revision

baggins baggins at pld-linux.org
Mon Feb 16 13:05:53 CET 2009


Author: baggins                      Date: Mon Feb 16 12:05:53 2009 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- initial revision

---- Files affected:
SPECS:
   camlp5.spec (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SPECS/camlp5.spec
diff -u /dev/null SPECS/camlp5.spec:1.1
--- /dev/null	Mon Feb 16 13:05:54 2009
+++ SPECS/camlp5.spec	Mon Feb 16 13:05:48 2009
@@ -0,0 +1,168 @@
+# $Revision$, $Date$
+Summary:	Objective Caml Preprocessor
+Summary(pl.UTF-8):	Preprocesor OCamla
+Name:		camlp5
+Version:	5.11
+Release:	0.1
+License:	distributable
+Group:		Development/Languages
+Source0:	http://pauillac.inria.fr/~ddr/camlp5/distrib/src/%{name}-%{version}.tgz
+# Source0-md5:	26d69abd669c5fda43dbf35074debc81
+Source1:	http://pauillac.inria.fr/~ddr/camlp5/doc/pdf/%{name}-%{version}.pdf
+# Source1-md5:	57cf4eb162568d9b755e8120a1b82d43
+Source2:	http://pauillac.inria.fr/~ddr/camlp5/doc/htmlz/%{name}-%{version}.html.tgz
+# Source2-md5:	fcf3aa4d88a311aa27ff23e50c6f510f
+URL:		http://caml.inria.fr/
+BuildRequires:	db-devel >= 4.1
+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
+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
+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
+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
+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ą
+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
+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 
+Group:		Development/Languages
+
+%description doc-html
+Objective Caml Preprocessor - HTML documentation.
+
+%description doc-html -l pl.UTF-8
+Preprocesor OCamla - dokumentacja HTML.
+
+%prep
+%setup -q
+cp %{SOURCE1} docs/camlp4.pdf
+tar xzf %{SOURCE2}
+
+%build 
+cp -f /usr/share/automake/config.sub config/gnu
+./configure \
+        -cc "%{__cc}" \
+	-bindir %{_bindir} \
+	-libdir %{_libdir}/%{name} \
+	-mandir %{_mandir}/man1 \
+	-host %{_host} \
+	%{!?with_tk:-no-tk} \
+	-with-pthread \
+	-x11lib %{_libdir}
+
+%{__make} -j1 world bootstrap opt.opt CFLAGS="%{rpmcflags} -Wall"
+%{__make} -C tools objinfo CFLAGS="%{rpmcflags} -Wall" -j1
+
+# broken build system
+sed -e 's,LIBDIR,%{_libdir},' camlp4/man/camlp4.1.tpl > camlp4/man/camlp4.1
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_includedir},%{_infodir},%{_examplesdir}/%{name}-{labltk-,}%{version}}
+install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/site-lib
+
+%{__make} install \
+	BINDIR=$RPM_BUILD_ROOT%{_bindir} \
+	LIBDIR=$RPM_BUILD_ROOT%{_libdir}/%{name} \
+	MANDIR=$RPM_BUILD_ROOT%{_mandir}
+
+cat > $RPM_BUILD_ROOT%{_libdir}/%{name}/ld.conf <<EOF
+%{_libdir}/%{name}/stublibs
+%{_libdir}/%{name}
+EOF
+
+%if %{with emacs}
+%{__make} -C emacs DESTDIR=$RPM_BUILD_ROOT install \
+	EMACS="`if [ -x %{_bindir}/emacs ]; then echo emacs; \
+	        else echo xemacs; fi`" \
+	EMACSDIR="$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp"
+%endif
+
+# symlink .opt versions of compilers (if present)
+# warning: don't do that with camlp4 (can't load extensions then)
+for f in ocamlc ocamlopt ocamldoc ocamllex; do
+	if test -f $RPM_BUILD_ROOT%{_bindir}/$f.opt; then
+		mv -f $RPM_BUILD_ROOT%{_bindir}/$f \
+			$RPM_BUILD_ROOT%{_bindir}/$f.byte
+		ln -sf %{_bindir}/$f.opt $RPM_BUILD_ROOT%{_bindir}/$f
+	fi
+done
+
+# move includes to the proper place
+mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/caml $RPM_BUILD_ROOT%{_includedir}/caml
+# but leave compatibility symlink
+ln -s ../../include/caml $RPM_BUILD_ROOT%{_libdir}/%{name}/caml
+
+# compiled sources of compiler, needed by some programs
+for f in {asm,byte}comp parsing typing utils ; do
+	install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
+	cp $f/*.{cmi,cmo,cmx,o} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
+done
+
+# this isn't installed by default, but is useful
+install tools/objinfo $RPM_BUILD_ROOT%{_bindir}/ocamlobjinfo
+cp -r examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -r otherlibs/labltk/examples* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-labltk-%{version}
+ln -sf %{_libdir}/%{name}/{scrape,add}labels $RPM_BUILD_ROOT%{_bindir}
+
+# shutup checkfiles
+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}
+
+# broken build system
+install camlp4/man/camlp4.1 $RPM_BUILD_ROOT%{_mandir}/man1
+for f in camlp4o.1 camlp4r.1 mkcamlp4.1 camlp4o.opt.1 camlp4r.opt.1 ; do
+	echo '.so camlp4.1' >$RPM_BUILD_ROOT%{_mandir}/man1/$f
+done
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/camlp4*
+%attr(755,root,root) %{_bindir}/mkcamlp4
+%{_libdir}/%{name}/camlp4
+%{_mandir}/man1/camlp4*.1*
+%{_mandir}/man1/mkcamlp4.1*
+
+%files doc-html
+%defattr(644,root,root,755)
+%doc docs/html/camlp4*
+
+%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
+%changelog
+* %{date} PLD Team <feedback at pld-linux.org>
+All persons listed below can be reached at <cvs_login>@pld-linux.org
+
+$Log$
+Revision 1.1  2009/02/16 12:05:48  baggins
+- initial revision
+
================================================================


More information about the pld-cvs-commit mailing list