Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vcpkg baseline][infoware][pciids] Update infoware and add new port pciids #31388

Merged
merged 5 commits into from
May 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions ports/infoware/cross-build.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 580df83..ac89904 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -93,6 +93,8 @@ if(INFOWARE_PCI_IDS_PATH)
message(WARNING "The specified pci.ids file INFOWARE_PCI_IDS_PATH=${INFOWARE_PCI_IDS_PATH} doesn't seem to exist.")
endif()
set(infoware_pci_ids_file "${INFOWARE_PCI_IDS_PATH}")
+elseif(HOST_PCI_DATA)
+ # git unused
elseif(NOT Git_FOUND)
message(SEND_ERROR "Couldn't find a usable git executable in the environment, and the CMake variable INFOWARE_PCI_IDS_PATH is empty.\n${infoware_pci_ids_error}")
else()
@@ -122,11 +124,17 @@ set_target_properties(infoware_pci_generator PROPERTIES CXX_STANDARD 14
set(INFOWARE_PCI_DATA_HPP pci_data.hpp)
set(INFOWARE_PCI_DATA_GEN "infoware_generated/${INFOWARE_PCI_DATA_HPP}")

+if(HOST_PCI_DATA)
+ set_target_properties(infoware_pci_generator PROPERTIES EXCLUDE_FROM_ALL 1)
+ configure_file("${HOST_PCI_DATA}" "${CMAKE_CURRENT_BINARY_DIR}/${INFOWARE_PCI_DATA_GEN}" COPYONLY)
+else()
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${INFOWARE_PCI_DATA_GEN}" DESTINATION "share/infoware")
add_custom_command(OUTPUT ${INFOWARE_PCI_DATA_GEN}
COMMAND ${CMAKE_COMMAND} -E make_directory infoware_generated/
COMMAND $<TARGET_FILE:infoware_pci_generator> "${infoware_pci_ids_file}" > "infoware_generated/pci_data.hpp"
DEPENDS "${infoware_pci_ids_file}"
COMMENT "Generating ${INFOWARE_PCI_DATA_HPP}")
+endif()

add_custom_target(infoware_generate_pcis DEPENDS "${INFOWARE_PCI_DATA_GEN}")
add_dependencies(infoware infoware_generate_pcis)
35 changes: 21 additions & 14 deletions ports/infoware/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,36 +1,43 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ThePhD/infoware
REF 50cb0982aceb32c8eb57aa6bc5011aced2c379df
SHA512 fe8182998a9e9dbed3dc3985a1161da11b340562628a71da8840aa4d4c56382ddc3ddef3d094e5d9c7c06481a2076dcff7fdb561bd169dd9d1849da4b4c6a064
REF d64a0c948593c0555115f60c79225c0b9ae09510
SHA512 3794cb78a1422bfc065037abbae81259e6061ba7b12ebd7b88581118e8eeebaf92d80cf7793b0f9f1da6754baf52835a6891663593dd0b0a38009a9cb141082b
HEAD_REF master
PATCHES
cross-build.diff
)

vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
x11 INFOWARE_USE_X11
d3d INFOWARE_USE_D3D
opencl INFOWARE_USE_OPENCL
opengl INFOWARE_USE_OPENGL
d3d INFOWARE_USE_D3D
opencl INFOWARE_USE_OPENCL
opengl INFOWARE_USE_OPENGL
x11 INFOWARE_USE_X11
)

# git must be injected, because vcpkg isolates the build
# from the environment entirely to have reproducible builds
vcpkg_find_acquire_program(GIT)
if(VCPKG_CROSSCOMPILING)
list(APPEND FEATURE_OPTIONS "-DHOST_PCI_DATA=${CURRENT_HOST_INSTALLED_DIR}/share/${PORT}/pci_data.hpp")
else()
acquire_pciids(pciids_path)
list(APPEND FEATURE_OPTIONS "-DINFOWARE_PCI_IDS_PATH=${pciids_path}")
endif()

vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DINFOWARE_EXAMPLES=OFF
-DINFOWARE_TESTS=OFF
-DGIT_EXECUTABLE=${GIT}
-DGIT_FOUND=true
-DCMAKE_DISABLE_FIND_PACKAGE_Git=1
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup()

file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
38 changes: 30 additions & 8 deletions ports/infoware/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
{
"$reason": "Note that independent usage and testing may work, but it seems to fail in CI environments for potential cross-compilation, and is thusly noted here to note break how vcpkg builds things!",
"name": "infoware",
"version-date": "2021-06-16",
"port-version": 1,
"version-date": "2023-04-12",
"description": "C++ Library for pulling system and hardware information, without hitting the command line.",
"homepage": "https://github.com/ThePhD/infoware",
"supports": "!(arm | uwp)",
"license": "CC0-1.0",
"supports": "!android & !uwp & !(windows & arm)",
"dependencies": [
{
"name": "infoware",
"host": true
},
{
"name": "pciids",
"platform": "native"
},
{
"name": "vcpkg-cmake",
"host": true
Expand All @@ -18,16 +25,31 @@
],
"features": {
"d3d": {
"description": "Prefer usage of Direct3D to find graphical capabilities (typically only works on Windows systems)."
"description": [
"Use Direct3D for GPU detection.",
"This choice has priority over opencl and opengl."
],
"supports": "windows"
},
"opencl": {
"description": "Prefer usage of OpenCL to find graphical capabilities of the system."
"description": [
"Use OpenCL for GPU detection.",
"This choice has priority over opengl."
],
"dependencies": [
"opencl"
]
},
"opengl": {
"description": "Prefer usage of OpenGL to find graphical capabilities (may require additional libraries to be available for linking depending on the system)."
"description": "Use OpenGL for GPU detection.",
"supports": "!osx & !ios",
"dependencies": [
"opengl"
]
},
"x11": {
"description": "Prefer usage of X11 to find graphical capabilities."
"description": "Use X11 for display detection.",
"supports": "!windows"
}
}
}
9 changes: 9 additions & 0 deletions ports/pciids/acquire_pciids.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
function(acquire_pciids out_var)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pciutils/pciids
REF 4e3f51b4b7ba7ffd3cca463d6a19daf0f4270252
SHA512 952b56affffdf9ecf78f6125cf4216bd01d85c55e49ec4b2dfb3a77bae2258dec6b4e2d28824d6408f072667480ef7e5f7279fd69bae65c071b7b3816fe9f504
)
set(${out_var} "${SOURCE_PATH}/pci.ids" PARENT_SCOPE)
endfunction()
15 changes: 15 additions & 0 deletions ports/pciids/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This package doesn't "install" the pciids data file but
# provides a maintainer function which does the download.

set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled)

include("${CMAKE_CURRENT_LIST_DIR}/acquire_pciids.cmake")
acquire_pciids(pciids_path)
cmake_path(GET pciids_path PARENT_PATH pciids_dir)

file(INSTALL
"${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake"
"${CMAKE_CURRENT_LIST_DIR}/acquire_pciids.cmake"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"
)
vcpkg_install_copyright(FILE_LIST "${pciids_dir}/README")
1 change: 1 addition & 0 deletions ports/pciids/vcpkg-port-config.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include("${CMAKE_CURRENT_LIST_DIR}/acquire_pciids.cmake")
8 changes: 8 additions & 0 deletions ports/pciids/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "pciids",
"version-date": "2023-04-11",
"description": "Maintainer function to acquire a PCI ID Repository database snapshot",
"homepage": "https://pci-ids.ucw.cz/",
"license": "GPL-2.0-or-later OR BSD-3-Clause",
"supports": "native"
}
8 changes: 6 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -3325,8 +3325,8 @@
"port-version": 0
},
"infoware": {
"baseline": "2021-06-16",
"port-version": 1
"baseline": "2023-04-12",
"port-version": 0
},
"inih": {
"baseline": "56",
Expand Down Expand Up @@ -6100,6 +6100,10 @@
"baseline": "2021-04-06",
"port-version": 2
},
"pciids": {
"baseline": "2023-04-11",
"port-version": 0
},
"pcl": {
"baseline": "1.13.0",
"port-version": 3
Expand Down
5 changes: 5 additions & 0 deletions versions/i-/infoware.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "10ceed518afc0c84b79aa36c1263a034b320511e",
"version-date": "2023-04-12",
"port-version": 0
},
{
"git-tree": "5501ab1b5d5391ca168856f073f6a46d5ea83268",
"version-date": "2021-06-16",
Expand Down
9 changes: 9 additions & 0 deletions versions/p-/pciids.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "ffc7c82fb249347c25b294b6c8131e1f3b2156c2",
"version-date": "2023-04-11",
"port-version": 0
}
]
}