]> git.pld-linux.org Git - packages/nvidiabl.git/blame - nvidiabl.spec
- switch to macro driven module build for multiple kernel versions
[packages/nvidiabl.git] / nvidiabl.spec
CommitLineData
4ce7c5cd
ER
1#
2# Conditional build:
3%bcond_without dist_kernel # allow non-distribution kernel
4%bcond_with verbose # verbose build (V=1)
e8956618 5%bcond_with dkms # build dkms package
4ce7c5cd 6
0406611b
JR
7%if "%{_alt_kernel}" != "%{nil}"
8%if 0%{?build_kernels:1}
9%{error:alt_kernel and build_kernels are mutually exclusive}
10exit 1
11%endif
12%global _build_kernels %{alt_kernel}
13%else
14%global _build_kernels %{?build_kernels:,%{?build_kernels}}
15%endif
16
4ce7c5cd
ER
17# nothing to be placed to debuginfo package
18%define _enable_debug_packages 0
19
0406611b
JR
20%define _duplicate_files_terminate_build 0
21
22%define kbrs %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
23%define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
24%define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
25
26%define rel 29
27%define pname nvidiabl
4ce7c5cd 28Summary: Linux driver for nVidia display back-lights
0406611b 29Name: %{pname}%{_alt_kernel}
4ce7c5cd 30Version: 0.81
0406611b 31Release: %{rel}%{?_pld_builder:@%{_kernel_ver_str}}
4ce7c5cd
ER
32License: GPL v2+
33URL: https://github.com/guillaumezin/nvidiabl
0406611b 34Source0: https://github.com/guillaumezin/nvidiabl/archive/v%{version}.tar.gz?/%{pname}-%{version}.tgz
4ce7c5cd 35# Source0-md5: f72d90c0fe34b36a0ff3b6d7034e99c4
b08319f7 36Source1: modprobe.conf
e8956618 37Patch0: nvidiabl-dkmsconf.patch
4ce7c5cd 38Group: Base/Kernel
0406611b
JR
39BuildRequires: rpmbuild(macros) >= 1.678
40%{?with_dist_kernel:%{expand:%kbrs}}
4ce7c5cd
ER
41BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42
43%description
44This driver drives the smartdimmer register found on modern mobile
45nVidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47,
46NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to
47adjust the display backlight.
48
49On Apple machines this driver allows more fine-grained brightness
50adjustment than the (mbp_nvidia_bl) driver and is generally preferred.
51
0406611b 52%package -n dkms-%{pname}
e8956618
ER
53Summary: DKMS-ready driver for nVidia display back-lights
54License: GPL v2+
55Group: Base/Kernel
56Requires(pre): dkms
57Requires(post): dkms
58%if "%{_rpmversion}" >= "5"
59BuildArch: noarch
60%endif
61
0406611b 62%description -n dkms-%{pname}
e8956618
ER
63This package contains a DKMS-ready driver for nvidia laptop display
64back-lights.
65
66This driver drives the smartdimmer register found on modern mobile
67Nvidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47,
68NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to
69adjust the display backlight.
70
71On Apple machines this driver allows more fine-grained brightness
72adjustment than the mbp-nvidia-bl-dkms (mbp_nvidia_bl) driver and is
73generally preferred.
74
0406611b
JR
75%define kernel_pkg()\
76%package -n kernel%{_alt_kernel}-video-nvidiabl\
77Summary: Linux driver for nVidia display back-lights\
78Summary(pl.UTF-8): Sterownik dla Linuksa do nvidiabl\
79Release: %{rel}@%{_kernel_ver_str}\
80Group: Base/Kernel\
81Requires(post,postun): /sbin/depmod\
82%if %{with dist_kernel}\
83%requires_releq_kernel\
84Requires(postun): %releq_kernel\
85%endif\
86\
87%description -n kernel%{_alt_kernel}-video-nvidiabl\
88This driver drives the smartdimmer register found on modern mobile\
89nVidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47,\
90NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to\
91adjust the display backlight.\
92\
93On Apple machines this driver allows more fine-grained brightness\
94adjustment than the (mbp_nvidia_bl) driver and is generally preferred.\
95\
96%description -n kernel%{_alt_kernel}-video-nvidiabl -l pl.UTF-8\
97Sterownik dla Linuksa do nvidiabl.\
98\
99Ten pakiet zawiera moduł jądra Linuksa.\
100\
101%files -n kernel%{_alt_kernel}-video-nvidiabl\
102%defattr(644,root,root,755)\
103/lib/modules/%{_kernel_ver}/misc/*.ko*\
104%config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/%{pname}.conf\
105\
106%post -n kernel%{_alt_kernel}-video-nvidiabl\
107%depmod %{_kernel_ver}\
108\
109%postun -n kernel%{_alt_kernel}-video-nvidiabl\
110%depmod %{_kernel_ver}\
111%{nil}
112
113%define build_kernel_pkg()\
114%build_kernel_modules -m nvidiabl\
115%install_kernel_modules -D installed -m nvidiabl -d misc\
116%{nil}
117
118%{expand:%kpkg}
4ce7c5cd
ER
119
120%prep
0406611b 121%setup -qn %{pname}-%{version}
e8956618 122%patch0 -p1
4ce7c5cd
ER
123
124%build
0406611b 125%{expand:%bkpkg}
4ce7c5cd
ER
126
127%install
128rm -rf $RPM_BUILD_ROOT
2b4d907b 129install -d $RPM_BUILD_ROOT/etc/modprobe.d
0406611b
JR
130
131cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/modprobe.d/%{pname}.conf
132cp -a installed/* $RPM_BUILD_ROOT
e8956618
ER
133
134%if %{with dkms}
0406611b
JR
135install -d $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}
136cp -p Makefile *.[ch] $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}
137sed -e 's|@pname@|%{pname}|g' -e 's|@MODVERSION@|%{version}-%{rel}|g' \
138 dkms.conf > $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}/dkms.conf
e8956618 139%endif
4ce7c5cd
ER
140
141%clean
142rm -rf $RPM_BUILD_ROOT
143
0406611b
JR
144%post -n dkms-%{pname}
145%{_sbindir}/dkms add -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \
146%{_sbindir}/dkms build -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \
147%{_sbindir}/dkms install -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade || :
4ce7c5cd 148
0406611b
JR
149%preun -n dkms-%{pname}
150%{_sbindir}/dkms remove -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade --all || :
4ce7c5cd 151
e8956618 152%if %{with dkms}
0406611b 153%files -n dkms-%{pname}
4ce7c5cd 154%defattr(644,root,root,755)
0406611b 155%{_usrsrc}/%{pname}-%{version}-%{rel}
e8956618 156%endif
This page took 0.107936 seconds and 4 git commands to generate.