diff --git a/ports/libpcap/0001-fix-package-name.patch b/ports/libpcap/0001-fix-package-name.patch new file mode 100644 index 000000000..cd1deeed2 --- /dev/null +++ b/ports/libpcap/0001-fix-package-name.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 55b93f1..f4f9d51 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2358,7 +2358,6 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap-namedb.h DESTINATION include) + # On UN*X, and on Windows when not using MSVC, generate libpcap.pc and + # pcap-config and process man pages and arrange that they be installed. + if(NOT MSVC) +- set(PACKAGE_NAME ${LIBRARY_NAME}) + set(prefix ${CMAKE_INSTALL_PREFIX}) + set(exec_prefix "\${prefix}") + set(includedir "\${prefix}/include") diff --git a/ports/libpcap/CONTROL b/ports/libpcap/CONTROL index 3c60fc840..7fa9d01bc 100644 --- a/ports/libpcap/CONTROL +++ b/ports/libpcap/CONTROL @@ -1,4 +1,5 @@ Source: libpcap -Version: 1.9.1 +Version: 1.9.1-1 Description: A portable C/C++ library for network traffic capture Homepage: https://www.tcpdump.org/ +Supports: linux diff --git a/ports/libpcap/portfile.cmake b/ports/libpcap/portfile.cmake index 74caa4631..af8256109 100644 --- a/ports/libpcap/portfile.cmake +++ b/ports/libpcap/portfile.cmake @@ -7,6 +7,8 @@ message( These can be installed on Ubuntu systems via sudo apt install flex libbison-dev" ) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + vcpkg_download_distfile( SOURCE_ARCHIVE_PATH URLS http://www.tcpdump.org/release/libpcap-1.9.1.tar.gz @@ -18,6 +20,8 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${SOURCE_ARCHIVE_PATH} REF 1.9.1 + PATCHES + 0001-fix-package-name.patch ) vcpkg_configure_cmake( @@ -32,18 +36,12 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpcap RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/man) - -file(READ ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcap.pc LIBPCAP_PC) -string(REGEX REPLACE \($|\n\)prefix=[^\n]+ \\1prefix=\"${CURRENT_INSTALLED_DIR}\" LIBPCAP_PC_FIXED "${LIBPCAP_PC}") -file(WRITE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcap.pc "${LIBPCAP_PC_FIXED}") - -file(READ ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcap.pc DEBUG_LIBPCAP_PC) -string(REGEX REPLACE \($|\n\)prefix=[^\n]+ \\1prefix=\"${CURRENT_INSTALLED_DIR}/debug\" DEBUG_LIBPCAP_PC_FIXED "${DEBUG_LIBPCAP_PC}") -file(WRITE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcap.pc "${DEBUG_LIBPCAP_PC_FIXED}")