From 53c287f5cdcb874a77b4e4f01634b3eba24212a8 Mon Sep 17 00:00:00 2001
From: Aristid Breitkreuz <aristidb@gmail.com>
Date: Fri, 31 Oct 2014 22:20:59 +0100
Subject: [PATCH] postgresql 9.4beta3, but keep beta2 around because they are
 not compatible

---
 .../postgresql/{9.4.x.nix => 9.4beta2.nix}    |  0
 pkgs/servers/sql/postgresql/9.4beta3.nix      | 44 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  4 +-
 3 files changed, 47 insertions(+), 1 deletion(-)
 rename pkgs/servers/sql/postgresql/{9.4.x.nix => 9.4beta2.nix} (100%)
 create mode 100644 pkgs/servers/sql/postgresql/9.4beta3.nix

diff --git a/pkgs/servers/sql/postgresql/9.4.x.nix b/pkgs/servers/sql/postgresql/9.4beta2.nix
similarity index 100%
rename from pkgs/servers/sql/postgresql/9.4.x.nix
rename to pkgs/servers/sql/postgresql/9.4beta2.nix
diff --git a/pkgs/servers/sql/postgresql/9.4beta3.nix b/pkgs/servers/sql/postgresql/9.4beta3.nix
new file mode 100644
index 000000000000..d446a4ab75b7
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/9.4beta3.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, zlib, readline, libossp_uuid }:
+
+with stdenv.lib;
+
+let version = "9.4beta3"; in
+
+stdenv.mkDerivation rec {
+  name = "postgresql-${version}";
+
+  src = fetchurl {
+    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
+    sha256 = "0pdawsmrzwgf2c4g18xlgzv6q34kd8q2p1nxag0xaw4sbdmdilas";
+  };
+
+  buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [ "world" ];
+
+  configureFlags = optional (!stdenv.isDarwin)
+    ''
+      --with-ossp-uuid
+    '';
+
+  patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ];
+
+  installTargets = [ "install-world" ];
+
+  LC_ALL = "C";
+
+  passthru = {
+    inherit readline;
+    psqlSchema = "9.4";
+  };
+
+  meta = {
+    homepage = http://www.postgresql.org/ ;
+    description = "A powerful, open source object-relational database system";
+    license = stdenv.lib.licenses.postgresql;
+    maintainers = with stdenv.lib.maintainers; [ aristid ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b5cbbac9f89e..5030cf34541f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7538,7 +7538,9 @@ let
 
   postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { };
 
-  postgresql94 = callPackage ../servers/sql/postgresql/9.4.x.nix { };
+  postgresql94beta2 = callPackage ../servers/sql/postgresql/9.4beta2.nix { };
+  postgresql94beta3 = callPackage ../servers/sql/postgresql/9.4beta3.nix { };
+  postgresql94 = postgresql94beta3;
 
   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };