Lines 167-188
Link Here
|
167 |
|
167 |
|
168 |
NVIDIA=${NV} |
168 |
NVIDIA=${NV} |
169 |
NV=`echo ${NV} | cut -f 1 -d _ | cut -f 1 -d ,` |
169 |
NV=`echo ${NV} | cut -f 1 -d _ | cut -f 1 -d ,` |
|
|
170 |
NVmajor=`echo $NV | sed -E 's/([0-9]+)\.[0-9]+/\1/'` |
170 |
|
171 |
|
171 |
if [ ! -f NVIDIA-FreeBSD-x86-${NV}.tar.gz ] || !(tar -tf NVIDIA-FreeBSD-x86-${NV}.tar.gz > /dev/null 2>&1) |
172 |
# nvidia-driver v390.132 was the last one shipping |
|
|
173 |
# 32-bit library package, after that only x86_64 is shipped containing |
174 |
# both 32-bit and 64-bit GL libraries |
175 |
if [ ${NVmajor} -gt 390 ] ; then |
176 |
downloadFilename=NVIDIA-FreeBSD-x86_64-${NV}.tar.gz |
177 |
downloadDirectory=FreeBSD-x86_64 |
178 |
else |
179 |
downloadFilename=NVIDIA-FreeBSD-x86-${NV}.tar.gz |
180 |
downloadDirectory=FreeBSD-x86 |
181 |
fi |
182 |
|
183 |
if [ ! -f ${downloadFilename} ] || !(tar -tf ${downloadFilename} > /dev/null 2>&1) |
172 |
then |
184 |
then |
173 |
[ -n "$NO_FETCH" ] \ |
185 |
[ -n "$NO_FETCH" ] \ |
174 |
&& terminate 8 "NVIDIA-FreeBSD-x86-${NV}.tar.gz unavailable" |
186 |
&& terminate 8 "${downloadFilename} unavailable" |
175 |
echo "=> Downloading NVIDIA-FreeBSD-x86-${NV}.tar.gz from https://download.nvidia.com..." |
187 |
echo "=> Downloading ${downloadFilename} from https://download.nvidia.com..." |
176 |
rm -f NVIDIA-FreeBSD-x86-${NV}.tar.gz |
188 |
rm -f ${downloadFilename} |
177 |
fetch -aRr https://download.nvidia.com/XFree86/FreeBSD-x86/${NV}/NVIDIA-FreeBSD-x86-${NV}.tar.gz \ |
189 |
fetch -aRr https://download.nvidia.com/XFree86/${downloadDirectory}/${NV}/${downloadFilename} \ |
178 |
|| terminate 2 "Failed to download NVIDIA-FreeBSD-x86-${NV}.tar.gz" |
190 |
|| terminate 2 "Failed to download ${downloadFilename}" |
179 |
echo "=> Downloaded NVIDIA-FreeBSD-x86-${NV}.tar.gz" |
191 |
echo "=> Downloaded ${downloadFilename}" |
180 |
echo "Please check the following information against /usr/ports/x11/nvidia-driver/distinfo" |
192 |
echo "Please check the following information against /usr/ports/x11/nvidia-driver/distinfo" |
181 |
sha256 NVIDIA-FreeBSD-x86-${NV}.tar.gz |
193 |
sha256 ${downloadFilename} |
182 |
echo "SIZE (NVIDIA-FreeBSD-x86-${NV}.tar.gz) = `stat -f "%z" NVIDIA-FreeBSD-x86-${NV}.tar.gz`" |
194 |
echo "SIZE (${downloadFilename}) = `stat -f "%z" ${downloadFilename}`" |
183 |
fi |
195 |
fi |
184 |
|
196 |
|
185 |
echo "=> Extracting NVIDIA-FreeBSD-x86-${NV}.tar.gz to $PREFIX/lib32..." |
197 |
echo "=> Extracting ${downloadFilename} to $PREFIX/lib32..." |
186 |
EXTRACT_LIST="libGL.so.1" |
198 |
EXTRACT_LIST="libGL.so.1" |
187 |
case $NV in |
199 |
case $NV in |
188 |
195*|173*|96*|71*) |
200 |
195*|173*|96*|71*) |
Lines 196-215
Link Here
|
196 |
EXTRACT_ARGS="--no-same-owner --no-same-permissions --strip-components 2 -C $PREFIX/lib32" |
208 |
EXTRACT_ARGS="--no-same-owner --no-same-permissions --strip-components 2 -C $PREFIX/lib32" |
197 |
for i in $EXTRACT_LIST |
209 |
for i in $EXTRACT_LIST |
198 |
do |
210 |
do |
199 |
EXTRACT_ARGS="$EXTRACT_ARGS --include NVIDIA-FreeBSD-x86-${NV}/obj/$i" |
211 |
if [ ${NVmajor} -ge 390 ] ; then |
|
|
212 |
if [ $i == "libGL.so.1" ] ; then |
213 |
EXTRACT_ARGS="$EXTRACT_ARGS --include NVIDIA-FreeBSD-x86_64-${NV}/obj/libglvnd/32/$i" |
214 |
else |
215 |
EXTRACT_ARGS="$EXTRACT_ARGS --include NVIDIA-FreeBSD-x86_64-${NV}/obj/32/$i" |
216 |
fi |
217 |
else |
218 |
EXTRACT_ARGS="$EXTRACT_ARGS --include NVIDIA-FreeBSD-x86-${NV}/obj/$i" |
219 |
fi |
200 |
done |
220 |
done |
201 |
umask 0333 |
221 |
umask 0333 |
202 |
tar $EXTRACT_ARGS -xvf NVIDIA-FreeBSD-x86-${NV}.tar.gz \ |
222 |
tar $EXTRACT_ARGS -xvf ${downloadFilename} \ |
203 |
|| terminate 3 "Failed to extract NVIDIA-FreeBSD-x86-${NV}.tar.gz" |
223 |
|| terminate 3 "Failed to extract ${downloadFilename}" |
204 |
mkdir -m 0755 -p ${PREFIX}/lib32/.nvidia \ |
224 |
mkdir -m 0755 -p ${PREFIX}/lib32/.nvidia \ |
205 |
|| terminate 9 "Failed to create .nvidia shadow directory" |
225 |
|| terminate 9 "Failed to create .nvidia shadow directory" |
206 |
mv ${PREFIX}/lib32/libGL.so.1 ${PREFIX}/lib32/.nvidia/ \ |
226 |
mv ${PREFIX}/lib32/libGL.so.1 ${PREFIX}/lib32/.nvidia/ \ |
207 |
|| terminate 10 "Failed to move libGL.so.1 to .nvidia/ shadow directory" |
227 |
|| terminate 10 "Failed to move libGL.so.1 to .nvidia/ shadow directory" |
208 |
ln -s .nvidia/libGL.so.1 ${PREFIX}/lib32/libGL.so.1 \ |
228 |
ln -s .nvidia/libGL.so.1 ${PREFIX}/lib32/libGL.so.1 \ |
209 |
|| terminate 11 "Failed to link to .nvidia/libGL.so.1 in the shadow directory" |
229 |
|| terminate 11 "Failed to link to .nvidia/libGL.so.1 in the shadow directory" |
210 |
|
230 |
|
211 |
echo "=> Cleaning up..." |
231 |
echo "=> Cleaning up..." |
212 |
[ -n "$NO_REMOVE_NVIDIA" ] || rm -vf NVIDIA-FreeBSD-x86-${NV}.tar.gz \ |
232 |
[ -n "$NO_REMOVE_NVIDIA" ] || rm -vf ${downloadFilename} \ |
213 |
|| terminate 6 "Failed to remove files" |
233 |
|| terminate 6 "Failed to remove files" |
214 |
|
234 |
|
215 |
echo "===> i386-wine-${WINE} successfully patched for nvidia-driver-${NVIDIA}" |
235 |
echo "===> i386-wine-${WINE} successfully patched for nvidia-driver-${NVIDIA}" |