Browse Source

pciaccess: add package (#7759)

* add pciaccess

* fix: add restricts in plat

* clean

* change pci_ids_path description

* fix: use hwdata as a private pkg

* fix(hwdata): add bsd support

---------

Co-authored-by: star9029 <[email protected]>
Willaaaaaaa 2 tháng trước cách đây
mục cha
commit
a61d176347

+ 15 - 0
packages/h/hwdata/patches/v0.397/bsd-makefile.patch

@@ -0,0 +1,15 @@
+diff --git a/Makefile b/Makefile
+index 905b082..0ac40fa 100644
+--- a/Makefile
++++ b/Makefile
+@@ -45,10 +45,6 @@ install: Makefile.inc hwdata.pc
+ 	for foo in $(IDFILES) ; do \
+ 		install -m 644 $$foo $(DESTDIR)$(datadir)/$(NAME) ;\
+ 	done
+-	@if [ "$(blacklist)" = true ]; then \
+-		mkdir -p -m 755 $(DESTDIR)$(libdir)/modprobe.d ;\
+-		install -m 644 -T blacklist.conf $(DESTDIR)$(libdir)/modprobe.d/dist-blacklist.conf ;\
+-	fi;
+ 	mkdir -p -m 755 $(DESTDIR)$(datadir)/pkgconfig
+ 	install -m 644 hwdata.pc $(DESTDIR)$(datadir)/pkgconfig/
+ 

+ 5 - 1
packages/h/hwdata/xmake.lua

@@ -9,7 +9,11 @@ package("hwdata")
 
     add_versions("v0.397", "09eee39e73a63ab27af651ab6afdd13d6e5c3485872f2cd406b35e4d80ffdb0b")
 
-    on_install("linux", function (package)
+    if is_plat("bsd") then
+        add_patches("v0.397", "patches/v0.397/bsd-makefile.patch", "d14efe1d4727fc6ec4365c0fab10688c83a314776caa8575a61bb0287e92b2c9")
+    end
+
+    on_install("linux", "bsd", function (package)
         import("package.tools.autoconf").install(package)
     end)
 

+ 33 - 0
packages/l/libpciaccess/xmake.lua

@@ -0,0 +1,33 @@
+package("libpciaccess")
+    set_homepage("https://gitlab.freedesktop.org/xorg/lib/libpciaccess")
+    set_description("Generic PCI access library")
+    set_license("MIT")
+
+    add_urls("https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/archive/libpciaccess-$(version)/libpciaccess-libpciaccess-$(version).tar.gz",
+             "https://gitlab.freedesktop.org/xorg/lib/libpciaccess.git")
+
+    add_versions("0.18.1", "a395317730e0e8d5e71419d4d1256a89e32c2fa793607b63c4d0fb497ae34602")
+
+    add_configs("zlib", {description = "Enable zlib support to read gzip compressed pci.ids.", default = false, type = "boolean"})
+    add_configs("linux_rom_fallback", {description = "Enable support for falling back to /dev/mem for roms on Linux.", default = false, type = "boolean"})
+
+    add_deps("meson", "ninja")
+    add_deps("hwdata", {private = true})
+
+    on_load(function (package)
+        if package:config("zlib") then
+            package:add("deps", "zlib")
+        end
+    end)
+
+    on_install("linux", "bsd", function (package)
+        local configs = {}
+        table.insert(configs, "-Dzlib=" .. (package:config("zlib") and "enabled" or "disabled"))
+        table.insert(configs, "-Dlinux-rom-fallback=" .. (package:config("linux_rom_fallback") and "true" or "false"))
+        table.insert(configs, "-Dpci-ids=" .. package:dep("hwdata"):installdir("share/hwdata"))
+        import("package.tools.meson").install(package, configs)
+    end)
+
+    on_test(function (package)
+        assert(package:has_cfuncs("pci_system_init", {includes = "pciaccess.h"}))
+    end)