pipe: use new wpa_supplicant fork (updated to 2.12!)

This commit is contained in:
itsmattkc committed 2026-08-23 16:55:13 -07:00
1 parent 81978c97ff
commit 9744e7de23
1 file changed
+11 -103
+11 -103
View File
@@ -77,104 +77,7 @@ else()
endif()
# Build WPA supplicant
#
# HACK: To skip having to call externally into wpa_supplicant, and since it has
# no static library build path out of the box, we just build the objects
# straight in and use it like a static library anyway. It's a little hacky
# to list all of the expected build objects, but hey it works.
set(HOSTAP_DIR ${CMAKE_CURRENT_BINARY_DIR}/hostap)
set(WPA_SUPPLICANT_OBJECTS
wpa_supplicant/wpa_supplicant.o
wpa_supplicant/ctrl_iface.o
wpa_supplicant/scan.o
wpa_supplicant/events.o
wpa_supplicant/config.o
wpa_supplicant/sme.o
wpa_supplicant/wpas_glue.o
wpa_supplicant/wps_supplicant.o
wpa_supplicant/ctrl_iface_unix.o
wpa_supplicant/config_file.o
wpa_supplicant/bss.o
wpa_supplicant/blacklist.o
wpa_supplicant/wmm_ac.o
wpa_supplicant/notify.o
wpa_supplicant/eap_register.o
src/wps/wps_registrar.o
src/wps/wps_enrollee.o
src/wps/wps_common.o
src/wps/wps_attr_build.o
src/wps/wps_attr_parse.o
src/wps/wps_dev_attr.o
src/wps/wps.o
src/wps/wps_attr_process.o
src/utils/radiotap.o
src/utils/common.o
src/utils/base64.o
src/utils/eloop.o
src/utils/wpa_debug.o
src/utils/os_unix.o
src/utils/wpabuf.o
src/utils/uuid.o
src/rsn_supp/wpa.o
src/rsn_supp/peerkey.o
src/rsn_supp/pmksa_cache.o
src/rsn_supp/wpa_ie.o
src/rsn_supp/preauth.o
src/l2_packet/l2_packet_linux.o
src/eapol_supp/eapol_supp_sm.o
src/eap_peer/eap.o
src/eap_peer/eap_tls_common.o
src/eap_peer/eap_ttls.o
src/eap_peer/eap_peap.o
src/eap_peer/eap_methods.o
src/eap_peer/eap_wsc.o
src/eap_peer/eap_mschapv2.o
src/eap_peer/eap_tls.o
src/eap_peer/eap_leap.o
src/eap_peer/eap_gtc.o
src/eap_peer/mschapv2.o
src/eap_peer/eap_otp.o
src/eap_peer/eap_md5.o
src/eap_common/eap_common.o
src/eap_common/chap.o
src/eap_common/eap_wsc_common.o
src/eap_common/eap_peap_common.o
src/drivers/driver_nl80211.o
src/drivers/driver_wext.o
src/drivers/driver_nl80211_capa.o
src/drivers/driver_nl80211_event.o
src/drivers/driver_nl80211_scan.o
src/drivers/rfkill.o
src/drivers/driver_wired.o
src/drivers/linux_ioctl.o
src/drivers/driver_nl80211_monitor.o
src/drivers/drivers.o
src/drivers/netlink.o
src/drivers/driver_common.o
src/crypto/tls_openssl.o
src/crypto/crypto_openssl.o
src/crypto/sha1-prf.o
src/crypto/random.o
src/crypto/sha1-tlsprf.o
src/crypto/tls_openssl_ocsp.o
src/crypto/dh_groups.o
src/crypto/sha256-prf.o
src/crypto/sha256-tlsprf.o
src/crypto/ms_funcs.o
src/common/wpa_ctrl.o
src/common/ieee802_11_common.o
src/common/hw_features_common.o
src/common/wpa_common.o
src/common/ctrl_iface_common.o
)
set(WPA_SUPPLICANT_IMPORTED_OBJECTS "")
set(WPA_SUPPLICANT_BYPRODUCTS "")
foreach(_wpa_supplicant_obj ${WPA_SUPPLICANT_OBJECTS})
set(_wpa_supplicant_obj_path "${HOSTAP_DIR}/${_wpa_supplicant_obj}")
string(CONCAT WPA_SUPPLICANT_IMPORTED_OBJECTS "${WPA_SUPPLICANT_IMPORTED_OBJECTS}${_wpa_supplicant_obj_path}\;")
list(APPEND WPA_SUPPLICANT_BYPRODUCTS "${_wpa_supplicant_obj_path}")
endforeach()
set(HOSTAP_ENV
CC=${CMAKE_C_COMPILER}
)
@@ -195,16 +98,18 @@ ExternalProject_Add(hostap
# HACK: Kind of silly that we have to do this, but Buildroot insists on
# setting GIT_DIR=. which fucks this up. So we have to write our own
# DOWNLOAD_COMMAND which explicitly unsets GIT_DIR to solve that.
#GIT_REPOSITORY https://github.com/rolandoislas/drc-hostap.git
#GIT_REPOSITORY https://github.com/vanilla-wiiu/drc-hostap.git
DOWNLOAD_COMMAND
${CMAKE_COMMAND} -E remove_directory "${HOSTAP_DIR}" &&
${CMAKE_COMMAND} -E env GIT_DIR=
${GIT_EXECUTABLE} clone --branch master --depth 1 https://github.com/rolandoislas/drc-hostap.git "${HOSTAP_DIR}"
${GIT_EXECUTABLE} clone https://github.com/vanilla-wiiu/drc-hostap.git "${HOSTAP_DIR}" &&
${GIT_EXECUTABLE} -C "${HOSTAP_DIR}" checkout af1da944765c6d04002584ea0d70c43899a5e6ea
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy_if_different conf/wpa_supplicant.config wpa_supplicant/.config
BUILD_COMMAND env ${HOSTAP_ENV} make -C wpa_supplicant -j${CMAKE_BUILD_PARALLEL_LEVEL} wpa_supplicant libwpa_client.a
BUILD_COMMAND env ${HOSTAP_ENV} make -C wpa_supplicant -j${CMAKE_BUILD_PARALLEL_LEVEL} libwpa_supplicant.a libwpa_client.a
INSTALL_COMMAND ""
UPDATE_COMMAND ""
BUILD_BYPRODUCTS
${WPA_SUPPLICANT_BYPRODUCTS}
${HOSTAP_DIR}/wpa_supplicant/libwpa_supplicant.a
${HOSTAP_DIR}/wpa_supplicant/libwpa_client.a
)
if (VANILLA_BUILD_VENDORED)
@@ -220,8 +125,11 @@ set_target_properties(wpa_client PROPERTIES
add_dependencies(wpa_client hostap)
# Define wpa_supplicant binary from hostap
add_library(wpa_supplicant_drc OBJECT IMPORTED)
set_target_properties(wpa_supplicant_drc PROPERTIES IMPORTED_OBJECTS ${WPA_SUPPLICANT_IMPORTED_OBJECTS})
add_library(wpa_supplicant_drc STATIC IMPORTED)
set_target_properties(wpa_supplicant_drc PROPERTIES
IMPORTED_LOCATION ${HOSTAP_DIR}/wpa_supplicant/libwpa_supplicant.a
IMPORTED_NO_SONAME true
)
add_dependencies(wpa_supplicant_drc hostap)
# Compile custom dhclient library