diff options
Diffstat (limited to 'pkgs/applications/version-management/subversion')
-rw-r--r-- | pkgs/applications/version-management/subversion/default.nix | 151 |
1 files changed, 77 insertions, 74 deletions
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index f563bebd9db8..050d3d72b0fb 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -8,7 +8,6 @@ , stdenv, fetchurl, apr, aprutil, zlib, sqlite , apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null , sasl ? null, serf ? null -, branch ? "1.9" }: assert bdbSupport -> aprutil.bdbSupport; @@ -17,81 +16,85 @@ assert pythonBindings -> swig != null && python != null; assert javahlBindings -> jdk != null && perl != null; let - config = { - "1.9".ver_min = "2"; - "1.9".sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017"; - "1.8".ver_min = "14"; - "1.8".sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497"; + common = { version, sha1 }: stdenv.mkDerivation (rec { + inherit version; + name = "subversion-${version}"; + + src = fetchurl { + url = "mirror://apache/subversion/${name}.tar.bz2"; + inherit sha1; + }; + + 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"; + }); + +in { + + subversion18 = common { + version = "1.8.14"; + sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497"; }; -in -assert builtins.hasAttr branch config; -stdenv.mkDerivation (rec { - - version = "${branch}." + config.${branch}.ver_min; - - name = "subversion-${version}"; - - src = fetchurl { - url = "mirror://apache/subversion/${name}.tar.bz2"; - inherit (config.${branch}) sha1; + subversion19 = common { + version = "1.9.2"; + sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017"; }; - 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"; -}) +} |