summaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorFeng Shu <tumashu@163.com>2023-12-14 09:28:44 +0800
committerLudovic Courtès <ludo@gnu.org>2023-12-23 11:17:49 +0100
commit2c8cdb05502cacaf603da231796ccafa59671117 (patch)
treee5156e112a2d061ce589725ab6b1647ddf4de1a3 /gnu/packages/patches
parent3320c9704353cea29ae34662f3975bf6b58c87f9 (diff)
gnu: slim: Update to 1.4.0.
* gnu/packages/display-managers.scm (slim)[version]: Update to 1.4.0. [inputs]: Remove input label. [arguments]: Use gexp and remove fix-0-pointer-comparison. [home-pages]: Update to slim-fork's url. * gnu/packages/patches/slim-config.patch: Port to slim-1.4.0. * gnu/packages/patches/slim-display.patch: Port to slim-1.4.0. * gnu/packages/patches/slim-reset.patch: Deleted, no ablilty to port this patch for big change in v1.4.0. * gnu/packages/patches/slim-session.patch: Deleted. seem to work without this patch, further observation is needed. * gnu/packages/patches/slim-sigusr1.patch: Deleted, fixed in upstream. * gnu/local.mk: Remove slim-reset.patch, slim-session.patch, slim-sigur1.patch. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/slim-config.patch43
-rw-r--r--gnu/packages/patches/slim-display.patch74
-rw-r--r--gnu/packages/patches/slim-reset.patch33
-rw-r--r--gnu/packages/patches/slim-session.patch17
-rw-r--r--gnu/packages/patches/slim-sigusr1.patch33
5 files changed, 73 insertions, 127 deletions
diff --git a/gnu/packages/patches/slim-config.patch b/gnu/packages/patches/slim-config.patch
index 5e6135d75c..91eeb5f56c 100644
--- a/gnu/packages/patches/slim-config.patch
+++ b/gnu/packages/patches/slim-config.patch
@@ -1,27 +1,36 @@
Allow the configuration file and theme directory to be specified at run time.
+
Patch by Eelco Dolstra, from Nixpkgs.
+---
+ app.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
---- slim-1.3.6/app.cpp 2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/app.cpp 2013-10-15 11:02:55.629263422 +0200
-@@ -200,7 +200,9 @@
-
- /* Read configuration and theme */
- cfg = new Cfg;
-- cfg->readConf(CFGFILE);
-+ char *cfgfile = getenv("SLIM_CFGFILE");
-+ if (!cfgfile) cfgfile = CFGFILE;
-+ cfg->readConf(cfgfile);
+diff --git a/app.cpp b/app.cpp
+index 237477d..735df9c 100644
+--- a/app.cpp
++++ b/app.cpp
+@@ -285,7 +285,9 @@ void App::Run()
+ if ( cfg == 0 )
+ {
+ cfg = new Cfg;
+- cfg->readConf(CFGFILE);
++ const char* cfgfile = getenv("SLIM_CFGFILE");
++ if (!cfgfile) cfgfile = CFGFILE;
++ cfg->readConf(cfgfile);
+ }
string themebase = "";
string themefile = "";
- string themedir = "";
-@@ -208,7 +210,9 @@
- if (testing) {
- themeName = testtheme;
- } else {
+@@ -297,7 +299,9 @@ void App::Run()
+ }
+ else
+ {
- themebase = string(THEMESDIR) + "/";
-+ char *themesdir = getenv("SLIM_THEMESDIR");
++ const char* themesdir = getenv("SLIM_THEMESDIR");
+ if (!themesdir) themesdir = THEMESDIR;
+ themebase = string(themesdir) + "/";
themeName = cfg->getOption("current_theme");
string::size_type pos;
- if ((pos = themeName.find(",")) != string::npos) {
+ if ((pos = themeName.find(",")) != string::npos)
+--
+2.39.2
+
diff --git a/gnu/packages/patches/slim-display.patch b/gnu/packages/patches/slim-display.patch
index f68604a94b..b59e20c25c 100644
--- a/gnu/packages/patches/slim-display.patch
+++ b/gnu/packages/patches/slim-display.patch
@@ -1,39 +1,52 @@
-Add "display_name" configuration option and use its value instead of
-the hard coded one.
+Add "display_name" configuration option and use its value instead of the hard
+coded one.
Patch by Diego N. Barbato
+---
+ app.cpp | 23 ++++++++++-------------
+ cfg.cpp | 1 +
+ switchuser.cpp | 2 +-
+ 3 files changed, 12 insertions(+), 14 deletions(-)
---- a/app.cpp 1970-01-01 01:00:00.000000000 +0100
-+++ b/app.cpp 2019-04-27 13:48:23.479133531 +0200
-@@ -190,7 +190,13 @@
- }
+diff --git a/app.cpp b/app.cpp
+index b840e60..4f72da0 100644
+--- a/app.cpp
++++ b/app.cpp
+@@ -270,7 +270,16 @@ App::App(int argc, char** argv)
- void App::Run() {
+ void App::Run()
+ {
- DisplayName = DISPLAY;
+ /* Read configuration */
-+ cfg = new Cfg;
-+ char *cfgfile = getenv("SLIM_CFGFILE");
-+ if (!cfgfile) cfgfile = CFGFILE;
-+ cfg->readConf(cfgfile);
++ if ( cfg == 0 )
++ {
++ cfg = new Cfg;
++ const char *cfgfile = getenv("SLIM_CFGFILE");
++ if (!cfgfile) cfgfile = CFGFILE;
++ cfg->readConf(cfgfile);
+
-+ DisplayName = cfg->getOption("display_name").c_str();
++ DisplayName = cfg->getOption("display_name").c_str();
++ }
#ifdef XNEST_DEBUG
char* p = getenv("DISPLAY");
-@@ -200,11 +206,7 @@
+@@ -281,14 +287,7 @@ void App::Run()
}
#endif
- /* Read configuration and theme */
-- cfg = new Cfg;
-- char *cfgfile = getenv("SLIM_CFGFILE");
-- if (!cfgfile) cfgfile = CFGFILE;
-- cfg->readConf(cfgfile);
-+ /* Read theme */
+- if ( cfg == 0 )
+- {
+- cfg = new Cfg;
+- const char* cfgfile = getenv("SLIM_CFGFILE");
+- if (!cfgfile) cfgfile = CFGFILE;
+- cfg->readConf(cfgfile);
+- }
++ /* Read theme */
string themebase = "";
string themefile = "";
string themedir = "";
-@@ -911,9 +913,7 @@
+@@ -1115,9 +1114,7 @@ int App::StartServer()
static const int MAX_XSERVER_ARGS = 256;
static char* server[MAX_XSERVER_ARGS+2] = { NULL };
server[0] = (char *)cfg->getOption("default_xserver").c_str();
@@ -44,7 +57,7 @@ Patch by Diego N. Barbato
char* args = new char[argOption.length()+2]; /* NULL plus vt */
strcpy(args, argOption.c_str());
-@@ -1233,7 +1233,7 @@
+@@ -1424,7 +1421,7 @@ void App::CreateServerAuth()
authfile = cfg->getOption("authfile");
remove(authfile.c_str());
putenv(StrConcat("XAUTHORITY=", authfile.c_str()));
@@ -53,9 +66,11 @@ Patch by Diego N. Barbato
authfile);
}
---- a/cfg.cpp 1970-01-01 01:00:00.000000000 +0100
-+++ b/cfg.cpp 2019-04-27 13:49:40.511773743 +0200
-@@ -31,6 +31,7 @@
+diff --git a/cfg.cpp b/cfg.cpp
+index 37fb10d..a0c9bf1 100644
+--- a/cfg.cpp
++++ b/cfg.cpp
+@@ -40,6 +40,7 @@ Cfg::Cfg()
/* Configuration options */
options.insert(option("default_path","/bin:/usr/bin:/usr/local/bin"));
options.insert(option("default_xserver","/usr/bin/X"));
@@ -63,13 +78,18 @@ Patch by Diego N. Barbato
options.insert(option("xserver_arguments",""));
options.insert(option("numlock",""));
options.insert(option("daemon",""));
---- a/switchuser.cpp 1970-01-01 01:00:00.000000000 +0100
-+++ b/switchuser.cpp 2019-04-27 13:50:19.380096651 +0200
-@@ -54,6 +54,6 @@
+diff --git a/switchuser.cpp b/switchuser.cpp
+index ca936ae..255f5d9 100644
+--- a/switchuser.cpp
++++ b/switchuser.cpp
+@@ -69,6 +69,6 @@ void SwitchUser::SetClientAuth(const char* mcookie)
string home = string(Pw->pw_dir);
string authfile = home + "/.Xauthority";
remove(authfile.c_str());
- Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
-+ Util::add_mcookie(mcookie, displayName.c_str(), cfg->getOption("xauth_path"),
++ Util::add_mcookie(mcookie, cfg->getOption("display_name").c_str(), cfg->getOption("xauth_path"),
authfile);
}
+--
+2.39.2
+
diff --git a/gnu/packages/patches/slim-reset.patch b/gnu/packages/patches/slim-reset.patch
deleted file mode 100644
index eebee6b7b5..0000000000
--- a/gnu/packages/patches/slim-reset.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Do not reset chosen session and maintain the session-choser dialog after a
-failed login attempt.
-
-Patch by E. Bavier
-
---- slim-1.3.6/panel.cpp.orig 1969-12-31 18:00:00.000000000 -0600
-+++ slim-1.3.6/panel.cpp 2016-10-17 17:00:07.259649063 -0500
-@@ -260,13 +260,12 @@
- }
-
- void Panel::ClearPanel() {
-- session_name = "";
-- session_exec = "";
- Reset();
- XClearWindow(Dpy, Root);
- XClearWindow(Dpy, Win);
- Cursor(SHOW);
- ShowText();
-+ ShowSession();
- XFlush(Dpy);
- }
-
-@@ -760,9 +760,7 @@
- pair<string,string> ses = cfg->nextSession();
- session_name = ses.first;
- session_exec = ses.second;
-- if (session_name.size() > 0) {
-- ShowSession();
-- }
-+ ShowSession();
- }
-
- /* Display session type on the screen */
diff --git a/gnu/packages/patches/slim-session.patch b/gnu/packages/patches/slim-session.patch
deleted file mode 100644
index b85d3f7dd0..0000000000
--- a/gnu/packages/patches/slim-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Exit after the user's session has finished. This works around slim's broken
-PAM session handling (see
-http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
-
-Patch by Eelco Dolstra, from Nixpkgs.
-
---- slim-1.3.6/app.cpp 2013-10-15 11:02:55.629263422 +0200
-+++ slim-1.3.6/app.cpp 2013-10-15 13:00:10.141210784 +0200
-@@ -816,7 +822,7 @@
- StopServer();
- RemoveLock();
- while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
-- Run();
-+ exit(OK_EXIT);
- }
-
- void App::KillAllClients(Bool top) {
diff --git a/gnu/packages/patches/slim-sigusr1.patch b/gnu/packages/patches/slim-sigusr1.patch
deleted file mode 100644
index 344b02933e..0000000000
--- a/gnu/packages/patches/slim-sigusr1.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-This patch fixes SLiM so it really waits for the X server to be ready
-before attempting to connect to it. Indeed, the X server notices that
-its parent process has a handler for SIGUSR1, and consequently sends it
-SIGUSR1 when it's ready to accept connections.
-
-The problem was that SLiM doesn't pay attention to SIGUSR1. So in practice,
-if X starts slowly, then SLiM gets ECONNREFUSED a couple of time on
-/tmp/.X11-unix/X0, then goes on trying to connect to localhost:6000,
-where nobody answers; eventually, it times out and tries again on
-/tmp/.X11-unix/X0, and finally it shows up on the screen.
-
-Patch by L. Courtès.
-
---- slim-1.3.6/app.cpp 2014-02-05 15:27:20.000000000 +0100
-+++ slim-1.3.6/app.cpp 2014-02-09 22:42:04.000000000 +0100
-@@ -119,7 +119,9 @@ void CatchSignal(int sig) {
- exit(ERR_EXIT);
- }
-
-+static volatile int got_sigusr1 = 0;
- void User1Signal(int sig) {
-+ got_sigusr1 = 1;
- signal(sig, User1Signal);
- }
-
-@@ -884,6 +886,7 @@ int App::WaitForServer() {
- int ncycles = 120;
- int cycles;
-
-+ while (!got_sigusr1);
- for(cycles = 0; cycles < ncycles; cycles++) {
- if((Dpy = XOpenDisplay(DisplayName))) {
- XSetIOErrorHandler(xioerror);