diff --git a/pym/builder/builder.py b/pym/builder/builder.py index f9e7886..5fedda9 100644 --- a/pym/builder/builder.py +++ b/pym/builder/builder.py @@ -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)),