mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 04:43:09 +03:00
postgis: fix build after output splits
Fixes #15236 Two changes were needed: - pg_config from postgresql package wasn't reporting the correct location for the pgxs extension system, after the output split - json_c is now split in dev and out outputs, postgis configure doesn't find the library location properly Closes #15470
This commit is contained in:
parent
577d999ea6
commit
edaecb41db
@ -89,6 +89,10 @@ in rec {
|
|||||||
sha256 = "02gsi1cm63kf0r7881444lrkzdjqhhpz9a5zav3al0q24nq01r8g";
|
sha256 = "02gsi1cm63kf0r7881444lrkzdjqhhpz9a5zav3al0q24nq01r8g";
|
||||||
sql_srcs = ["postgis.sql" "spatial_ref_sys.sql"];
|
sql_srcs = ["postgis.sql" "spatial_ref_sys.sql"];
|
||||||
builtInputs = [gdal json_c pkgconfig];
|
builtInputs = [gdal json_c pkgconfig];
|
||||||
|
|
||||||
|
# postgis config directory assumes /include /lib from the same root for json-c library
|
||||||
|
NIX_LDFLAGS = "-L${stdenv.lib.getLib json_c}/lib";
|
||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
sed -i 's@/usr/bin/file@${file}/bin/file@' configure
|
sed -i 's@/usr/bin/file@${file}/bin/file@' configure
|
||||||
|
@ -32,12 +32,19 @@ let
|
|||||||
patches =
|
patches =
|
||||||
[ (if lib.versionAtLeast version "9.4" then ./disable-resolve_symlinks-94.patch else ./disable-resolve_symlinks.patch)
|
[ (if lib.versionAtLeast version "9.4" then ./disable-resolve_symlinks-94.patch else ./disable-resolve_symlinks.patch)
|
||||||
./less-is-more.patch
|
./less-is-more.patch
|
||||||
|
./hardcode-pgxs-path.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
installTargets = [ "install-world" ];
|
installTargets = [ "install-world" ];
|
||||||
|
|
||||||
LC_ALL = "C";
|
LC_ALL = "C";
|
||||||
|
|
||||||
|
postConfigure =
|
||||||
|
''
|
||||||
|
# Hardcode the path to pgxs so pg_config returns the path in $out
|
||||||
|
substituteInPlace "src/bin/pg_config/pg_config.c" --replace HARDCODED_PGXS_PATH $out/lib
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall =
|
postInstall =
|
||||||
''
|
''
|
||||||
moveToOutput "lib/pgxs" "$out" # looks strange, but not deleting it
|
moveToOutput "lib/pgxs" "$out" # looks strange, but not deleting it
|
||||||
|
17
pkgs/servers/sql/postgresql/hardcode-pgxs-path.patch
Normal file
17
pkgs/servers/sql/postgresql/hardcode-pgxs-path.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
--- a/src/bin/pg_config/pg_config.c
|
||||||
|
+++ b/src/bin/pg_config/pg_config.c
|
||||||
|
@@ -220,11 +220,13 @@ show_sysconfdir(bool all)
|
||||||
|
static void
|
||||||
|
show_pgxs(bool all)
|
||||||
|
{
|
||||||
|
- char path[MAXPGPATH];
|
||||||
|
+ char path[MAXPGPATH] = "HARDCODED_PGXS_PATH";
|
||||||
|
|
||||||
|
if (all)
|
||||||
|
printf("PGXS = ");
|
||||||
|
+ /* commented out to be able to point to nix $out path
|
||||||
|
get_pkglib_path(mypath, path);
|
||||||
|
+ */
|
||||||
|
strlcat(path, "/pgxs/src/makefiles/pgxs.mk", sizeof(path));
|
||||||
|
cleanup_path(path);
|
||||||
|
printf("%s\n", path);
|
Loading…
Reference in New Issue
Block a user