postfix30: build with pcre, add database drivers support
This commit is contained in:
parent
1edb62b40a
commit
be2b989842
@ -1,8 +1,25 @@
|
|||||||
{ stdenv, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, coreutils
|
{ stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl
|
||||||
, findutils, gnugrep, gawk, icu
|
, coreutils, findutils, gnugrep, gawk, icu, pcre
|
||||||
|
, withPgSQL ? false, postgresql
|
||||||
|
, withMySQL ? false, libmysql
|
||||||
|
, withSQLite ? false, sqlite
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
|
ccargs = lib.concatStringsSep " " ([
|
||||||
|
"-DUSE_TLS" "-DUSE_SASL_AUTH" "-DUSE_CYRUS_SASL" "-I${cyrus_sasl}/include/sasl"
|
||||||
|
"-DHAS_DB_BYPASS_MAKEDEFS_CHECK"
|
||||||
|
"-fPIE" "-fstack-protector-all" "--param" "ssp-buffer-size=4" "-O2" "-D_FORTIFY_SOURCE=2"
|
||||||
|
] ++ lib.optional withPgSQL "-DHAS_PGSQL"
|
||||||
|
++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${libmysql}/include/mysql" ]
|
||||||
|
++ lib.optional withSQLite "-DHAS_SQLITE");
|
||||||
|
auxlibs = lib.concatStringsSep " " ([
|
||||||
|
"-ldb" "-lnsl" "-lresolv" "-lsasl2" "-lcrypto" "-lssl" "-pie" "-Wl,-z,relro,-z,now"
|
||||||
|
] ++ lib.optional withPgSQL "-lpq"
|
||||||
|
++ lib.optional withMySQL "-lmysqlclient"
|
||||||
|
++ lib.optional withSQLite "-lsqlite3");
|
||||||
|
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
name = "postfix-${version}";
|
name = "postfix-${version}";
|
||||||
|
|
||||||
@ -13,7 +30,10 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "00mc12k5p1zlrlqcf33vh5zizaqr5ai8q78dwv69smjh6kn4c7j0";
|
sha256 = "00mc12k5p1zlrlqcf33vh5zizaqr5ai8q78dwv69smjh6kn4c7j0";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ makeWrapper gnused db openssl cyrus_sasl icu ];
|
buildInputs = [ makeWrapper gnused db openssl cyrus_sasl icu pcre ]
|
||||||
|
++ lib.optional withPgSQL postgresql
|
||||||
|
++ lib.optional withMySQL libmysql
|
||||||
|
++ lib.optional withSQLite sqlite;
|
||||||
|
|
||||||
patches = [ ./postfix-script-shell.patch ./postfix-3.0-no-warnings.patch ];
|
patches = [ ./postfix-script-shell.patch ./postfix-3.0-no-warnings.patch ];
|
||||||
|
|
||||||
@ -33,16 +53,12 @@ stdenv.mkDerivation rec {
|
|||||||
export readme_directory=$out/share/postfix/doc
|
export readme_directory=$out/share/postfix/doc
|
||||||
export sendmail_path=$out/bin/sendmail
|
export sendmail_path=$out/bin/sendmail
|
||||||
|
|
||||||
make makefiles \
|
make makefiles CCARGS='${ccargs}' AUXLIBS='${auxlibs}'
|
||||||
CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl \
|
|
||||||
-DHAS_DB_BYPASS_MAKEDEFS_CHECK \
|
|
||||||
-fPIE -fstack-protector-all --param ssp-buffer-size=4 -O2 -D_FORTIFY_SOURCE=2' \
|
|
||||||
AUXLIBS='-ldb -lnsl -lresolv -lsasl2 -lcrypto -lssl -pie -Wl,-z,relro,-z,now'
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installTargets = [ "non-interactive-package" ];
|
installTargets = [ "non-interactive-package" ];
|
||||||
|
|
||||||
installFlags = [ " install_root=installdir " ];
|
installFlags = [ "install_root=installdir" ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
@ -58,9 +74,9 @@ stdenv.mkDerivation rec {
|
|||||||
meta = {
|
meta = {
|
||||||
homepage = "http://www.postfix.org/";
|
homepage = "http://www.postfix.org/";
|
||||||
description = "A fast, easy to administer, and secure mail server";
|
description = "A fast, easy to administer, and secure mail server";
|
||||||
license = stdenv.lib.licenses.bsdOriginal;
|
license = lib.licenses.bsdOriginal;
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = [ stdenv.lib.maintainers.rickynils ];
|
maintainers = [ lib.maintainers.rickynils ];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user