about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2020-12-23 00:48:29 +0000
committerGitHub <noreply@github.com>2020-12-23 00:48:29 +0000
commit28fd8e0d598ad27ecece751827396ab765a6a34e (patch)
treec28cd15292529e434d2c7d5272371aa3c1b3e2a2 /pkgs/servers
parente0d458ed2c77bfed6db792a5dd94392871cacc3f (diff)
parent00f6d352bd4598bdcd6b5c9884430e9e2d6084a6 (diff)
downloadnixlib-28fd8e0d598ad27ecece751827396ab765a6a34e.tar
nixlib-28fd8e0d598ad27ecece751827396ab765a6a34e.tar.gz
nixlib-28fd8e0d598ad27ecece751827396ab765a6a34e.tar.bz2
nixlib-28fd8e0d598ad27ecece751827396ab765a6a34e.tar.lz
nixlib-28fd8e0d598ad27ecece751827396ab765a6a34e.tar.xz
nixlib-28fd8e0d598ad27ecece751827396ab765a6a34e.tar.zst
nixlib-28fd8e0d598ad27ecece751827396ab765a6a34e.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/monitoring/prometheus/lnd-exporter.nix10
-rw-r--r--pkgs/servers/uwsgi/additional-php-ldflags.patch13
-rw-r--r--pkgs/servers/uwsgi/default.nix30
-rw-r--r--pkgs/servers/uwsgi/no-ext-session-php_session.h-on-NixOS.patch29
4 files changed, 72 insertions, 10 deletions
diff --git a/pkgs/servers/monitoring/prometheus/lnd-exporter.nix b/pkgs/servers/monitoring/prometheus/lnd-exporter.nix
index 9499f70e71bd..cdece1212433 100644
--- a/pkgs/servers/monitoring/prometheus/lnd-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/lnd-exporter.nix
@@ -1,17 +1,17 @@
 { stdenv, buildGoModule, fetchFromGitHub, nixosTests }:
 
 buildGoModule rec {
-  pname = "lndmon-unstable";
-  version = "2020-01-09";
+  pname = "lndmon";
+  version = "unstable-2020-12-04";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "lndmon";
-    sha256 = "0d4z8yv2459wsi4c91qs5an13acn73fd8s321xya5vxxiyf51q24";
-    rev = "2c7c5ce0fcb4e7eef4df60efe8a644587a309f6c";
+    sha256 = "0q72jbkhw1vpwxd0r80l1v4ab71sakc315plfqbijy7al9ywq5nl";
+    rev = "f07d574320dd1a6a428fecd47f3a5bb46a0fc4d1";
   };
 
-  vendorSha256 = "083h2ksnqmcr48958r5pag9a28xvljpc3prip6wn70ifp2wpjpin";
+  vendorSha256 = "06if387b9m02ciqgcissih1x06l33djp87vgspwzz589f77vczk8";
 
   doCheck = false;
 
diff --git a/pkgs/servers/uwsgi/additional-php-ldflags.patch b/pkgs/servers/uwsgi/additional-php-ldflags.patch
new file mode 100644
index 000000000000..8549d5c2d03c
--- /dev/null
+++ b/pkgs/servers/uwsgi/additional-php-ldflags.patch
@@ -0,0 +1,13 @@
+diff --git a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py
+index d930c44e..2fcbc22a 100644
+--- a/plugins/php/uwsgiplugin.py
++++ b/plugins/php/uwsgiplugin.py
+@@ -17,6 +17,8 @@ php_version = os.popen(PHPPATH + ' --version').read().rstrip().split('.')[0]
+ CFLAGS = [os.popen(PHPPATH + ' --includes').read().rstrip(), '-Wno-sign-compare']
+ LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
+ 
++LDFLAGS.append(os.environ.get('UWSGICONFIG_PHP_LDFLAGS', []))
++
+ if ld_run_path:
+     LDFLAGS.append('-L%s' % ld_run_path)
+     os.environ['LD_RUN_PATH'] = ld_run_path
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index 39a3113eb410..d9ed810cdf49 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, pkgconfig, jansson, pcre
+{ stdenv, nixosTests, lib, fetchurl, pkgconfig, jansson, pcre
 # plugins: list of strings, eg. [ "python2" "python3" ]
 , plugins ? []
 , pam, withPAM ? stdenv.isLinux
@@ -38,8 +38,12 @@ let php-embed = php.override {
                   (lib.nameValuePair "php" {
                     # usage: https://uwsgi-docs.readthedocs.io/en/latest/PHP.html#running-php-apps-with-nginx
                     path = "plugins/php";
-                    inputs = [ php-embed ] ++ php-embed.buildInputs;
-                    NIX_CFLAGS_LINK = [ "-L${libmysqlclient}/lib/mysql" ];
+                    inputs = [
+                        php-embed
+                        php-embed.extensions.session
+                        php-embed.extensions.session.dev
+                        php-embed.unwrapped.dev
+                    ] ++ php-embed.unwrapped.buildInputs;
                   })
                 ];
 
@@ -61,6 +65,11 @@ stdenv.mkDerivation rec {
     sha256 = "0256v72b7zr6ds4srpaawk1px3bp0djdwm239w3wrxpw7dzk1gjn";
   };
 
+  patches = [
+        ./no-ext-session-php_session.h-on-NixOS.patch
+        ./additional-php-ldflags.patch
+  ];
+
   nativeBuildInputs = [ python3 pkgconfig ];
 
   buildInputs =  [ jansson pcre ]
@@ -83,6 +92,16 @@ stdenv.mkDerivation rec {
     substituteAll ${./nixos.ini} buildconf/nixos.ini
   '';
 
+  # this is a hack to make the php plugin link with session.so (which on nixos is a separate package)
+  # the hack works in coordination with ./additional-php-ldflags.patch
+  UWSGICONFIG_PHP_LDFLAGS = lib.optionalString (builtins.any (x: x.name == "php") needed)
+        (lib.concatStringsSep "," [
+            "-Wl"
+            "-rpath=${php-embed.extensions.session}/lib/php/extensions/"
+            "--library-path=${php-embed.extensions.session}/lib/php/extensions/"
+            "-l:session.so"
+        ]);
+
   buildPhase = ''
     mkdir -p $pluginDir
     python3 uwsgiconfig.py --build nixos
@@ -94,8 +113,6 @@ stdenv.mkDerivation rec {
     ${lib.concatMapStringsSep "\n" (x: x.install or "") needed}
   '';
 
-  NIX_CFLAGS_LINK = toString (lib.optional withSystemd "-lsystemd" ++ lib.concatMap (x: x.NIX_CFLAGS_LINK or []) needed);
-
   meta = with stdenv.lib; {
     homepage = "https://uwsgi-docs.readthedocs.org/en/latest/";
     description = "A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C";
@@ -103,4 +120,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ abbradar schneefux globin ];
     platforms = platforms.unix;
   };
+
+  passthru.tests.uwsgi = nixosTests.uwsgi;
+
 }
diff --git a/pkgs/servers/uwsgi/no-ext-session-php_session.h-on-NixOS.patch b/pkgs/servers/uwsgi/no-ext-session-php_session.h-on-NixOS.patch
new file mode 100644
index 000000000000..bde8f4fda1dc
--- /dev/null
+++ b/pkgs/servers/uwsgi/no-ext-session-php_session.h-on-NixOS.patch
@@ -0,0 +1,29 @@
+From 6b9b3559d8ce59eda6c5cd6f04224cebaaa5d0ea Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=94=D0=B0=D0=BC=D1=98=D0=B0=D0=BD=20=D0=93=D0=B5=D0=BE?=
+ =?UTF-8?q?=D1=80=D0=B3=D0=B8=D0=B5=D0=B2=D1=81=D0=BA=D0=B8?=
+ <gdamjan@gmail.com>
+Date: Tue, 8 Sep 2020 17:11:39 +0200
+Subject: [PATCH] no ext/session/php_session.h on NixOS
+
+on NixOS php_session.h is in its own package, and is not installed in
+ext/session/
+---
+ plugins/php/common.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/php/common.h b/plugins/php/common.h
+index 9bf1c069..be93f519 100644
+--- a/plugins/php/common.h
++++ b/plugins/php/common.h
+@@ -10,7 +10,7 @@
+ #endif
+ #include "ext/standard/info.h"
+ 
+-#include "ext/session/php_session.h"
++#include "php_session.h"
+ 
+ #include <uwsgi.h>
+ 
+-- 
+2.28.0
+