mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-30 02:42:59 +00:00
b57aa88291
The libXNVCtrl library is used by several programs in nixpkgs to get Nvidia GPU stats, and they all load the library dynamically, but the libXNVCtrl package only builds a static library. There is no build flag to enable this, so we have to patch the Makefile to produce a shared library. Based on a patch by @negativo17 for Fedora. https://github.com/negativo17/nvidia-settings/blob/master/nvidia-settings-libXNVCtrl.patch
25 lines
607 B
Diff
25 lines
607 B
Diff
--- a/src/libXNVCtrl/Makefile
|
|
+++ b/src/libXNVCtrl/Makefile
|
|
@@ -33,6 +33,8 @@
|
|
|
|
LIBXNVCTRL = libXNVCtrl.a
|
|
|
|
+LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so
|
|
+
|
|
LIBXNVCTRL_PROGRAM_NAME = "libXNVCtrl"
|
|
|
|
LIBXNVCTRL_VERSION := $(NVIDIA_VERSION)
|
|
@@ -62,6 +64,12 @@
|
|
$(LIBXNVCTRL) : $(OBJS)
|
|
$(AR) ru $@ $(OBJS)
|
|
|
|
+$(LIBXNVCTRL_SHARED): $(LIBXNVCTRL_OBJ)
|
|
+ $(RM) $@ $@.*
|
|
+ $(CC) -shared -Wl,-soname=$(@F).0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11
|
|
+ ln -s $(@F).0.0.0 $@.0
|
|
+ ln -s $(@F).0 $@
|
|
+
|
|
# define the rule to build each object file
|
|
$(foreach src,$(SRC),$(eval $(call DEFINE_OBJECT_RULE,TARGET,$(src))))
|
|
|