The kdesvn kio helper from kde 4.14.3 does not build with the newer subversion 
1.9.x series.  The attached patch restores the subversion 1.8.x to nixpkgs and 
uses it with kde4.
>From b91c3d65902fb349569092d34296806b6ba521e0 Mon Sep 17 00:00:00 2001
From: Karn Kallio <[email protected]>
Date: Wed, 30 Sep 2015 10:43:14 -0430
Subject: [PATCH] Restore subversion 1.8.x because kdesvn does not build with
 1.9.x

---
 .../version-management/subversion/1.8.x.nix        | 85 ++++++++++++++++++++++
 pkgs/top-level/all-packages.nix                    | 11 ++-
 2 files changed, 94 insertions(+), 2 deletions(-)
 create mode 100644 pkgs/applications/version-management/subversion/1.8.x.nix

diff --git a/pkgs/applications/version-management/subversion/1.8.x.nix b/pkgs/applications/version-management/subversion/1.8.x.nix
new file mode 100644
index 0000000..ffe6883
--- /dev/null
+++ b/pkgs/applications/version-management/subversion/1.8.x.nix
@@ -0,0 +1,85 @@
+{ bdbSupport ? false # build support for Berkeley DB repositories
+, httpServer ? false # build Apache DAV module
+, httpSupport ? false # client must support http
+, pythonBindings ? false
+, perlBindings ? false
+, javahlBindings ? false
+, saslSupport ? false
+, stdenv, fetchurl, apr, aprutil, zlib, sqlite
+, apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
+, sasl ? null, serf ? null
+}:
+
+assert bdbSupport -> aprutil.bdbSupport;
+assert httpServer -> apacheHttpd != null;
+assert pythonBindings -> swig != null && python != null;
+assert javahlBindings -> jdk != null && perl != null;
+
+stdenv.mkDerivation (rec {
+
+  version = "1.8.14";
+
+  name = "subversion-${version}";
+
+  src = fetchurl {
+    url = "mirror://apache/subversion/${name}.tar.bz2";
+    sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497";
+  };
+
+  buildInputs = [ zlib apr aprutil sqlite ]
+    ++ stdenv.lib.optional httpSupport serf
+    ++ stdenv.lib.optional pythonBindings python
+    ++ stdenv.lib.optional perlBindings perl
+    ++ stdenv.lib.optional saslSupport sasl;
+
+  configureFlags = ''
+    ${if bdbSupport then "--with-berkeley-db" else "--without-berkeley-db"}
+    ${if httpServer then "--with-apxs=${apacheHttpd}/bin/apxs" else "--without-apxs"}
+    ${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"}
+    ${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""}
+    --disable-keychain
+    ${if saslSupport then "--with-sasl=${sasl}" else "--without-sasl"}
+    ${if httpSupport then "--with-serf=${serf}" else "--without-serf"}
+    --with-zlib=${zlib}
+    --with-sqlite=${sqlite}
+  '';
+
+  preBuild = ''
+    makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules)
+  '';
+
+  postInstall = ''
+    if test -n "$pythonBindings"; then
+        make swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn
+        make install-swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn
+    fi
+
+    if test -n "$perlBindings"; then
+        make swig-pl-lib
+        make install-swig-pl-lib
+        cd subversion/bindings/swig/perl/native
+        perl Makefile.PL PREFIX=$out
+        make install
+        cd -
+    fi
+
+    mkdir -p $out/share/bash-completion/completions
+    cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion
+  '';
+
+  inherit perlBindings pythonBindings;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A version control system intended to be a compelling replacement for CVS in the open source community";
+    homepage = http://subversion.apache.org/;
+    maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ];
+    hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+} // stdenv.lib.optionalAttrs stdenv.isDarwin {
+  CXX = "clang++";
+  CC = "clang";
+  CPP = "clang -E";
+  CXXCPP = "clang++ -E";
+})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a3f764e..aa70f0c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12775,7 +12775,7 @@ let
 
   sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { });
 
-  subversion = callPackage ../applications/version-management/subversion/default.nix {
+  subversionFun = versionPath: callPackage versionPath {
     bdbSupport = true;
     httpServer = false;
     httpSupport = true;
@@ -12786,12 +12786,18 @@ let
     sasl = cyrus_sasl;
   };
 
-  subversionClient = appendToName "client" (subversion.override {
+  subversionClientFun = subversion: appendToName "client" (subversion.override {
     bdbSupport = false;
     perlBindings = true;
     pythonBindings = true;
   });
 
+  subversion = subversionFun ../applications/version-management/subversion/default.nix;
+
+  subversionClient = subversionClientFun subversion;
+
+  subversionClient_1_8 = subversionClientFun (subversionFun ../applications/version-management/subversion/1.8.x.nix);
+
   subunit = callPackage ../development/libraries/subunit { };
 
   surf = callPackage ../applications/misc/surf {
@@ -13932,6 +13938,7 @@ let
         libcanberra = libcanberra_kde;
         boost = boost155;
         kdelibs = kdeApps_15_08.kdelibs;
+        subversionClient = subversionClient_1_8;
       }
       ../desktops/kde-4.14;
 
-- 
2.4.4

_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to