subversion: Use callPackages
This commit is contained in:
parent
35f8952a8c
commit
64792ffdaa
@ -8,7 +8,6 @@
|
|||||||
, stdenv, fetchurl, apr, aprutil, zlib, sqlite
|
, stdenv, fetchurl, apr, aprutil, zlib, sqlite
|
||||||
, apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
|
, apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
|
||||||
, sasl ? null, serf ? null
|
, sasl ? null, serf ? null
|
||||||
, branch ? "1.9"
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert bdbSupport -> aprutil.bdbSupport;
|
assert bdbSupport -> aprutil.bdbSupport;
|
||||||
@ -17,81 +16,85 @@ assert pythonBindings -> swig != null && python != null;
|
|||||||
assert javahlBindings -> jdk != null && perl != null;
|
assert javahlBindings -> jdk != null && perl != null;
|
||||||
|
|
||||||
let
|
let
|
||||||
config = {
|
|
||||||
"1.9".ver_min = "2";
|
|
||||||
"1.9".sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";
|
|
||||||
|
|
||||||
"1.8".ver_min = "14";
|
common = { version, sha1 }: stdenv.mkDerivation (rec {
|
||||||
"1.8".sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497";
|
inherit version;
|
||||||
};
|
name = "subversion-${version}";
|
||||||
in
|
|
||||||
assert builtins.hasAttr branch config;
|
|
||||||
|
|
||||||
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 {
|
preBuild = ''
|
||||||
url = "mirror://apache/subversion/${name}.tar.bz2";
|
makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules)
|
||||||
inherit (config.${branch}) sha1;
|
'';
|
||||||
|
|
||||||
|
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 ]
|
subversion19 = common {
|
||||||
++ stdenv.lib.optional httpSupport serf
|
version = "1.9.2";
|
||||||
++ stdenv.lib.optional pythonBindings python
|
sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";
|
||||||
++ 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";
|
|
||||||
})
|
|
||||||
|
@ -13217,18 +13217,21 @@ let
|
|||||||
|
|
||||||
sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { });
|
sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { });
|
||||||
|
|
||||||
subversion = callPackage ../applications/version-management/subversion/default.nix {
|
inherit (callPackages ../applications/version-management/subversion/default.nix {
|
||||||
bdbSupport = true;
|
bdbSupport = true;
|
||||||
httpServer = false;
|
httpServer = false;
|
||||||
httpSupport = true;
|
httpSupport = true;
|
||||||
pythonBindings = false;
|
pythonBindings = false;
|
||||||
perlBindings = false;
|
perlBindings = false;
|
||||||
javahlBindings = false;
|
javahlBindings = false;
|
||||||
saslSupport = false;
|
saslSupport = false;
|
||||||
sasl = cyrus_sasl;
|
sasl = cyrus_sasl;
|
||||||
};
|
})
|
||||||
|
subversion18 subversion19;
|
||||||
|
|
||||||
subversionClient = appendToName "client" (subversion.override {
|
subversion = pkgs.subversion19;
|
||||||
|
|
||||||
|
subversionClient = appendToName "client" (pkgs.subversion.override {
|
||||||
bdbSupport = false;
|
bdbSupport = false;
|
||||||
perlBindings = true;
|
perlBindings = true;
|
||||||
pythonBindings = true;
|
pythonBindings = true;
|
||||||
@ -14527,7 +14530,11 @@ let
|
|||||||
libcanberra = libcanberra_kde;
|
libcanberra = libcanberra_kde;
|
||||||
boost = boost155;
|
boost = boost155;
|
||||||
kdelibs = kdeApps_15_08.kdelibs;
|
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;
|
../desktops/kde-4.14;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user