Skip to content

Commit 3c45f2e

Browse files
committed
Scripts: download pci.ids by cmake; remove python-requests dependency
1 parent 735a464 commit 3c45f2e

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

.github/workflows/ci.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ jobs:
8080
run: cat /proc/cpuinfo
8181

8282
- name: install required packages
83-
run: sudo apt-get update && sudo apt-get install -y libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev directx-headers-dev python3-requests
83+
run: sudo apt-get update && sudo apt-get install -y libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev directx-headers-dev
8484

8585
- name: install linuxbrew packages
8686
run: |
@@ -149,7 +149,7 @@ jobs:
149149
run: cat /proc/cpuinfo
150150

151151
- name: install required packages
152-
run: sudo apt-get update && sudo apt-get install -y libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev directx-headers-dev python3-requests libchafa-dev libddcutil-dev rpm
152+
run: sudo apt-get update && sudo apt-get install -y libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev directx-headers-dev libchafa-dev libddcutil-dev rpm
153153

154154
- name: configure project
155155
run: cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DCMAKE_INSTALL_PREFIX=/usr .
@@ -380,7 +380,7 @@ jobs:
380380
run: |
381381
cat /etc/alpine-release
382382
uname -a
383-
apk add cmake samurai vulkan-loader-dev libxcb-dev wayland-dev libdrm-dev dconf-dev imagemagick-dev chafa-dev zlib-dev dbus-dev mesa-dev opencl-dev xfconf-dev sqlite-dev networkmanager-dev pulseaudio-dev ddcutil-dev elfutils-dev py3-requests gcc g++
383+
apk add cmake samurai vulkan-loader-dev libxcb-dev wayland-dev libdrm-dev dconf-dev imagemagick-dev chafa-dev zlib-dev dbus-dev mesa-dev opencl-dev xfconf-dev sqlite-dev networkmanager-dev pulseaudio-dev ddcutil-dev elfutils-dev gcc g++
384384
shell: alpine.sh --root {0}
385385

386386
- name: build
@@ -514,7 +514,7 @@ jobs:
514514
run: |
515515
uname -a
516516
sudo pkg update
517-
sudo pkg install -y cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl xfce4-conf egl libosmesa opencl ocl-icd v4l_compat py311-requests chafa
517+
sudo pkg install -y cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl xfce4-conf egl libosmesa opencl ocl-icd v4l_compat chafa
518518
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On .
519519
cmake --build . --target package --verbose -j4
520520
./fastfetch --list-features
@@ -547,7 +547,7 @@ jobs:
547547
prepare: |
548548
uname -a
549549
pkg update
550-
pkg install -y cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl xfce4-conf egl libosmesa opencl ocl-icd v4l_compat py39-requests chafa libelf
550+
pkg install -y cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl xfce4-conf egl libosmesa opencl ocl-icd v4l_compat chafa libelf
551551
552552
run: |
553553
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On .
@@ -585,7 +585,7 @@ jobs:
585585
version: '7.6'
586586
run: |
587587
uname -a
588-
sudo pkg_add -r cmake git pkgconf wayland vulkan-headers vulkan-loader glib2 dconf dbus sqlite3 xfconf imagemagick chafa pulseaudio hwdata py3-requests
588+
sudo pkg_add -r cmake git pkgconf wayland vulkan-headers vulkan-loader glib2 dconf dbus sqlite3 xfconf imagemagick chafa pulseaudio hwdata
589589
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=ON .
590590
cmake --build . --target package --verbose -j4
591591
./fastfetch --list-features
@@ -621,7 +621,7 @@ jobs:
621621
version: '10.1'
622622
run: |
623623
uname -a
624-
sudo pkgin -y install cmake git pkgconf wayland vulkan-headers dconf dbus sqlite3 ImageMagick pulseaudio opencl-headers ocl-icd py312-requests
624+
sudo pkgin -y install cmake git pkgconf wayland vulkan-headers dconf dbus sqlite3 ImageMagick pulseaudio opencl-headers ocl-icd
625625
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=ON .
626626
cmake --build . --target package --verbose -j4
627627
./fastfetch --list-features

CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,11 +271,16 @@ endif()
271271

272272
if(ENABLE_EMBEDDED_PCIIDS AND NOT EXISTS "${PROJECT_BINARY_DIR}/fastfetch_pciids.c.inc")
273273
if(Python_FOUND)
274+
if(NOT EXISTS "${PROJECT_BINARY_DIR}/pci.ids")
275+
message(STATUS "'${PROJECT_BINARY_DIR}/pci.ids' is missing, downloading...")
276+
file(DOWNLOAD "https://pci-ids.ucw.cz/v2.2/pci.ids" "${PROJECT_BINARY_DIR}/pci.ids")
277+
endif()
274278
message(STATUS "Generating 'fastfetch_pciids.c.inc'")
275-
execute_process(COMMAND ${Python_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/scripts/gen-pciids.py"
279+
execute_process(COMMAND ${Python_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/scripts/gen-pciids.py" "${PROJECT_BINARY_DIR}/pci.ids"
276280
OUTPUT_FILE "${PROJECT_BINARY_DIR}/fastfetch_pciids.c.inc"
277281
RESULT_VARIABLE PYTHON_PCIIDS_RETCODE)
278282
if(NOT PYTHON_PCIIDS_RETCODE EQUAL 0)
283+
file(REMOVE "${PROJECT_BINARY_DIR}/fastfetch_pciids.c.inc")
279284
message(FATAL_ERROR "Failed to generate 'fastfetch_pciids.c.inc'")
280285
endif()
281286
else()

scripts/gen-pciids.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env python3
22

3-
from requests import get as http_get
3+
import sys
44

55
class PciDeviceModel:
66
def __init__(self, id: int, name: str):
@@ -13,14 +13,10 @@ def __init__(self, id: int, name: str):
1313
self.name = name
1414
self.devices = []
1515

16-
def main(keep_vendor_list: set):
16+
def main(keep_vendor_list: set, pci_ids_path: str):
1717
vendors = []
18-
try:
19-
with open('pci.ids', 'r') as f:
20-
full_text = f.read()
21-
except FileNotFoundError:
22-
response = http_get('https://pci-ids.ucw.cz/v2.2/pci.ids')
23-
full_text = response.text
18+
with open(pci_ids_path, 'r') as f:
19+
full_text = f.read()
2420

2521
dev_list_text = full_text[:full_text.rfind('\n\n\n')] # remove known classes
2622
for line in dev_list_text.split('\n'):
@@ -80,6 +76,8 @@ def main(keep_vendor_list: set):
8076
print(code)
8177

8278
if __name__ == '__main__':
79+
len(sys.argv) == 2 or sys.exit('Usage: gen-pciids.py </path/to/pci.ids>')
80+
8381
# From <src/detection/gpu/gpu.c>
8482
main({
8583
0x106b, # Apple
@@ -94,4 +92,4 @@ def main(keep_vendor_list: set):
9492
0x1ab8, # Parallel
9593
0x1414, # Microsoft
9694
0x108e, # Oracle
97-
})
95+
}, sys.argv[1])

0 commit comments

Comments
 (0)