Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-03-02 12:17:32 +00:00 committed by GitHub
commit e668a36492
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 50 additions and 38 deletions

View file

@ -22,7 +22,9 @@ let
php = cfg.phpPackage.override { apacheHttpd = pkg; }; php = cfg.phpPackage.override { apacheHttpd = pkg; };
phpMajorVersion = lib.versions.major (lib.getVersion php); phpModuleName = let
majorVersion = lib.versions.major (lib.getVersion php);
in (if majorVersion == "8" then "php" else "php${majorVersion}");
mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = pkg; }; mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = pkg; };
@ -63,7 +65,7 @@ let
++ optional enableSSL "ssl" ++ optional enableSSL "ssl"
++ optional enableUserDir "userdir" ++ optional enableUserDir "userdir"
++ optional cfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; } ++ optional cfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
++ optional cfg.enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; } ++ optional cfg.enablePHP { name = phpModuleName; path = "${php}/modules/lib${phpModuleName}.so"; }
++ optional cfg.enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; } ++ optional cfg.enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
++ cfg.extraModules; ++ cfg.extraModules;

View file

@ -98,7 +98,6 @@ in
environment.XDG_RUNTIME_DIR="${anboxloc}"; environment.XDG_RUNTIME_DIR="${anboxloc}";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "systemd-udev-settle.service" ];
preStart = let preStart = let
initsh = pkgs.writeText "nixos-init" ('' initsh = pkgs.writeText "nixos-init" (''
#!/system/bin/sh #!/system/bin/sh

View file

@ -307,6 +307,9 @@ in
pgjwt = handleTest ./pgjwt.nix {}; pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {}; pgmanage = handleTest ./pgmanage.nix {};
php = handleTest ./php {}; 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 {}; pinnwand = handleTest ./pinnwand.nix {};
plasma5 = handleTest ./plasma5.nix {}; plasma5 = handleTest ./plasma5.nix {};
pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix {}; pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix {};

View file

@ -1,8 +1,9 @@
{ system ? builtins.currentSystem, { system ? builtins.currentSystem
config ? {}, , config ? {}
pkgs ? import ../../.. { inherit system config; } , pkgs ? import ../../.. { inherit system config; }
, php ? pkgs.php
}: { }: {
fpm = import ./fpm.nix { inherit system pkgs; }; fpm = import ./fpm.nix { inherit system pkgs php; };
httpd = import ./httpd.nix { inherit system pkgs; }; httpd = import ./httpd.nix { inherit system pkgs php; };
pcre = import ./pcre.nix { inherit system pkgs; }; pcre = import ./pcre.nix { inherit system pkgs php; };
} }

View file

@ -1,5 +1,5 @@
import ../make-test-python.nix ({pkgs, lib, ...}: { import ../make-test-python.nix ({pkgs, lib, php, ...}: {
name = "php-fpm-nginx-test"; name = "php-${php.version}-fpm-nginx-test";
meta.maintainers = lib.teams.php.members; meta.maintainers = lib.teams.php.members;
machine = { config, lib, pkgs, ... }: { machine = { config, lib, pkgs, ... }: {
@ -25,6 +25,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
services.phpfpm.pools."foobar" = { services.phpfpm.pools."foobar" = {
user = "nginx"; user = "nginx";
phpPackage = php;
settings = { settings = {
"listen.group" = "nginx"; "listen.group" = "nginx";
"listen.mode" = "0600"; "listen.mode" = "0600";
@ -44,7 +45,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
# Check so we get an evaluated PHP back # Check so we get an evaluated PHP back
response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/") response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/")
assert "PHP Version ${pkgs.php.version}" in response, "PHP version not detected" assert "PHP Version ${php.version}" in response, "PHP version not detected"
# Check so we have database and some other extensions loaded # Check so we have database and some other extensions loaded
for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]: for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:

View file

@ -1,5 +1,5 @@
import ../make-test-python.nix ({pkgs, lib, ...}: { import ../make-test-python.nix ({pkgs, lib, php, ...}: {
name = "php-httpd-test"; name = "php-${php.version}-httpd-test";
meta.maintainers = lib.teams.php.members; meta.maintainers = lib.teams.php.members;
machine = { config, lib, pkgs, ... }: { machine = { config, lib, pkgs, ... }: {
@ -14,6 +14,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
index = "index.php index.html"; index = "index.php index.html";
}; };
}; };
phpPackage = php;
enablePHP = true; enablePHP = true;
}; };
}; };
@ -22,7 +23,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
# Check so we get an evaluated PHP back # Check so we get an evaluated PHP back
response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/") response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/")
assert "PHP Version ${pkgs.php.version}" in response, "PHP version not detected" assert "PHP Version ${php.version}" in response, "PHP version not detected"
# Check so we have database and some other extensions loaded # Check so we have database and some other extensions loaded
for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]: for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:

View file

@ -1,7 +1,7 @@
let let
testString = "can-use-subgroups"; testString = "can-use-subgroups";
in import ../make-test-python.nix ({lib, ...}: { in import ../make-test-python.nix ({lib, php, ...}: {
name = "php-httpd-pcre-jit-test"; name = "php-${php.version}-httpd-pcre-jit-test";
meta.maintainers = lib.teams.php.members; meta.maintainers = lib.teams.php.members;
machine = { lib, pkgs, ... }: { machine = { lib, pkgs, ... }: {
@ -9,6 +9,7 @@ in import ../make-test-python.nix ({lib, ...}: {
services.httpd = { services.httpd = {
enable = true; enable = true;
adminAddr = "please@dont.contact"; adminAddr = "please@dont.contact";
phpPackage = php;
enablePHP = true; enablePHP = true;
phpOptions = "pcre.jit = true"; phpOptions = "pcre.jit = true";
extraConfig = let extraConfig = let

View file

@ -18,13 +18,13 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "freerdp"; pname = "freerdp";
version = "2.2.0"; version = "2.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "FreeRDP"; owner = "FreeRDP";
repo = "FreeRDP"; repo = "FreeRDP";
rev = version; rev = version;
sha256 = "02zlg5r704zbryx09a5rjjf7q137kj16i9qh25dw9q1y69ri619n"; sha256 = "sha256-YnrJv2tpG1CT1aaZsn/j3ygPhXhTsfEyB/GcEPCgl/g=";
}; };
postPatch = '' postPatch = ''

View file

@ -42,6 +42,7 @@ let
"8.12.1".sha256 = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q"; "8.12.1".sha256 = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q";
"8.12.2".sha256 = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n"; "8.12.2".sha256 = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n";
"8.13.0".sha256 = "0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd"; "8.13.0".sha256 = "0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd";
"8.13.1".sha256 = "0xx2ns84mlip9bg2mkahy3pmc5zfcgrjxsviq9yijbzy1r95wf0n";
}; };
releaseRev = v: "V${v}"; releaseRev = v: "V${v}";
fetched = import ../../../../build-support/coq/meta-fetch/default.nix fetched = import ../../../../build-support/coq/meta-fetch/default.nix

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-repo"; pname = "git-repo";
version = "2.12.2"; version = "2.13.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "android"; owner = "android";
repo = "tools_repo"; repo = "tools_repo";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-E0HGianaTNRVJsFh8tb1wdxEARRXzkFG2OHU6op5oQ4="; sha256 = "sha256-D6gh14XOZ6Fjypfhg9l5ozPhyf6u6M0Wc8HdagdPM/Q=";
}; };
patches = [ ./import-ssl-module.patch ]; patches = [ ./import-ssl-module.patch ];

View file

@ -16,10 +16,10 @@
}@args: }@args:
stdenv.mkDerivation (args // { stdenv.mkDerivation (args // {
name = "php-${pname}-${version}"; pname = "php-${php.version}-${pname}";
extensionName = pname; extensionName = pname;
inherit src; inherit version src;
nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs; nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs;
buildInputs = [ php ] ++ peclDeps ++ buildInputs; buildInputs = [ php ] ++ peclDeps ++ buildInputs;

View file

@ -5,7 +5,7 @@
let let
generic = generic =
{ callPackage, lib, stdenv, nixosTests, config, fetchurl, makeWrapper { callPackage, lib, stdenv, nixosTests, fetchurl, makeWrapper
, symlinkJoin, writeText, autoconf, automake, bison, flex, libtool , symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
, pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2 , pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2
, systemd, system-sendmail, valgrind, xcbuild , systemd, system-sendmail, valgrind, xcbuild
@ -97,7 +97,7 @@ let
(enabledExtensions ++ (getDepsRecursively enabledExtensions))); (enabledExtensions ++ (getDepsRecursively enabledExtensions)));
extNames = map getExtName enabledExtensions; extNames = map getExtName enabledExtensions;
extraInit = writeText "php.ini" '' extraInit = writeText "php-extra-init-${version}.ini" ''
${lib.concatStringsSep "\n" ${lib.concatStringsSep "\n"
(lib.textClosureList extensionTexts extNames)} (lib.textClosureList extensionTexts extNames)}
${extraConfig} ${extraConfig}
@ -112,7 +112,8 @@ let
withExtensions = mkWithExtensions allArgs allExtensionFunctions; withExtensions = mkWithExtensions allArgs allExtensionFunctions;
phpIni = "${phpWithExtensions}/lib/php.ini"; phpIni = "${phpWithExtensions}/lib/php.ini";
unwrapped = php; unwrapped = php;
tests = nixosTests.php; # Select the right php tests for the php version
tests = nixosTests."php${lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor php.version)}";
inherit (php-packages) extensions buildPecl; inherit (php-packages) extensions buildPecl;
packages = php-packages.tools; packages = php-packages.tools;
meta = php.meta // { meta = php.meta // {
@ -121,7 +122,7 @@ let
}; };
paths = [ php ]; paths = [ php ];
postBuild = '' postBuild = ''
cp ${extraInit} $out/lib/php.ini ln -s ${extraInit} $out/lib/php.ini
wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib

View file

@ -1,14 +1,14 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }: { mkDerivation, fetchurl, makeWrapper, lib, php }:
let let
pname = "phpstan"; pname = "phpstan";
version = "0.12.78"; version = "0.12.79";
in in
mkDerivation { mkDerivation {
inherit pname version; inherit pname version;
src = fetchurl { src = fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
sha256 = "sha256-YPCh6HAVuFf2rJhUj/uzfqkWKN+Jd2iPfugSiTh65zc="; sha256 = "sha256-H6JmjdJtcCrNvad0ZbJ73OdRXimeTIJMVPuk8K6X6v8=";
}; };
phases = [ "installPhase" ]; phases = [ "installPhase" ];

View file

@ -5,7 +5,6 @@
, distlib , distlib
, fetchPypi , fetchPypi
, filelock , filelock
, fish
, flaky , flaky
, importlib-metadata , importlib-metadata
, importlib-resources , importlib-resources
@ -56,7 +55,6 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
cython cython
fish
flaky flaky
pytest-freezegun pytest-freezegun
pytest-mock pytest-mock
@ -77,6 +75,9 @@ buildPythonPackage rec {
disabledTests = [ disabledTests = [
"test_can_build_c_extensions" "test_can_build_c_extensions"
"test_xonsh" # imports xonsh, which is not in pythonPackages "test_xonsh" # imports xonsh, which is not in pythonPackages
# tests search `python3`, fail on python2, pypy
"test_python_via_env_var"
"test_python_multi_value_prefer_newline_via_env_var"
]; ];
pythonImportsCheck = [ "virtualenv" ]; pythonImportsCheck = [ "virtualenv" ];

View file

@ -1,13 +1,13 @@
{ lib, stdenv, fetchurl, jre_headless, makeWrapper }: { lib, stdenv, fetchurl, jre_headless, makeWrapper }:
let let
version = "7.5.3"; version = "7.5.4";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "flyway"; pname = "flyway";
inherit version; inherit version;
src = fetchurl { src = fetchurl {
url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz"; url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
sha256 = "sha256-XDfY/OnXSmgF2u8DMr+WgzNJD3VYw/hQ8v3cr4/jhVY="; sha256 = "sha256-WU8j1NSf2KfA/HJWFtMLOZ3t5nxW4sU713e6qEEhZ0I=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
dontBuild = true; dontBuild = true;

View file

@ -18,11 +18,11 @@ buildPythonPackage rec {
# The websites youtube-dl deals with are a very moving target. That means that # The websites youtube-dl deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported # downloads break constantly. Because of that, updates should always be backported
# to the latest stable release. # to the latest stable release.
version = "2021.02.22"; version = "2021.03.02";
src = fetchurl { src = fetchurl {
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz"; url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
sha256 = "19j4kfqln1yk47dpid9j4z3zvgxy6xar1mpfsadifikfdgbmsq7x"; sha256 = "0g3fmbxbixi92vbjjy5dabz538yvfzdp649kafs09n55iw29s3f8";
}; };
nativeBuildInputs = [ installShellFiles makeWrapper ]; nativeBuildInputs = [ installShellFiles makeWrapper ];

View file

@ -11389,9 +11389,10 @@ in
# #
# Set default PHP interpreter, extensions and packages # Set default PHP interpreter, extensions and packages
php = php74; php = php74;
phpExtensions = php74Extensions; phpExtensions = php.extensions;
phpPackages = php74Packages; phpPackages = php.packages;
# Import PHP80 interpreter, extensions and packages
php80 = callPackage ../development/interpreters/php/8.0.nix { php80 = callPackage ../development/interpreters/php/8.0.nix {
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
}; };

View file

@ -16,7 +16,7 @@ lib.makeScope pkgs.newScope (self: with self; {
# Wrap mkDerivation to prepend pname with "php-" to make names consistent # Wrap mkDerivation to prepend pname with "php-" to make names consistent
# with how buildPecl does it and make the file easier to overview. # with how buildPecl does it and make the file easier to overview.
mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // { mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // {
pname = "php-${pname}"; pname = "php-${php.version}-${pname}";
}); });
pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre; pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre;