about summary refs log tree commit diff
path: root/pkgs/servers/openafs
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2020-11-17 16:31:51 +0100
committerGitHub <noreply@github.com>2020-11-17 16:31:51 +0100
commitdd1908f879effa77bec22e5b45edfd2ee28dfde3 (patch)
treed24a5af70c5827744c28df97b9b582af3a6a954c /pkgs/servers/openafs
parent9706108b63cb59f046b094da5f684c990ec1c16d (diff)
parent54a69eb80480016341d4825f272b9017a3bd0ac1 (diff)
Merge pull request #99379 from spacefrogg/openafs-fixups
Diffstat (limited to 'pkgs/servers/openafs')
-rw-r--r--pkgs/servers/openafs/1.8/default.nix39
1 files changed, 23 insertions, 16 deletions
diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix
index 07f5560ff20a8..c26f8d3a23c50 100644
--- a/pkgs/servers/openafs/1.8/default.nix
+++ b/pkgs/servers/openafs/1.8/default.nix
@@ -1,27 +1,30 @@
 { stdenv, buildPackages, fetchurl, which, autoconf, automake, flex
-, yacc , glibc, perl, kerberos, libxslt, docbook_xsl
-, docbook_xml_dtd_43 , libtool_2, removeReferencesTo
-, ncurses # Extra ncurses utilities. Only needed for debugging.
+, yacc , glibc, perl, kerberos, libxslt, docbook_xsl, file
+, docbook_xml_dtd_43, libtool_2
+, withDevdoc ? false, doxygen, dblatex # Extra developer documentation
+, ncurses # Extra ncurses utilities. Needed for debugging and monitoring.
 , tsmbac ? null # Tivoli Storage Manager Backup Client from IBM
 }:
 
 with (import ./srcs.nix { inherit fetchurl; });
+let
+  inherit (stdenv.lib) optional optionalString optionals;
 
-stdenv.mkDerivation {
+in stdenv.mkDerivation {
   pname = "openafs";
   inherit version srcs;
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ autoconf automake flex libxslt libtool_2 perl
-    removeReferencesTo which yacc ];
+    which yacc ] ++ optionals withDevdoc [ doxygen dblatex ];
 
   buildInputs = [ kerberos ncurses ];
 
-  patches = [ ./bosserver.patch ./cross-build.patch ] ++ stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
+  patches = [ ./bosserver.patch ./cross-build.patch ] ++ optional (tsmbac != null) ./tsmbac.patch;
 
-  outputs = [ "out" "dev" "man" "doc" "server" ];
+  outputs = [ "out" "dev" "man" "doc" ] ++ optional withDevdoc "devdoc";
 
-  enableParallelBuilding = true;
+  enableParallelBuilding = false;
 
   setOutputFlags = false;
 
@@ -44,19 +47,19 @@ stdenv.mkDerivation {
 
     ./regen.sh
 
+
     configureFlagsArray=(
       "--with-gssapi"
       "--sysconfdir=/etc"
       "--localstatedir=/var"
       "--disable-kernel-module"
       "--disable-fuse-client"
-      "--with-html-xsl=${docbook_xsl}/share/xml/docbook-xsl/html/chunk.xsl"
-      ${stdenv.lib.optionalString (tsmbac != null) "--enable-tivoli-tsm"}
-      ${stdenv.lib.optionalString (ncurses == null) "--disable-gtx"}
+      "--with-docbook-stylesheets=${docbook_xsl}/share/xml/docbook-xsl"
+      ${optionalString (tsmbac != null) "--enable-tivoli-tsm"}
+      ${optionalString (ncurses == null) "--disable-gtx"}
       "--disable-linux-d_splice-alias-extra-iput"
-      "--libexecdir=$server/libexec"
     )
-  '' + stdenv.lib.optionalString (tsmbac != null) ''
+  '' + optionalString (tsmbac != null) ''
     export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsmbac}/lib64/sample -DXBSA_TSMLIB=\\\"${tsmbac}/lib64/libApiTSM64.so\\\""
     export XBSA_XLIBS="-ldl"
   '';
@@ -67,24 +70,28 @@ stdenv.mkDerivation {
     for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do
       make -C "''${d}" index.html
     done
+  '' + optionalString withDevdoc ''
+    make dox
   '';
 
   postInstall = ''
     mkdir -p $doc/share/doc/openafs/{AdminGuide,QuickStartUnix,UserGuide}
-    cp -r doc/{pdf,protocol,txt} README LICENSE $doc/share/doc/openafs
+    cp -r doc/txt README LICENSE $doc/share/doc/openafs
     for d in AdminGuide QuickStartUnix UserGuide ; do
       cp "doc/xml/''${d}"/*.html "$doc/share/doc/openafs/''${d}"
     done
 
     rm -r $out/lib/openafs
+  '' + optionalString withDevdoc ''
+    mkdir -p $devdoc/share/devhelp/openafs/doxygen
+    cp -r doc/{pdf,protocol} $devdoc/share/devhelp/openafs
+    cp -r doc/doxygen/output/html $devdoc/share/devhelp/openafs/doxygen
   '';
 
   # Avoid references to $TMPDIR by removing it and let patchelf cleanup the
   # binaries.
   preFixup = ''
     rm -rf "$(pwd)" && mkdir "$(pwd)"
-
-    find $out -type f -exec remove-references-to -t $server '{}' '+'
   '';
 
   meta = with stdenv.lib; {