|
|
|
@ -848,12 +848,15 @@ class Builder(Update):
|
|
|
|
|
class NvidiaDriver(Driver):
|
|
|
|
|
Id = 'nvidia-drivers'
|
|
|
|
|
Package = 'x11-drivers/nvidia-drivers'
|
|
|
|
|
Eclass = 'usr/portage/eclass/nvidia-driver.eclass'
|
|
|
|
|
SkipVers = ('72.0.0', '97.0.0', '177.0.0', '305.0.0', '341.0.0')
|
|
|
|
|
SkipVersNew = ('71', '96', '173', '304', '340', '367')
|
|
|
|
|
|
|
|
|
|
def generate_legacy(self):
|
|
|
|
|
nvidia_eclass = path.join(self.builder_path, self.Eclass)
|
|
|
|
|
if os.path.isdir(path.join(self.builder_path, 'var/db/repos/gentoo')):
|
|
|
|
|
Eclass = 'var/db/repos/gentoo/eclass/nvidia-driver.eclass'
|
|
|
|
|
else:
|
|
|
|
|
Eclass = 'usr/portage/eclass/nvidia-driver.eclass'
|
|
|
|
|
nvidia_eclass = path.join(self.builder_path, Eclass)
|
|
|
|
|
eclassdata = readFile(nvidia_eclass)
|
|
|
|
|
reBlock = re.compile(
|
|
|
|
|
r"if has \$\{nvidia_gpu\}\s+\\([^;]+);\s*then(.*?)fi", re.S)
|
|
|
|
@ -948,8 +951,12 @@ class Builder(Update):
|
|
|
|
|
|
|
|
|
|
system_ini = SystemIni(self.clVars.Get('cl_builder_linux_datavars'))
|
|
|
|
|
driver_list = list(self.NvidiaDriver(builder_path, system_ini))
|
|
|
|
|
distrdir = path.join(builder_path, 'usr/portage/distfiles')
|
|
|
|
|
pkgdir = path.join(builder_path, 'usr/portage/packages')
|
|
|
|
|
if os.path.isdir(path.join(self.clVars.Get('cl_chroot_path'), 'var/db/repos/gentoo')):
|
|
|
|
|
distrdir = path.join(builder_path, 'var/calculate/distfiles')
|
|
|
|
|
pkgdir = path.join(builder_path, 'var/calculate/packages')
|
|
|
|
|
else:
|
|
|
|
|
distrdir = path.join(builder_path, 'usr/portage/distfiles')
|
|
|
|
|
pkgdir = path.join(builder_path, 'usr/portage/packages')
|
|
|
|
|
for target_dn in (distrdir, pkgdir):
|
|
|
|
|
makeDirectory(target_dn)
|
|
|
|
|
chmod(target_dn, distrdir_perm)
|
|
|
|
@ -1069,8 +1076,12 @@ class Builder(Update):
|
|
|
|
|
cache_file = self.clVars.Get('builder.cl_builder_video_driver_path')
|
|
|
|
|
if path.exists(cache_file):
|
|
|
|
|
removeFileWithEmptyDirectory(cache_file)
|
|
|
|
|
distrdir = path.join(builder_path, 'usr/portage/distfiles')
|
|
|
|
|
pkgdir = path.join(builder_path, 'usr/portage/packages')
|
|
|
|
|
if os.path.isdir(path.join(self.clVars.Get('cl_chroot_path'), 'var/db/repos/gentoo')):
|
|
|
|
|
distrdir = path.join(builder_path, 'var/calculate/distfiles')
|
|
|
|
|
pkgdir = path.join(builder_path, 'var/calculate/packages')
|
|
|
|
|
else:
|
|
|
|
|
distrdir = path.join(builder_path, 'usr/portage/distfiles')
|
|
|
|
|
pkgdir = path.join(builder_path, 'usr/portage/packages')
|
|
|
|
|
for target_dn, target in [
|
|
|
|
|
(distrdir, find(distrdir,
|
|
|
|
|
fullpath=False)),
|
|
|
|
|