forked from mirrors/nixpkgs
5b8072fff6
Fixes #15512 and #16032 With the multi output, postgresql cannot find at runtime what is its basedir when looking for libdir and pkglibdir. This commit fixes that.
30 lines
1,018 B
Diff
30 lines
1,018 B
Diff
diff -ur postgresql-9.5.3-orig/src/port/path.c postgresql-9.5.3/src/port/path.c
|
|
--- postgresql-9.5.3-orig/src/port/path.c 2016-05-09 22:50:23.000000000 +0200
|
|
+++ postgresql-9.5.3/src/port/path.c 2016-08-29 22:44:10.507377613 +0200
|
|
@@ -714,7 +714,11 @@
|
|
void
|
|
get_lib_path(const char *my_exec_path, char *ret_path)
|
|
{
|
|
- make_relative_path(ret_path, LIBDIR, PGBINDIR, my_exec_path);
|
|
+ char const * const nix_pglibdir = getenv("NIX_PGLIBDIR");
|
|
+ if(nix_pglibdir == NULL)
|
|
+ make_relative_path(ret_path, LIBDIR, PGBINDIR, my_exec_path);
|
|
+ else
|
|
+ make_relative_path(ret_path, nix_pglibdir, PGBINDIR, my_exec_path);
|
|
}
|
|
|
|
/*
|
|
@@ -723,7 +727,11 @@
|
|
void
|
|
get_pkglib_path(const char *my_exec_path, char *ret_path)
|
|
{
|
|
- make_relative_path(ret_path, PKGLIBDIR, PGBINDIR, my_exec_path);
|
|
+ char const * const nix_pglibdir = getenv("NIX_PGLIBDIR");
|
|
+ if(nix_pglibdir == NULL)
|
|
+ make_relative_path(ret_path, PKGLIBDIR, PGBINDIR, my_exec_path);
|
|
+ else
|
|
+ make_relative_path(ret_path, nix_pglibdir, PGBINDIR, my_exec_path);
|
|
}
|
|
|
|
/*
|