1 |
%define date 20131127 |
2 |
%define libname %mklibname %{name} |
3 |
%define _provides_exceptions \\.so |
4 |
|
5 |
Name: primus |
6 |
Summary: Minimalistic and efficient OpenGL offloading for Bumblebee |
7 |
Group: System/Kernel and hardware |
8 |
# Primus has no stable release and only a 0.1 tag |
9 |
# Staying with version number 0.1 until another tag is published |
10 |
Version: 0.1 |
11 |
Release: %mkrel -c %{date} 1 |
12 |
URL: https://github.com/amonakov/primus |
13 |
License: ISC |
14 |
Source0: %{name}-master.tar.gz |
15 |
Patch0: %{name}-0.1-mga-fdr-primuslibglfix.patch |
16 |
BuildRequires: pkgconfig(gl) |
17 |
BuildRequires: pkgconfig(x11) |
18 |
Requires: bumblebee |
19 |
Requires: %{libname} = %{version}-%{release} |
20 |
|
21 |
%description |
22 |
Primus is a shared library that provides OpenGL and GLX APIs and |
23 |
implements low-overhead local-only client-side OpenGL offloading via GLX |
24 |
forking, similar to VirtualGL. It intercepts GLX calls and redirects GL |
25 |
rendering to a secondary X display, presumably driven by a faster GPU. |
26 |
On swapping buffers, rendered contents are read back using a PBO and |
27 |
copied onto the drawable it was supposed to be rendered on in the first |
28 |
place. |
29 |
|
30 |
%package -n %{libname} |
31 |
Summary: Shared library for Primus |
32 |
Group: System/Libraries |
33 |
|
34 |
%description -n %{libname} |
35 |
Libraries injected by Primus into applications that are ran through it. |
36 |
Lib packages allow installing 32 and 64 bit libraries at the same time. |
37 |
|
38 |
%prep |
39 |
%setup -qn primus-master |
40 |
%apply_patches |
41 |
|
42 |
%build |
43 |
LIBDIR=%{_lib} %make CFLAGS="%{optflags}" |
44 |
|
45 |
%install |
46 |
install -Dm755 %{_lib}/libGL.so.1 %{buildroot}%{_libdir}/%{name}/libGL.so.1 |
47 |
install -Dm755 primusrun %{buildroot}%{_bindir}/primusrun |
48 |
install -Dm644 primusrun.1 %{buildroot}%{_mandir}/man1/primusrun.1 |
49 |
install -Dm644 primus.bash-completion %{buildroot}%{_sysconfdir}/bash_completion.d/%{name} |
50 |
|
51 |
%files |
52 |
%doc README.md technotes.md |
53 |
%{_bindir}/primusrun |
54 |
%{_mandir}/man1/primusrun.1.xz |
55 |
%{_sysconfdir}/bash_completion.d/%{name} |
56 |
|
57 |
%files -n %{libname} |
58 |
%dir %{_libdir}/%{name} |
59 |
%{_libdir}/%{name}/libGL.so.1 |