summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-08-01 18:45:23 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-08-01 18:45:23 -0700
commit58d1a1b07385c99a62361577ea9d16c4e3c96972 (patch)
tree82263f62dd705d45a5c756f08350ff0650ba0b80 /pkgs
parent1b20c87d1f9cb9e3a90fb3077d746a9f41dbb58e (diff)
downloadnixlib-58d1a1b07385c99a62361577ea9d16c4e3c96972.tar
nixlib-58d1a1b07385c99a62361577ea9d16c4e3c96972.tar.gz
nixlib-58d1a1b07385c99a62361577ea9d16c4e3c96972.tar.bz2
nixlib-58d1a1b07385c99a62361577ea9d16c4e3c96972.tar.lz
nixlib-58d1a1b07385c99a62361577ea9d16c4e3c96972.tar.xz
nixlib-58d1a1b07385c99a62361577ea9d16c4e3c96972.tar.zst
nixlib-58d1a1b07385c99a62361577ea9d16c4e3c96972.zip
ceph: Make python fixes more reliable
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/filesystems/ceph/generic.nix13
1 files changed, 11 insertions, 2 deletions
diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix
index 1130772ccd85..dca6d9300206 100644
--- a/pkgs/tools/filesystems/ceph/generic.nix
+++ b/pkgs/tools/filesystems/ceph/generic.nix
@@ -235,15 +235,24 @@ stdenv.mkDerivation {
     for PY in $(find $lib/lib -name \*.py); do
       LIBS="$(sed -n "s/.*find_library('\([^)]*\)').*/\1/p" "$PY")"
 
+      # Delete any calls to find_library
+      sed -i '/find_library/d' "$PY"
+
       # Fix each find_library call
       for LIB in $LIBS; do
         REALLIB="$lib/lib/lib$LIB.so"
-        sed -i "s,find_library('$LIB'),'$REALLIB',g" "$PY"
+        sed -i "s,\(lib$LIB = CDLL(\).*,\1'$REALLIB'),g" "$PY"
       done
 
       # Reapply compilation optimizations
       NAME=$(basename -s .py "$PY")
-      (cd "$(dirname $PY)"; python -c "import $NAME"; python -O -c "import $NAME")
+      rm -f "$PY"{c,o}
+      pushd "$(dirname $PY)"
+      python -c "import $NAME"
+      python -O -c "import $NAME"
+      popd
+      test -f "$PY"c
+      test -f "$PY"o
     done
   '';