summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/version-management/subversion
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-12-16 15:17:00 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-12-16 15:21:58 +0100
commit64792ffdaa753ebf35efd06bc843a8a9c90a400f (patch)
treee6c89d98e4aa0634e3b92f6ea55c491f60a8313d /pkgs/applications/version-management/subversion
parent35f8952a8c0df44c542a95a9000e476c16a344f7 (diff)
subversion: Use callPackages
Diffstat (limited to 'pkgs/applications/version-management/subversion')
-rw-r--r--pkgs/applications/version-management/subversion/default.nix151
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";
-})
+}