summary refs log tree commit diff
path: root/pkgs/tools/filesystems/ceph
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/filesystems/ceph')
-rw-r--r--pkgs/tools/filesystems/ceph/dev.nix6
-rw-r--r--pkgs/tools/filesystems/ceph/fix-pythonpath.patch31
-rw-r--r--pkgs/tools/filesystems/ceph/generic.nix12
-rw-r--r--pkgs/tools/filesystems/ceph/git.nix8
4 files changed, 49 insertions, 8 deletions
diff --git a/pkgs/tools/filesystems/ceph/dev.nix b/pkgs/tools/filesystems/ceph/dev.nix
index 3a9aacbcd30..5cc183d1053 100644
--- a/pkgs/tools/filesystems/ceph/dev.nix
+++ b/pkgs/tools/filesystems/ceph/dev.nix
@@ -1,11 +1,13 @@
 { callPackage, fetchgit, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "9.0.1";
+  version = "9.0.2";
 
   src = fetchgit {
     url = "https://github.com/ceph/ceph.git";
     rev = "refs/tags/v${version}";
-    sha256 = "1sq6gim7dik04lih5krwm4qpnf2blby3xj2vz9n4cknjnj0dbg7x";
+    sha256 = "0kydjyvb1566mh33p6dlljfx1r4cfdj8ic4i19h5r9vavkc46nf0";
   };
+
+  patches = [ ./fix-pythonpath.patch ];
 })
diff --git a/pkgs/tools/filesystems/ceph/fix-pythonpath.patch b/pkgs/tools/filesystems/ceph/fix-pythonpath.patch
new file mode 100644
index 00000000000..7458a46aca1
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/fix-pythonpath.patch
@@ -0,0 +1,31 @@
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index e176596..384e230 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -40,7 +40,7 @@ check_SCRIPTS =
+ export VERBOSE = true
+ 
+ # python unit tests need to know where the scripts are located
+-export PYTHONPATH=$(top_srcdir)/src/pybind
++export PYTHONPATH+=:$(top_srcdir)/src/pybind
+ 
+ # when doing a debug build, make sure to make the targets
+ if WITH_DEBUG
+diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am
+index 3e5ad03..66d6683 100644
+--- a/src/ceph-detect-init/Makefile.am
++++ b/src/ceph-detect-init/Makefile.am
+@@ -64,9 +64,10 @@ install-data-local::
+ 	if test "$(DESTDIR)" ; then \
+ 		if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ 			options=--install-layout=deb ; \
+-		else \
+-			options=--prefix=/usr ; \
+ 		fi ; \
+ 		root="--root=$(DESTDIR)" ; \
+ 	fi ; \
+-	python setup.py install $$root $$options
++	if test "$(prefix)"; then \
++		prefix="--prefix=$(prefix)" ; \
++	fi ; \
++	python setup.py install $$prefix $$root $$options
diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix
index 4d358d6a9c5..b899192aa3c 100644
--- a/pkgs/tools/filesystems/ceph/generic.nix
+++ b/pkgs/tools/filesystems/ceph/generic.nix
@@ -113,7 +113,9 @@ stdenv.mkDerivation {
   ];
 
   nativeBuildInputs = [ autoconf automake makeWrapper pkgconfig libtool which ]
-    ++ optionals (versionAtLeast version "10.0.0") [ pythonPackages.setuptools ];
+    ++ optionals (versionAtLeast version "9.0.2") [
+      pythonPackages.setuptools pythonPackages.argparse
+    ];
   buildInputs = buildInputs ++ cryptoLibsMap.${cryptoStr} ++ [
     boost python libxml2 optYasm optLibatomic_ops optLibs3 malloc pythonPackages.flask zlib
   ] ++ optional (versionAtLeast version "9.0.0") [
@@ -147,7 +149,7 @@ stdenv.mkDerivation {
   preConfigure = ''
     # Ceph expects the arch command to be usable during configure
     # for detecting the assembly type
-    mkdir mybin
+    mkdir -p mybin
     echo "#${stdenv.shell} -e" >> mybin/arch
     echo "uname -m" >> mybin/arch
     chmod +x mybin/arch
@@ -157,6 +159,10 @@ stdenv.mkDerivation {
 
     # Fix the python site-packages install directory
     sed -i "s,\(PYTHON\(\|_EXEC\)_PREFIX=\).*,\1'$lib',g" configure
+
+    # Fix the PYTHONPATH for installing ceph-detect-init to $out
+    mkdir -p "$(toPythonPath $out)"
+    export PYTHONPATH="$(toPythonPath $out):$PYTHONPATH"
   '';
 
   configureFlags = [
@@ -200,7 +206,7 @@ stdenv.mkDerivation {
   ] ++ optional (versionAtLeast version "9.0.1") [
     (mkWith   false                        "tcmalloc-minimal"    null)
     (mkWith   false                        "valgrind"            null)
-  ] ++ optional (versionAtLeast version "10.0.0") [
+  ] ++ optional (versionAtLeast version "9.0.2") [
     (mkWith   true                         "man-pages"           null)
     (mkWith   true                         "systemd-libexec-dir" "\${TMPDIR}")
   ];
diff --git a/pkgs/tools/filesystems/ceph/git.nix b/pkgs/tools/filesystems/ceph/git.nix
index df209b080b0..341c24c04a3 100644
--- a/pkgs/tools/filesystems/ceph/git.nix
+++ b/pkgs/tools/filesystems/ceph/git.nix
@@ -1,11 +1,13 @@
 { callPackage, fetchgit, git, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2015-06-06";
+  version = "2015-07-15";
 
   src = fetchgit {
     url = "git://github.com/ceph/ceph.git";
-    rev = "efededa0107eebd4abc0e08dd34200d6ca175626";
-    sha256 = "18lcn4misyvgjh7r0vkal480x23yr8pcjwzl4k4hbrpqmm97znp9";
+    rev = "66dcbaed3c3c8e4b5367ba1cd2859271e692e7e0";
+    sha256 = "05jba4zjrkksrra6rz4kby8vv4ja8fa73wvwcw3yn3mn1x9kyz2g";
   };
+
+  patches = [ ./fix-pythonpath.patch ];
 })