]> git.pld-linux.org Git - SPECS.git/blob - llvm-libclc.spec
SPECS updated Tue 30 Apr 15:06:09 CEST 2024
[SPECS.git] / llvm-libclc.spec
1 Summary:        OpenCL C programming language library implementation
2 Summary(pl.UTF-8):      Implementacja biblioteki języka programowania OpenCL C
3 Name:           llvm-libclc
4 Version:        0.2.0
5 %define llvm_ver        17.0.4
6 %define llvm_dver       %(echo %{llvm_ver} | tr . _)
7 %define rel             2
8 Release:        1.llvm%{llvm_dver}.%{rel}
9 License:        BSD-like or MIT
10 Group:          Libraries
11 #Source0Download: https://github.com/llvm/llvm-project/releases/
12 Source0:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{llvm_ver}/libclc-%{llvm_ver}.src.tar.xz
13 # Source0-md5:  8848371d2951d20f886529e084972a55
14 URL:            https://libclc.llvm.org/
15 BuildRequires:  clang >= 3.9
16 BuildRequires:  cmake >= 3.20.0
17 BuildRequires:  llvm-devel >= 3.9
18 BuildRequires:  python3
19 BuildRequires:  rpmbuild(macros) >= 1.446
20 Requires:       llvm-libs >= 3.9
21 BuildArch:      noarch
22 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
23
24 %description
25 libclc is an open source, BSD licensed implementation of the library
26 requirements of the OpenCL C programming language, as specified by the
27 OpenCL 1.1 Specification. The following sections of the specification
28 impose library requirements:
29
30  * 6.1: Supported Data Types
31  * 6.2.3: Explicit Conversions
32  * 6.2.4.2: Reinterpreting Types Using as_type() and as_typen()
33  * 6.9: Preprocessor Directives and Macros
34  * 6.11: Built-in Functions
35  * 9.3: Double Precision Floating-Point
36  * 9.4: 64-bit Atomics
37  * 9.5: Writing to 3D image memory objects
38  * 9.6: Half Precision Floating-Point
39
40 libclc is intended to be used with the Clang compiler's OpenCL
41 frontend.
42
43 %description -l pl.UTF-8
44 libclc to mająca otwarte źródła, wydana na licencji BSD implementacja
45 wymagań bibliotecznych języka programowania OpenCL C zgodna ze
46 specyfikacją OpenCL 1.1. Wymagania biblioteczne wynikają z
47 następujących sekcji specyfikacji:
48
49  * 6.1: obsługiwane typy danych
50  * 6.2.3: jawne konwersje
51  * 6.2.4.2: reinterpretacja typów przy użyciu as_type() i as_typen()
52  * 6.9: dyrektywy i makra preprocesora
53  * 6.11: funkcje wbudowane
54  * 9.3: arytmetyka zmiennoprzecinkowa podwójnej precyzji
55  * 9.4: 64-bitowe operacje atomowe
56  * 9.5: zapis do biektów obrazów 3D w pamięci
57  * 9.6: arytmetyka zmiennoprzecinkowa połówkowej precyzji
58
59 libclc jest przeznaczona do używania z frontendem OpenCL kompilatora
60 Clang.
61
62 %prep
63 %setup -q -n libclc-%{llvm_ver}.src
64
65 %build
66 # .pc file generation needs CMAKE_INSTALL_{DATADIR,INCLUDEDIR} relative to CMAKE_INSTALL_PREFIX
67 %cmake -B build \
68         -DCMAKE_INSTALL_DATADIR=share \
69         -DCMAKE_INSTALL_INCLUDEDIR=include
70
71 %{__make} -C build
72
73 %install
74 rm -rf $RPM_BUILD_ROOT
75
76 %{__make} -C build install \
77         DESTDIR=$RPM_BUILD_ROOT
78
79 %clean
80 rm -rf $RPM_BUILD_ROOT
81
82 %files
83 %defattr(644,root,root,755)
84 %doc CREDITS.TXT LICENSE.TXT README.TXT www/index.html
85 %{_includedir}/clc
86 %{_datadir}/clc
87 %{_npkgconfigdir}/libclc.pc
This page took 4.710268 seconds and 3 git commands to generate.