]> git.pld-linux.org Git - packages/wl.git/blame_incremental - wl.spec
- fix build with kernels using gcc 4.9 features
[packages/wl.git] / wl.spec
... / ...
CommitLineData
1# Conditional build:
2%bcond_without dist_kernel # allow non-distribution kernel
3%bcond_without kernel # don't build kernel modules
4%bcond_with verbose # verbose build (V=1)
5%bcond_with dkms # build dkms package
6
7%if %{without kernel}
8%undefine with_dist_kernel
9%endif
10
11%if "%{_alt_kernel}" != "%{nil}"
12%if 0%{?build_kernels:1}
13%{error:alt_kernel and build_kernels are mutually exclusive}
14exit 1
15%endif
16%global _build_kernels %{alt_kernel}
17%else
18%global _build_kernels %{?build_kernels:,%{?build_kernels}}
19%endif
20
21# nothing to be placed to debuginfo package
22%define _enable_debug_packages 0
23
24%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)
25%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)
26%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)
27
28%define rel 2
29%define pname wl
30%define file_ver %(echo %{version} | tr . _)
31Summary: Broadcom 802.11 a/b/g/n hybrid Linux networking device driver
32Name: %{pname}%{_alt_kernel}
33Version: 6.30.223.248
34Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
35License: other
36Group: Base/Kernel
37Source0: http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-%{file_ver}.tar.gz
38# Source0-md5: e048154b3f4c7ad6bee36cab5b37486d
39Source1: http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-%{file_ver}.tar.gz
40# Source1-md5: 0237917f75d121589ec16a44eac5f5b0
41Source2: http://www.broadcom.com/docs/linux_sta/README.txt
42# Source2-md5: 8a6e8708a5e00ab6d841cde51d70eb1b
43Source3: dkms.conf
44Patch0: linux-3.17.patch
45Patch1: gcc-4.9.patch
46URL: http://www.broadcom.com/support/802.11/linux_sta.php
47BuildRequires: rpmbuild(macros) >= 1.678
48%{?with_dist_kernel:%{expand:%kbrs}}
49ExclusiveArch: %{ix86} %{x8664}
50BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51
52%description
53These packages contain Broadcom's IEEE 802.11a/b/g/n hybrid Linux
54device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4313-,
55BCM4321-, BCM4322-, BCM43224-, and BCM43225-, BCM43227- and
56BCM43228-based hardware.
57
58This is an Official Release of Broadcom's hybrid Linux driver for use
59with Broadcom based hardware.
60
61%package -n dkms-%{pname}
62Summary: DKMS-ready driver for Broadcom WL driver
63Group: Base/Kernel
64Release: %{rel}
65Requires(pre): dkms
66Requires(post): dkms
67%if "%{_rpmversion}" >= "5"
68BuildArch: noarch
69%endif
70
71%description -n dkms-%{pname}
72This package contains a DKMS-ready driver for Broadcom WL driver.
73
74%define kernel_pkg()\
75%package -n kernel%{_alt_kernel}-net-wl\
76Summary: Broadcom 802.11 a/b/g/n hybrid Linux networking device driver\
77Release: %{rel}@%{_kernel_ver_str}\
78Group: Base/Kernel\
79Requires(post,postun): /sbin/depmod\
80%if %{with dist_kernel}\
81%requires_releq_kernel\
82Requires(postun): %releq_kernel\
83%endif\
84\
85%description -n kernel%{_alt_kernel}-net-wl\
86These packages contain Broadcom's IEEE 802.11a/b/g/n hybrid Linux\
87device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4313-,\
88BCM4321-, BCM4322-, BCM43224-, and BCM43225-, BCM43227- and\
89BCM43228-based hardware.\
90\
91This is an Official Release of Broadcom's hybrid Linux driver for use\
92with Broadcom based hardware.\
93\
94%files -n kernel%{_alt_kernel}-net-wl\
95%defattr(644,root,root,755)\
96%doc lib/LICENSE.txt README.txt\
97/lib/modules/%{_kernel_ver}/kernel/drivers/net/wireless/*.ko*\
98\
99%post -n kernel%{_alt_kernel}-net-wl\
100%depmod %{_kernel_ver}\
101\
102%posttrans -n kernel%{_alt_kernel}-net-wl\
103%banner -e kernel%{_alt_kernel}-net-wl <<EOF\
104WARNING! This kernel module is not GPL licensed.\
105Before using it be sure to accept license: %{_docdir}/kernel%{_alt_kernel}-net-wl-%{version}/LICENSE.txt*\
106EOF\
107\
108%postun -n kernel%{_alt_kernel}-net-wl\
109%depmod %{_kernel_ver}\
110%{nil}
111
112%define build_kernel_pkg()\
113%build_kernel_modules -m wl\
114%install_kernel_modules -D installed -m wl -d kernel/drivers/net/wireless\
115%{nil}
116
117%{?with_kernel:%{expand:%kpkg}}
118
119%prep
120%ifarch %{x8664}
121%define src 1
122%else
123%define src 0
124%endif
125%setup -c -T -q -n %{pname}-%{version} -b%{src}
126%patch0 -p1
127%patch1 -p1
128
129# cleanup backups after patching
130find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
131
132cp -p %{SOURCE2} .
133
134cat > Makefile << 'EOF'
135obj-m += wl.o
136
137wl-objs += src/wl/sys/wl_linux.o
138wl-objs += src/wl/sys/wl_iw.o
139wl-objs += src/shared/linux_osl.o
140
141EXTRA_CFLAGS += -I$(KBUILD_EXTMOD)/src/include
142EXTRA_CFLAGS += -I$(KBUILD_EXTMOD)/src/common/include
143EXTRA_CFLAGS += -I$(KBUILD_EXTMOD)/src/wl/sys
144EXTRA_CFLAGS += -I$(KBUILD_EXTMOD)/src/shared/bcmwifi/include
145
146EXTRA_LDFLAGS := $(KBUILD_EXTMOD)/lib/wlc_hybrid.o_shipped
147EOF
148
149%build
150%{?with_kernel:%{expand:%bkpkg}}
151
152%install
153rm -rf $RPM_BUILD_ROOT
154%if %{with kernel}
155install -d $RPM_BUILD_ROOT
156cp -a installed/* $RPM_BUILD_ROOT
157%endif
158
159%if %{with dkms}
160install -d $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}
161cp -a Makefile lib src $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}
162sed -e 's|@pname@|%{pname}|g' -e 's|@MODVERSION@|%{version}-%{rel}|g' \
163 %{SOURCE3} > $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}/dkms.conf
164%endif
165
166%clean
167rm -rf $RPM_BUILD_ROOT
168
169%post -n dkms-%{pname}
170%{_sbindir}/dkms add -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \
171%{_sbindir}/dkms build -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \
172%{_sbindir}/dkms install -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade || :
173
174%preun -n dkms-%{pname}
175%{_sbindir}/dkms remove -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade --all || :
176
177%if %{with dkms}
178%files -n dkms-%{pname}
179%defattr(644,root,root,755)
180%{_usrsrc}/%{pname}-%{version}-%{rel}
181%endif
This page took 0.085579 seconds and 4 git commands to generate.