Skip to content

Commit e505124

Browse files
authored
php84Extensions.pdo_oci: fix build failure on PHP >= 8.4 (#382927)
2 parents 5d2ace8 + 108b5ee commit e505124

File tree

3 files changed

+52
-20
lines changed

3 files changed

+52
-20
lines changed
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
{
22
buildPecl,
33
lib,
4-
php,
54
pcre2,
65
fetchFromGitHub,
76
fetchpatch,
87
}:
98

109
let
11-
version = "1.0.11";
10+
version = "1.0.12";
1211
in
1312
buildPecl {
1413
inherit version;
@@ -17,8 +16,8 @@ buildPecl {
1716
src = fetchFromGitHub {
1817
owner = "krakjoe";
1918
repo = "pcov";
20-
rev = "v${version}";
21-
sha256 = "sha256-lyY17Y9chpTO8oeWmDGSh0YSnipYqCuy1qmn9su5Eu8=";
19+
tag = "v${version}";
20+
hash = "sha256-lyY17Y9chpTO8oeWmDGSh0YSnipYqCuy1qmn9su5Eu8=";
2221
};
2322

2423
buildInputs = [ pcre2 ];
@@ -27,15 +26,15 @@ buildPecl {
2726
# Allow building for PHP 8.4
2827
(fetchpatch {
2928
url = "https://github.com/krakjoe/pcov/commit/7d764c7c2555e8287351961d72be3ebec4d8743f.patch";
30-
sha256 = "sha256-5wIHrrCwUXQpPdUg+3Kwyop5yvOzQQ3qc4pQXU8q2OM=";
29+
hash = "sha256-5wIHrrCwUXQpPdUg+3Kwyop5yvOzQQ3qc4pQXU8q2OM=";
3130
})
3231
];
3332

34-
meta = with lib; {
33+
meta = {
3534
changelog = "https://github.com/krakjoe/pcov/releases/tag/v${version}";
3635
description = "Self contained php-code-coverage compatible driver for PHP";
37-
license = licenses.php301;
36+
license = lib.licenses.php301;
3837
homepage = "https://github.com/krakjoe/pcov";
39-
maintainers = teams.php.members;
38+
maintainers = lib.teams.php.members;
4039
};
4140
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
buildPecl,
3+
lib,
4+
oracle-instantclient,
5+
php,
6+
}:
7+
8+
buildPecl {
9+
version = "1.1.0";
10+
pname = "pdo_oci";
11+
12+
hash = "sha256-XKtpWH6Rn8s19Wlu15eb/6dcCpJ7Bc/pr9Pxi8L4S8c=";
13+
14+
buildInputs = [ oracle-instantclient ];
15+
configureFlags = [ "--with-pdo-oci=instantclient,${oracle-instantclient.lib}/lib" ];
16+
17+
internalDeps = [ php.extensions.pdo ];
18+
postPatch = ''
19+
sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${oracle-instantclient.dev}/include"|' config.m4
20+
'';
21+
22+
meta = {
23+
changelog = "https://pecl.php.net/package-changelog.php?package=PDO_OCI";
24+
description = "The PHP PDO_OCI extension lets you access Oracle Database";
25+
license = lib.licenses.php301;
26+
homepage = "https://pecl.php.net/package/pdo_oci";
27+
maintainers = lib.teams.php.members;
28+
};
29+
}

pkgs/top-level/php-packages.nix

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -342,22 +342,26 @@ lib.makeScope pkgs.newScope (
342342

343343
pcov = callPackage ../development/php-packages/pcov { };
344344

345-
pdo_oci = buildPecl rec {
346-
inherit (php.unwrapped) src version;
345+
pdo_oci =
346+
if (lib.versionAtLeast php.version "8.4") then
347+
callPackage ../development/php-packages/pdo_oci { }
348+
else
349+
buildPecl rec {
350+
inherit (php.unwrapped) src version;
347351

348-
pname = "pdo_oci";
349-
sourceRoot = "php-${version}/ext/pdo_oci";
352+
pname = "pdo_oci";
353+
sourceRoot = "php-${version}/ext/pdo_oci";
350354

351-
buildInputs = [ pkgs.oracle-instantclient ];
352-
configureFlags = [ "--with-pdo-oci=instantclient,${pkgs.oracle-instantclient.lib}/lib" ];
355+
buildInputs = [ pkgs.oracle-instantclient ];
356+
configureFlags = [ "--with-pdo-oci=instantclient,${pkgs.oracle-instantclient.lib}/lib" ];
353357

354-
internalDeps = [ php.extensions.pdo ];
355-
postPatch = ''
356-
sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4
357-
'';
358+
internalDeps = [ php.extensions.pdo ];
359+
postPatch = ''
360+
sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4
361+
'';
358362

359-
meta.maintainers = lib.teams.php.members;
360-
};
363+
meta.maintainers = lib.teams.php.members;
364+
};
361365

362366
pdo_sqlsrv = callPackage ../development/php-packages/pdo_sqlsrv { };
363367

0 commit comments

Comments
 (0)