1SUMMARY="Intel WiFi firmware modules"
2DESCRIPTION="Intel WiFi devices require firmware to operate. This package \
3contains those necessary firmware files, corresponding to the WiFi drivers \
4contained within the base system."
5HOMEPAGE="https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html"
6COPYRIGHT="2006-2023 Intel Corporation"
7LICENSE="Intel WiFi Firmware"
8REVISION="1"
9
10srcGitRev="50b5a6cc0ad284c55ad95d0b8a2b3190d045b7a3"
11SOURCE_URI="https://github.com/freebsd/freebsd-src/archive/$srcGitRev.tar.gz"
12CHECKSUM_SHA256="3081411b6786d960263502bf7af2100153e7bf73787b12ce14a1a8930fd7eb65"
13SOURCE_DIR="freebsd-src-$srcGitRev/sys/contrib/dev/"
14
15SOURCE_URI_2="http://firmware.openbsd.org/firmware/7.2/iwm-firmware-20220111.tgz"
16CHECKSUM_SHA256_2="506d88a15dce9bce90e4a9220fa7d74dc653135cf35c43019502fc5735bb0b48"
17
18SOURCE_URI_3="http://firmware.openbsd.org/firmware/7.3/iwx-firmware-20230306.tgz"
19CHECKSUM_SHA256_3="a1147c2be962e6b09abae38ffeb48445972b2cd33f899deb63b6503457529a81"
20
21ARCHITECTURES="any"
22DISABLE_SOURCE_PACKAGE="yes"
23
24PROVIDES="
25	intel_wifi_firmwares = $portVersion
26	"
27
28BUILD_REQUIRES="
29	cmd:uudecode
30	"
31
32BUILD()
33{
34	rm -rf install-firmware
35	mkdir -p install-firmware
36
37	process_firmware()
38	{
39		freebsd_driver=$1
40		haiku_driver=$2
41		cd $freebsd_driver
42		mkdir -p ../install-firmware/$haiku_driver
43		for f in *.uu; do
44			uudecode -o ../install-firmware/$haiku_driver/$(echo $f | cut -d'.' -f-1).ucode $f
45		done
46		cp LICENSE ../install-firmware/$haiku_driver
47		cd ..
48	}
49
50	process_firmware wpi iprowifi3945
51	process_firmware iwn iprowifi4965
52
53	# remap one firmware
54	cd install-firmware/iprowifi4965/
55	mv iwnwifi-2030-18.ucode iwlwifi-2030-18.ucode
56	cd ../..
57
58	# copy OpenBSD firmware directly
59	mkdir -p install-firmware/idualwifi7260/
60	cd install-firmware/idualwifi7260/
61	cp -r ../../../../sources-2/firmware/iwm* .
62	cd ../..
63
64	mkdir -p install-firmware/iaxwifi200/
65	cd install-firmware/iaxwifi200/
66	cp -r ../../../../sources-3/firmware/iwx* .
67	cd ../..
68}
69
70INSTALL()
71{
72	mkdir -p $dataDir/firmware/
73	cp -r install-firmware/. $dataDir/firmware/
74}
75