source: projects/specs/trunk/l/llvm/llvm-vl.spec @ 11985

Revision 11985, 28.1 KB checked in by tomop, 5 years ago (diff)

updated 3 packages, add 2 packages

vine-themes-7.0.11-1
llvm-7.0.1-1
unixODBC-2.3.7-1
new: autoconf-archive-2018.03.13-3
new: mozjs52-52.9.0-2

RevLine 
[9470]1%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
2
[11969]3%define ver_suffix %(echo "%{version}" | cut -d . -f 1)
4
[11308]5%define _unpackaged_files_terminate_build 1
6
[1073]7# Build options:
[9470]8# Components skipped by default:
9%bcond_with doxygen
[11293]10%bcond_with ocaml
11%bcond_with force_gold
[11969]12%bcond_with lld_libs
13%bcond_with clang_tools_extra
[1073]14
[9470]15# Documentation install path
16%global llvmdocdir() %{_docdir}/%1-%{version}
17
[11293]18%define _unpackaged_files_terminate_build 1
19
[1073]20Name:           llvm
[11985]21Version:        7.0.1
[11969]22Release:        1%{?_dist_release}
[1073]23Summary:        The Low Level Virtual Machine
24Summary(ja):    LLVM - 低レベルバーチャルマシン
25
26Group:          Development/Languages
27License:        NCSA
28URL:            http://llvm.org/
[11969]29
30Vendor:         Project Vine
31Distribution:   Vine Linux
32
[9073]33Source0:        http://llvm.org/releases/%{version}/llvm-%{version}.src.tar.xz
34Source1:        http://llvm.org/releases/%{version}/cfe-%{version}.src.tar.xz
35Source2:        http://llvm.org/releases/%{version}/compiler-rt-%{version}.src.tar.xz
[9470]36Source3:        http://llvm.org/releases/%{version}/lldb-%{version}.src.tar.xz
[11969]37Source4:        http://llvm.org/releases/%{version}/lld-%{version}.src.tar.xz
[11985]38%if %{with clang_tools_extra}
[11969]39Source5:        http://llvm.org/releases/%{version}/clang-tools-extra-%{version}.src.tar.xz
[11985]40%endif
[7943]41
[4656]42# multilib fixes
[11293]43Source10:        llvm-config.h
44Source11:        clang-config.h
[4656]45
[9470]46# patches
[1073]47
[11308]48# recognize s390 as SystemZ when configuring build
[11969]49# llvm
[11308]50Patch3:         0001-CMake-Split-static-library-exports-into-their-own-ex.patch
[11969]51Patch7:         0001-Filter-out-cxxflags-not-supported-by-clang.patch
52Patch12:        0001-unittests-Don-t-install-TestPlugin.so.patch
53Patch15:        0001-Don-t-set-rpath-when-installing.patch
[7197]54
[11969]55# clang
56Patch100:         0001-lit.cfg-Add-hack-so-lit-can-find-not-and-FileCheck.patch
57Patch101:         0001-GCC-compatibility-Ignore-fstack-clash-protection.patch
58Patch102:         0001-Driver-Prefer-vendor-supplied-gcc-toolchain.patch
[11308]59
[11969]60# lld
61Patch400:         0001-CMake-Check-for-gtest-headers-even-if-lit.py-is-not-.patch
62
[7201]63# Vine Patch
[11293]64Patch1000: clang-3.8.1-driver-ld.gold.patch
65Patch1002: clang-3.8.1-driver-vine.patch
[7201]66
[1073]67BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
68
[5424]69BuildRequires:  binutils-devel
[11293]70BuildRequires:  cmake
[1073]71BuildRequires:  bison
72BuildRequires:  chrpath
73BuildRequires:  flex
74BuildRequires:  gcc-c++ >= 3.4
75BuildRequires:  groff
[4656]76BuildRequires:  libffi-devel
[11293]77BuildRequires:  libstdc++-devel
78BuildRequires:  libstdc++-static
[1073]79BuildRequires:  libtool-ltdl-devel
[9594]80BuildRequires:  libxml2-devel
[11969]81%if %{with ocaml}
[9594]82BuildRequires:  ocaml-findlib
[9734]83BuildRequires:  ocaml-ctypes
[9594]84BuildRequires:  ocaml-ounit
[11969]85%endif
[1073]86# for DejaGNU test suite
[9594]87BuildRequires:  dejagnu tcl-devel python
[9470]88%if %{with doxygen}
[1073]89BuildRequires:  doxygen graphviz
90%endif
[9594]91# pod2man
92BuildRequires:  perl
[9470]93# lldb
94BuildRequires:  swig
95BuildRequires:  libedit-devel
[9594]96BuildRequires:  python-devel >= 2.7
[11969]97# lld
98BuildRequires: ncurses-devel
99BuildRequires: zlib-devel
[9470]100
[11969]101Requires:       llvm%{ver_suffix}-libs = %{version}-%{release}
[1073]102
103# LLVM is not supported on PPC64
104# http://llvm.org/bugs/show_bug.cgi?id=3729
105ExcludeArch:    ppc64
106
107%description
108LLVM is a compiler infrastructure designed for compile-time,
109link-time, runtime, and idle-time optimization of programs from
110arbitrary programming languages.  The compiler infrastructure includes
111mirror sets of programming tools as well as libraries with equivalent
112functionality.
113
114
115%package devel
116Summary:        Libraries and header files for LLVM
117Summary(ja):    LLVM のライブラリおよびヘッダファイル
[9470]118Group:          Development/Libraries
[1073]119Requires:       %{name} = %{version}-%{release}
120Requires:       libstdc++-devel
[4656]121Requires:       libffi-devel
[11969]122Requires:       libedit-devel
[1073]123
124%description devel
125This package contains library and header files needed to develop new
126native programs that use the LLVM infrastructure.
127
128
129%package doc
130Summary:        Documentation for LLVM
131Summary(ja):    LLVM のドキュメント
132Group:          Documentation
[9470]133BuildArch:      noarch
[1073]134Requires:       %{name} = %{version}-%{release}
[9470]135# might seem redundant, but needed to kill off the old arch-ed -doc subpackage
136Obsoletes:      %{name}-doc < %{version}-%{release}
[1073]137
138%description doc
139Documentation for the LLVM compiler infrastructure.
140
141
[11969]142%package -n llvm%{ver_suffix}-libs
[4656]143Summary:        LLVM shared libraries
[9470]144Summary(ja):    LLVM 共有ライブラリ
[4656]145Group:          System Environment/Libraries
[11969]146Provides:       llvm-libs = %{version}-%{release}
[11985]147Obsoletes:      llvm-libs <= 7.0.0
[4656]148
[11969]149%description -n llvm%{ver_suffix}-libs
[4656]150Shared libraries for the LLVM compiler infrastructure.
151
[11969]152%description -n llvm%{ver_suffix}-libs -l ja
[9594]153LLVM コンパイラ基盤の共有ライブラリです.
[4656]154
[11308]155%package static
156Summary:        LLVM static libraries
157Summary(ja):    LLVM 静的ライブラリ
158Requires:       llvm-devel = %{version}-%{release}
159
160%description static
161Static libraries for the LLVM compiler infrastructure.
162
163%description static -l ja
164LLVM コンパイラ基盤の静的ライブラリです.
165
166
[1073]167%package -n clang
168Summary:        A C language family front-end for LLVM
[9470]169Summary(ja):    LLVM の C 言語フロントエンド
[1073]170License:        NCSA
171Group:          Development/Languages
[9470]172Requires:       %{name} = %{version}-%{release}
173# clang requires gcc, clang++ requires libstdc++-devel
174Requires:       libstdc++-devel
175# remove clang-doc pacakge
176Obsoletes:      clang-doc < %{version}-%{release}
[1073]177
178%description -n clang
179clang: noun
180    1. A loud, resonant, metallic sound.
181    2. The strident call of a crane or goose.
182    3. C-language family front-end toolkit.
183
184The goal of the Clang project is to create a new C, C++, Objective C
185and Objective C++ front-end for the LLVM compiler. Its tools are built
186as libraries and designed to be loosely-coupled and extensible.
187
[9470]188%Package -n clang-libs
189Summary:        Runtime library for clang
190Summary(ja):    Clang のランタイムライブラリ
191Group:          System Environment/Libraries
[1073]192
[9470]193%description -n clang-libs
194Runtime library for clang.
195
[9594]196%description -n clang-libs -l ja
197Clang のランタイムライブラリです.
[9470]198
[1073]199%package -n clang-devel
200Summary:        Header files for clang
[9470]201Summary(ja):    Clang のヘッダファイル
202Group:          Development/Libraries
[1073]203Requires:       clang = %{version}-%{release}
204
205%description -n clang-devel
206This package contains header files for the Clang compiler.
207
[9594]208%description -n clang-devel -l ja
209Clang コンパイラのヘッダファイル集です.
[1073]210
211%package -n clang-analyzer
212Summary:        A source code analysis framework
[11293]213Summary(ja):    ソースコード分析フレームワーク
[1073]214License:        NCSA
215Group:          Development/Languages
216Requires:       clang = %{version}-%{release}
217# not picked up automatically since files are currently not instaled
218# in standard Python hierarchies yet
219Requires:       python
220
221%description -n clang-analyzer
222The Clang Static Analyzer consists of both a source code analysis
223framework and a standalone tool that finds bugs in C and Objective-C
224programs. The standalone tool is invoked from the command-line, and is
225intended to run in tandem with a build of a project or code base.
226
[11308]227%package -n python-clang
228Summary: Python bindings for clang
[11969]229Requires: %{name}%{ver_suffix}-libs%{?_isa} = %{version}-%{release}
[11308]230Requires: python
231%description -n python-clang
232Python bindings for clang
233
234
[9470]235#%package -n clang-doc
236#Summary:        Documentation for Clang
237#Summary(ja):    Clang のドキュメント
238#Group:          Documentation
239#Requires:       %{name} = %{version}-%{release}
240#
241#%description -n clang-doc
242#Documentation for the Clang compiler front-end.
[1073]243
[9470]244%package -n lldb
245Summary:        Next generation high-performance debugger
246Summary(ja):    高性能デバッガー
247License:        NCSA
248Group:          Development/Debuggers
[1073]249Requires:       %{name} = %{version}-%{release}
250
[9470]251%description -n lldb
252LLDB is a next generation, high-performance debugger. It is built as a set
253of reusable components which highly leverage existing libraries in the
254larger LLVM Project, such as the Clang expression parser and LLVM
255disassembler.
[1073]256
[9470]257%package -n lldb-devel
258Summary:        Header files for LLDB
259Summary(ja):    LLDB のヘッダファイル
260Group:          Development/Libraries
261Requires:       lldb = %{version}-%{release}
[1073]262
[9470]263%description -n lldb-devel
264This package contains header files for the LLDB debugger.
265
266
[11969]267%package -n lld
268Summary:        The LLVM Linker
269Summary(ja):    LLVMリンカー
270License:        NCSA
271Group:          Development/Tools
272
273%description -n lld
274The LLVM project linker.
275
276%if %{with lld_libs}
277%package -n lld-libs
278Summary:        LLD shared libraries
279Summary(ja):    LLD 共有ライブラリ
280License:        NCSA
281Group:          System Environment/Libraries
282
283%description -n lld-libs
284Shared libraries for LLD.
285
286
287%package -n lld-devel
288Summary:        Libraries and header files for LLD
289Summary(ja):    LLD 用ライブラリとヘッダファイル
290License:        NCSA
291Group:          System Environment/Libraries
292Requires:       lld-libs = %{version}-%{release}
293
294%description -n lld-devel
295This package contains library and header files needed to develop new native
296programs that use the LLD infrastructure.
297%endif
298
[9470]299%if %{with doxygen}
[1073]300%package apidoc
301Summary:        API documentation for LLVM
302Summary(ja):    LLVM の API ドキュメント
[9470]303Group:          Documentation
304BuildArch:      noarch
[1073]305Requires:       %{name}-docs = %{version}-%{release}
306
307%description apidoc
308API documentation for the LLVM compiler infrastructure.
[9470]309
310%package -n clang-apidoc
311Summary:        API documentation for Clang
312Summary(ja):    Clang の API ドキュメント
313Group:          Documentation
314BuildArch:      noarch
315
316%description -n clang-apidoc
317API documentation for the Clang compiler.
[1073]318%endif
319
[11308]320
321%package -n python-lldb
322Summary:        Python module for LLDB
323Summary(ja):    LLDB用Pythonモジュール
324BuildRequires:  python-devel
325Requires:       python-six
326
327%description -n python-lldb
328The package contains the LLDB Python module.
329
330
[11293]331%if %{with ocaml}
[1073]332%package        ocaml
333Summary:        OCaml binding for LLVM
334Summary(ja):    LLVM の OCaml バインディング
[9470]335Group:          System Environment/Libraries
[1073]336Requires:       %{name} = %{version}-%{release}
337Requires:       ocaml
338
339%description    ocaml
340OCaml binding for LLVM.
341
342%package        ocaml-devel
343Summary:        Development files for %{name}-ocaml
344Summary(ja):    %{name}-ocaml の開発ファイル
345Group:          Development/Libraries
346Requires:       %{name}-devel = %{version}-%{release}
347Requires:       %{name}-ocaml = %{version}-%{release}
348Requires:       ocaml
349
350%description    ocaml-devel
351The %{name}-ocaml-devel package contains libraries and signature files
352for developing applications that use %{name}-ocaml.
353
354%package ocaml-doc
355Summary:        Documentation for %{name}-ocaml
356Summary(ja):    %{name}-ocaml のドキュメント
357Group:          Documentation
[9470]358BuildArch:      noarch
[1073]359Requires:       %{name}-ocaml = %{version}-%{release}
[9470]360# might seem redundant, but needed to kill off the old arch-ed -doc subpackage
361Obsoletes:      %{name}-ocaml-doc < %{version}-%{release}
[1073]362
363%description ocaml-doc
364HTML documentation for LLVM's OCaml binding.
365
[11293]366%endif
367
[9470]368# compat32'
[11969]369%package -n compat32-%{name}%{ver_suffix}-libs
[9470]370Summary:        LLVM shared libraries
371Summary(ja):    LLVM 共有ライブラリ
372Group:          System Environment/Libraries
[11969]373Provides:       compat32-llvm-libs = %{version}-%{release}
374Requires:       %{name}%{ver_suffix}-libs = %{version}-%{release}
[1073]375
[11969]376%description -n compat32-%{name}%{ver_suffix}-libs
[9470]377Shared libraries for the LLVM compiler infrastructure.
[1073]378
[9470]379
[1073]380%prep
[11969]381%setup -q -a1 -a2 -a3 -a4 -n llvm-%{version}.src
[11308]382
383%patch3 -p1
[11969]384%patch7 -p1
385%patch12 -p1
386%patch15 -p1
[11308]387
[11969]388rm -rf tools/clang tools/lld tools/lldb projects/compiler-rt
[7943]389mv cfe-%{version}.src tools/clang
[9470]390mv compiler-rt-%{version}.src projects/compiler-rt
391mv lldb-%{version}.src tools/lldb
[11969]392mv lld-%{version}.src tools/lld
[1073]393
[11969]394%if %{with clang_tools_extra}
395tar xvf %{SOURCE5}
396mv clang-tools-extra-%{version}.src tools/clang/tools/extra
397%endif
398
[11293]399pushd tools/clang
[11969]400%patch100 -p1 -b .lit-search-path
401%patch101 -p1 -b .fstack-clash-protection
402%patch102 -p1 -b .vendor-gcc
[9470]403popd
404
[11969]405pushd tools/lld
406%patch400 -p1
[11308]407popd
408
[9470]409# Vine Linux
[11293]410%if %{with force_gold}
411pushd tools/clang
[9121]412%patch1000 -p1 -b .driver-ld.gold
[11293]413popd
414%endif
[11308]415#%patch1002 -p1 -b .driver-vine
[7201]416
[11308]417sed -i -e 's/"i686-linux-gnu",/"i686-linux-gnu","i686-vine-linux",/' tools/clang/lib/Driver/ToolChains/Gnu.cpp
418sed -i -e 's/"x86_64-linux-gnu",/"x86_64-linux-gnu","x86_64-vine-linux",/' tools/clang/lib/Driver/ToolChains/Gnu.cpp
419
[11293]420sed -i -e 's/"ld"/"ld.gold"/' tools/clang/include/clang/Driver/ToolChain.h
[1073]421
422%build
[11293]423mkdir build
424cd build
425
426CFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC"
427CXXFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC -std=c++11"
[11308]428TMP_PWD=$(pwd)
429LDFLAGS="%{?__global_ldflags} -L$TMP_PWD/%{_lib} -lpthread -ldl"
[11293]430
431%cmake .. \
432        -DBUILD_SHARED_LIBS:BOOL=OFF \
433        -DCMAKE_BUILD_TYPE=Release \
434        -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \
435%if 0%{?__isa_bits} == 64
436        -DLLVM_LIBDIR_SUFFIX=64 \
437%else
438        -DLLVM_LIBDIR_SUFFIX= \
439%endif
[11969]440        -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;NVPTX;BPF;ARM;AArch64" \
[11293]441        -DLLVM_ENABLE_LIBCXX:BOOL=OFF \
442        -DLLVM_ENABLE_ZLIB:BOOL=ON \
443        -DLLVM_ENABLE_FFI:BOOL=ON \
444        -DLLVM_ENABLE_RTTI:BOOL=ON \
445        -DLLVM_BINUTILS_INCDIR=%{_includedir} \
446        -DLLVM_BUILD_RUNTIME:BOOL=ON \
447        -DLLVM_INCLUDE_TOOLS:BOOL=ON \
448        -DLLVM_BUILD_TOOLS:BOOL=ON \
449        -DLLVM_INCLUDE_TESTS:BOOL=ON \
450        -DLLVM_BUILD_TESTS:BOOL=ON \
451        -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
452        -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
453        -DLLVM_INCLUDE_UTILS:BOOL=ON \
454        -DLLVM_INSTALL_UTILS:BOOL=OFF \
455        -DLLVM_INCLUDE_DOCS:BOOL=ON \
456        -DLLVM_ENABLE_SPHINX:BOOL=OFF \
[9470]457%if %{with doxygen}
[11293]458        -DLLVM_ENABLE_DOXYGEN:BOOL=ON \
[9470]459%else
[11293]460        -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
[5555]461%endif
[11293]462        -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
[11969]463        -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \
[11293]464        -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
465        -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
466        -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
467        -DLLVM_OPTIMIZED_TABLEGEN:BOOL=ON \
468        \
469        -DCLANG_ENABLE_ARCMT:BOOL=ON \
470        -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
471        -DCLANG_INCLUDE_DOCS:BOOL=ON \
472        -DCLANG_INCLUDE_TESTS:BOOL=ON \
473        -DCLANG_PLUGIN_SUPPORT:BOOL=ON \
474        -DCLANG_BUILD_EXAMPLES:BOOL=OFF \
475        -DLIB_SUFFIX= \
476        \
477        -DLLDB_DISABLE_CURSES:BOOL=OFF \
478        -DLLDB_DISABLE_LIBEDIT:BOOL=OFF \
479        -DLLDB_DISABLE_PYTHON:BOOL=OFF \
480        \
[11969]481        -DLLDB_LINK_LLVM_DYLIB:BOOL=ON \
482        \
[11293]483        -DPYTHON_EXECUTABLE:STRING=%{__python} \
484        -DPYTHON_VERSION_MAJOR:STRING=$(%{__python} -c "import sys; print sys.version_info.major") \
485        -DPYTHON_VERSION_MINOR:STRING=$(%{__python} -c "import sys; print sys.version_info.minor") \
486        -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF # could be on?
[9594]487
[11293]488# workaround for all-in-one build
[11308]489#TMP_PWD=$(pwd)
490#LD_LIBRARY_PATH="$TMP_PWD/%{_lib}" make %{?_smp_mflags}
491make %{?_smp_mflags}
[9594]492
[1073]493%install
494rm -rf %{buildroot}
[5555]495
[11293]496cd build
497make install DESTDIR=%{buildroot}
[4656]498
[11293]499# llvm
[9121]500
[11293]501install -m755 ./bin/lli-child-target %{buildroot}%{_bindir}/lli-child-target
[4656]502
[11293]503# fix multi-lib
504mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
[11308]505ln -sf llvm-config-%{__isa_bits} %{buildroot}%{_bindir}/llvm-config
[11293]506mv -v %{buildroot}%{_includedir}/llvm/Config/llvm-config{,-%{__isa_bits}}.h
507install -m 0644 %{SOURCE10} %{buildroot}%{_includedir}/llvm/Config/llvm-config.h
[1073]508
[11293]509# clang
[9470]510
[11308]511# remove static libraries
512rm -fv %{buildroot}%{_libdir}/libclang*.a
513
514# install clang python bindings
515mkdir -p %{buildroot}%{python_sitelib}/clang/
516install -p -m644 ../tools/clang/bindings/python/clang/* %{buildroot}%{python_sitelib}/clang/
517
[11293]518mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h
519install -m 0644 %{SOURCE11} %{buildroot}%{_includedir}/clang/Config/config.h
[9470]520
[11293]521# remove git integration
522rm -vf %{buildroot}%{_bindir}/git-clang-format
523# remove editor integrations (bbedit, sublime, emacs, vim)
524rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
525rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
526rm -vf %{buildroot}%{_datadir}/clang/clang-format.el
527rm -vf %{buildroot}%{_datadir}/clang/clang-format.py*
528# remove diff reformatter
529rm -vf %{buildroot}%{_datadir}/clang/clang-format-diff.py*
[9470]530
531
[11293]532# lldb
[1073]533
[11293]534# remove static libraries
[11308]535rm -fv %{buildroot}%{_libdir}/liblldb*.a
[1073]536
[11293]537# python: fix binary libraries location
538liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))
539ln -vsf "../../../${liblldb}" %{buildroot}%{python_sitearch}/lldb/_lldb.so
540mv -v %{buildroot}%{python_sitearch}/readline.so %{buildroot}%{python_sitearch}/lldb/readline.so
[1073]541
[11293]542# remove bundled six.py
543rm -f %{buildroot}%{python_sitearch}/six.*
[1073]544
[9594]545
[11969]546# lld
[11308]547
[11969]548# remove static libraries
549rm -fv %{buildroot}%{_libdir}/liblld*.a
550
551# Remove rpath
552chrpath --delete %{buildroot}%{_bindir}/*lld
553chrpath --delete %{buildroot}%{_bindir}/lld-link
554chrpath --delete %{buildroot}%{_bindir}/wasm-ld
555find %{buildroot}%{_libdir} -type f -name 'liblld*.so*' | \
556  grep -v 'liblldb' | \
557  xargs chrpath --delete
558
559%if !%{with lld_libs}
560  rm -rf %{buildroot}%{_includedir}/lld
561%endif
562
[11293]563# compiler-rt
[9470]564
[11293]565# move sanitizer lists to better place
566mkdir -p %{buildroot}%{_libdir}/clang/%{version}
567for file in asan_blacklist.txt msan_blacklist.txt dfsan_blacklist.txt cfi_blacklist.txt dfsan_abilist.txt; do
568        mv -v %{buildroot}%{_prefix}/${file} %{buildroot}%{_libdir}/clang/%{version}/ || :
[1073]569done
570
[11293]571# move sanitizer libs to better place
572#mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib
573#mv -v %{buildroot}%{_prefix}/lib/linux/libclang_rt* %{buildroot}%{_libdir}/clang/%{version}/lib
574#mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib/linux/
575#pushd %{buildroot}%{_libdir}/clang/%{version}/lib
576#for i in *.a *.syms *.so; do
577#        ln -s ../$i linux/$i
578#done
[1073]579
[11308]580#rm -rf %{buildroot}%{_libdir}/python*
[1073]581
[11308]582rm -f %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
583rm -f %{buildroot}%{_datadir}/clang/clang-rename.el
584rm -f %{buildroot}%{_datadir}/clang/clang-rename.py
[1073]585
[4656]586%check
[9594]587# the || : is wrong, i know, but the git snaps fail to make check due to
588# broken makefiles in the doc dirs.
[11293]589cd build
590make check-all LIT_ARGS="-v -j4" | tee llvm-testlog.txt ||:
[9594]591make -C tools/clang/test TESTARGS="-v -j4" | tee clang-testlog.txt ||:
[4656]592
[1073]593%clean
594rm -rf %{buildroot}
595
596
[11969]597%post -n llvm%{ver_suffix}-libs -p /sbin/ldconfig
598%postun -n llvm%{ver_suffix}-libs -p /sbin/ldconfig
[1073]599
[9470]600%post -n clang-libs -p /sbin/ldconfig
601%postun -n clang-libs -p /sbin/ldconfig
[1073]602
[9470]603%post -n lldb -p /sbin/ldconfig
604%postun -n lldb -p /sbin/ldconfig
[1073]605
[11969]606%post -n lld
607  /sbin/alternatives --install /usr/bin/ld ld \
608  /usr/bin/ld.lld 20
[1073]609
[11969]610%preun -n lld
611if [ $1 = 0 ]; then
612  /sbin/alternatives --remove ld /usr/bin/ld.lld
613fi
614
615%if %{with lld_libs}
616%post -n lld-libs -p /sbin/ldconfig
617%postun -n lld-libs -p /sbin/ldconfig
618%endif
619
[4656]620%posttrans devel
621# link llvm-config to the platform-specific file;
622# use ISA bits as priority so that 64-bit is preferred
623# over 32-bit if both are installed
624alternatives \
625  --install \
626  %{_bindir}/llvm-config \
627  llvm-config \
628  %{_bindir}/llvm-config-%{__isa_bits} \
629  %{__isa_bits}
630
631%postun devel
632if [ $1 -eq 0 ]; then
633  alternatives --remove llvm-config \
634    %{_bindir}/llvm-config-%{__isa_bits}
635fi
636exit 0
637
638
[1073]639%files
640%defattr(-,root,root,-)
[9470]641%doc CREDITS.TXT README.txt
[1073]642%{_bindir}/bugpoint
[11969]643%{_bindir}/dsymutil
[1073]644%{_bindir}/llc
645%{_bindir}/lli
[9121]646%{_bindir}/lli-child-target
[11293]647%{_bindir}/obj2yaml
648%{_bindir}/sancov
[11308]649%{_bindir}/sanstats
[11293]650%{_bindir}/verify-uselistorder
651%{_bindir}/yaml2obj
[11308]652%exclude %{_bindir}/llvm-config
[4656]653%exclude %{_bindir}/llvm-config-%{__isa_bits}
[1073]654%{_bindir}/llvm*
655%{_bindir}/opt
[9470]656%exclude %{_mandir}/man1/scan-build.1.*
[1073]657%doc %{_mandir}/man1/*.1.*
[11308]658%{_datadir}/opt-viewer
[1073]659
660%files devel
661%defattr(-,root,root,-)
[9470]662#doc %{llvmdocdir %{name}-devel}/
[11308]663%{_bindir}/llvm-config
[4656]664%{_bindir}/llvm-config-%{__isa_bits}
[1073]665%{_includedir}/%{name}
666%{_includedir}/%{name}-c
[11985]667%{_libdir}/BugpointPasses.so
668%{_libdir}/LLVMgold.so
[11293]669%{_libdir}/libLLVM.so
[11985]670%{_libdir}/libLTO.so*
[11308]671%{_libdir}/cmake/llvm
672%exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
[1073]673
[11969]674%files -n llvm%{ver_suffix}-libs
[4656]675%defattr(-,root,root,-)
[9470]676%doc LICENSE.TXT
[11293]677#config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
678#dir %{_libdir}/%{name}
679%{_libdir}/libLLVM-*.so
680%exclude %{_libdir}/LLVMHello.so
[4656]681
[11308]682%files static
683%{_libdir}/*.a
684%{_libdir}/cmake/llvm/LLVMStaticExports.cmake
685
[1073]686%files -n clang
687%defattr(-,root,root,-)
[11293]688#doc %{llvmdocdir clang}/
[1073]689%{_bindir}/clang*
[7197]690%{_bindir}/c-index-test
[11969]691%{_bindir}/diagtool
692%{_bindir}/hmaptool
[11293]693%{_libdir}/clang
[1073]694
[9470]695%files -n clang-libs
696%defattr(-,root,root,-)
[11293]697%{_libdir}/libclang.so
698%{_libdir}/libclang.so.*
[9470]699
[1073]700%files -n clang-devel
701%defattr(-,root,root,-)
[9470]702#doc %{llvmdocdir clang-devel}/
[1073]703%{_includedir}/clang
704%{_includedir}/clang-c
[11293]705%dir %{_datadir}/clang/
[11308]706%{_libdir}/cmake/*
[1073]707
708%files -n clang-analyzer
709%defattr(-,root,root,-)
710%{_bindir}/scan-build
711%{_bindir}/scan-view
[11293]712%{_libexecdir}/ccc-analyzer
713%{_libexecdir}/c++-analyzer
714%{_datadir}/scan-view
715%{_datadir}/scan-build
[9470]716%{_mandir}/man1/scan-build.1.*
[1073]717
[11308]718%files -n python-clang
719%{python_sitelib}/clang/
720
[9470]721%files -n lldb
[1073]722%defattr(-,root,root,-)
[11293]723#doc %{llvmdocdir lldb}/
[11308]724%{_bindir}/lldb*
[11969]725%{_libdir}/liblldb*.so.*
[1073]726
[9470]727%files -n lldb-devel
728%defattr(-,root,root,-)
729%{_includedir}/lldb
[11969]730%{_libdir}/liblldb*.so
[9470]731
[11308]732%files -n python-lldb
733%{python_sitearch}/lldb
[11293]734
[11969]735%files -n lld
736%defattr(-,root,root,-)
737%{_bindir}/lld*
738%{_bindir}/ld.lld
739%{_bindir}/ld64.lld
740%{_bindir}/wasm-ld
741%exclude %{_bindir}/lldb*
742
743%if %{with lld_libs}
744%files -n lld-libs
745%{_libdir}/liblld*.so.*
746%exclude %{_libdir}/liblldb*.so.*
747
748%files -n lld-devel
749%{_includedir}/lld
750%{_libdir}/liblld*.so
751%exclude %{_libdir}/liblldb*.so
752%endif
753
[1073]754%files doc
755%defattr(-,root,root,-)
[11293]756%doc docs/*
757#doc %{llvmdocdir %{name}-doc}/
[1073]758
[11293]759%if %{with ocaml}
[1073]760%files ocaml
761%defattr(-,root,root,-)
762%{_libdir}/ocaml/*.cma
763%{_libdir}/ocaml/*.cmi
[9073]764%{_libdir}/ocaml/*.so
765%{_libdir}/ocaml/META.llvm*
[1073]766
767%files ocaml-devel
768%defattr(-,root,root,-)
769%{_libdir}/ocaml/*.a
770%{_libdir}/ocaml/*.cmx*
771%{_libdir}/ocaml/*.mli
772
773%files ocaml-doc
774%defattr(-,root,root,-)
[9594]775#doc %{llvmdocdir %{name}-ocaml-doc}/
[11293]776%endif
[1073]777
[4656]778%if 0%{?_with_doxygen}
[1073]779%files apidoc
780%defattr(-,root,root,-)
[9470]781%doc %{llvmdocdir %{name}-apidoc}/
[4656]782
783%files -n clang-apidoc
784%defattr(-,root,root,-)
[9470]785%doc %{llvmdocdir clang-apidoc}/
[1073]786%endif
787
[9470]788%if %{build_compat32}
[11969]789%files -n compat32-%{name}%{ver_suffix}-libs
[9470]790%defattr(-,root,root)
791%doc LICENSE.TXT
[11293]792#config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
[11985]793%exclude %{_libdir}/libLTO.so
794%exclude %{_libdir}/BugpointPasses.so
[11293]795%exclude %{_libdir}/libclang.so
[11969]796%exclude %{_libdir}/liblld*.so
[11985]797%exclude %{_libdir}/LLVMGold.so
[11293]798%exclude %{_libdir}/LLVMHello.so
799%{_libdir}/*.so
[11308]800%{_libdir}/libLTO.so.*
[9470]801%endif
[1073]802
[4656]803%changelog
[11985]804* Sun Dec 16 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 7.0.1-1
805- fixed %%files.
806
[11969]807* Wed Dec 05 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 7.0.0-1
808- new upstream release.
809- dropped Patch0, 4, 5, 100 and 200.
810- imported Patch3, 7, 12, 15, 100, 101, 102 and 400 from rawhide.
811- renamed a subpackage "llvm-libs".
812- added a subpackage "lld".
813
[11308]814* Tue Jan 02 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.0.1-2
815- added subpackages "llvm-static", "python-lldb" and "python-clang".
816
817* Mon Jan 01 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.0.1-1
818- new upstream release.
819- dropped Patch1 and 2: fixed in upstream.
820- imported Patch0, 3-5, 100 and 200 from rawhide.
821- disabled Patch1002: no longer needed?
822
[11293]823* Fri Aug  5 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.8.1-1
824- new upstream release.
825- switched to cmake.
826- disable ocaml binding as default.
827- updated Patch1000 and 1002.
828- disabled Patch1000 as default.
829- cleanup patches.
830
[10438]831* Thu Jun 30 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.6.2-2
832- rebuild with gcc-5.4.0
833
[9734]834* Sat Sep  5 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.6.2-1
835- new upstream release
836- added BR: ocaml-ctypes
837
[9594]838* Thu Jun  4 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.6.1-1
839- new upstream release
840- dropt Patch 1, 201 and 1001
841- updated Patch 1000
842
[9470]843* Tue Mar 24 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.5.1-1
844- updated to 3.5.1
845- added Patch1, 2, 100, 101, 200, 201 and 202 from Fedora
846- added clang-libs, lldb, lldb-devel and compat32-llvm-libs subpackage
847- obsoleted clang-doc
848- built with ocaml 4.02.1
849
[9121]850* Sat Nov 29 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.0-2
851- fix <BTS:2832>
852  - fix configure option "--with-c-include-dirs"
853  - update Patch1000: clang-3.5.0-driver-ld.gold.patch
854  - update Patch1001: clang-3.5.0-driver-lib64.patch
855  - update Patch1002: clang-3.5.0-driver-vine.patch
856
[9073]857* Tue Oct 28 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.0-1
858- update to 3.5.0
859- remove Patch11 (clang-hardfloat-hack.patch)
860
[8758]861* Sun Jul 06 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3-2
862- rebuild with libffi-3.0.13
863
[7943]864* Mon Oct 28 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 3.3-1
865- update to 3.3
866
[7201]867* Mon Dec 03 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-2
868- ld.gold (patch1000,1001)
869- add /%{_lib} to ld search path
870- add support *-vine-linux gcc (patch1002)
871
[7197]872* Fri Nov 30 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-1
873- update to 3.1
874
[5555]875* Tue Jan 24 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 3.0-1
876- updated to 3.0 release
877
[5424]878* Sun Jan 15 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 2.9-3
879- added patch 2-4 to support -O4 link-time optimization
880
[4738]881* Fri Sep  9 2011 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 2.9-2
882- disable -fno-var-tracking-assignments on ppc
883  (seems like gcc-4.4.5 still doesn't support this)
884
[4656]885* Thu Aug 25 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 2.9-1
886- new upstream release
887- add BR: libffi-devel
888- add R: libffi-devel to -devel
[1073]889
890* Sun May 23 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 2.7-1
891- initial build for Vine Linux
892
893* Sun May  2 2010 Michel Salim <salimma@fedoraproject.org> - 2.7-1
894- Update to final 2.7 release
895
896* Sun Mar 28 2010 Michel Salim <salimma@fedoraproject.org> - 2.7-0.1.pre1
897- Update to first 2.7 pre-release
898
899* Fri Sep 18 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.6.pre2
900- Update to 2.6 pre-release2
901- -devel subpackage now virtually provides -static
902
903* Wed Sep  9 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.5.pre1
904- Disable var tracking assignments on PPC
905
906* Wed Sep  9 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.4.pre1
907- Don't adjust clang include dir; files there are noarch (bz#521893)
908- Enable clang unit tests
909- clang and clang-analyzer renamed; no longer depend on llvm at runtime
910
911* Mon Sep  7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.3.pre1
912- Package Clang's static analyzer tools
913
914* Mon Sep  7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.2.pre1
915- PIC is now enabled by default; explicitly disable on %%{ix86}
916
917* Mon Sep  7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.1.pre1
918- First 2.6 prerelease
919- Enable Clang front-end
920- Enable debuginfo generation
921
922* Sat Sep  5 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-6
923- Disable assertions (needed by OpenGTL, bz#521261)
924- Align spec file with upstream build instructions
925- Enable unit tests
926
927* Sat Aug 22 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-5
928- Only disable PIC on %%ix86; ppc actually needs it
929
930* Sat Aug 22 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-4
931- Disable use of position-independent code on 32-bit platforms
932  (buggy in LLVM <= 2.5)
933
934* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5-3
935- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
936
937* Wed Mar  4 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-2
938- Remove build scripts; they require the build directory to work
939
940* Wed Mar  4 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-1
941- Update to 2.5
942- Package build scripts (bug #457881)
943
944* Tue Dec  2 2008 Michel Salim <salimma@fedoraproject.org> - 2.4-2
945- Patched build process for the OCaml binding
946
947* Tue Dec  2 2008 Michel Salim <salimma@fedoraproject.org> - 2.4-1
948- Update to 2.4
949- Package Ocaml binding
950
951* Wed Jun 18 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.3-2
952- Add dependency on groff
953
954* Wed Jun 18 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.3-1
955- LLVM 2.3
956
957* Thu May 29 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.2-4
958- fix license tags
959
960* Wed Mar  5 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.2-3
961- Fix compilation problems with gcc 4.3
962
963* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.2-2
964- Autorebuild for GCC 4.3
965
966* Sun Jan 20 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.1-2
967- Fix review comments
968
969* Sun Jan 20 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.1-1
970- Initial version
Note: See TracBrowser for help on using the repository browser.