Skip to content

Instantly share code, notes, and snippets.

@consoleSkunk
Last active November 12, 2021 23:23
Show Gist options
  • Save consoleSkunk/21c31bad88cb9602ab63680b6f5d11d2 to your computer and use it in GitHub Desktop.
Save consoleSkunk/21c31bad88cb9602ab63680b6f5d11d2 to your computer and use it in GitHub Desktop.
lib32-libxnvctrl-470xx
pkg/
src/
*.tar.*
--- src/libXNVCtrl/Makefile 2019-07-30 00:26:56.000000000 +0200
+++ src/libXNVCtrl/Makefile 2019-08-02 14:08:56.963744238 +0200
@@ -50,8 +50,8 @@
.PHONY: clean
-all: $(LIBXNVCTRL)
+all: $(LIBXNVCTRL) $(LIBXNVCTRL_SHARED)
clean:
- rm -rf $(LIBXNVCTRL) *~ \
+ rm -rf $(LIBXNVCTRL) $(LIBXNVCTRL_SHARED)* *~ \
$(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d
--- src/libXNVCtrl/xnvctrl.mk 2019-08-02 17:04:08.216230565 +0200
+++ src/libXNVCtrl/xnvctrl.mk 2019-08-02 17:08:02.563660632 +0200
@@ -39,6 +39,11 @@
LIBXNVCTRL = $(OUTPUTDIR)/libXNVCtrl.a
+LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so
+LIBXNVCTRL_ABI_VERSION_MAJOR = 0
+LIBXNVCTRL_ABI_VERSION_MINOR = 0
+LIBXNVCTRL_LIBS += -lXext -lX11
+
LIBXNVCTRL_SRC = $(XNVCTRL_DIR)/NVCtrl.c
LIBXNVCTRL_OBJ = $(call BUILD_OBJECT_LIST,$(LIBXNVCTRL_SRC))
@@ -47,3 +52,8 @@
$(LIBXNVCTRL) : $(LIBXNVCTRL_OBJ)
$(call quiet_cmd,AR) ru $@ $(LIBXNVCTRL_OBJ)
+
+$(LIBXNVCTRL_SHARED) : $(LIBXNVCTRL_OBJ)
+ $(CC) -shared $(CFLAGS) $(LDFLAGS) -Wl,-soname=$(notdir $@).${LIBXNVCTRL_ABI_VERSION_MAJOR} -o $@.$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $^ $(LIBXNVCTRL_LIBS)
+ ln -s $(notdir $@).$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $@
+ ln -s $(notdir $@).$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $@.$(LIBXNVCTRL_ABI_VERSION_MAJOR)
# Maintainer: gbr <gbr@protonmail.com>
# Contributor: Lubosz Sarnecki <lubosz0@gmail.com>
# Original Package: Martin Wimpress <code@flexion.org>
_pkgbase=nvidia-settings
pkgname=lib32-libxnvctrl-470xx
pkgver=470.86
pkgrel=1
pkgdesc='NVIDIA NV-CONTROL X extension (32-bit), 470xx legacy branch'
url='https://github.com/NVIDIA/nvidia-settings'
arch=('x86_64')
license=('GPL2')
depends=('lib32-gcc-libs' 'lib32-libxext')
conflicts=('lib32-libxnvctrl')
provides=('lib32-libxnvctrl')
source=("$_pkgbase-$pkgver.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/$pkgver.tar.gz"
'libxnvctrl_so.patch')
sha512sums=('3b55134fb1bebd3d4c1f55e2ac514a26e617a377c79ca12f197d89d865846b0a3aba75d3b6d4b8857dd328eb2a24edda71dbeaf92ee488100b4eee18a03432c4'
'91ff94736063b911c83b8876fe3e3778db82e0ffe0102036d81a3a6e872ca44a585914646fcbbbe399cd63aa17685fc7f73263ec4f4084f48768ca4d704037fa')
prepare() {
cd "$_pkgbase-$pkgver"
patch -p0 < "$srcdir/libxnvctrl_so.patch"
}
build() {
export PREFIX=/usr
export OUTPUTDIR=out
export CC='gcc -m32'
export CXX='g++ -m32'
export PKG_CONFIG='i686-pc-linux-gnu-pkg-config'
cd "$_pkgbase-$pkgver"
make -C src/libXNVCtrl
}
package() {
cd "$_pkgbase-$pkgver"
cd src/libXNVCtrl
install -d "$pkgdir/usr/lib32"
cp -Pr out/libXNVCtrl.* -t "$pkgdir/usr/lib32"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment