ferreo
d8aa90fb43
Some checks failed
PikaOS Package Build Only (amd64-v3) / build (push) Failing after 35s
105 lines
5.9 KiB
Makefile
105 lines
5.9 KiB
Makefile
#! /usr/bin/make -f
|
|
|
|
## See debhelper(7) (uncomment to enable).
|
|
## Output every command that modifies files on the build system.
|
|
export DH_VERBOSE = 1
|
|
export PIKA_BUILD_ARCH = $(shell cat ../pika-build-arch)
|
|
|
|
override_dh_prep:
|
|
# amd64 build prep
|
|
ifeq (amd64,$(DEB_HOST_ARCH))
|
|
# Extract nvidia files from run archive
|
|
./nvidia-installer.run --extract-only
|
|
mkdir -p debian/tmp
|
|
# Copy installer contents into debian temp dir
|
|
cp -rf ./NVIDIA-Linux-*/* debian/tmp
|
|
# Delete 32 libs on amd64 builds
|
|
rm -rf debian/tmp/32
|
|
# Extract all manpages
|
|
gunzip debian/tmp/*.1.gz -k
|
|
|
|
# Enable modeset and fbdev as default
|
|
# This avoids various issue, when Simplefb is used
|
|
# https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/issues/14
|
|
# https://github.com/rpmfusion/nvidia-kmod/blob/master/make_modeset_default.patch
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0001-Make-modeset-and-fbdev-default-enabled.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0001-Make-modeset-and-fbdev-default-enabled.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# Fix build errors on 6.13+
|
|
# https://github.com/NVIDIA/open-gpu-kernel-modules/issues/746
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0006-crypto-Add-fix-for-6.13-Module-compilation.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0006-crypto-Add-fix-for-6.13-Module-compilation.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# https://github.com/NVIDIA/open-gpu-kernel-modules/issues/751
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0007-nvidia-nv-Convert-symbol-namespace-to-string-literal.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0007-nvidia-nv-Convert-symbol-namespace-to-string-literal.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# https://github.com/NVIDIA/open-gpu-kernel-modules/issues/747
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0008-Kbuild-Use-absolute-paths-for-symbolic-links.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0008-Kbuild-Use-absolute-paths-for-symbolic-links.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# Fixes fbdev on 6.13+
|
|
# https://github.com/NVIDIA/open-gpu-kernel-modules/issues/749
|
|
# https://gist.github.com/xtexChooser/da92d9df902788b75f746f348552ae80
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0009-FROM-AOSC-Use-linux-aperture.c-for-removing-conflict.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0009-FROM-AOSC-Use-linux-aperture.c-for-removing-conflict.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0010-FROM-AOSC-TTM-fbdev-emulation-for-Linux-6.13.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0010-FROM-AOSC-TTM-fbdev-emulation-for-Linux-6.13.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# NVENC/NvFBC
|
|
sed -i 's/\xe8\x35\x3e\xfe\xff\x85\xc0\x41\x89\xc4/\xe8\x35\x3e\xfe\xff\x29\xc0\x41\x89\xc4/g' "debian/tmp/libnvidia-encode.so.565.77"
|
|
sed -i 's/\x85\xc0\x0f\x84\x9b\x00\x00\x00\x48/\x85\xc0\x90\x90\x90\x90\x90\x90\x48/g' "debian/tmp/libnvidia-fbc.so.565.77"
|
|
endif
|
|
|
|
# i386 (x86) build
|
|
ifeq (i386,$(DEB_HOST_ARCH))
|
|
# Extract nvidia files from run archive
|
|
./nvidia-installer.run --extract-only
|
|
mkdir -p debian/tmp
|
|
# Copy installer contents into debian temp dir
|
|
cp -rf ./NVIDIA-Linux-*/* debian/tmp
|
|
|
|
# Enable modeset and fbdev as default
|
|
# This avoids various issue, when Simplefb is used
|
|
# https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/issues/14
|
|
# https://github.com/rpmfusion/nvidia-kmod/blob/master/make_modeset_default.patch
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0001-Make-modeset-and-fbdev-default-enabled.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0001-Make-modeset-and-fbdev-default-enabled.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# Fix for https://bugs.archlinux.org/task/74886
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0003-Add-IBT-Support.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0003-Add-IBT-Support.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# Fix build errors on 6.13+
|
|
# https://github.com/NVIDIA/open-gpu-kernel-modules/issues/746
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0006-crypto-Add-fix-for-6.13-Module-compilation.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0006-crypto-Add-fix-for-6.13-Module-compilation.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# https://github.com/NVIDIA/open-gpu-kernel-modules/issues/751
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0007-nvidia-nv-Convert-symbol-namespace-to-string-literal.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0007-nvidia-nv-Convert-symbol-namespace-to-string-literal.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# https://github.com/NVIDIA/open-gpu-kernel-modules/issues/747
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0008-Kbuild-Use-absolute-paths-for-symbolic-links.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0008-Kbuild-Use-absolute-paths-for-symbolic-links.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# Fixes fbdev on 6.13+
|
|
# https://github.com/NVIDIA/open-gpu-kernel-modules/issues/749
|
|
# https://gist.github.com/xtexChooser/da92d9df902788b75f746f348552ae80
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0009-FROM-AOSC-Use-linux-aperture.c-for-removing-conflict.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0009-FROM-AOSC-Use-linux-aperture.c-for-removing-conflict.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0010-FROM-AOSC-TTM-fbdev-emulation-for-Linux-6.13.patch -d $(CURDIR)/debian/tmp/kernel
|
|
patch -Np2 -i $(CURDIR)/debian/patches/0010-FROM-AOSC-TTM-fbdev-emulation-for-Linux-6.13.patch -d $(CURDIR)/debian/tmp/kernel-open
|
|
|
|
# Replace libs with 32 bit
|
|
rm -rf debian/tmp/*.so*
|
|
cp -rf ./NVIDIA-Linux-*/32/* debian/tmp
|
|
rm -rf debian/tmp/32
|
|
endif
|
|
|
|
override_dh_shlibdeps:
|
|
dh_shlibdeps -l/usr/lib/$(DEB_HOST_MULTIARCH)/nvidia/current/:/usr/lib/nvidia/current/
|
|
|
|
%:
|
|
dh $@
|