Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-06-04 19:40:59 +00:00 committed by GitHub
commit ad63c3d31f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 383 additions and 531 deletions

View file

@ -8784,10 +8784,14 @@
}];
};
roosemberth = {
email = "roosembert.palacios+nixpkgs@gmail.com";
email = "roosembert.palacios+nixpkgs@posteo.ch";
github = "roosemberth";
githubId = 3621083;
name = "Roosembert (Roosemberth) Palacios";
keys = [{
longkeyid = "rsa2048/0xCAAAECE5C2242BB7";
fingerprint = "78D9 1871 D059 663B 6117 7532 CAAA ECE5 C224 2BB7";
}];
};
rople380 = {
name = "rople380";

View file

@ -14,8 +14,13 @@
</itemizedlist>
<section xml:id="highlights">
<title>Highlights</title>
<para>
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
PHP now defaults to PHP 8.0, updated from 7.4.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="new-services">
<title>New Services</title>
@ -45,6 +50,12 @@
<link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>.
</para>
</listitem>
<listitem>
<para>
PHP 7.3 is no longer supported due to upstream not supporting
this version for the entire lifecycle of the 21.11 release.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="other-notable-changes">

View file

@ -6,6 +6,8 @@ In addition to numerous new and upgraded packages, this release has the followin
## Highlights
* PHP now defaults to PHP 8.0, updated from 7.4.
## New Services
* [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP
@ -19,4 +21,7 @@ In addition to numerous new and upgraded packages, this release has the followin
* `services.geoip-updater` was broken and has been replaced by
[services.geoipupdate](options.html#opt-services.geoipupdate.enable).
* PHP 7.3 is no longer supported due to upstream not supporting this
version for the entire lifecycle of the 21.11 release.
## Other Notable Changes

View file

@ -35,13 +35,28 @@ in
{
<xref linkend="opt-services.prometheus.exporters.dovecot.enable" /> = true;
<xref linkend="opt-services.prometheus.exporters.dovecot.socketPath" /> = "/var/run/dovecot2/old-stats";
<xref linkend="opt-services.dovecot2.mailPlugins.globally.enable" /> = [ "old_stats" ];
<xref linkend="opt-services.dovecot2.extraConfig" /> = '''
mail_plugins = $mail_plugins old_stats
service old-stats {
unix_listener old-stats {
user = dovecot-exporter
group = dovecot-exporter
mode = 0660
}
fifo_listener old-stats-mail {
mode = 0660
user = dovecot
group = dovecot
}
fifo_listener old-stats-user {
mode = 0660
user = dovecot
group = dovecot
}
}
plugin {
old_stats_refresh = 30 secs
old_stats_track_cmds = yes
}
''';
}

View file

@ -112,6 +112,24 @@ let
'';
description = ''
List of servers that should be probed.
<emphasis>Note:</emphasis> if your mailserver has <citerefentry>
<refentrytitle>rspamd</refentrytitle><manvolnum>8</manvolnum></citerefentry> configured,
it can happen that emails from this exporter are marked as spam.
It's possible to work around the issue with a config like this:
<programlisting>
{
<link linkend="opt-services.rspamd.locals._name_.text">services.rspamd.locals."multimap.conf".text</link> = '''
ALLOWLIST_PROMETHEUS {
filter = "email:domain:tld";
type = "from";
map = "''${pkgs.writeText "allowmap" "domain.tld"}";
score = -100.0;
}
''';
}
</programlisting>
'';
};
};

View file

@ -5,21 +5,19 @@ with lib;
let
cfg = config.services.prometheus.exporters.rspamd;
prettyJSON = conf:
pkgs.runCommand "rspamd-exporter-config.yml" { } ''
echo '${builtins.toJSON conf}' | ${pkgs.buildPackages.jq}/bin/jq '.' > $out
'';
mkFile = conf:
pkgs.writeText "rspamd-exporter-config.yml" (builtins.toJSON conf);
generateConfig = extraLabels: {
metrics = (map (path: {
name = "rspamd_${replaceStrings [ "." " " ] [ "_" "_" ] path}";
name = "rspamd_${replaceStrings [ "[" "." " " "]" "\\" "'" ] [ "_" "_" "_" "" "" "" ] path}";
path = "{ .${path} }";
labels = extraLabels;
}) [
"actions.'add header'"
"actions.'no action'"
"actions.'rewrite subject'"
"actions.'soft reject'"
"actions['add\\ header']"
"actions['no\\ action']"
"actions['rewrite\\ subject']"
"actions['soft\\ reject']"
"actions.greylist"
"actions.reject"
"bytes_allocated"
@ -40,18 +38,18 @@ let
]) ++ [{
name = "rspamd_statfiles";
type = "object";
path = "$.statfiles[*]";
path = "{.statfiles[*]}";
labels = recursiveUpdate {
symbol = "$.symbol";
type = "$.type";
symbol = "{.symbol}";
type = "{.type}";
} extraLabels;
values = {
revision = "$.revision";
size = "$.size";
total = "$.total";
used = "$.used";
languages = "$.languages";
users = "$.users";
revision = "{.revision}";
size = "{.size}";
total = "{.total}";
used = "{.used}";
languages = "{.languages}";
users = "{.users}";
};
}];
};
@ -76,7 +74,7 @@ in
};
serviceOpts.serviceConfig.ExecStart = ''
${pkgs.prometheus-json-exporter}/bin/json_exporter \
--config.file ${prettyJSON (generateConfig cfg.extraLabels)} \
--config.file ${mkFile (generateConfig cfg.extraLabels)} \
--web.listen-address "${cfg.listenAddress}:${toString cfg.port}" \
${concatStringsSep " \\\n " cfg.extraFlags}
'';

View file

@ -325,7 +325,6 @@ in
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};
php = handleTest ./php {};
php73 = handleTest ./php { php = pkgs.php73; };
php74 = handleTest ./php { php = pkgs.php74; };
php80 = handleTest ./php { php = pkgs.php80; };
pinnwand = handleTest ./pinnwand.nix {};

View file

@ -1,6 +1,6 @@
import ../make-test-python.nix ({pkgs, ...}:
let
testdir = pkgs.writeTextDir "www/info.php" "<?php phpinfo();";
let
testdir = pkgs.writeTextDir "www/info.php" "<?php phpinfo();";
in {
name = "unit-php-test";
@ -9,37 +9,27 @@ in {
machine = { config, lib, pkgs, ... }: {
services.unit = {
enable = true;
config = ''
{
"listeners": {
"*:9074": {
"application": "php_74"
}
},
"applications": {
"php_74": {
"type": "php 7.4",
"processes": 1,
"user": "testuser",
"group": "testgroup",
"root": "${testdir}/www",
"index": "info.php",
"options": {
"file": "${pkgs.unit.usedPhp74}/lib/php.ini"
}
}
}
}
'';
config = pkgs.lib.strings.toJSON {
listeners."*:9080".application = "php_80";
applications.php_80 = {
type = "php 8.0";
processes = 1;
user = "testuser";
group = "testgroup";
root = "${testdir}/www";
index = "info.php";
options.file = "${pkgs.unit.usedPhp80}/lib/php.ini";
};
};
};
users = {
users.testuser = {
isSystemUser = true;
uid = 1074;
uid = 1080;
group = "testgroup";
};
groups.testgroup = {
gid= 1074;
gid = 1080;
};
};
};
@ -47,8 +37,8 @@ in {
machine.wait_for_unit("unit.service")
# Check so we get an evaluated PHP back
response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9074/")
assert "PHP Version ${pkgs.unit.usedPhp74.version}" in response, "PHP version not detected"
response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9080/")
assert "PHP Version ${pkgs.unit.usedPhp80.version}" in response, "PHP version not detected"
# Check so we have database and some other extensions loaded
for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:

View file

@ -2,13 +2,13 @@
let
pname = "plexamp";
version = "3.4.6";
version = "3.4.7";
name = "${pname}-${version}";
src = fetchurl {
url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
name="${pname}-${version}.AppImage";
sha512 = "M2iLJxpufycxnUfdn9f85l47W8HCsi/K0SPVsxyyaeKloV3g6yTyOg1luMwHBLDeXEKwR9jtuvPlIMNyBCFm8w==";
sha512 = "+jmx4X9KiK1Tv2Cjb/445MY9G2b7pLdKxFtBFMaQwRhqTItA33MfHqKBwmytmbEhxhy0LDTU2woJvEMPQCmnvg==";
};
appimageContents = appimageTools.extractType2 {
@ -34,7 +34,7 @@ in appimageTools.wrapType2 {
meta = with lib; {
description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
homepage = "https://plexamp.com/";
changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/28";
changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/29";
license = licenses.unfree;
maintainers = with maintainers; [ killercup synthetica ];
platforms = [ "x86_64-linux" ];

View file

@ -6,7 +6,6 @@ let
curl
filter
iconv
json
mbstring
openssl
simplexml

View file

@ -607,6 +607,13 @@
"sha256": "1nq7k8qa7rv8xyryjigwpwcwvj1sw85c4j46rkfdv70b6js25jz3",
"version": "0.3.0"
},
"metal": {
"owner": "equinix",
"repo": "terraform-provider-metal",
"rev": "v2.1.0",
"sha256": "06i3rj6ig8hxbncdpa8b11v8pr3zhi90ppmf77jjin1114ikd172",
"version": "2.1.0"
},
"metalcloud": {
"owner": "terraform-providers",
"repo": "terraform-provider-metalcloud",

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.29.4";
version = "0.29.8";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
sha256 = "sha256-/LWzUVZAr4zw8mekcHybNuqe0wv4ZU8UcE0oGxq6jqY=";
sha256 = "sha256-zHfY1pl9r9N1Jx9TzbOFYt2VR9hvHWcdFhPc36Q3apE=";
};
vendorSha256 = "sha256-qlSCQtiGHmlk3DyETMoQbbSYhuUSZTsvAnBKuDJI8x8=";

View file

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "waypoint";
version = "0.3.2";
version = "0.4.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-57DHImPYVFK+MXWGeArvc5fwHmqa3zodLytfDoAxglo=";
sha256 = "sha256-yeD7XtcB/2ph6cCnOcv0yFQqvAMPDLXMrUWWkgmBUaA=";
};
deleteVendor = true;
vendorSha256 = "sha256-HxrY35SqfUbT6VCCXkLUjAsxgtMzpOeoicAGLwD2OyA=";
vendorSha256 = "sha256-xZGYPh3Yp3g22GraYfMESVpp7j5fOZASUEvN4YaDd1g=";
nativeBuildInputs = [ go-bindata installShellFiles ];
@ -31,6 +31,9 @@ buildGoModule rec {
local INSTALL="$out/bin/waypoint"
install -D waypoint $out/bin/waypoint
# waypoint's completion install command alters your <something>rc files
# below is the equivalent of what it injects
# Write to a file as it doesn't like EOF within <()
cat > waypoint.fish <<EOF
function __complete_waypoint

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchurl, jre, makeDesktopItem, makeWrapper, unzip, language ? "en_US" }:
let
pname = "geogebra";
version = "5-0-620-0";
version = "5-0-644-0";
srcIcon = fetchurl {
url = "http://static.geogebra.org/images/geogebra-logo.svg";
@ -41,9 +41,9 @@ let
src = fetchurl {
urls = [
"https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
"http://web.archive.org/web/20210101213140/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
"https://web.archive.org/web/20210604132513/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
];
sha256 = "0v4r76b91cj0pns78gh3d432g2jlq2pz37lslg3fnnpvlfh25s9j";
sha256 = "dd992654175812d8770d94f063fc1430a743e8e0efcae03f51bf9a3a073c2522";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -1,7 +1,7 @@
{ lib, stdenv, unzip, fetchurl, electron_6, makeWrapper, geogebra }:
let
pname = "geogebra";
version = "6-0-631-0";
version = "6-0-644-0";
srcIcon = geogebra.srcIcon;
desktopItem = geogebra.desktopItem;
@ -18,9 +18,9 @@ let
src = fetchurl {
urls = [
"https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
"https://web.archive.org/web/20210406083122/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
"https://web.archive.org/web/20210604132845/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
];
sha256 = "1k4jxcvxxjxfrdghs4a29zpp4yid2vh1mfgp8xxr3qlzxnqv92ha";
sha256 = "bbe9e1a35abacfd560c0b7aa1ab975853e6adac08608bb70cd80261179e3f922";
};
dontConfigure = true;

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv
, gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, pango, libGLU
, nvidia_cg_toolkit, zlib, openssl, portaudio
, libGL, nvidia_cg_toolkit, zlib, openssl, libuuid , alsaLib, udev
}:
let
fullPath = lib.makeLibraryPath [
@ -11,22 +11,26 @@ let
libjpeg_original
glib
pango
libGL
libGLU
nvidia_cg_toolkit
zlib
openssl
portaudio
libuuid
alsaLib
udev
];
lightworks = stdenv.mkDerivation rec {
version = "14.0.0";
version = "2021.2.1";
rev = "128456";
pname = "lightworks";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "http://downloads.lwks.com/v14/lwks-14.0.0-amd64.deb";
sha256 = "66eb9f9678d979db76199f1c99a71df0ddc017bb47dfda976b508849ab305033";
url = "https://cdn.lwks.com/releases/${version}/lightworks_${lib.versions.majorMinor version}_r${rev}.deb";
sha256 = "sha256-GkTg43IUF1NgEm/wT9CZw68Dw/R2BYBU/F4bsCxQowQ=";
}
else throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
@ -82,7 +86,7 @@ in buildFHSUserEnv {
description = "Professional Non-Linear Video Editor";
homepage = "https://www.lwks.com/";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.antonxy ];
maintainers = with lib.maintainers; [ antonxy vojta001 ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -1,20 +0,0 @@
{ callPackage, lib, stdenv, nixosTests, ... }@_args:
let
generic = (import ./generic.nix) _args;
base = callPackage generic (_args // {
version = "7.3.28";
sha256 = "0r4r8famg3a8x6ch24y1370nsphkxg4k9zq5x8v88f4l8mj6wqwg";
# https://bugs.php.net/bug.php?id=76826
extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
});
in base.withExtensions ({ all, ... }: with all; ([
bcmath calendar curl ctype dom exif fileinfo filter ftp gd
gettext gmp hash iconv intl json ldap mbstring mysqli mysqlnd
opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite
pgsql posix readline session simplexml sockets soap sodium sqlite3
tokenizer xmlreader xmlwriter zip zlib
] ++ lib.optionals (!stdenv.isDarwin) [ imap ]))

View file

@ -7,7 +7,7 @@ let
generic =
{ callPackage, lib, stdenv, nixosTests, fetchurl, makeWrapper
, symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
, pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2
, pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre2
, systemd, system-sendmail, valgrind, xcbuild
, version
@ -103,7 +103,7 @@ let
${extraConfig}
'';
phpWithExtensions = symlinkJoin rec {
phpWithExtensions = symlinkJoin {
name = "php-with-extensions-${version}";
inherit (php) version;
nativeBuildInputs = [ makeWrapper ];
@ -142,8 +142,6 @@ let
mkWithExtensions = prevArgs: prevExtensionFunctions: extensions:
mkBuildEnv prevArgs prevExtensionFunctions { inherit extensions; };
pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre;
in
stdenv.mkDerivation {
pname = "php";
@ -157,7 +155,7 @@ let
buildInputs =
# PCRE extension
[ pcre' ]
[ pcre2 ]
# Enable sapis
++ lib.optional pearSupport [ libxml2.dev ]
@ -176,10 +174,10 @@ let
[ "--disable-all" ]
# PCRE
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ]
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
++ [ "PCRE_LIBDIR=${pcre'}" ]
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" ]
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" ]
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre2.dev}" ]
++ [ "PCRE_LIBDIR=${pcre2}" ]
# Enable sapis

View file

@ -1,60 +0,0 @@
diff -ru a/configure.ac b/configure.ac
--- a/configure.ac 2018-12-04 19:12:20.000000000 +0300
+++ b/configure.ac 2018-12-10 12:30:37.798917520 +0300
@@ -68,7 +68,7 @@
#include <math.h>
#ifndef zend_isnan
-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -77,7 +77,7 @@
#endif
#endif
-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
@@ -88,7 +88,7 @@
#define zend_isinf(a) 0
#endif
-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)
diff -ru a/Zend/configure.ac b/Zend/configure.ac
--- a/Zend/configure.ac 2018-12-04 19:12:30.000000000 +0300
+++ b/Zend/configure.ac 2018-12-10 12:28:50.350929699 +0300
@@ -59,7 +59,7 @@
#include <math.h>
#ifndef zend_isnan
-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -68,7 +68,7 @@
#endif
#endif
-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
@@ -79,7 +79,7 @@
#define zend_isinf(a) 0
#endif
-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)

View file

@ -1,4 +1,4 @@
{ buildPecl, lib, pcre' }:
{ buildPecl, lib, pcre2 }:
buildPecl {
pname = "apcu";
@ -6,7 +6,7 @@ buildPecl {
version = "5.1.20";
sha256 = "sha256-uZ1A+v7Ab00TL87lPnUm3b/B0EHqbgThc4nfrSj5w5A=";
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
doCheck = true;
checkTarget = "test";
checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ];

View file

@ -1,4 +1,4 @@
{ buildPecl, lib, pcre', php }:
{ buildPecl, lib, pcre2, php }:
buildPecl {
pname = "apcu_bc";
@ -8,7 +8,7 @@ buildPecl {
peclDeps = [ php.extensions.apcu ];
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
postInstall = ''
mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so

View file

@ -1,34 +0,0 @@
{ mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
let
pname = "composer";
version = "1.10.22";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://getcomposer.org/download/${version}/composer.phar";
sha256 = "00073smi1jja00d4bqfs6p4fqs38mki2ziy7b1kwsmiv5lcsw9v1";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -D $src $out/libexec/composer/composer.phar
makeWrapper ${php}/bin/php $out/bin/composer \
--add-flags "$out/libexec/composer/composer.phar" \
--prefix PATH : ${lib.makeBinPath [ unzip ]}
runHook postInstall
'';
meta = with lib; {
description = "Dependency Manager for PHP";
license = licenses.mit;
homepage = "https://getcomposer.org/";
maintainers = with maintainers; [ offline ] ++ teams.php.members;
};
}

View file

@ -14,7 +14,6 @@ buildPecl {
};
configureFlags = [ "--with-couchbase" ];
broken = lib.versionAtLeast php.version "8.0";
buildInputs = [ libcouchbase zlib ];
internalDeps = lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ];
@ -45,5 +44,6 @@ buildPecl {
'')
];
meta.broken = lib.versionAtLeast php.version "8.0";
meta.maintainers = lib.teams.php.members;
}

View file

@ -1,4 +1,4 @@
{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre' }:
{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre2 }:
buildPecl {
pname = "imagick";
@ -21,7 +21,7 @@ buildPecl {
configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
meta.maintainers = lib.teams.php.members;
}

View file

@ -1,4 +1,4 @@
{ stdenv, buildPecl, lib, pcre', pkg-config, cyrus_sasl, icu64
{ stdenv, buildPecl, lib, pcre2, pkg-config, cyrus_sasl, icu64
, openssl, snappy, zlib, darwin }:
buildPecl {
@ -14,7 +14,7 @@ buildPecl {
openssl
snappy
zlib
pcre'
pcre2
] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
meta.maintainers = lib.teams.php.members;

View file

@ -1,4 +1,4 @@
{ buildPecl, lib, pcre' }:
{ buildPecl, lib, pcre2 }:
buildPecl {
pname = "pcov";
@ -6,7 +6,7 @@ buildPecl {
version = "1.0.8";
sha256 = "sha256-6rbniyxLIHPW/e+eWZN1qS8F1rOB7ld1N8JKUS1geRQ=";
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
meta.maintainers = lib.teams.php.members;
}

View file

@ -1,4 +1,4 @@
{ buildPecl, fetchurl, lib, libxl }:
{ buildPecl, fetchurl, lib, libxl, php }:
let
pname = "php_excel";
phpVersion = "php7";
@ -20,5 +20,6 @@ buildPecl {
"--with-libxl-libdir=${libxl}/lib"
];
meta.broken = lib.versionAtLeast php.version "8.0";
meta.maintainers = lib.teams.php.members;
}

View file

@ -1,24 +1,15 @@
{ buildPecl, lib, fetchFromGitHub, php }:
let
buildPecl {
pname = "pinba";
version = "1.1.2-dev";
isPhp73 = lib.versionAtLeast php.version "7.3";
version = if isPhp73 then "1.1.2-dev" else "1.1.1";
src = fetchFromGitHub ({
src = fetchFromGitHub {
owner = "tony2001";
repo = "pinba_extension";
} // (if (isPhp73) then {
rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e";
sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80";
} else {
rev = "RELEASE_1_1_1";
sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5";
}));
in
buildPecl {
inherit pname version src;
};
meta = with lib; {
description = "PHP extension for Pinba";

View file

@ -1,4 +1,4 @@
{ buildPecl, lib, pcre', fetchpatch }:
{ buildPecl, lib, pcre2, fetchpatch }:
buildPecl {
pname = "protobuf";
@ -6,7 +6,7 @@ buildPecl {
version = "3.14.0";
sha256 = "1ldc4s28hq61cfg8l4c06pgicj0ng7k37f28a0dnnbs7xkr7cibd";
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
patches = [
# TODO: remove with next update

View file

@ -1,28 +0,0 @@
{ buildPecl, lib, fetchFromGitHub, php, pcre' }:
let
pname = "pthreads";
isPhp73 = lib.versionAtLeast php.version "7.3";
isPhp74 = lib.versionAtLeast php.version "7.4";
version = if isPhp73 then "3.2.0-dev" else "3.2.0";
src = fetchFromGitHub ({
owner = "krakjoe";
repo = "pthreads";
} // (if (isPhp73) then {
rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154";
sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830";
} else {
rev = "v3.2.0";
sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv";
}));
in
buildPecl {
inherit pname version src;
buildInputs = [ pcre'.dev ];
meta.broken = isPhp74;
meta.maintainers = lib.teams.php.members;
}

View file

@ -1,4 +1,4 @@
{ buildPecl, lib, rdkafka, pcre' }:
{ buildPecl, lib, rdkafka, pcre2 }:
buildPecl {
pname = "rdkafka";
@ -6,7 +6,7 @@ buildPecl {
version = "5.0.0";
sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs=";
buildInputs = [ rdkafka pcre' ];
buildInputs = [ rdkafka pcre2 ];
postPhpize = ''
substituteInPlace configure \

View file

@ -2,7 +2,7 @@
, lib
, php
, fetchFromGitHub
, pcre'
, pcre2
, fetchpatch
}:
@ -17,7 +17,7 @@ buildPecl rec {
};
buildInputs = [
pcre'
pcre2
];
internalDeps = with php.extensions; [

View file

@ -1,4 +1,4 @@
{ lib, buildPecl, php, valgrind, pcre' }:
{ lib, buildPecl, php, valgrind, pcre2 }:
buildPecl {
pname = "swoole";
@ -6,7 +6,7 @@ buildPecl {
version = "4.6.4";
sha256 = "0hgndnn27q7fbsb0nw6bfdg0kyy5di9vrmf7g53jc6lsnf73ha31";
buildInputs = [ valgrind pcre' ];
buildInputs = [ valgrind pcre2 ];
internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
doCheck = true;

View file

@ -1,33 +1,37 @@
{ lib, buildPythonPackage, fetchPypi, isPy3k, alsaUtils, libnotify, which, loguru, pytest }:
{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, coreutils, alsaUtils
, libnotify, which, jeepney, loguru, pytestCheckHook }:
buildPythonPackage rec {
pname = "notify_py";
version = "0.3.1";
pname = "notify-py";
version = "0.3.3";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "5ba696d18ffe1d7070f3d0a5b4923fee4d6c863de6843af105bec0ce9915ebad";
src = fetchFromGitHub {
owner = "ms7m";
repo = pname;
rev = "v${version}";
sha256 = "1n35adwsyhz304n4ifnsz6qzkymwhyqc8sg8d76qv5psv2xsnzlf";
};
postPatch = ''
substituteInPlace setup.py \
--replace "loguru==0.4.1" "loguru~=0.5.0"
'';
propagatedNativeBuildInputs = [ which ]
++ lib.optionals stdenv.isLinux [ alsaUtils libnotify ];
propagatedBuildInputs = [ loguru ]
++ lib.optionals stdenv.isLinux [ jeepney ];
propagatedBuildInputs = [ alsaUtils libnotify loguru which ];
checkInputs = [ coreutils pytestCheckHook ];
checkInputs = [ alsaUtils libnotify pytest which ];
checkPhase = ''
pytest
# Tests search for "afplay" binary which is built in to MacOS and not available in nixpkgs
preCheck = ''
mkdir $TMP/bin
ln -s ${coreutils}/bin/true $TMP/bin/afplay
export PATH="$TMP/bin:$PATH"
'';
pythonImportsCheck = [ "notifypy" ];
meta = with lib; {
description = " Python Module for sending cross-platform desktop notifications on Windows, macOS, and Linux.";
description = "Python Module for sending cross-platform desktop notifications on Windows, macOS, and Linux.";
homepage = "https://github.com/ms7m/notify-py/";
license = licenses.mit;
maintainers = with maintainers; [ austinbutler ];

View file

@ -1,54 +1,41 @@
{ lib, buildPythonPackage, fetchPypi, pythonAtLeast, pythonOlder
, click
, click-completion
, factory_boy
, faker
, inquirer
, notify-py
, pbr
, pendulum
, ptable
, pytest
, pytestcov
, pytest-mock
, requests
, twine
, validate-email
}:
{ lib, buildPythonPackage, fetchPypi, pythonAtLeast, pythonOlder, click
, click-completion, factory_boy, faker, inquirer, notify-py, pbr, pendulum
, ptable, pytestCheckHook, pytestcov, pytest-mock, requests, twine
, validate-email }:
buildPythonPackage rec {
pname = "toggl-cli";
version = "2.4.1";
version = "2.4.2";
disabled = pythonOlder "3.5";
src = fetchPypi {
pname = "togglCli";
inherit version;
sha256 = "19lry8adcznzmzbvghyid3yl4j05db6931bw38af5vrkkyzyf62i";
sha256 = "1wgh231r16jyvaj1ch1pajvl9szflb4srs505pfdwdlqvz7rzww8";
};
postPatch = ''
substituteInPlace requirements.txt \
--replace "inquirer==2.6.3" "inquirer>=2.6.3" \
--replace "notify-py==0.2.2" "notify-py>=0.2.2"
substituteInPlace requirements.txt \
--replace "notify-py==0.3.1" "notify-py>=0.3.1"
'';
nativeBuildInputs = [ pbr twine ];
checkInputs = [ pbr pytest pytestcov pytest-mock faker factory_boy ];
checkInputs = [ pbr pytestCheckHook pytestcov pytest-mock faker factory_boy ];
preCheck = ''
export TOGGL_API_TOKEN=your_api_token
export TOGGL_PASSWORD=toggl_password
export TOGGL_USERNAME=user@example.com
'';
checkPhase = ''
runHook preCheck
pytest -k "not premium and not TestDateTimeType and not TestDateTimeField" tests/unit --maxfail=20
runHook postCheck
'';
disabledTests = [
"integration"
"premium"
"test_parsing"
"test_type_check"
"test_now"
];
propagatedBuildInputs = [
click
click-completion

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "flow";
version = "0.150.1";
version = "0.152.0";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
rev = "refs/tags/v${version}";
sha256 = "sha256-waQdS0HJVW2WFQFklmZJC0jr09JrDP5Fl7SxVS0dsgU=";
sha256 = "1af9z6xah3rk99pv984nikkpq8jzl5r0fccb1gdhmi7y5a6y6g1m";
};
installPhase = ''
@ -16,13 +16,13 @@ stdenv.mkDerivation rec {
install -Dm644 resources/shell/bash-completion $out/share/bash-completion/completions/flow
'';
buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ])
buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree-2-1 dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ])
++ lib.optionals stdenv.isDarwin [ CoreServices ];
meta = with lib; {
description = "A static type checker for JavaScript";
homepage = "https://flow.org/";
changelog = "https://github.com/facebook/flow/releases/tag/v${version}";
changelog = "https://github.com/facebook/flow/raw/v${version}/Changelog.md";
license = licenses.mit;
platforms = ocamlPackages.ocaml.meta.platforms;
maintainers = with maintainers; [ marsam puffnfresh ];

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, php73, which, makeWrapper, bash, coreutils, ncurses }:
{ lib, stdenv, fetchurl, php, which, makeWrapper, bash, coreutils, ncurses }:
stdenv.mkDerivation rec {
name = "drush-6.1.0";
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
mkdir -p "$out"
cp -r . "$out/src"
mkdir "$out/bin"
wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php73 bash coreutils ncurses ]}"
wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}"
ln -s "$out/src/drush" "$out/bin/drush"
'';
}

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "open-policy-agent";
version = "0.28.0";
version = "0.29.4";
src = fetchFromGitHub {
owner = "open-policy-agent";
repo = "opa";
rev = "v${version}";
sha256 = "sha256-khXcpV4bPfFwoQ4LrHFohhlTHOIDClZuE3qg+MYk36k=";
sha256 = "sha256-AjNr+t30ftF92+cEfvt8iHBDVD/SO52ojJRLAkYF9l4=";
};
vendorSha256 = null;
@ -28,6 +28,8 @@ buildGoModule rec {
'';
meta = with lib; {
homepage = "https://www.openpolicyagent.org";
changelog = "https://github.com/open-policy-agent/opa/blob/v${version}/CHANGELOG.md";
description = "General-purpose policy engine";
longDescription = ''
The Open Policy Agent (OPA, pronounced "oh-pa") is an open source, general-purpose policy engine that unifies
@ -35,7 +37,6 @@ buildGoModule rec {
as code and simple APIs to offload policy decision-making from your software. You can use OPA to enforce policies
in microservices, Kubernetes, CI/CD pipelines, API gateways, and more.
'';
homepage = "https://www.openpolicyagent.org";
license = licenses.asl20;
maintainers = with maintainers; [ lewo jk ];
};

View file

@ -16,13 +16,13 @@ let
in stdenv.mkDerivation rec {
pname = "osu-lazer";
version = "2021.515.0";
version = "2021.602.0";
src = fetchFromGitHub {
owner = "ppy";
repo = "osu";
rev = version;
sha256 = "c2+Ybb9wMb9FSTxprJPLKGEv2q6y0jcMA4kEN2r7yyA=";
sha256 = "t9Byn3eAAkxnBQBfdvz2CGGXu8d3JzTnSz7I68Ntp3A=";
};
patches = [ ./bypass-tamper-detection.patch ];

View file

@ -24,240 +24,260 @@
version = "1.2.1.1";
sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll";
})
(fetchNuGet {
name = "HtmlAgilityPack";
version = "1.11.33";
sha256 = "08valqp6hzdfy532kv70fgzhizyc3xs9y0sw0rsr3z2h7pk1vp6n";
})
(fetchNuGet {
name = "Humanizer";
version = "2.8.26";
sha256 = "11kddzyzqpq9gkz0hmrblq494nh86va6wxx6z89xi6w1f4vj15ak";
version = "2.10.1";
sha256 = "0bcs3vp028dq7hs0dxvqynichgbnhzwdx61phwl8yvls15hav05c";
})
(fetchNuGet {
name = "Humanizer.Core";
version = "2.10.1";
sha256 = "1vn52y8pkg8ny7sz83nag4cwmna61jscs2n68bx7x4xkgialzhzy";
})
(fetchNuGet {
name = "Humanizer.Core";
version = "2.2.0";
sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5";
})
(fetchNuGet {
name = "Humanizer.Core";
version = "2.8.26";
sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm";
})
(fetchNuGet {
name = "Humanizer.Core.af";
version = "2.8.26";
sha256 = "0znrq4frlkq1qi20301hlzxa6mdc275fa1i1a1i8ldgk9cjq94k9";
version = "2.10.1";
sha256 = "0a7x11kprn650kk3qzhsncyfxazwanqwmrizkxbzyc29y46bmsr3";
})
(fetchNuGet {
name = "Humanizer.Core.ar";
version = "2.8.26";
sha256 = "1hi7mln48p1nmxlgdq725s4cvla9nlkvbmrsql1rfjjlsy8hn6n7";
version = "2.10.1";
sha256 = "0k40zj3jpscv0k780x5p8cc45ivd8pla1hqz8416qgywg9kc6b7z";
})
(fetchNuGet {
name = "Humanizer.Core.az";
version = "2.8.26";
sha256 = "0av7ycrqwvmikqia3z3qkp9967zilrhayny17zkm0d0mnjq62vs6";
version = "2.10.1";
sha256 = "1djhspqlxj6qys915bd8is1hfy87ykrpxpjwlwsw2gvrrc74p16c";
})
(fetchNuGet {
name = "Humanizer.Core.bg";
version = "2.8.26";
sha256 = "13j6zk2cmk7a119azxlpjhfwykrzk0vkf5a799fb2fzkvhnj4hkg";
version = "2.10.1";
sha256 = "1z89a9sc3ny2bm2h3g8cnb6c77q2yhh4wmi18yj98y6irdmimn16";
})
(fetchNuGet {
name = "Humanizer.Core.bn-BD";
version = "2.8.26";
sha256 = "0h619sksggfi7dnaycz6bj9aiqdgn0d8dpgjgdl73crw52lr70p9";
version = "2.10.1";
sha256 = "17cwk09h3fkjl76z0w3ihj3448h8lchf3l9l10zrjisjf918mxp8";
})
(fetchNuGet {
name = "Humanizer.Core.cs";
version = "2.8.26";
sha256 = "11bh3k15388bi5wizaihnwqk7wb4n7q636fqjllwdhjggqrsc3f6";
version = "2.10.1";
sha256 = "0403f5mbyzyjw8jm988rbw2xim353rd4lc0pnkdcn7qlhcrm3gbj";
})
(fetchNuGet {
name = "Humanizer.Core.da";
version = "2.8.26";
sha256 = "09b3x3bw3cgby9qvaccnqz2y6d8gl3497dh7q0dk1iznsxbk4x4m";
version = "2.10.1";
sha256 = "0am71dkxyzh40vqb7aa9k6p8whh4fwdrrwwjar9vc3c49wnw7nky";
})
(fetchNuGet {
name = "Humanizer.Core.de";
version = "2.8.26";
sha256 = "1pyp2a9my20wlwjjzv563kshl9fpjb2kd4cw41l4wvsz1bsq3l22";
version = "2.10.1";
sha256 = "027iydimqnx5r7lw0661zyz41kd4nh6sxx75dmh9lcgawz8h8agy";
})
(fetchNuGet {
name = "Humanizer.Core.el";
version = "2.8.26";
sha256 = "0v3sdcxca4dam1y5yjh9n6v711ys0zdv38hr4kij35s6277ls6lb";
version = "2.10.1";
sha256 = "1k3g4ffv51da0p12xg7mw21zm6hdvz28x1vaqpspyb156042vxqq";
})
(fetchNuGet {
name = "Humanizer.Core.es";
version = "2.8.26";
sha256 = "0wh9qvqf80cngwsz2jnrsjpmaax4xa2xp8bbk5xs480kp071z37q";
version = "2.10.1";
sha256 = "0rv3b39hwc1spb0r036sjcn8hkl9bfaka1p8bdh7zsnq21674pqb";
})
(fetchNuGet {
name = "Humanizer.Core.fa";
version = "2.8.26";
sha256 = "00v56ddjfv6sr6w5246gn5z0padwswvnngp8mdl7gjfg5ycmbkl1";
version = "2.10.1";
sha256 = "0v3ccydbf9cpv54lk65fqaiq1lfzz6cnxq0wyaa5014axwh9h8nn";
})
(fetchNuGet {
name = "Humanizer.Core.fi-FI";
version = "2.8.26";
sha256 = "1pgs0j5ri50a6vhljplhrlc8jj1hrd9ggxkj60d9v5kk9xibzzyd";
version = "2.10.1";
sha256 = "0gvm0g24ccrk6081sz2ligbskn5rv2i0bfarndhf5k12zwvx0y67";
})
(fetchNuGet {
name = "Humanizer.Core.fr";
version = "2.8.26";
sha256 = "0kkhgy3yn8vfqlx3dhb9m3cazkgfxarknam4macng9y17l7wj83m";
version = "2.10.1";
sha256 = "1307byhrygg45vrba5h30gmr94zp8spxqy75xi482y5va6vxv778";
})
(fetchNuGet {
name = "Humanizer.Core.fr-BE";
version = "2.8.26";
sha256 = "13spcx07hph366qk073pz63s56nadaac7l4mr4a66gbpqd3814kb";
version = "2.10.1";
sha256 = "11mdqwz3nx3a9rval2y9vhxyrfzas2rasbilljky3k893anrpr36";
})
(fetchNuGet {
name = "Humanizer.Core.he";
version = "2.8.26";
sha256 = "1ccn82aj3rhrhsa3kvkrmjw0p687icxlfja8ngbh7sby4cszx9bk";
version = "2.10.1";
sha256 = "1rvzgh6hky9gl55625a7pjd8n9rai4vxl05qbjg3icg86a27ia9b";
})
(fetchNuGet {
name = "Humanizer.Core.hr";
version = "2.8.26";
sha256 = "12ii79bhai3kv7zr3k9k9dh569r6p3m4l4gj25cln2isr4wdi5r9";
version = "2.10.1";
sha256 = "1adm2k7ydgbdhvy1wpilhclg3xvcbvcynh4g3qhl1zk7kpicwzy1";
})
(fetchNuGet {
name = "Humanizer.Core.hu";
version = "2.8.26";
sha256 = "0cibbdxiqhwrjmxlr805mg3l9v0fl2ydx4m50608rkysjq6vxx7y";
version = "2.10.1";
sha256 = "19kznch1wm6pyy4dbinp0zn991s84ak4x9hpq9sjhd60azrc9vr9";
})
(fetchNuGet {
name = "Humanizer.Core.hy";
version = "2.8.26";
sha256 = "15aikm04f74abm4ak8rvnnkrlcz155gibn1y81pbgsyn7yrh84v3";
version = "2.10.1";
sha256 = "047427rspi90rbhzmzanfqkn6rzcgvnnhbn7h923kg07d4lky6l7";
})
(fetchNuGet {
name = "Humanizer.Core.id";
version = "2.8.26";
sha256 = "1i9gpzdfhmbvrqg858kqz5461sp3sh60g16dmcmyi1ik0qlspijn";
version = "2.10.1";
sha256 = "0r3spq1in5y7dxkp3yk5695csair5w0jrc0xjlicqadgfk9j809f";
})
(fetchNuGet {
name = "Humanizer.Core.it";
version = "2.8.26";
sha256 = "01j7qskmqcxsakbx3bkxcjyzrh6nxi2v6kfzsfb0vf980qqq331l";
version = "2.10.1";
sha256 = "1191qns3gpbq45phhaz9vy5bj0cdmznn3c2zgl4pn323knhgjfxf";
})
(fetchNuGet {
name = "Humanizer.Core.ja";
version = "2.8.26";
sha256 = "07d19ns4a4pa2k4vdc1af7wj10gaflq1ny4mx6y574afkdi8v6d5";
version = "2.10.1";
sha256 = "0a0gf2vkgnqyxa3fxzs7pq6almpzv6a53bi7yhn9w4ki1jqjjv6v";
})
(fetchNuGet {
name = "Humanizer.Core.ko-KR";
version = "2.10.1";
sha256 = "0x9x7134f8ikbvvalahrb3q080w2zxd9dx0k32gd10axcvqpgxq3";
})
(fetchNuGet {
name = "Humanizer.Core.ku";
version = "2.10.1";
sha256 = "0ry4fjfvwp13p1qq8hjykg60ga0vxirdl7l7czj56lwj29ll8zqa";
})
(fetchNuGet {
name = "Humanizer.Core.lv";
version = "2.8.26";
sha256 = "1pm64sj65nmngyfa3hjcw67icfmlzr232hmgpnw7306sb7dxmnfv";
version = "2.10.1";
sha256 = "1v08ds9r2k7vx5b2rw9swc3gxfj7mb9r2as0sqg5n2wy04w9ki5j";
})
(fetchNuGet {
name = "Humanizer.Core.ms-MY";
version = "2.8.26";
sha256 = "1yx4cc023kc4k14abk2ycmjy6y2xaknaz4zria7xsadf0fabd1jc";
version = "2.10.1";
sha256 = "0cfb7wmffbwdv8w7j082mc3z59cj3hh6rnnii55wfrbziv1ci5yz";
})
(fetchNuGet {
name = "Humanizer.Core.mt";
version = "2.8.26";
sha256 = "0iai35pzka9g6c3sgswki06fk6gdnq8kc88wyb4pcciivazz31px";
version = "2.10.1";
sha256 = "1pn00dmn1k3jp0s23rfzv8sj7fdbmy0i45ls0agvy1wxxjyg7cn9";
})
(fetchNuGet {
name = "Humanizer.Core.nb";
version = "2.8.26";
sha256 = "0xprhiyjyq6mpha2lrav59n1f48508ddvm9nmdk5sm5k26ff3l90";
version = "2.10.1";
sha256 = "122b1wk8acnc7sm8bs3ww9kl6z8sw0ym7y1ar9wyiw9aw36a94f3";
})
(fetchNuGet {
name = "Humanizer.Core.nb-NO";
version = "2.8.26";
sha256 = "160c98wfh7d2xlvlra4x5rdj4klgcjwcy3gkb4ipg655byn2m1j2";
version = "2.10.1";
sha256 = "0mry95z4ch5bdl71k88wsswmcdxsckhp3d578l9fwy8kgj7dg597";
})
(fetchNuGet {
name = "Humanizer.Core.nl";
version = "2.8.26";
sha256 = "067pqm4i1mk83fqqr0bvzrchrvxwdnff18z3djgagclh1i4xqlvk";
version = "2.10.1";
sha256 = "03cm6vfsi5rgnc456b07vc7h3rfn3qjxfykq8f6cq61z1xgh9i53";
})
(fetchNuGet {
name = "Humanizer.Core.pl";
version = "2.8.26";
sha256 = "1r1bbqb990war1hiag5f88yxw0k9jiid1ihb4s5bc1lzs3vfsb6x";
version = "2.10.1";
sha256 = "1gsrfp8d3ay5kra95sk0sy8vcak0ncxmddpwh9vw2sdhlj453bzx";
})
(fetchNuGet {
name = "Humanizer.Core.pt";
version = "2.8.26";
sha256 = "1bik0vjjdzw51yl11ng9gsi3ihz50ibwh1gdhh2vd13jxjzb512p";
version = "2.10.1";
sha256 = "1z9asjsng8njvi8vr5ryklwdrfmgkjk2knd8q3hkf0k1zj4bkhsf";
})
(fetchNuGet {
name = "Humanizer.Core.ro";
version = "2.8.26";
sha256 = "12f2hry6x1p1mgx6g4kpig2jpybx52ibghvhdhjbbfhy32gv8dr0";
version = "2.10.1";
sha256 = "0r8b1yl5dby56x6q0vgkzdnb08q3ar9kvnqz7pxfld9zh03k0snp";
})
(fetchNuGet {
name = "Humanizer.Core.ru";
version = "2.8.26";
sha256 = "1hri12kwymzvdqcr66l8yiqiw3pmf9fk492z10yqljm576kyshgg";
version = "2.10.1";
sha256 = "1nqgscy7wqfbpld3bb6g1hwy2zdl88as1kxcflfiyysmnysavviz";
})
(fetchNuGet {
name = "Humanizer.Core.sk";
version = "2.8.26";
sha256 = "07jfgk67axw97b85dn4bwpjwf3swd74j9hdd870qps12xfp98i9j";
version = "2.10.1";
sha256 = "0wk4a7g87s26da57a4srwnmhm9d2x68afn961lkd2anz8wixr97x";
})
(fetchNuGet {
name = "Humanizer.Core.sl";
version = "2.8.26";
sha256 = "060xbzwb7p9ypbqfklih2zal2rh6h55gq4hv3i6alvlbd3vsx29n";
version = "2.10.1";
sha256 = "1vsjl6nbk2mxlvkk0zi0igzmfxfhr3jmnnx8ljwpz8a501svksxl";
})
(fetchNuGet {
name = "Humanizer.Core.sr";
version = "2.8.26";
sha256 = "0i2c24qmqnhp85b088qlbagxd48hcl0v1ly4m7hfbvx5s7fg8riv";
version = "2.10.1";
sha256 = "03n64v7hl9awvq06y94wc0czqqf5nrw0d0k7xyx0l3lgw02jpgy2";
})
(fetchNuGet {
name = "Humanizer.Core.sr-Latn";
version = "2.8.26";
sha256 = "1911a69sqssh9f007vmxbgyj4ym2ym4423xvw6cmbfhjcrhkfpbi";
version = "2.10.1";
sha256 = "0yw5k8g4672kcaia82aq36asjkjlkssi8lkkjn35hn9spq5734lc";
})
(fetchNuGet {
name = "Humanizer.Core.sv";
version = "2.8.26";
sha256 = "056h8n9i18yl78f9ppzn2kkrz2cs46aqv0j5y8xq360zarggh0nm";
version = "2.10.1";
sha256 = "1n0631ka9cdikjyw9kr3vqwgd33g83chdabra50hnwcrykkigy4f";
})
(fetchNuGet {
name = "Humanizer.Core.th-TH";
version = "2.10.1";
sha256 = "0s1v0sap22xzqis95wmg66vriaavf6fgk8hcpm3as185dn37gxwn";
})
(fetchNuGet {
name = "Humanizer.Core.tr";
version = "2.8.26";
sha256 = "0dk8ga3fpxifxxkz0n68654h65cvrx00hy7q00m5vgvmcp70gxxn";
version = "2.10.1";
sha256 = "063qr62a8cqa82xc3calv37x6d5v29wdssmrq9b7pas60vd5n7yd";
})
(fetchNuGet {
name = "Humanizer.Core.uk";
version = "2.8.26";
sha256 = "0bnj5xqlcqp4n8i04ra78dax4854zbf2jsygvb4lpiayyyaj2bxw";
version = "2.10.1";
sha256 = "0n0zh9z19fwbb0dbpdld6jzydmwv7zj0nf2x0vpilrhcdhd4icfm";
})
(fetchNuGet {
name = "Humanizer.Core.uz-Cyrl-UZ";
version = "2.8.26";
sha256 = "1bbf6mxas6brjw7rjljq5saz6v3ic6zbvm1b3c1jbk0hc0qkd7c8";
version = "2.10.1";
sha256 = "1q6z6c4hkxi5kq13k5qm6i6dx2namkdsysb09jvkvj2vl54gj074";
})
(fetchNuGet {
name = "Humanizer.Core.uz-Latn-UZ";
version = "2.8.26";
sha256 = "1bfgfihpynax30g9kq8kra7c4jxps2ccxsxrs9gls47xbs35cw2f";
version = "2.10.1";
sha256 = "1758m8b2kv1k5r26al9x4vhss1f7b7yhk971b41zqapw7z66sgmx";
})
(fetchNuGet {
name = "Humanizer.Core.vi";
version = "2.8.26";
sha256 = "1vm765nvkp6wyfwlcgppimjrk04lkg8lscch3n1i1i5hlqxrs9ch";
version = "2.10.1";
sha256 = "1z45zd7gpx20zaaxrv9ac6v0ig0s3d80nxdiig2pm1zrlx01ps33";
})
(fetchNuGet {
name = "Humanizer.Core.zh-CN";
version = "2.8.26";
sha256 = "1qyl12rdh4iv1k1qcivcmxxnh8y93ainf22pmch8vvw9yjhs1y7s";
version = "2.10.1";
sha256 = "02pdpzzwk4wnj1bvzl059ndh67i5yx5ab8ayq5qkrg2hfkid9nn5";
})
(fetchNuGet {
name = "Humanizer.Core.zh-Hans";
version = "2.8.26";
sha256 = "1gqv3dyk236wlp5wb7kd4qnyrmp3cy36ycykl7zr91s25cdls5vy";
version = "2.10.1";
sha256 = "1pm73sl5s1axzmwks68kdyskyv183z5yy020bhzcf0rwbrv3s2qi";
})
(fetchNuGet {
name = "Humanizer.Core.zh-Hant";
version = "2.8.26";
sha256 = "1rhzbiqbx04l3kvzjklix90fxyc6vvmmw0p564ajdiximivs0pbh";
version = "2.10.1";
sha256 = "0fxyl2m05qgmnycdsbzv2dyzixq4jqnvvx7al87d6v5rvkrzwgik";
})
(fetchNuGet {
name = "JetBrains.Annotations";
@ -301,53 +321,53 @@
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Connections.Abstractions";
version = "5.0.5";
sha256 = "0qi4q54v7qiyc7xjbby88vmg1zcnb39sg8g1s7h0dnvapa436jv5";
version = "5.0.6";
sha256 = "1ggvdz6sq668w8nv99qg9pi2i3vx0vihfybjbyyywjgjppq93y8l";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Http.Connections.Client";
version = "5.0.5";
sha256 = "1lpsjv6475p2vdvwv9wwmpzxc0r9bfya15nc5xqiv8m9z8d4sxlh";
version = "5.0.6";
sha256 = "16xzbs1mvbgzblzmzxznr4fpkwk9lz318rnscj7498k1dmk972s4";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Http.Connections.Common";
version = "5.0.5";
sha256 = "1knfn9d1wsczaic3vlnracmj5frpaxwx15x7j06kgi2kl6j2hbc7";
version = "5.0.6";
sha256 = "1zqvmcb1zc704zf246byhf3sm1isixrdr4hlrqpss7zwd89vznv3";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Http.Features";
version = "5.0.5";
sha256 = "011xdkqna8q0r2h9i1f646rkfjbl9qbaq56a487zagp8plwxvaxl";
version = "5.0.6";
sha256 = "18y9np24ybhzgv5lmaaah98l9s53c07lawld4y3nnngy4a2l8byq";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.SignalR.Client";
version = "5.0.5";
sha256 = "0r16n5c4im7gkfrhx2miiz9w58j0z87wjysbi4rsdav94hmkvgj4";
version = "5.0.6";
sha256 = "0vyqd11b02vfh1xbkq01z4nsj73rqnjpms1xm461x2p1yajs3792";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.SignalR.Client.Core";
version = "5.0.5";
sha256 = "11phwns2sn44vfd3vn6c0lh3aiiysfpav7rmv4cmjkxp3jmpay8r";
version = "5.0.6";
sha256 = "0q2fcz6g1jqiwqy05va26wf6mn7vjd915igaiqgmhqzjc2rgif88";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.SignalR.Common";
version = "5.0.5";
sha256 = "0am84ckim30djh4inv7mqph50axik79dwbfyrzlnaxcd3jr73c8c";
version = "5.0.6";
sha256 = "1apa35dffb29w9fj79ypdyvwkz37v04bbsl51hxrx1pa66jj4ymx";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.SignalR.Protocols.Json";
version = "5.0.5";
sha256 = "1z8d2dsgj9bh9a2xcz5xlrw4iijgmrm1midkdqni9b4nypbyraf6";
version = "5.0.6";
sha256 = "1yr94d8yry7i22a2zvcan7rr9lwbx298lz7k6wsgscj1isg5nrr7";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack";
version = "5.0.5";
sha256 = "0p52j1mrihvm4y4yp2rnimp4vdypn0hbba0p79vp617jj17vs45l";
version = "5.0.6";
sha256 = "1asz4kaa0c42z8lgsh6ywn0399v1w8axvhxjbb6m39w9xq596rdr";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson";
version = "5.0.5";
sha256 = "0jllzr9sba5m9ccdslr4dysmxzrfzy9zvianmqhmj4is6dg2krfs";
version = "5.0.6";
sha256 = "1l5bl8zqw9wnincd7yxghik0k3yzip02zz26bah7mwyqaf4nhbma";
})
(fetchNuGet {
name = "Microsoft.Bcl.AsyncInterfaces";
@ -729,10 +749,15 @@
version = "0.5.3.1";
sha256 = "17dxsvcz9g8kzydk5xlfz9kfxl62x9wi20609rh76wjd881bg1br";
})
(fetchNuGet {
name = "ppy.LocalisationAnalyser";
version = "2021.525.0";
sha256 = "1h8p8d1xk03904fifhi77zrjkh4sknp4mxjqd3nbpfyikd8f7c8p";
})
(fetchNuGet {
name = "ppy.osu.Framework";
version = "2021.513.0";
sha256 = "17cqmgfd40jbdkm5rq9wl1rcvv870yqryc29k4c8bdsvxxf4arv2";
version = "2021.601.0";
sha256 = "0y17s60r4q0c05gm67fmp700zwb7k74xdi45hprblyxsplnbkmi0";
})
(fetchNuGet {
name = "ppy.osu.Framework.NativeLibs";
@ -741,8 +766,8 @@
})
(fetchNuGet {
name = "ppy.osu.Game.Resources";
version = "2021.422.0";
sha256 = "1zw0197k6wmmjqjh022q3302mrwn59msx06y66378pahmhrr0sjc";
version = "2021.525.0";
sha256 = "15ksxv5fasfzdkmwikjbn17c1d4rssjfm2vp71b7m834ghm6pnbd";
})
(fetchNuGet {
name = "ppy.osuTK.NS20";
@ -866,8 +891,8 @@
})
(fetchNuGet {
name = "Sentry";
version = "3.3.4";
sha256 = "188rlyg6xfmgk6ypyg1mmbvm8d64q3wfjn3h0ays73b9wlypk8x6";
version = "3.4.0";
sha256 = "0yivi1gmay29831parvsy4x9kzbv04754l0lgzv0v0p4l8m1gy6s";
})
(fetchNuGet {
name = "SharpCompress";

View file

@ -2,8 +2,8 @@
, pcre2
, withPython2 ? false, python2
, withPython3 ? true, python3, ncurses
, withPHP73 ? false, php73
, withPHP74 ? true, php74
, withPHP74 ? false, php74
, withPHP80 ? true, php80
, withPerl530 ? false, perl530
, withPerl532 ? true, perl532
, withPerldevel ? false, perldevel
@ -26,8 +26,8 @@ let
fpmSupport = false;
};
php73-unit = php73.override phpConfig;
php74-unit = php74.override phpConfig;
php80-unit = php80.override phpConfig;
in stdenv.mkDerivation rec {
version = "1.24.0";
@ -45,8 +45,8 @@ in stdenv.mkDerivation rec {
buildInputs = [ pcre2.dev ]
++ optional withPython2 python2
++ optionals withPython3 [ python3 ncurses ]
++ optional withPHP73 php73-unit
++ optional withPHP74 php74-unit
++ optional withPHP80 php80-unit
++ optional withPerl530 perl530
++ optional withPerl532 perl532
++ optional withPerldevel perldevel
@ -64,14 +64,14 @@ in stdenv.mkDerivation rec {
++ optional withDebug "--debug";
# Optionally add the PHP derivations used so they can be addressed in the configs
usedPhp73 = optionals withPHP73 php73-unit;
usedPhp74 = optionals withPHP74 php74-unit;
usedPhp80 = optionals withPHP80 php80-unit;
postConfigure = ''
${optionalString withPython2 "./configure python --module=python2 --config=python2-config --lib-path=${python2}/lib"}
${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"}
${optionalString withPHP73 "./configure php --module=php73 --config=${php73-unit.unwrapped.dev}/bin/php-config --lib-path=${php73-unit}/lib"}
${optionalString withPHP74 "./configure php --module=php74 --config=${php74-unit.unwrapped.dev}/bin/php-config --lib-path=${php74-unit}/lib"}
${optionalString withPHP80 "./configure php --module=php80 --config=${php80-unit.unwrapped.dev}/bin/php-config --lib-path=${php80-unit}/lib"}
${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"}
${optionalString withPerl532 "./configure perl --module=perl532 --perl=${perl532}/bin/perl"}
${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"}

View file

@ -16,11 +16,11 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "diffoscope";
version = "176";
version = "177";
src = fetchurl {
url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
sha256 = "sha256-Hr3GNgpvKCLs+HA8QLOewh5nz9npZr5MZ65wRrat7l0=";
sha256 = "sha256-yTOaDhAKtMhQYxolALnuc7FuXoMUOhjmsabtS1FeW/Q=";
};
outputs = [ "out" "man" ];

View file

@ -528,6 +528,11 @@ mapAliases ({
pgp-tools = signing-party; # added 2017-03-26
pg_tmp = ephemeralpg; # added 2018-01-16
# Obsolete PHP version aliases
php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases."; # added 2021-06-03
php73Packages = php73; # added 2021-06-03
php73Extensions = php73; # added 2021-06-03
php-embed = throw ''
php*-embed has been dropped, you can build something similar
with the following snippet:
@ -541,8 +546,8 @@ mapAliases ({
similar with the following snippet:
(php74.override { embedSupport = true; apxs2Support = false; }).packages
''; # added 2020-04-01
php74Packages-embed = phpPackages-embed;
php73Packages-embed = phpPackages-embed;
php74Packages-embed = phpPackages-embed;
php-unit = throw ''
php*-unit has been dropped, you can build something similar with
@ -571,8 +576,8 @@ mapAliases ({
fpmSupport = false;
}).packages
''; # added 2020-04-01
php74Packages-unit = phpPackages-unit;
php73Packages-unit = phpPackages-unit;
php74Packages-unit = phpPackages-unit;
pidgin-with-plugins = pidgin; # added 2016-06
pidginlatex = pidgin-latex; # added 2018-01-08

View file

@ -1091,7 +1091,7 @@ in
}) arangodb_3_3 arangodb_3_4 arangodb_3_5;
arangodb = arangodb_3_4;
arcanist = callPackage ../development/tools/misc/arcanist {};
arcanist = callPackage ../development/tools/misc/arcanist { php = php74; };
arduino = arduino-core.override { withGui = true; };
@ -12290,7 +12290,7 @@ in
# PHP interpreters, packages and extensions.
#
# Set default PHP interpreter, extensions and packages
php = php74;
php = php80;
phpExtensions = php.extensions;
phpPackages = php.packages;
@ -12308,13 +12308,6 @@ in
php74Extensions = recurseIntoAttrs php74.extensions;
php74Packages = recurseIntoAttrs php74.packages;
# Import PHP73 interpreter, extensions and packages
php73 = callPackage ../development/interpreters/php/7.3.nix {
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
};
php73Extensions = recurseIntoAttrs php73.extensions;
php73Packages = recurseIntoAttrs php73.packages;
picoc = callPackage ../development/interpreters/picoc {};
@ -19068,7 +19061,7 @@ in
dspam = callPackage ../servers/mail/dspam { };
engelsystem = callPackage ../servers/web-apps/engelsystem { };
engelsystem = callPackage ../servers/web-apps/engelsystem { php = php74; };
envoy = callPackage ../servers/http/envoy { };
@ -24897,9 +24890,7 @@ in
liferea = callPackage ../applications/networking/newsreaders/liferea { };
lightworks = callPackage ../applications/video/lightworks {
portaudio = portaudio2014;
};
lightworks = callPackage ../applications/video/lightworks { };
lingot = callPackage ../applications/audio/lingot { };
@ -24951,7 +24942,7 @@ in
lrzsz = callPackage ../tools/misc/lrzsz { };
lsp-plugins = callPackage ../applications/audio/lsp-plugins { };
lsp-plugins = callPackage ../applications/audio/lsp-plugins { php = php74; };
luminanceHDR = libsForQt5.callPackage ../applications/graphics/luminance-hdr { };

View file

@ -1,6 +1,6 @@
{ stdenv, lib, pkgs, fetchgit, phpPackage, autoconf, pkg-config, re2c
, gettext, bzip2, curl, libxml2, openssl, gmp, icu64, oniguruma, libsodium
, html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl
, html-tidy, libzip, zlib, pcre2, libxslt, aspell, openldap, cyrus_sasl
, uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng
, freetype, libffi, freetds, postgresql, sqlite, net-snmp, unixODBC, libedit
, readline, rsync, fetchpatch, valgrind
@ -19,8 +19,6 @@ lib.makeScope pkgs.newScope (self: with self; {
pname = "php-${pname}";
});
pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre;
php = phpPackage;
# This is a set of interactive tools based on PHP.
@ -29,8 +27,6 @@ lib.makeScope pkgs.newScope (self: with self; {
composer = callPackage ../development/php-packages/composer { };
composer1 = callPackage ../development/php-packages/composer/1.x.nix { };
deployer = callPackage ../development/php-packages/deployer { };
php-cs-fixer = callPackage ../development/php-packages/php-cs-fixer { };
@ -92,18 +88,6 @@ lib.makeScope pkgs.newScope (self: with self; {
pcov = callPackage ../development/php-packages/pcov { };
pcs = buildPecl {
version = "1.3.3";
pname = "pcs";
sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p";
internalDeps = [ php.extensions.tokenizer ];
meta.maintainers = lib.teams.php.members;
meta.broken = lib.versionAtLeast php.version "7.3"; # Runtime failure on 7.3, build error on 7.4
};
pdo_oci = buildPecl rec {
inherit (php.unwrapped) src version;
@ -130,8 +114,6 @@ lib.makeScope pkgs.newScope (self: with self; {
protobuf = callPackage ../development/php-packages/protobuf { };
pthreads = callPackage ../development/php-packages/pthreads { };
rdkafka = callPackage ../development/php-packages/rdkafka { };
redis = callPackage ../development/php-packages/redis { };
@ -144,51 +126,9 @@ lib.makeScope pkgs.newScope (self: with self; {
swoole = callPackage ../development/php-packages/swoole { };
v8 = buildPecl {
version = "0.2.2";
pname = "v8";
sha256 = "103nys7zkpi1hifqp9miyl0m1mn07xqshw3sapyz365nb35g5q71";
buildInputs = [ pkgs.v8 ];
configureFlags = [ "--with-v8=${pkgs.v8}" ];
meta.maintainers = lib.teams.php.members;
meta.broken = true;
};
v8js = buildPecl {
version = "2.1.0";
pname = "v8js";
sha256 = "0g63dyhhicngbgqg34wl91nm3556vzdgkq19gy52gvmqj47rj6rg";
buildInputs = [ pkgs.v8 ];
configureFlags = [ "--with-v8js=${pkgs.v8}" ];
meta.maintainers = lib.teams.php.members;
meta.broken = true;
};
xdebug = callPackage ../development/php-packages/xdebug { };
yaml = callPackage ../development/php-packages/yaml { };
zmq = buildPecl {
version = "1.1.3";
pname = "zmq";
sha256 = "1kj487vllqj9720vlhfsmv32hs2dy2agp6176mav6ldx31c3g4n4";
configureFlags = [
"--with-zmq=${pkgs.zeromq}"
];
nativeBuildInputs = [ pkgs.pkg-config ];
meta.maintainers = lib.teams.php.members;
meta.broken = lib.versionAtLeast php.version "7.3";
};
} // (let
# Function to build a single php extension based on the php version.
#
@ -297,8 +237,8 @@ lib.makeScope pkgs.newScope (self: with self; {
doCheck = false; }
{ name = "exif"; doCheck = false; }
{ name = "ffi"; buildInputs = [ libffi ]; enable = lib.versionAtLeast php.version "7.4"; }
{ name = "fileinfo"; buildInputs = [ pcre' ]; }
{ name = "filter"; buildInputs = [ pcre' ]; }
{ name = "fileinfo"; buildInputs = [ pcre2 ]; }
{ name = "filter"; buildInputs = [ pcre2 ]; }
{ name = "ftp"; buildInputs = [ openssl ]; }
{ name = "gd";
buildInputs = [ zlib gd ];
@ -350,11 +290,10 @@ lib.makeScope pkgs.newScope (self: with self; {
];
doCheck = false; }
{ name = "imap";
buildInputs = [ uwimap openssl pam pcre' ];
buildInputs = [ uwimap openssl pam pcre2 ];
configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ];
# uwimap doesn't build on darwin.
enable = (!stdenv.isDarwin); }
# interbase (7.3, 7.2)
{ name = "intl";
buildInputs = [ icu64 ];
patches = lib.optionals (lib.versionOlder php.version "7.4") [
@ -377,7 +316,7 @@ lib.makeScope pkgs.newScope (self: with self; {
];
doCheck = false; }
{ name = "mbstring"; buildInputs = [ oniguruma ] ++ lib.optionals (lib.versionAtLeast php.version "8.0") [
pcre'
pcre2
]; doCheck = false; }
{ name = "mysqli";
internalDeps = [ php.extensions.mysqlnd ];
@ -425,7 +364,7 @@ lib.makeScope pkgs.newScope (self: with self; {
# oci8 (7.4, 7.3, 7.2)
# odbc (7.4, 7.3, 7.2)
{ name = "opcache";
buildInputs = [ pcre' ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [
buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [
valgrind.dev
];
patches = lib.optionals (lib.versionOlder php.version "7.4") [
@ -480,7 +419,7 @@ lib.makeScope pkgs.newScope (self: with self; {
configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ];
doCheck = false; }
{ name = "pgsql";
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
configureFlags = [ "--with-pgsql=${postgresql}" ];
doCheck = false; }
{ name = "posix"; doCheck = false; }
@ -493,11 +432,10 @@ lib.makeScope pkgs.newScope (self: with self; {
'';
doCheck = false;
}
# recode (7.3, 7.2)
{ name = "session"; doCheck = !(lib.versionAtLeast php.version "8.0"); }
{ name = "shmop"; }
{ name = "simplexml";
buildInputs = [ libxml2 pcre' ];
buildInputs = [ libxml2 pcre2 ];
configureFlags = [ "--enable-simplexml" ]
# Required to build on darwin.
++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; }
@ -558,7 +496,7 @@ lib.makeScope pkgs.newScope (self: with self; {
configureFlags = [ "--with-xsl=${libxslt.dev}" ]; }
{ name = "zend_test"; }
{ name = "zip";
buildInputs = [ libzip pcre' ];
buildInputs = [ libzip pcre2 ];
configureFlags = [ "--with-zip" ]
++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ]
++ lib.optionals (lib.versionOlder php.version "7.3") [ "--with-libzip" ];