packages: llvm/llvm.spec - up to 2.8, large merges from fc git spec
glen
glen at pld-linux.org
Mon Nov 1 14:34:44 CET 2010
Author: glen Date: Mon Nov 1 13:34:44 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- up to 2.8, large merges from fc git spec
---- Files affected:
packages/llvm:
llvm.spec (1.13 -> 1.14)
---- Diffs:
================================================================
Index: packages/llvm/llvm.spec
diff -u packages/llvm/llvm.spec:1.13 packages/llvm/llvm.spec:1.14
--- packages/llvm/llvm.spec:1.13 Tue Jun 1 04:18:16 2010
+++ packages/llvm/llvm.spec Mon Nov 1 14:34:39 2010
@@ -1,29 +1,44 @@
# $Revision$, $Date$
# TODO
-# - gcc/c++ packages: http://cvs.fedoraproject.org/viewvc/rpms/llvm/devel/llvm.spec?revision=HEAD&view=markup
-# - test gcc pkgs and all
+#warning: Installed (but unpackaged) file(s) found:
+# /usr/share/man/man1/lit.1.gz
#
-%define lgcc_vertar 4.2
-%define lgcc_version 4.2
+# Conditional build:
+%bcond_without ocaml # ocaml binding
+%bcond_with apidocs # The doxygen docs are HUGE, so they are not built by default.
+%bcond_with tests # run tests
+
+%ifarch s390 s390x sparc64
+# No ocaml on these arches
+%undefine with_ocaml
+%endif
+
Summary: The Low Level Virtual Machine (An Optimizing Compiler Infrastructure)
Summary(pl.UTF-8): Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego)
Name: llvm
-Version: 2.7
-Release: 0.1
+Version: 2.8
+Release: 0.2
License: University of Illinois/NCSA Open Source License
Group: Development/Languages
Source0: http://llvm.org/releases/%{version}/%{name}-%{version}.tgz
-# Source0-md5: ac322661f20e7d6c810b1869f886ad9b
-Source1: http://llvm.org/releases/2.7/clang-%{version}.tgz
-# Source1-md5: b83260aa8c13494adf8978b5f238bf1b
+# Source0-md5: 220d361b4d17051ff4bb21c64abe05ba
+Source1: http://llvm.org/releases/%{version}/clang-%{version}.tgz
+# Source1-md5: 10e14c901fc3728eecbd5b829e011b59
# Data files should be installed with timestamps preserved
Patch3: %{name}-2.6-timestamp.patch
URL: http://llvm.org/
BuildRequires: bash
BuildRequires: bison
-BuildRequires: doxygen
BuildRequires: flex
+%if %{with apidocs}
+BuildRequires: doxygen
BuildRequires: graphviz
+%endif
+%if %{with tests}
+BuildRequires: dejagnu
+BuildRequires: python
+BuildRequires: tcl-devel
+%endif
BuildRequires: groff
BuildRequires: libltdl-devel
BuildRequires: libstdc++-devel >= 5:3.4
@@ -32,10 +47,15 @@
%if "%(echo %{cc_version} | cut -d. -f1,2)" < "3.4"
BuildRequires: __cc >= 3.4
%endif
+# LLVM is not supported on PPC64
+# http://llvm.org/bugs/show_bug.cgi?id=3729
+ExcludeArch: ppc64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/%{name}
+%define specflags_ppc -fno-var-tracking-assignments
+
# strip corrupts: $RPM_BUILD_ROOT/usr/lib64/llvm-gcc/bin/llvm-c++ ...
%define _noautostrip .*/\\(libmud.*\\.a\\|bin/llvm-.*\\|lib.*++\\.a\\)
@@ -60,14 +80,6 @@
narzędzi programistycznych oraz biblioteki z odpowiadającą narzędziom
funkcjonalnością.
-%package doc
-Summary: Documentation for LLVM
-Group: Documentation
-Requires: %{name} = %{version}-%{release}
-
-%description doc
-Documentation for the LLVM compiler infrastructure.
-
%package devel
Summary: Libraries and header files for LLVM
Group: Development/Languages
@@ -78,24 +90,21 @@
This package contains library and header files needed to develop new
native programs that use the LLVM infrastructure.
-%package ocaml
-Summary: OCaml binding for LLVM
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-%requires_eq ocaml-runtime
+%package doc
+Summary: Documentation for LLVM
+Group: Documentation
+# does not require base
-%description ocaml
-OCaml binding for LLVM.
+%description doc
+Documentation for the LLVM compiler infrastructure.
-%package ocaml-devel
-Summary: Development files for %{name}-ocaml
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-Requires: %{name}-ocaml = %{version}-%{release}
+%package apidocs
+Summary: API documentation for LLVM
+Group: Development/Languages
+Requires: %{name}-doc = %{version}-%{release}
-%description ocaml-devel
-The %{name}-ocaml-devel package contains libraries and signature files
-for developing applications that use %{name}-ocaml.
+%description apidocs
+API documentation for the LLVM compiler infrastructure.
%package -n clang
Summary: A C language family frontend for LLVM
@@ -125,23 +134,79 @@
programs. The standalone tool is invoked from the command-line, and is
intended to run in tandem with a build of a project or code base.
+%package -n clang-devel
+Summary: Header files for clang
+Group: Development/Languages
+Requires: clang = %{version}-%{release}
+
+%description -n clang-devel
+This package contains header files for the Clang compiler.
+
+%package -n clang-doc
+Summary: Documentation for Clang
+Group: Documentation
+Requires: %{name} = %{version}-%{release}
+
+%description -n clang-doc
+Documentation for the Clang compiler front-end.
+
+%package -n clang-apidocs
+Summary: API documentation for Clang
+Group: Development/Languages
+Requires: clang-doc = %{version}-%{release}
+
+%description -n clang-apidocs
+API documentation for the Clang compiler.
+
+%package ocaml
+Summary: OCaml binding for LLVM
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+%requires_eq ocaml-runtime
+
+%description ocaml
+OCaml binding for LLVM.
+
+%package ocaml-devel
+Summary: Development files for %{name}-ocaml
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-ocaml = %{version}-%{release}
+
+%description ocaml-devel
+The llvm-ocaml-devel package contains libraries and signature files
+for developing applications that use llvm-ocaml.
+
+%package ocaml-doc
+Summary: Documentation for LLVM's OCaml binding
+Group: Documentation
+Requires: %{name}-ocaml = %{version}-%{release}
+
+%description ocaml-doc
+HTML documentation for LLVM's OCaml binding.
+
%prep
%setup -q -a1
mv clang-*.* tools/clang
-%patch3 -p1 -b .timestamp
+%patch3 -p1
+
+install -d obj
%build
# Disabling assertions now, rec. by pure and needed for OpenGTL
-# no PIC on ix86: http://llvm.org/bugs/show_bug.cgi?id=3239
+# TESTFIX no PIC on ix86: http://llvm.org/bugs/show_bug.cgi?id=3801
#
# bash specific 'test a < b'
-mkdir obj && cd obj
+cd obj
bash ../%configure \
--libdir=%{_libdir}/%{name} \
--datadir=%{_datadir}/%{name}-%{version} \
%ifarch %{ix86}
--enable-pic=no \
%endif
+%if %{with apidocs}
+ --enable-doxygen \
+%endif
--disable-static \
--disable-assertions \
--enable-debug-runtime \
@@ -157,63 +222,58 @@
%{__make} \
OPTIMIZE_OPTION="%{rpmcflags} %{rpmcppflags}"
+%if %{with test}
+%{__make} check 2>&1 | tee llvm-testlog.txt
+%{__make} -C tools/clang test 2>&1 | tee clang-testlog.txt
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
-
-cd obj
-chmod -x examples/Makefile
-
-%{__make} -j1 install \
+%{__make} -C obj -j1 install \
PROJ_docsdir=/moredocs \
DESTDIR=$RPM_BUILD_ROOT
-cd ..
# Static analyzer not installed by default:
-install -d $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/
-# wrong path used
-install -d $RPM_BUILD_ROOT%{_libexecdir}
+# http://clang-analyzer.llvm.org/installation#OtherPlatforms
+install -d $RPM_BUILD_ROOT%{_libdir}/clang-analyzer
# create launchers
-
for f in scan-{build,view}; do
- ln -s %{_libdir}/clang-analyzer/$f $RPM_BUILD_ROOT%{_bindir}/$f
+ ln -s %{_libdir}/clang-analyzer/$f/$f $RPM_BUILD_ROOT%{_bindir}/$f
+ cp -pr tools/clang/tools/$f $RPM_BUILD_ROOT%{_libdir}/clang-analyzer
done
-cd tools/clang/tools/scan-build
-
-for f in scan-build scanview.css sorttable.js; do
- cp -p $f $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/
-done
-cp -pr * $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/
-cd ../../../../
-
# Move documentation back to build directory
-#
rm -rf moredocs
mv $RPM_BUILD_ROOT/moredocs .
-rm moredocs/*.tar.gz
-#rm moredocs/ocamldoc/html/*.tar.gz
+rm -fv moredocs/*.tar.gz
+rm -fv moredocs/ocamldoc/html/*.tar.gz
+
+# and separate the apidoc
+%if %{with apidocs}
+rm -rf apidoc clang-apidoc
+mv moredocs/html/doxygen apidoc
+cp -a tools/clang/docs/doxygen/html clang-apidoc
+%endif
# And prepare Clang documentation
-#
rm -rf clang-docs
-mkdir clang-docs
+install -d clang-docs
for f in LICENSE.TXT NOTES.txt README.txt TODO.txt; do
- ln tools/clang/$f clang-docs/
+ ln tools/clang/$f clang-docs
done
-#rm -rf tools/clang/docs/{doxygen*,Makefile*,*.graffle,tools}
# Get rid of erroneously installed example files.
-rm $RPM_BUILD_ROOT%{_libdir}/%{name}/*LLVMHello.*
+rm -v $RPM_BUILD_ROOT%{_libdir}/%{name}/*LLVMHello.*
# FIXME file this bug
sed -i 's,ABS_RUN_DIR/lib",ABS_RUN_DIR/%{_lib}/%{name}",' \
$RPM_BUILD_ROOT%{_bindir}/llvm-config
-chmod -x $RPM_BUILD_ROOT%{_libdir}/%{name}/*.a
-
# remove documentation makefiles:
# they require the build directory to work
-find examples -name 'Makefile' | xargs -0r rm -f
+rm -rf moredocs/examples
+cp -a examples moredocs/examples
+find moredocs/examples -name Makefile | xargs -0r rm -f
%clean
rm -rf $RPM_BUILD_ROOT
@@ -224,6 +284,7 @@
%files
%defattr(644,root,root,755)
%doc CREDITS.TXT LICENSE.TXT README.txt
+%{?with_tests:%doc llvm-testlog.txt}
%attr(755,root,root) %{_bindir}/bugpoint
%attr(755,root,root) %{_bindir}/llc
%attr(755,root,root) %{_bindir}/lli
@@ -242,24 +303,30 @@
#%{_mandir}/man1/stkrc.1*
%{_mandir}/man1/tblgen.1*
-%files doc
-%defattr(644,root,root,755)
-%doc docs/*.{html,css} docs/img examples moredocs/html
-
%files devel
%defattr(644,root,root,755)
-#%doc docs/doxygen
%attr(755,root,root) %{_bindir}/llvm-config
%{_includedir}/llvm
%{_includedir}/llvm-c
%{_libdir}/%{name}
+%files doc
+%defattr(644,root,root,755)
+%doc moredocs/examples moredocs/html
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc apidoc/*
+%endif
+
%files -n clang
%defattr(644,root,root,755)
%doc clang-docs/*
-%doc tools/clang/docs/*
+%{?with_tests:%doc clang-testlog.txt}
%attr(755,root,root) %{_bindir}/clang*
%attr(755,root,root) %{_bindir}/tblgen
+%attr(755,root,root) %{_bindir}/c-index-test
%{_prefix}/lib/clang
%{_mandir}/man1/clang.1.*
@@ -268,15 +335,36 @@
%attr(755,root,root) %{_bindir}/scan-build
%attr(755,root,root) %{_bindir}/scan-view
%dir %{_libdir}/clang-analyzer
-%attr(755,root,root) %{_libdir}/clang-analyzer/scan-*
-%attr(755,root,root) %{_libdir}/clang-analyzer/c++-*
-%attr(755,root,root) %{_libdir}/clang-analyzer/ccc-*
-%attr(755,root,root) %{_libdir}/clang-analyzer/set-xcode-*
-%{_libdir}/clang-analyzer/*.*
+%dir %{_libdir}/clang-analyzer/scan-view
+%attr(755,root,root) %{_libdir}/clang-analyzer/scan-view/scan-view
+%{_libdir}/clang-analyzer/scan-view/Resources
+%{_libdir}/clang-analyzer/scan-view/*.py
+
+%dir %{_libdir}/clang-analyzer/scan-build
+%{_libdir}/clang-analyzer/scan-build/*.css
+%{_libdir}/clang-analyzer/scan-build/*.js
+%attr(755,root,root) %{_libdir}/clang-analyzer/scan-build/scan-build
+%attr(755,root,root) %{_libdir}/clang-analyzer/scan-build/*-analyzer
+
+%files -n clang-devel
+%defattr(644,root,root,755)
+%{_includedir}/clang
+%{_includedir}/clang-c
+
+%files -n clang-doc
+%defattr(644,root,root,755)
+%doc tools/clang/docs/*
+
+%if %{with apidocs}
+%files -n clang-apidocs
+%defattr(644,root,root,755)
+%doc clang-apidoc/*
+%endif
+
+%if %{with ocaml}
%files ocaml
%defattr(644,root,root,755)
-%doc moredocs/ocamldoc/html/*
%{_libdir}/ocaml/*.cma
%{_libdir}/ocaml/*.cmi
@@ -286,12 +374,20 @@
%{_libdir}/ocaml/*.cmx*
%{_libdir}/ocaml/*.mli
+%files ocaml-doc
+%defattr(644,root,root,755)
+%doc moredocs/ocamldoc/html/*
+%endif
+
%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.14 2010/11/01 13:34:39 glen
+- up to 2.8, large merges from fc git spec
+
Revision 1.13 2010/06/01 02:18:16 aredridel
- 2.7
- Not finished yet (llvm depends on libLLVM-2.7.so from -devel)
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/llvm/llvm.spec?r1=1.13&r2=1.14&f=u
More information about the pld-cvs-commit
mailing list