/[packages]/cauldron/libclc/current/SPECS/libclc.spec
ViewVC logotype

Contents of /cauldron/libclc/current/SPECS/libclc.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2044256 - (show annotations) (download)
Sun Feb 25 17:38:21 2024 UTC (7 weeks, 1 day ago) by wally
File size: 3127 byte(s)
- new version 17.0.6 (sync with Fedora)
1 # Please keep this package sync with FC
2
3 # this stop us generating an empty debuginfo
4 %global debug_package %{nil}
5
6 %global shortname clc
7 %global libclc_version 17.0.6
8 #global rc_ver 4
9 %global libclc_srcdir libclc-%{libclc_version}%{?rc_ver:rc%{rc_ver}}.src
10
11 Name: libclc
12 Version: %{libclc_version}%{?rc_ver:~rc%{rc_ver}}
13 Release: %mkrel 1
14 Summary: An open source implementation of the OpenCL 1.1 library requirements
15 Group: Development/C
16
17 License: Apache-2.0 WITH LLVM-exception OR BSD OR MIT
18 URL: https://libclc.llvm.org
19 Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libclc_version}%{?rc_ver:-rc%{rc_ver}}/%{libclc_srcdir}.tar.xz
20 Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libclc_version}%{?rc_ver:-rc%{rc_ver}}/%{libclc_srcdir}.tar.xz.sig
21 Source2: release-keys.asc
22
23 BuildRequires: clang-devel >= %{version}
24 BuildRequires: libedit-devel
25 BuildRequires: llvm-devel >= %{version}
26 BuildRequires: python3
27 BuildRequires: zlib-devel
28 BuildRequires: cmake
29 BuildRequires: spirv-llvm-translator-tools
30
31 # For signature verification
32 BuildRequires: gnupg2
33
34 %description
35 libclc is an open source, BSD licensed implementation of the library
36 requirements of the OpenCL C programming language, as specified by the
37 OpenCL 1.1 Specification. The following sections of the specification
38 impose library requirements:
39
40 * 6.1: Supported Data Types
41 * 6.2.3: Explicit Conversions
42 * 6.2.4.2: Reinterpreting Types Using as_type() and as_typen()
43 * 6.9: Preprocessor Directives and Macros
44 * 6.11: Built-in Functions
45 * 9.3: Double Precision Floating-Point
46 * 9.4: 64-bit Atomics
47 * 9.5: Writing to 3D image memory objects
48 * 9.6: Half Precision Floating-Point
49
50 libclc is intended to be used with the Clang compiler's OpenCL frontend.
51
52 libclc is designed to be portable and extensible. To this end, it provides
53 generic implementations of most library requirements, allowing the target
54 to override the generic implementation at the granularity of individual
55 functions.
56
57 libclc currently only supports the PTX target, but support for more
58 targets is welcome.
59
60
61 %package devel
62 Summary: Development files for %{name}
63 Group: Development/C
64 Requires: %{name}%{?_isa} = %{version}-%{release}
65
66 %description devel
67 The %{name}-devel package contains libraries and header files for
68 developing applications that use %{name}.
69
70 %prep
71 %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
72 %autosetup -n %{libclc_srcdir} -p2
73
74 %build
75 export CFLAGS="%{build_cflags} -D__extern_always_inline=inline"
76 %set_build_flags
77 %cmake -DCMAKE_INSTALL_DATADIR:PATH=%{_lib}
78
79 %cmake_build
80
81 %install
82 %cmake_install
83
84 %check
85 # external-calls-clspv--.bc test fails
86 %cmake_build --target test || true
87
88 %files
89 %license LICENSE.TXT
90 %doc README.TXT CREDITS.TXT
91 %dir %{_libdir}/%{shortname}
92 %{_libdir}/%{shortname}/*.bc
93 %{_libdir}/%{shortname}/spirv-mesa3d-.spv
94 %{_libdir}/%{shortname}/spirv64-mesa3d-.spv
95
96 %files devel
97 %{_libdir}/pkgconfig/%{name}.pc
98 %{_includedir}/%{shortname}

  ViewVC Help
Powered by ViewVC 1.1.30