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