Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6fe0069daa58
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 18ff275f171a
Choose a head ref
  • 2 commits
  • 4 files changed
  • 1 contributor

Commits on Nov 23, 2016

  1. postgresql: bug fix updates for all versions

    basvandijk authored and edolstra committed Nov 23, 2016
    Copy the full SHA
    68b7375 View commit details
  2. postgresql: add 9.6.1

    (cherry picked from commit 589cc65)
    basvandijk authored and edolstra committed Nov 23, 2016
    Copy the full SHA
    18ff275 View commit details
53 changes: 33 additions & 20 deletions pkgs/servers/sql/postgresql/default.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{ lib, stdenv, fetchurl, zlib, readline, libossp_uuid, openssl }:
{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, makeWrapper }:

let

common = { version, sha256, psqlSchema } @ args: stdenv.mkDerivation (rec {
common = { version, sha256, psqlSchema } @ args:
let atLeast = lib.versionAtLeast version; in stdenv.mkDerivation (rec {
name = "postgresql-${version}";

src = fetchurl {
@@ -14,7 +15,7 @@ let
setOutputFlags = false; # $out retains configureFlags :-/

buildInputs =
[ zlib readline openssl ]
[ zlib readline openssl makeWrapper ]
++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ];

enableParallelBuilding = true;
@@ -30,9 +31,9 @@ let
++ lib.optional (!stdenv.isDarwin) "--with-ossp-uuid";

patches =
[ (if lib.versionAtLeast version "9.4" then ./disable-resolve_symlinks-94.patch else ./disable-resolve_symlinks.patch)
./less-is-more.patch
./hardcode-pgxs-path.patch
[ (if atLeast "9.4" then ./disable-resolve_symlinks-94.patch else ./disable-resolve_symlinks.patch)
(if atLeast "9.6" then ./less-is-more-96.patch else ./less-is-more.patch)
(if atLeast "9.6" then ./hardcode-pgxs-path-96.patch else ./hardcode-pgxs-path.patch)
./specify_pkglibdir_at_runtime.patch
];

@@ -41,10 +42,11 @@ let
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
'';
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 $out/lib
'';

postInstall =
''
@@ -56,6 +58,12 @@ let
substituteInPlace "$out/lib/pgxs/src/Makefile.global" --replace ${stdenv.cc}/bin/ld ld
'';

postFixup =
''
# initdb needs access to "locale" command from glibc.
wrapProgram $out/bin/initdb --prefix PATH ":" ${glibc.bin}/bin
'';

disallowedReferences = [ stdenv.cc ];

passthru = {
@@ -75,34 +83,39 @@ let
in {

postgresql91 = common {
version = "9.1.23";
version = "9.1.24";
psqlSchema = "9.1";
sha256 = "1mgnfm65fspkq62skfy48rjkprnxcfhydw0x3ipp4sdkngl72x3z";
sha256 = "1lz5ibvgz6cxprxlnd7a8iwv387idr7k53bdsvy4bw9ayglq83fy";
};

postgresql92 = common {
version = "9.2.18";
version = "9.2.19";
psqlSchema = "9.2";
sha256 = "1x1mxbwqvgj9s4y8pb4vv6fmmr36z5zl3b2ggb84ckdfhvakganp";
sha256 = "1bfvx1h1baxp40y4xi88974p43vazz13mwc0h8scq3sr9wxdfa8x";
};

postgresql93 = common {
version = "9.3.14";
version = "9.3.15";
psqlSchema = "9.3";
sha256 = "1783kl0abf9az90mvs08pdh63d33cv2njc1q515zz89bqkqj4hsw";
sha256 = "0kswvs4rzcmjz12hhyi61w5x2wh4dxskar8v7rgajfm98qabmz59";
};

postgresql94 = common {
version = "9.4.9";
version = "9.4.10";
psqlSchema = "9.4";
sha256 = "1jg1l6vrfwhfyqrx07bgcpqxb5zcp8zwm8qd2vcj0k11j0pac861";
sha256 = "1kvfhalf3rs59887b5qa14zp85zcnsc6pislrs0wd08rxn5nfqbh";
};

postgresql95 = common {
version = "9.5.4";
version = "9.5.5";
psqlSchema = "9.5";
sha256 = "1l3fqxlpxgl6nrcd4h6lpi2hsiv56yg83n3xrn704rmdch8mfpng";
sha256 = "157kf6mdazmxfmd11f0akya2xcz6sfgprn7yqc26dpklps855ih2";
};

postgresql96 = common {
version = "9.6.1";
psqlSchema = "9.6";
sha256 = "1k8zwnabsl8f7vlp3azm4lrklkb9jkaxmihqf0mc27ql9451w475";
};

}
14 changes: 14 additions & 0 deletions pkgs/servers/sql/postgresql/hardcode-pgxs-path-96.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff -Naur postgresql-9.6.1-orig/src/common/config_info.c postgresql-9.6.1/src/common/config_info.c
--- postgresql-9.6.1-orig/src/common/config_info.c 2016-11-22 21:39:29.231929261 +0100
+++ postgresql-9.6.1/src/common/config_info.c 2016-11-22 23:36:53.685163543 +0100
@@ -118,7 +118,10 @@
i++;

configdata[i].name = pstrdup("PGXS");
+ strlcpy(path, "HARDCODED_PGXS_PATH", sizeof(path));
+/* commented out to be able to point to nix $out path
get_pkglib_path(my_exec_path, path);
+*/
strlcat(path, "/pgxs/src/makefiles/pgxs.mk", sizeof(path));
cleanup_path(path);
configdata[i].setting = pstrdup(path);
12 changes: 12 additions & 0 deletions pkgs/servers/sql/postgresql/less-is-more-96.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff -Naur postgresql-9.6.1-orig/src/include/fe_utils/print.h postgresql-9.6.1/src/include/fe_utils/print.h
--- postgresql-9.6.1-orig/src/include/fe_utils/print.h 2016-11-22 21:39:29.148932827 +0100
+++ postgresql-9.6.1/src/include/fe_utils/print.h 2016-11-22 21:39:36.283626258 +0100
@@ -18,7 +18,7 @@

/* This is not a particularly great place for this ... */
#ifndef __CYGWIN__
-#define DEFAULT_PAGER "more"
+#define DEFAULT_PAGER "less"
#else
#define DEFAULT_PAGER "less"
#endif
3 changes: 2 additions & 1 deletion pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
@@ -10596,7 +10596,8 @@ in
postgresql92
postgresql93
postgresql94
postgresql95;
postgresql95
postgresql96;

postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };