Skip to content

Commit

Permalink
Revert "postgresql: Add dev output"
Browse files Browse the repository at this point in the history
Firstly this creates a cycle in 9.6 .out <-> .dev after fixing the PGXS
path.

Secondly this breaks extension handling and the pg_config as it
resolves a lot of paths relatively resulting in the following bogus
output:

BINDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/bin
DOCDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/doc
HTMLDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/doc
INCLUDEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include
PKGINCLUDEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include
INCLUDEDIR-SERVER = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include/server
LIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib
PKGLIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib
LOCALEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/locale
MANDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/man
SHAREDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share
SYSCONFDIR = /etc/postgresql
PGXS = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--prefix=/nix/store/irqqq4g173g9xrk1mh12kxv0s1d8dbyh-postgresql-9.5.9' '--with-openssl' '--with-libxml' '--sysconfdir=/etc' '--libdir=/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib' '--with-ossp-uuid' 'CC=gcc'
CC = gcc
CPPFLAGS = -D_GNU_SOURCE -I/nix/store/z6r0j2b4bcdfw3pck2x6ay0vvx0qzb92-libxml2-2.9.5-dev/include/libxml2
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2
CFLAGS_SL = -fPIC
LDFLAGS = -L../../../src/common -L/nix/store/ighspl5sa3qi1zy7nkih0c9p73xjfqa6-libxml2-2.9.5/lib -Wl,--as-needed -Wl,-rpath,'/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lxml2 -lssl -lcrypto -lz -lreadline -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.5.9

This can probably only be properly fixed by rewriting pg_config in large
parts as it does not in any way respect splitting the postgres tree and
assumes it can simply resolve paths relative to its location. This does
not even handle symlinks:

$ result-dev/bin/pg_config
BINDIR = /home/robin/dev/nixpkgs-upstream/result-dev/bin
DOCDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/doc
HTMLDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/doc
INCLUDEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/include
PKGINCLUDEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/include
INCLUDEDIR-SERVER = /home/robin/dev/nixpkgs-upstream/result-dev/include/server
LIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib
PKGLIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib
LOCALEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/locale
MANDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/man
SHAREDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share
SYSCONFDIR = /etc/postgresql
PGXS = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--prefix=/nix/store/irqqq4g173g9xrk1mh12kxv0s1d8dbyh-postgresql-9.5.9' '--with-openssl' '--with-libxml' '--sysconfdir=/etc' '--libdir=/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib' '--with-ossp-uuid' 'CC=gcc'
CC = gcc
CPPFLAGS = -D_GNU_SOURCE -I/nix/store/z6r0j2b4bcdfw3pck2x6ay0vvx0qzb92-libxml2-2.9.5-dev/include/libxml2
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2
CFLAGS_SL = -fPIC
LDFLAGS = -L../../../src/common -L/nix/store/ighspl5sa3qi1zy7nkih0c9p73xjfqa6-libxml2-2.9.5/lib -Wl,--as-needed -Wl,-rpath,'/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lxml2 -lssl -lcrypto -lz -lreadline -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.5.9

cc @edolstra

Revert "bacula: fix after postgresql output splitting"

This reverts commit 13c9cba.

Revert "postgresql: fix pgxs dir in pg_config"

This reverts commit 21998d5.

Revert "rubyGems.pg: fix postgresql path"

This reverts commit e253ae7.

Revert "kea: fix path to pg_config"

This reverts commit 086c636.

Revert "php: fix build wrt. new postgres.dev build output"

This reverts commit 2f23a83.

Revert "gdal: fix path to pg_config"

This reverts commit 032c50d.

Revert "postgresql: Add dev output"

This reverts commit b0280f5.
  • Loading branch information
globin committed Sep 27, 2017
1 parent 50fb629 commit 6b05651
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 11 deletions.
4 changes: 2 additions & 2 deletions pkgs/development/interpreters/php/default.nix
Expand Up @@ -99,12 +99,12 @@ let
};

postgresql = {
configureFlags = ["--with-pgsql=${postgresql.dev}"];
configureFlags = ["--with-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};

pdo_pgsql = {
configureFlags = ["--with-pdo-pgsql=${postgresql.dev}"];
configureFlags = ["--with-pdo-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};

Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/libraries/gdal/default.nix
Expand Up @@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
"--with-png=${libpng.dev}" # optional
"--with-poppler=${poppler.dev}" # optional
"--with-libz=${zlib.dev}" # optional
"--with-pg=${postgresql.dev}/bin/pg_config"
"--with-pg=${postgresql}/bin/pg_config"
"--with-mysql=${mysql.lib.dev}/bin/mysql_config"
"--with-geotiff=${libgeotiff}"
"--with-sqlite3=${sqlite.dev}"
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/ruby-modules/gem-config/default.nix
Expand Up @@ -183,7 +183,7 @@ in

pg = attrs: {
buildFlags = [
"--with-pg-config=${postgresql.dev}/bin/pg_config"
"--with-pg-config=${postgresql}/bin/pg_config"
];
};

Expand Down
10 changes: 6 additions & 4 deletions pkgs/servers/sql/postgresql/default.nix
Expand Up @@ -11,7 +11,7 @@ let
inherit sha256;
};

outputs = [ "out" "dev" "lib" "doc" "man" ];
outputs = [ "out" "lib" "doc" "man" ];
setOutputFlags = false; # $out retains configureFlags :-/

buildInputs =
Expand Down Expand Up @@ -46,16 +46,18 @@ let
let path = if atLeast "9.6" then "src/common/config_info.c" else "src/bin/pg_config/pg_config.c"; in
''
# Hardcode the path to pgxs so pg_config returns the path in $out
substituteInPlace "${path}" --replace HARDCODED_PGXS_PATH $dev/lib
substituteInPlace "${path}" --replace HARDCODED_PGXS_PATH $out/lib
'';

postInstall =
''
moveToOutput "bin/pg_config" "$dev"
moveToOutput "lib/pgxs" "$dev" # looks strange, but not deleting it
moveToOutput "lib/pgxs" "$out" # looks strange, but not deleting it
moveToOutput "lib/*.a" "$out"
moveToOutput "lib/libecpg*" "$out"
# Prevent a retained dependency on gcc-wrapper.
substituteInPlace "$out/lib/pgxs/src/Makefile.global" --replace ${stdenv.cc}/bin/ld ld
# Remove static libraries in case dynamic are available.
for i in $out/lib/*.a; do
name="$(basename "$i")"
Expand Down
4 changes: 2 additions & 2 deletions pkgs/tools/backup/bacula/default.nix
Expand Up @@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
# acl relies on attr, which I can't get to build on darwin
++ stdenv.lib.optional (!stdenv.isDarwin) acl;

configureFlags = [
configureFlags = [
"--with-sqlite3=${sqlite.dev}"
"--with-postgresql=${postgresql.dev}"
"--with-postgresql=${postgresql}"
];

postInstall = ''
Expand Down
2 changes: 1 addition & 1 deletion pkgs/tools/networking/kea/default.nix
Expand Up @@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
configureFlags = [
"--localstatedir=/var"
"--with-botan-config=${botan}/bin/botan-config-1.10"
"--with-dhcp-pgsql=${postgresql.dev}/bin/pg_config"
"--with-dhcp-pgsql=${postgresql}/bin/pg_config"
"--with-dhcp-mysql=${mysql.client.dev}/bin/mysql_config"
];

Expand Down

0 comments on commit 6b05651

Please sign in to comment.