-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch from extra-data to normal package
NVIDIA has updated its license [1], which in short gives us permission to distribute their drivers: 2. GRANT OF LICENSE 2.1 Rights and Limitations of Grant. NVIDIA hereby grants Customer the following non-exclusive, non-transferable right to use the SOFTWARE, with the following limitations: 2.1.1 Rights. Customer may install and use multiple copies of the SOFTWARE on a shared computer or concurrently on different computers, and make multiple back-up copies of the SOFTWARE, solely for Customer's use within Customer's Enterprise. "Enterprise" shall mean individual use by Customer or any legal entity (such as a corporation or university) and the subsidiaries it owns by more than fifty percent (50%). 2.1.2 Linux/FreeBSD Exception. Notwithstanding the foregoing terms of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or FreeBSD operating systems, or other operating systems derived from the source code to these operating systems, may be copied and redistributed, provided that the binary files thereof are not modified in any way (except for unzipping of compressed files). [1] https://web.archive.org/web/20240128092200/https://www.nvidia.com/content/DriverDownloads/licence.php?lang=us Co-authored-by: Patrick Griffis <[email protected]>
- Loading branch information
Showing
6 changed files
with
116 additions
and
140 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,71 @@ | ||
#!/usr/bin/env bash | ||
|
||
# shellcheck disable=SC1091 | ||
source ./versions.sh | ||
|
||
ARCH=$1 | ||
REPO=$2 | ||
EXPORT_ARGS=$3 | ||
FB_ARGS=$4 | ||
SUBJECT=${5:-"org.freedesktop.Platform.GL.nvidia `git rev-parse HEAD`"} | ||
SUBJECT=$5 | ||
|
||
set -e | ||
set -x | ||
|
||
EXT_PREFIX='org.freedesktop.Platform.GL.nvidia' | ||
SDK_BRANCH=1.4 | ||
SDK_RUNTIME_VERSION=1.6 | ||
SDK_RUNTIME_VERSION=23.08 | ||
|
||
for VER in $DRIVER_VERSIONS; do | ||
F="data/nvidia-$VER-$ARCH.data" | ||
if [ ! -f $F ]; then | ||
echo WARNING, no data file for $VER $ARCH | ||
continue | ||
fi | ||
NVIDIA_VERSION=$(echo $VER | sed "s/\./-/;s/\./-/") | ||
EXTRA_DATA=$(cat $F) | ||
NVIDIA_URL=$(cat $F | sed "s/:[^:]*:[^:]*:[^:]*://") | ||
rm -f org.freedesktop.Platform.GL.nvidia-$NVIDIA_VERSION.json | ||
sed -e "s/@@SDK_BRANCH@@/${SDK_BRANCH}/g" \ | ||
-e "s/@@SDK_RUNTIME_VERSION@@/${SDK_RUNTIME_VERSION}/g" \ | ||
-e "s/@@NVIDIA_VERSION@@/${NVIDIA_VERSION}/g" \ | ||
-e "s=@@EXTRA_DATA@@=${EXTRA_DATA}=g" \ | ||
-e "s=@@NVIDIA_URL@@=${NVIDIA_URL}=g" \ | ||
-e "s=@@ARCH@@=${ARCH}=g" \ | ||
org.freedesktop.Platform.GL.nvidia.json.in > org.freedesktop.Platform.GL.nvidia-$NVIDIA_VERSION.json | ||
|
||
flatpak-builder -v --force-clean --ccache --sandbox --delete-build-dirs \ | ||
--arch=${ARCH} --repo=${REPO} \ | ||
--subject="${SUBJECT}" \ | ||
${FB_ARGS} ${EXPORT_ARGS} builddir org.freedesktop.Platform.GL.nvidia-$NVIDIA_VERSION.json | ||
|
||
if test "${ARCH}" = "i386" ; then \ | ||
flatpak build-commit-from ${EXPORT_ARGS} --src-ref=runtime/org.freedesktop.Platform.GL.nvidia-${NVIDIA_VERSION}/${ARCH}/${SDK_BRANCH} ${REPO} runtime/org.freedesktop.Platform.GL32.nvidia-${NVIDIA_VERSION}/x86_64/${SDK_BRANCH} ; | ||
if test "${ARCH}" = 'x86_64'; then | ||
# If we're building the x86_64 driver, we also build the i386 driver. | ||
# Note: The i386 driver has to be built first, otherwise the x86_64 ostree repo gets overwritten by it. | ||
TARGET_ARCHES="i386 ${ARCH}" | ||
else | ||
TARGET_ARCHES=${ARCH} | ||
fi | ||
|
||
rm org.freedesktop.Platform.GL.nvidia-$NVIDIA_VERSION.json | ||
for TARGET_ARCH in ${TARGET_ARCHES}; do | ||
F="data/nvidia-${VER}-${TARGET_ARCH}.data" | ||
if [ ! -f "${F}" ]; then | ||
echo "WARNING: No data file for ${VER} ${TARGET_ARCH}" | ||
continue | ||
fi | ||
|
||
echo "Packaging ${TARGET_ARCH} NVIDIA driver version ${VER} on ${ARCH} host..." | ||
|
||
NVIDIA_VERSION=$(echo "${VER}" | tr '.' '-') | ||
NVIDIA_SHA256=$(awk -F ':' '{print $2}' "${F}") | ||
NVIDIA_URL=$(awk -F '::' '{print $2}' "${F}") | ||
|
||
if test -z "${SUBJECT}"; then | ||
SUBJECT="${VER}" | ||
if test -d '.git'; then | ||
SUBJECT="${SUBJECT} ($(git rev-parse --short HEAD))" | ||
fi | ||
fi | ||
|
||
sed -e "s/@@EXT_PREFIX@@/${EXT_PREFIX}/g" \ | ||
-e "s/@@SDK_BRANCH@@/${SDK_BRANCH}/g" \ | ||
-e "s/@@SDK_RUNTIME_VERSION@@/${SDK_RUNTIME_VERSION}/g" \ | ||
-e "s/@@NVIDIA_VERSION@@/${NVIDIA_VERSION}/g" \ | ||
-e "s=@@NVIDIA_URL@@=${NVIDIA_URL}=g" \ | ||
-e "s/@@NVIDIA_ARCH@@/${TARGET_ARCH}/g" \ | ||
-e "s/@@NVIDIA_SHA256@@/${NVIDIA_SHA256}/g" \ | ||
"${EXT_PREFIX}.json.in" > "${EXT_PREFIX}-${NVIDIA_VERSION}.json" | ||
|
||
flatpak-builder -v --force-clean --ccache --sandbox --delete-build-dirs \ | ||
--arch="${ARCH}" \ | ||
--repo="${REPO}" \ | ||
--subject="${SUBJECT}" \ | ||
${FB_ARGS} ${EXPORT_ARGS} builddir "${EXT_PREFIX}-${NVIDIA_VERSION}.json" | ||
|
||
if test "${TARGET_ARCH}" = 'i386'; then | ||
flatpak build-commit-from ${EXPORT_ARGS} \ | ||
--src-ref="runtime/${EXT_PREFIX}-${NVIDIA_VERSION}/${ARCH}/${SDK_BRANCH}" \ | ||
"${REPO}" \ | ||
"runtime/org.freedesktop.Platform.GL32.nvidia-${NVIDIA_VERSION}/${ARCH}/${SDK_BRANCH}" | ||
fi | ||
rm "${EXT_PREFIX}-${NVIDIA_VERSION}.json" | ||
done | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{ | ||
"skip-appstream-check": true, | ||
"only-arches": ["x86_64","i386","aarch64"], | ||
"only-arches": ["x86_64", "aarch64"], | ||
"publish-delay-hours": 0 | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
all: | ||
gcc -o nvidia-extract -Wall -DNVIDIA_VERSION='"'$(subst -,.,${NVIDIA_VERSION})'"' -DNVIDIA_ARCH='"'${NVIDIA_ARCH}'"' nvidia-extract.c $(CFLAGS) ${LDFLAGS} -larchive -lz -llzma -lzstd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.