summary refs log tree commit diff
path: root/pkgs/servers/foundationdb
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2018-08-04 16:15:20 -0500
committerAustin Seipp <aseipp@pobox.com>2018-08-04 16:56:16 -0500
commitaa79ae0c6425fa673401e845493c99e717ad4a69 (patch)
treee131299fc22d24f8d5c8369f5277ed8481e54945 /pkgs/servers/foundationdb
parent8d184e14e48b874d7b10a41ce054fb6395bb9036 (diff)
downloadnixlib-aa79ae0c6425fa673401e845493c99e717ad4a69.tar
nixlib-aa79ae0c6425fa673401e845493c99e717ad4a69.tar.gz
nixlib-aa79ae0c6425fa673401e845493c99e717ad4a69.tar.bz2
nixlib-aa79ae0c6425fa673401e845493c99e717ad4a69.tar.lz
nixlib-aa79ae0c6425fa673401e845493c99e717ad4a69.tar.xz
nixlib-aa79ae0c6425fa673401e845493c99e717ad4a69.tar.zst
nixlib-aa79ae0c6425fa673401e845493c99e717ad4a69.zip
foundationdb: install python bindings
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/servers/foundationdb')
-rw-r--r--pkgs/servers/foundationdb/default.nix17
1 files changed, 14 insertions, 3 deletions
diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix
index 200489fda982..265255c2f78a 100644
--- a/pkgs/servers/foundationdb/default.nix
+++ b/pkgs/servers/foundationdb/default.nix
@@ -88,7 +88,7 @@ let
         separateDebugInfo = true;
         enableParallelBuilding = true;
 
-        makeFlags = [ "all" "fdb_java" ]
+        makeFlags = [ "all" "fdb_java" "fdb_python" ]
           # Don't compile FDBLibTLS if we don't need it in 6.0 or later;
           # it gets statically linked in
           ++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
@@ -106,17 +106,28 @@ let
 
         installPhase = ''
           mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
+          mkdir -vp $python/lib/${python.libPrefix}/site-packages
 
-          cp -v ./lib/libfdb_c.so     $lib/lib
         '' + lib.optionalString (!lib.versionAtLeast version "6.0") ''
+          # we only copy the TLS library on < 6.0, since it's compiled-in otherwise
           cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
         '' + ''
 
+          # C API
+          cp -v ./lib/libfdb_c.so                           $lib/lib
           cp -v ./bindings/c/foundationdb/fdb_c.h           $dev/include/foundationdb
           cp -v ./bindings/c/foundationdb/fdb_c_options.g.h $dev/include/foundationdb
 
+          # java
           cp -v ./bindings/java/foundationdb-client.jar     $lib/share/java/fdb-java.jar
 
+          # python
+          rm -f ./bindings/python/fdb/*.pth # remove useless files
+          cp -R ./bindings/python/fdb                       $python/lib/${python.libPrefix}/site-packages/fdb
+          # symlink a copy of the shared object into place, so that impl.py can load it
+          ln -sv $lib/lib/libfdb_c.so                       $python/lib/${python.libPrefix}/site-packages/fdb/libfdb_c.so
+
+          # binaries
           for x in fdbbackup fdbcli fdbserver fdbmonitor; do
             cp -v "./bin/$x" $out/bin;
           done
@@ -128,7 +139,7 @@ let
           ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
         '';
 
-        outputs = [ "out" "lib" "dev" ];
+        outputs = [ "out" "lib" "dev" "python" ];
 
         meta = with stdenv.lib; {
           description = "Open source, distributed, transactional key-value store";