diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 87b236dd5fd1..197932c2f6c8 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -12,10 +12,13 @@ let else pkgs.buildEnv { name = "postgresql-and-plugins-${(builtins.parseDrvName pg.name).version}"; paths = [ pg pg.lib ] ++ cfg.extraPlugins; + # We include /bin to ensure the $out/bin directory is created which is + # needed because we'll be removing files from that directory in postBuild + # below. See #22653 + pathsToLink = [ "/" "/bin" ]; buildInputs = [ pkgs.makeWrapper ]; postBuild = '' - mkdir -p $out/bin rm $out/bin/{pg_config,postgres,pg_ctl} cp --target-directory=$out/bin ${pg}/bin/{postgres,pg_config,pg_ctl} wrapProgram $out/bin/postgres --set NIX_PGLIBDIR $out/lib diff --git a/pkgs/servers/sql/postgresql/ext/pg_cron.nix b/pkgs/servers/sql/postgresql/ext/pg_cron.nix index 494e6dbac4f4..8a31d1981291 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_cron.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_cron.nix @@ -14,7 +14,6 @@ stdenv.mkDerivation rec { }; installPhase = '' - mkdir -p $out/bin # For buildEnv to setup proper symlinks. See #22653 mkdir -p $out/{lib,share/extension} cp *.so $out/lib diff --git a/pkgs/servers/sql/postgresql/ext/pg_similarity.nix b/pkgs/servers/sql/postgresql/ext/pg_similarity.nix index 32945c9fa62b..aa204eec5a6d 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_similarity.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_similarity.nix @@ -13,7 +13,6 @@ stdenv.mkDerivation { buildInputs = [ postgresql gcc ]; buildPhase = "USE_PGXS=1 make"; installPhase = '' - mkdir -p $out/bin # for buildEnv to setup proper symlinks install -D pg_similarity.so -t $out/lib/ install -D ./{pg_similarity--unpackaged--1.0.sql,pg_similarity--1.0.sql,pg_similarity.control} -t $out/share/extension ''; diff --git a/pkgs/servers/sql/postgresql/ext/pgjwt.nix b/pkgs/servers/sql/postgresql/ext/pgjwt.nix index ab7ba8943a7b..3185e2265744 100644 --- a/pkgs/servers/sql/postgresql/ext/pgjwt.nix +++ b/pkgs/servers/sql/postgresql/ext/pgjwt.nix @@ -13,7 +13,6 @@ stdenv.mkDerivation rec { buildPhase = ":"; installPhase = '' - mkdir -p $out/bin # current postgresql extension mechanism in nixos requires bin directory mkdir -p $out/share/extension cp pg*sql *.control $out/share/extension ''; diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix index 2fc190d8e009..c07153e1971d 100644 --- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix +++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix @@ -15,7 +15,6 @@ stdenv.mkDerivation rec { makeFlags = [ "HAVE_MSGPACK=1" ]; installPhase = '' - mkdir -p $out/bin install -D pgroonga.so -t $out/lib/ install -D ./{pgroonga-*.sql,pgroonga.control} -t $out/share/extension ''; diff --git a/pkgs/servers/sql/postgresql/ext/pgrouting.nix b/pkgs/servers/sql/postgresql/ext/pgrouting.nix index 722c70b2e89a..bdb3fcae3dc0 100644 --- a/pkgs/servers/sql/postgresql/ext/pgrouting.nix +++ b/pkgs/servers/sql/postgresql/ext/pgrouting.nix @@ -15,7 +15,6 @@ stdenv.mkDerivation rec { }; installPhase = '' - mkdir -p $out/bin # for buildEnv, see https://github.com/NixOS/nixpkgs/issues/22653 install -D lib/*.so -t $out/lib install -D sql/pgrouting--${version}.sql -t $out/share/extension install -D sql/common/pgrouting.control -t $out/share/extension diff --git a/pkgs/servers/sql/postgresql/ext/plv8.nix b/pkgs/servers/sql/postgresql/ext/plv8.nix index b6446f292c6c..603349d9d654 100644 --- a/pkgs/servers/sql/postgresql/ext/plv8.nix +++ b/pkgs/servers/sql/postgresql/ext/plv8.nix @@ -23,7 +23,6 @@ stdenv.mkDerivation rec { buildPhase = "make -f Makefile.shared all"; installPhase = '' - mkdir -p $out/bin install -D plv8*.so -t $out/lib install -D {plls,plcoffee,plv8}{--${version}.sql,.control} -t $out/share/extension ''; diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 9a664bc25188..d6986f936bb0 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -34,13 +34,6 @@ stdenv.mkDerivation rec { done ''; - postInstall = '' - # work around an annoying bug, by creating $out/bin, so buildEnv doesn't freak out later - # see https://github.com/NixOS/nixpkgs/issues/22653 - - mkdir -p $out/bin - ''; - meta = with stdenv.lib; { description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space"; homepage = https://www.timescale.com/; diff --git a/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix b/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix index b43a9c51be0c..8b9e9322b479 100644 --- a/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix +++ b/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix @@ -15,7 +15,6 @@ stdenv.mkDerivation rec { buildInputs = [ postgresql ]; installPhase = '' - mkdir -p $out/bin install -D tsearch_extras.so -t $out/lib/ install -D ./{tsearch_extras--1.0.sql,tsearch_extras.control} -t $out/share/extension '';