about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2023-06-30 09:29:29 +0200
committerPol Dellaiera <pol.dellaiera@protonmail.com>2023-07-04 15:53:00 +0200
commitbb829a542803682e812ec7e8f1d718abd21ea105 (patch)
tree25e118b7554ebd2c1b35359a8e0f5ca8d93d1b18
parentf6acd6f1127cc37afcebe6ec722adae65a896284 (diff)
phpExtensions.couchbase: 3.2.2 -> 4.1.4 php/fix-couchbase-extension
-rw-r--r--pkgs/development/php-packages/couchbase/default.nix37
-rw-r--r--pkgs/development/php-packages/couchbase/libcouchbase.patch11
2 files changed, 20 insertions, 28 deletions
diff --git a/pkgs/development/php-packages/couchbase/default.nix b/pkgs/development/php-packages/couchbase/default.nix
index 2ff867348db54..dc2cf489e504e 100644
--- a/pkgs/development/php-packages/couchbase/default.nix
+++ b/pkgs/development/php-packages/couchbase/default.nix
@@ -1,34 +1,37 @@
-{ lib, buildPecl, fetchFromGitHub, writeText, libcouchbase, zlib, php, substituteAll }:
+{ lib, buildPecl, fetchFromGitHub, zlib, cmake, pkg-config, openssl_1_1, php }:
 let
+  version = "4.1.4";
   pname = "couchbase";
-  version = "3.2.2";
 in
 buildPecl {
   inherit pname version;
 
   src = fetchFromGitHub {
     owner = "couchbase";
-    repo = "php-couchbase";
-    rev = "v${version}";
-    sha256 = "sha256-JpzLR4NcyShl2VTivj+15iAsTTsZmdMIdZYc3dLCbIA=";
+    repo = "couchbase-php-client";
+    rev = version;
+    fetchSubmodules = true;
+    hash = "sha256-twu3zYhSCAvjZJl/fp4vzkE4PHw23QzCkfEt6ZOIRtw=";
   };
 
-  configureFlags = [ "--with-couchbase" ];
+  dontUseCmakeConfigure = true;
 
-  buildInputs = [ libcouchbase zlib ];
+  env.COUCHBASE_CMAKE_EXTRA = "-DCOUCHBASE_CXX_CLIENT_EMBED_MOZILLA_CA_BUNDLE=false";
 
-  patches = [
-    (substituteAll {
-      src = ./libcouchbase.patch;
-      inherit libcouchbase;
-    })
+  configureFlags = [ "--enable-couchbase" ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
   ];
 
-  meta = with lib; {
-    changelog = "https://github.com/couchbase/php-couchbase/releases/tag/v${version}";
+  buildInputs = [ php zlib openssl_1_1 ];
+
+  meta = {
+    changelog = "https://pecl.php.net/package-info.php?package=couchbase&version=${version}";
     description = "Couchbase Server PHP extension";
-    license = licenses.asl20;
-    homepage = "https://docs.couchbase.com/php-sdk/current/project-docs/sdk-release-notes.html";
-    maintainers = teams.php.members;
+    homepage = "https://pecl.php.net/package/couchbase";
+    license = lib.licenses.asl20;
+    maintainers = lib.teams.php.members;
   };
 }
diff --git a/pkgs/development/php-packages/couchbase/libcouchbase.patch b/pkgs/development/php-packages/couchbase/libcouchbase.patch
deleted file mode 100644
index cd08da781a263..0000000000000
--- a/pkgs/development/php-packages/couchbase/libcouchbase.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/config.m4
-+++ b/config.m4
-@@ -28,7 +28,7 @@ if test "$PHP_COUCHBASE" != "no"; then
-
-   dnl fallback on standard directory
-   else
--    for i in /usr/local /usr; do
-+    for i in @libcouchbase@; do
-       if test -r $i/include/libcouchbase/couchbase.h; then
-         LIBCOUCHBASE_DIR=$i
-         AC_MSG_RESULT(found in $i)