about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/umockdev/hardcode-paths.patch
blob: 75a5c014a996623eeb09409ba3b908bcb107937f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
diff --git a/meson.build b/meson.build
index 15d9e5d..a1906dd 100644
--- a/meson.build
+++ b/meson.build
@@ -44,6 +44,7 @@ g_ir_compiler = find_program('g-ir-compiler', required: false)
 
 conf.set('PACKAGE_NAME', meson.project_name())
 conf.set_quoted('VERSION', meson.project_version())
+conf.set_quoted('LIBDIR', get_option('prefix') / get_option('libdir'))
 
 # glibc versions somewhere between 2.28 and 2.34
 if cc.has_function('__fxstatat', prefix: '#include <sys/stat.h>')
@@ -156,7 +157,7 @@ hacked_gir = custom_target('UMockdev-1.0 hacked gir',
 
 if g_ir_compiler.found()
 umockdev_typelib = custom_target('UMockdev-1.0 typelib',
-  command: [g_ir_compiler, '--output', '@OUTPUT@', '-l', 'libumockdev.so.0', '@INPUT@'],
+  command: [g_ir_compiler, '--output', '@OUTPUT@', '-l', get_option('prefix') / get_option('libdir') / 'libumockdev.so.0', '@INPUT@'],
   input: hacked_gir,
   output: 'UMockdev-1.0.typelib',
   install: true,
diff --git a/src/config.vapi b/src/config.vapi
index 5269dd0..a2ec46d 100644
--- a/src/config.vapi
+++ b/src/config.vapi
@@ -2,5 +2,6 @@
 namespace Config {
     public const string PACKAGE_NAME;
     public const string VERSION;
+    public const string LIBDIR;
 }
 
diff --git a/src/umockdev-record.vala b/src/umockdev-record.vala
index bf0e644..ff5ea59 100644
--- a/src/umockdev-record.vala
+++ b/src/umockdev-record.vala
@@ -444,7 +444,7 @@ main (string[] args)
         preload = "";
     else
         preload = preload + ":";
-    checked_setenv("LD_PRELOAD", preload + "libumockdev-preload.so.0");
+    checked_setenv("LD_PRELOAD", preload + Config.LIBDIR + "/libumockdev-preload.so.0");
 
     try {
         root_dir = DirUtils.make_tmp("umockdev.XXXXXX");
diff --git a/src/umockdev-run.vala b/src/umockdev-run.vala
index 7b0753e..66b778b 100644
--- a/src/umockdev-run.vala
+++ b/src/umockdev-run.vala
@@ -95,7 +95,7 @@ main (string[] args)
         preload = "";
     else
         preload = preload + ":";
-    checked_setenv ("LD_PRELOAD", preload + "libumockdev-preload.so.0");
+    checked_setenv ("LD_PRELOAD", preload + Config.LIBDIR + "/libumockdev-preload.so.0");
 
     var testbed = new UMockdev.Testbed ();
 
diff --git a/src/umockdev-wrapper b/src/umockdev-wrapper
index 6ce4dcd..706c49a 100755
--- a/src/umockdev-wrapper
+++ b/src/umockdev-wrapper
@@ -1,5 +1,5 @@
 #!/bin/sh
 # Wrapper program to preload the libumockdev library, so that test programs can
 # set $UMOCKDEV_DIR for redirecting sysfs and other queries to a test bed.
-exec env LD_PRELOAD=libumockdev-preload.so.0:$LD_PRELOAD "$@"
+exec env LD_PRELOAD=@LIBDIR@/libumockdev-preload.so.0:$LD_PRELOAD "$@"