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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 585500 - (show annotations) (download)
Fri Feb 7 20:39:24 2014 UTC (10 years, 8 months ago) by akien
File size: 5105 byte(s)
Adapt spec to package both nouveau (core) and nvidia (nonfree) versions
1 # Package should be built first against core, and then against nonfree
2 # The core build produces the bumblebee and bumblebee-nouveau RPMs,
3 # whereas the nonfree build produces the bumblebee-nvidia RPM
4 %if "%{?distro_section}" == "nonfree"
5 %define driver nvidia
6 %else
7 %define driver nouveau
8 %endif
9
10 Name: bumblebee
11 Summary: Support for NVIDIA Optimus laptops on Linux
12 Group: System/Kernel and hardware
13 Version: 3.2.1
14 Release: %mkrel 4
15 License: GPLv3+
16 URL: https://github.com/Bumblebee-Project/bumblebee
17 # source from git repo git://github.com/Bumblebee-Project/Bumblebee.git
18 Source0: https://github.com/downloads/Bumblebee-Project/Bumblebee/%{name}-%{version}.tar.gz
19 BuildRequires: pkgconfig(x11)
20 BuildRequires: pkgconfig(glib-2.0)
21 BuildRequires: pkgconfig(libbsd)
22 BuildRequires: help2man
23 Requires(pre): rpm-helper
24 Requires(pre): update-alternatives
25 Requires(post): systemd-units
26 Requires(preun):systemd-units
27 Requires: %{name}-bin
28 # Default bumblebee bridge for general use (primus is an alternative bridge, designed for gaming performance)
29 Requires: virtualgl
30 Requires: %mklibname virtualgl
31 # Suggests: primus
32 Requires: kmod(bbswitch)
33
34 %description
35 Bumblebee is an effort to make NVIDIA Optimus enabled laptops work in
36 GNU/Linux systems. These laptops are built in such a way that the NVIDIA
37 graphics card can be used on demand so that battery life is improved and
38 temperature is kept low.
39
40 It disables the discrete graphics card if no client is detected, and start
41 an X server making use of NVIDIA card if requested then let software GL
42 implementations (such as VirtualGL or primus) copy frames to the visible
43 display that runs on the intergrated graphics. The ability to use discrete
44 graphics depends on the driver: open source nouveau and proprietary nvidia.
45
46 %if "%{?distro_section}" != "nonfree"
47 %files
48 %doc README.markdown doc/RELEASE_NOTES_3_2_1
49 %{_sysconfdir}/bash_completion.d/bumblebee
50 %dir %{_sysconfdir}/bumblebee/
51 %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.nouveau
52 %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.nvidia
53 %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.d/10-dummy.conf
54 /lib/udev/rules.d/99-bumblebee-nvidia-dev.rules
55 /lib/systemd/system/bumblebeed.service
56 %{_bindir}/bumblebee-bugreport
57 %{_mandir}/man1/bumblebeed.1.*
58 %{_mandir}/man1/optirun.1.*
59
60 %pre
61 %_pre_groupadd %{name}
62 if [ "$1" -eq "1" ];then
63 users=$(getent passwd | awk -F: '$3 >= 500 && $3 < 60000 {print $1}')
64 for user in $users; do
65 gpasswd -a $user bumblebee
66 done
67 /usr/sbin/update-alternatives --set gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf
68 fi
69
70 %post
71 %_post_service bumblebeed
72 # Simple: still needs this since in release 3 services were not set
73 # enabled and seams that still isnt properly handeled in %%_post_service
74 if [ "$1" -ge "1" ]; then
75 # Enable (but don't start) the unit by default
76 /bin/systemctl enable bumblebeed.service
77 # Start bumblebeed service
78 /bin/systemctl start bumblebeed.service
79 fi
80
81 %preun
82 %_preun_service bumblebeed
83
84 %postun
85 # We need this since "%%_postun_groupdel %%{name}" doesnt remove the group if
86 # set to a user
87 if [ "$1" -eq "0" ];then
88 /usr/sbin/groupdel bumblebee
89 fi
90 %endif
91
92 %package %{driver}
93 Summary: Bumblebee configuration files and binaries for %{driver} driver
94 Group: System/Kernel and hardware
95 Requires: %{name} = %{version}
96 %if "%{?distro_section}" == "nonfree"
97 Requires: nvidia
98 Conflicts: %{name}-nouveau
99 %else
100 Requires: x11-driver-video-nouveau
101 Conflicts: %{name}-nvidia
102 %endif
103 Provides: %{name}-bin
104
105 %description %{driver}
106 Bumblebee configuration files and binaries built against
107 the %{driver} driver.
108
109 %files %{driver}
110 %config(noreplace) %{_sysconfdir}/bumblebee/bumblebee.conf
111 %{_sbindir}/bumblebeed
112 %{_bindir}/optirun
113
114 #--------------------------------------------------------------------
115 %prep
116 %setup -q
117
118 %build
119 %configure2_5x \
120 %if "%{?distro_section}" == "nonfree"
121 CONF_DRIVER=nvidia \
122 CONF_DRIVER_MODULE_NVIDIA=nvidia-current \
123 %else
124 CONF_DRIVER=nouveau \
125 %endif
126 %ifarch x86_64
127 CONF_LDPATH_NVIDIA=%{_libdir}/nvidia-current:%{_usr}/lib/nvidia-current \
128 CONF_MODPATH_NVIDIA=%{_libdir}/nvidia-current/xorg,%{_usr}/lib/nvidia-current/xorg,%{_libdir}/xorg/modules,%{_usr}/lib/xorg/modules,%{_libdir}/xorg/extra-modules,%{_usr}/lib/xorg/extra-modules \
129 # CONF_PRIMUS_LD_PATH=%%{_libdir}/primus:%%{_usr}/lib/primus
130 %else
131 CONF_LDPATH_NVIDIA=%{_libdir}/nvidia-current \
132 CONF_MODPATH_NVIDIA=%{_libdir}/nvidia-current/xorg,%{_libdir}/xorg/modules,%{_libdir}/xorg/extra-modules
133 # CONF_PRIMUS_LD_PATH=%%{_libdir}/primus
134 %endif
135
136 %make CFLAGS="%{optflags}"
137
138 %install
139 %if "%{?distro_section}" == "nonfree"
140 install -D -m644 conf/bumblebee.conf %{buildroot}%{_sysconfdir}/bumblebee/bumblebee.conf
141 install -D -m755 bin/bumblebeed %{buildroot}%{_sbindir}/bumblebeed
142 install -D -m755 bin/optirun %{buildroot}%{_bindir}/optirun
143 %else
144 %makeinstall_std
145 install -D -m644 scripts/systemd/bumblebeed.service %{buildroot}/lib/systemd/system/bumblebeed.service
146 %endif

  ViewVC Help
Powered by ViewVC 1.1.30