43 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Make weasyprint load dynamic libraries from hard-coded path.
 | |
| 
 | |
| From NixOS
 | |
| pkgs/development/python-modules/weasyprint/library-paths.patch
 | |
| 
 | |
| diff --git a/weasyprint/fonts.py b/weasyprint/fonts.py
 | |
| index 377716c1..2016e01c 100644
 | |
| --- a/weasyprint/fonts.py
 | |
| +++ b/weasyprint/fonts.py
 | |
| @@ -48,11 +48,8 @@ else:
 | |
|      # with OSError: dlopen() failed to load a library: cairo / cairo-2
 | |
|      # So let's hope we find the same file as cairo already did ;)
 | |
|      # Same applies to pangocairo requiring pangoft2
 | |
| -    fontconfig = dlopen(ffi, 'fontconfig', 'libfontconfig',
 | |
| -                        'libfontconfig-1.dll',
 | |
| -                        'libfontconfig.so.1', 'libfontconfig-1.dylib')
 | |
| -    pangoft2 = dlopen(ffi, 'pangoft2-1.0', 'libpangoft2-1.0-0',
 | |
| -                      'libpangoft2-1.0.so', 'libpangoft2-1.0.dylib')
 | |
| +    fontconfig = dlopen(ffi, '@fontconfig@')
 | |
| +    pangoft2 = dlopen(ffi, '@pangoft2@')
 | |
|  
 | |
|      ffi.cdef('''
 | |
|          // FontConfig
 | |
| diff --git a/weasyprint/text.py b/weasyprint/text.py
 | |
| index 035074e9..08e40395 100644
 | |
| --- a/weasyprint/text.py
 | |
| +++ b/weasyprint/text.py
 | |
| @@ -243,12 +243,9 @@ def dlopen(ffi, *names):
 | |
|      return ffi.dlopen(names[0])  # pragma: no cover
 | |
|  
 | |
|  
 | |
| -gobject = dlopen(ffi, 'gobject-2.0', 'libgobject-2.0-0', 'libgobject-2.0.so',
 | |
| -                 'libgobject-2.0.dylib')
 | |
| -pango = dlopen(ffi, 'pango-1.0', 'libpango-1.0-0', 'libpango-1.0.so',
 | |
| -               'libpango-1.0.dylib')
 | |
| -pangocairo = dlopen(ffi, 'pangocairo-1.0', 'libpangocairo-1.0-0',
 | |
| -                    'libpangocairo-1.0.so', 'libpangocairo-1.0.dylib')
 | |
| +gobject = dlopen(ffi, '@gobject@')
 | |
| +pango = dlopen(ffi, '@pango@')
 | |
| +pangocairo = dlopen(ffi, '@pangocairo@')
 | |
|  
 | |
|  gobject.g_type_init()
 | |
|  
 |