mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 23:36:17 +01:00
subversion: Use callPackages
This commit is contained in:
parent
35f8952a8c
commit
64792ffdaa
2 changed files with 93 additions and 83 deletions
|
@ -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";
|
||||
};
|
||||
in
|
||||
assert builtins.hasAttr branch config;
|
||||
common = { version, sha1 }: stdenv.mkDerivation (rec {
|
||||
inherit version;
|
||||
name = "subversion-${version}";
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/subversion/${name}.tar.bz2";
|
||||
inherit sha1;
|
||||
};
|
||||
|
||||
version = "${branch}." + config.${branch}.ver_min;
|
||||
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;
|
||||
|
||||
name = "subversion-${version}";
|
||||
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}
|
||||
'';
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/subversion/${name}.tar.bz2";
|
||||
inherit (config.${branch}) sha1;
|
||||
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";
|
||||
};
|
||||
|
||||
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;
|
||||
subversion19 = common {
|
||||
version = "1.9.2";
|
||||
sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";
|
||||
};
|
||||
} // stdenv.lib.optionalAttrs stdenv.isDarwin {
|
||||
CXX = "clang++";
|
||||
CC = "clang";
|
||||
CPP = "clang -E";
|
||||
CXXCPP = "clang++ -E";
|
||||
})
|
||||
|
||||
}
|
||||
|
|
|
@ -13217,18 +13217,21 @@ let
|
|||
|
||||
sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { });
|
||||
|
||||
subversion = callPackage ../applications/version-management/subversion/default.nix {
|
||||
bdbSupport = true;
|
||||
httpServer = false;
|
||||
httpSupport = true;
|
||||
pythonBindings = false;
|
||||
perlBindings = false;
|
||||
javahlBindings = false;
|
||||
saslSupport = false;
|
||||
sasl = cyrus_sasl;
|
||||
};
|
||||
inherit (callPackages ../applications/version-management/subversion/default.nix {
|
||||
bdbSupport = true;
|
||||
httpServer = false;
|
||||
httpSupport = true;
|
||||
pythonBindings = false;
|
||||
perlBindings = false;
|
||||
javahlBindings = false;
|
||||
saslSupport = false;
|
||||
sasl = cyrus_sasl;
|
||||
})
|
||||
subversion18 subversion19;
|
||||
|
||||
subversionClient = appendToName "client" (subversion.override {
|
||||
subversion = pkgs.subversion19;
|
||||
|
||||
subversionClient = appendToName "client" (pkgs.subversion.override {
|
||||
bdbSupport = false;
|
||||
perlBindings = true;
|
||||
pythonBindings = true;
|
||||
|
@ -14527,7 +14530,11 @@ let
|
|||
libcanberra = libcanberra_kde;
|
||||
boost = boost155;
|
||||
kdelibs = kdeApps_15_08.kdelibs;
|
||||
subversionClient = subversionClient.override { branch = "1.8"; };
|
||||
subversionClient = pkgs.subversion18.override {
|
||||
bdbSupport = false;
|
||||
perlBindings = true;
|
||||
pythonBindings = true;
|
||||
};
|
||||
}
|
||||
../desktops/kde-4.14;
|
||||
|
||||
|
|
Loading…
Reference in a new issue