summary refs log tree commit diff
path: root/pkgs/servers/dns
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2015-10-30 23:12:29 +0200
committerTuomas Tynkkynen <tuomas@tuxera.com>2016-05-14 22:12:59 +0300
commit0561e14c3b91893fcd55e78cde9fbd216c0f3d18 (patch)
tree2f6013e454d7274aea59a4eee4d8143c915acb88 /pkgs/servers/dns
parentd359ce90e88456c374c788d342a8cf1ab8c2853c (diff)
downloadnixlib-0561e14c3b91893fcd55e78cde9fbd216c0f3d18.tar
nixlib-0561e14c3b91893fcd55e78cde9fbd216c0f3d18.tar.gz
nixlib-0561e14c3b91893fcd55e78cde9fbd216c0f3d18.tar.bz2
nixlib-0561e14c3b91893fcd55e78cde9fbd216c0f3d18.tar.lz
nixlib-0561e14c3b91893fcd55e78cde9fbd216c0f3d18.tar.xz
nixlib-0561e14c3b91893fcd55e78cde9fbd216c0f3d18.tar.zst
nixlib-0561e14c3b91893fcd55e78cde9fbd216c0f3d18.zip
bind: Split into multiple outputs
A patch is needed to make bind not print its configure flags on
'named -V'.
Diffstat (limited to 'pkgs/servers/dns')
-rw-r--r--pkgs/servers/dns/bind/default.nix9
-rw-r--r--pkgs/servers/dns/bind/dont-keep-configure-flags.patch40
2 files changed, 48 insertions, 1 deletions
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 9afb622eb5e0..03cee0fe55bc 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "0mmhzi4483mkak47wj255a36g3v0yilxwfwlbckr1hssinri5m7q";
   };
 
-  patches = [ ./remove-mkdir-var.patch ] ++
+  outputs = [ "dev" "bin" "out" "man" ];
+
+  patches = [ ./dont-keep-configure-flags.patch ./remove-mkdir-var.patch ] ++
     stdenv.lib.optional stdenv.isDarwin ./darwin-openssl-linking-fix.patch;
 
   buildInputs = [ openssl libtool perl libxml2 ];
@@ -31,6 +33,11 @@ stdenv.mkDerivation rec {
     "--without-python"
   ];
 
+  postInstall = ''
+    moveToOutput bin/bind9-config $dev
+    moveToOutput bin/isc-config.sh $dev
+  '';
+
   meta = {
     homepage = "http://www.isc.org/software/bind";
     description = "Domain name server";
diff --git a/pkgs/servers/dns/bind/dont-keep-configure-flags.patch b/pkgs/servers/dns/bind/dont-keep-configure-flags.patch
new file mode 100644
index 000000000000..91cae62b1715
--- /dev/null
+++ b/pkgs/servers/dns/bind/dont-keep-configure-flags.patch
@@ -0,0 +1,40 @@
+diff --git a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h
+index f354cfb..2aa0cc5 100644
+--- a/bin/named/include/named/globals.h
++++ b/bin/named/include/named/globals.h
+@@ -71,7 +71,9 @@ EXTERN const char *		ns_g_version		INIT(VERSION);
+ EXTERN const char *		ns_g_product		INIT(PRODUCT);
+ EXTERN const char *		ns_g_description	INIT(DESCRIPTION);
+ EXTERN const char *		ns_g_srcid		INIT(SRCID);
++#if 0
+ EXTERN const char *		ns_g_configargs		INIT(CONFIGARGS);
++#endif
+ EXTERN const char *		ns_g_builder		INIT(BUILDER);
+ EXTERN in_port_t		ns_g_port		INIT(0);
+ EXTERN isc_dscp_t		ns_g_dscp		INIT(-1);
+diff --git a/bin/named/main.c b/bin/named/main.c
+index 556db54..edab41d 100644
+--- a/bin/named/main.c
++++ b/bin/named/main.c
+@@ -636,8 +636,10 @@ parse_command_line(int argc, char *argv[]) {
+ 			       (*ns_g_description != '\0') ? " " : "",
+ 			       ns_g_description, ns_g_srcid);
+ 			printf("running on %s\n", ns_os_uname());
++#if 0
+ 			printf("built by %s with %s\n",
+ 			       ns_g_builder, ns_g_configargs);
++#endif
+ #ifdef __clang__
+ 			printf("compiled by CLANG %s\n", __VERSION__);
+ #else
+@@ -998,8 +1000,10 @@ setup(void) {
+ 	isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
+ 		      ISC_LOG_NOTICE, "running on %s", ns_os_uname());
+ 
++#if 0
+ 	isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
+ 		      ISC_LOG_NOTICE, "built with %s", ns_g_configargs);
++#endif
+ 
+ 	isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
+ 		      ISC_LOG_NOTICE,