postgresql: Refactor 8.4 into generic
This commit is contained in:
parent
3ede091d56
commit
1bb67e514b
@ -1,31 +1,10 @@
|
||||
{ stdenv, fetchurl, zlib, ncurses, readline, openssl }:
|
||||
{ callPackage, fetchurl, ... } @ args:
|
||||
|
||||
let version = "8.4.22"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "postgresql-${version}";
|
||||
callPackage ./generic.nix (args // rec {
|
||||
version = "8.4.22";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
|
||||
url = "mirror://postgresql/source/v${version}/postgresql-${version}.tar.bz2";
|
||||
sha256 = "09iqr9sldiq7jz1rdnywp2wv36lxy5m8kch3vpchd1s4fz75c7aw";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib ncurses readline openssl ];
|
||||
|
||||
LC_ALL = "C";
|
||||
|
||||
configureFlags = [ "--with-openssl" ];
|
||||
|
||||
patches = [ ./less-is-more.patch ];
|
||||
|
||||
passthru = { inherit readline; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.postgresql.org/;
|
||||
description = "A powerful, open source object-relational database system";
|
||||
license = licenses.postgresql;
|
||||
maintainers = with maintaiers; [ ocharles ];
|
||||
platforms = platforms.unix;
|
||||
hydraPlatforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
92
pkgs/servers/sql/postgresql/generic.nix
Normal file
92
pkgs/servers/sql/postgresql/generic.nix
Normal file
@ -0,0 +1,92 @@
|
||||
{ stdenv, bison, flex
|
||||
, gettext
|
||||
|
||||
# Optional Dependencies
|
||||
, kerberos ? null, pam ? null, openldap ? null, openssl ? null, readline ? null
|
||||
, libossp_uuid ? null, libxml2 ? null, libxslt ? null, zlib ? null
|
||||
|
||||
# Extra Arguments
|
||||
, blockSizeKB ? 8, segmentSizeGB ? 1
|
||||
, walBlockSizeKB ? 8, walSegmentSizeMB ? 16
|
||||
|
||||
# Version specific arguments
|
||||
, version, src
|
||||
, ...
|
||||
}:
|
||||
|
||||
with stdenv;
|
||||
let
|
||||
optKerberos = shouldUsePkg kerberos;
|
||||
optPam = shouldUsePkg pam;
|
||||
optOpenldap = shouldUsePkg openldap;
|
||||
optOpenssl = shouldUsePkg openssl;
|
||||
optReadline = shouldUsePkg readline;
|
||||
optLibossp_uuid = shouldUsePkg libossp_uuid;
|
||||
optLibxml2 = shouldUsePkg libxml2;
|
||||
optLibxslt = shouldUsePkg libxslt;
|
||||
optZlib = shouldUsePkg zlib;
|
||||
in
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "postgresql-${version}";
|
||||
|
||||
inherit src;
|
||||
|
||||
patches = [ ./less-is-more.patch ];
|
||||
|
||||
nativeBuildInputs = [ bison flex ];
|
||||
buildInputs = [
|
||||
gettext optKerberos optPam optOpenldap optOpenssl optReadline
|
||||
optLibossp_uuid optLibxml2 optLibxslt optZlib
|
||||
];
|
||||
|
||||
#LC_ALL = "C";
|
||||
|
||||
configureFlags = [
|
||||
(mkOther "sysconfdir" "/etc")
|
||||
(mkOther "localstatedir" "/var")
|
||||
(mkEnable true "integer-datetimes" null)
|
||||
(mkEnable true "nls" null)
|
||||
(mkWith true "pgport" "5432")
|
||||
(mkEnable true "shared" null)
|
||||
(mkEnable true "rpath" null)
|
||||
(mkEnable true "spinlocks" null)
|
||||
(mkEnable false "debug" null)
|
||||
(mkEnable false "profiling" null)
|
||||
(mkEnable false "coverage" null)
|
||||
(mkEnable false "dtrace" null)
|
||||
(mkWith true "blocksize" (toString blockSizeKB))
|
||||
(mkWith true "segsize" (toString segmentSizeGB))
|
||||
(mkWith true "wal-blocksize" (toString walBlockSizeKB))
|
||||
(mkWith true "wal-segsize" (toString walSegmentSizeMB))
|
||||
(mkEnable true "autodepend" null)
|
||||
(mkEnable false "cassert" null)
|
||||
(mkEnable true "thread-safety" null)
|
||||
(mkWith false "tcl" null) # Maybe enable some day
|
||||
(mkWith false "perl" null) # Maybe enable some day
|
||||
(mkWith false "python" null) # Maybe enable some day
|
||||
(mkWith (optKerberos != null) "gssapi" null)
|
||||
(mkWith false "krb5" null)
|
||||
(mkWith (optPam != null) "pam" null)
|
||||
(mkWith (optOpenldap != null) "ldap" null)
|
||||
(mkWith false "bonjour" null)
|
||||
(mkWith (optOpenssl != null) "openssl" null)
|
||||
(mkWith (optReadline != null) "readline" null)
|
||||
(mkWith false "libedit-preferred" null)
|
||||
(mkWith (optLibossp_uuid != null) "ossp-uuid" null)
|
||||
(mkWith (optLibxml2 != null) "libxml" null)
|
||||
(mkWith (optLibxslt != null) "libxslt" null)
|
||||
(mkWith (optZlib != null) "zlib" null)
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.postgresql.org/;
|
||||
description = "A powerful, open source object-relational database system";
|
||||
license = licenses.postgresql;
|
||||
maintainers = with maintaiers; [ ocharles ];
|
||||
platforms = platforms.unix;
|
||||
hydraPlatforms = platforms.linux;
|
||||
};
|
||||
|
||||
passthru = { inherit readline; };
|
||||
}
|
Loading…
Reference in New Issue
Block a user