diff options
author | Matteo Bernardini <ponce@slackbuilds.org> | 2021-09-22 19:47:24 +0200 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-10-02 16:50:34 +0700 |
commit | 4e168a9f4dce52b835780927792adc6b69fa76d4 (patch) | |
tree | 68fc3d23b0307fd3b817ee769f5cf62470cd39ac /system/slim/patches | |
parent | b5b7a79881d0e022ba802f180208db01e13ae5d1 (diff) |
system/slim: Add PAM support, fix for gcc >= 11.x, cleanups.
Thanks gentoo and archlinux for most of the stuff
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/slim/patches')
-rw-r--r-- | system/slim/patches/slim-1.3.6-config.diff | 60 | ||||
-rw-r--r-- | system/slim/patches/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch | 15 | ||||
-rw-r--r-- | system/slim/patches/slim-1.3.6-gcc11.patch | 12 | ||||
-rw-r--r-- | system/slim/patches/slim-1.3.6-honour-cflags.patch | 14 | ||||
-rw-r--r-- | system/slim/patches/slim-1.3.6-libslim-cmake-fixes.patch | 33 | ||||
-rw-r--r-- | system/slim/patches/slim-1.3.6-session-chooser.patch | 115 | ||||
-rw-r--r-- | system/slim/patches/slim-1.3.6_freetype-2.5.1.diff | 22 |
7 files changed, 271 insertions, 0 deletions
diff --git a/system/slim/patches/slim-1.3.6-config.diff b/system/slim/patches/slim-1.3.6-config.diff new file mode 100644 index 0000000000000..466590ccdcd9b --- /dev/null +++ b/system/slim/patches/slim-1.3.6-config.diff @@ -0,0 +1,60 @@ +diff -Naur slim-1.3.6.orig/slim.conf slim-1.3.6/slim.conf +--- slim-1.3.6.orig/slim.conf 2013-10-02 00:38:05.000000000 +0200 ++++ slim-1.3.6/slim.conf 2021-09-22 19:23:30.484086604 +0200 +@@ -9,6 +9,8 @@ + reboot_cmd /sbin/shutdown -r now + console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login" + #suspend_cmd /usr/sbin/suspend ++## slackware suspend command ++suspend_cmd /usr/sbin/pm-suspend + + # Full path to the xauth binary + xauth_path /usr/bin/xauth +@@ -33,7 +35,8 @@ + # to adjust the command according to your preferred shell, + # i.e. for freebsd use: + # login_cmd exec /bin/sh - ~/.xinitrc %session +-login_cmd exec /bin/bash -login ~/.xinitrc %session ++# login_cmd exec /bin/bash -login ~/.xinitrc %session ++login_cmd exec /bin/bash -login /usr/share/slim/Xsession %session + + # Commands executed when starting and exiting a session. + # They can be used for registering a X11 session with +@@ -41,17 +44,25 @@ + # + # sessionstart_cmd some command + # sessionstop_cmd some command ++sessionstart_cmd /usr/bin/sessreg -a -l :0.0 %user ++sessionstop_cmd /usr/bin/sessreg -d -l :0.0 %user + + # Start in daemon mode. Valid values: yes | no + # Note that this can be overriden by the command line + # options "-d" and "-nodaemon" + # daemon yes + +-# Available sessions (first one is the default). +-# The current chosen session name is replaced in the login_cmd ++# Available sessions: ++# The current chosen session name replaces %session in the login_cmd + # above, so your login command can handle different sessions. ++# If no session is chosen (via F1), %session will be an empty string. + # see the xinitrc.sample file shipped with slim sources +-sessions xfce4,icewm-session,wmaker,blackbox ++#sessions xfce4,icewm-session,wmaker,blackbox ++# Alternatively, read available sessions from a directory of scripts: ++#sessiondir /etc/X11/Sessions ++# Or, read available sessions from the xsessions desktop files -- ++# note that this may provide a full path to the session executable! ++sessiondir /usr/share/xsessions + + # Executed when pressing F11 (requires imagemagick) + screenshot_cmd import -window root /slim.png +@@ -84,7 +95,7 @@ + current_theme default + + # Lock file +-lockfile /var/run/slim.lock ++lockfile /run/slim.lock + + # Log file + logfile /var/log/slim.log diff --git a/system/slim/patches/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch b/system/slim/patches/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch new file mode 100644 index 0000000000000..b3787dd58459c --- /dev/null +++ b/system/slim/patches/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch @@ -0,0 +1,15 @@ +--- a/app.cpp 2015-09-14 12:00:00.460481656 -0400 ++++ b/app.cpp 2015-09-14 14:41:10.970536588 -0400 +@@ -606,9 +606,9 @@ + + n++; + +- child_env = static_cast<char**>(malloc(sizeof(char*)*n)); +- memcpy(child_env, old_env, sizeof(char*)*n+1); +- child_env[n - 1] = StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie()); ++ child_env = static_cast<char**>(malloc(sizeof(char*)*(n+1))); ++ memcpy(child_env, old_env, sizeof(char*)*n); ++ child_env[n-1] = StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie()); + child_env[n] = NULL; + } + # endif /* USE_CONSOLEKIT */ diff --git a/system/slim/patches/slim-1.3.6-gcc11.patch b/system/slim/patches/slim-1.3.6-gcc11.patch new file mode 100644 index 0000000000000..a6b07c637780a --- /dev/null +++ b/system/slim/patches/slim-1.3.6-gcc11.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/786498 +--- a/panel.cpp ++++ b/panel.cpp +@@ -48,7 +48,7 @@ + gcm = GCGraphicsExposures; + gcv.graphics_exposures = False; + WinGC = XCreateGC(Dpy, Win, gcm, &gcv); +- if (WinGC < 0) { ++ if (WinGC == 0) { + cerr << APPNAME + << ": failed to create pixmap\n."; + exit(ERR_EXIT); diff --git a/system/slim/patches/slim-1.3.6-honour-cflags.patch b/system/slim/patches/slim-1.3.6-honour-cflags.patch new file mode 100644 index 0000000000000..2a43be75fb025 --- /dev/null +++ b/system/slim/patches/slim-1.3.6-honour-cflags.patch @@ -0,0 +1,14 @@ +--- a/CMakeLists.txt 2013-10-01 18:38:05.000000000 -0400 ++++ b/CMakeLists.txt.new 2013-10-15 11:33:18.975741094 -0400 +@@ -42,11 +42,6 @@ + set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPKGDATADIR=\"${PKGDATADIR}\"") + set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"${SYSCONFDIR}\"") + +-# Flags +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g -O2") +-set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -Wall -g -O2") +-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -g -O2") +- + # source + set(slim_srcs + main.cpp diff --git a/system/slim/patches/slim-1.3.6-libslim-cmake-fixes.patch b/system/slim/patches/slim-1.3.6-libslim-cmake-fixes.patch new file mode 100644 index 0000000000000..ecd40390c821a --- /dev/null +++ b/system/slim/patches/slim-1.3.6-libslim-cmake-fixes.patch @@ -0,0 +1,33 @@ +--- a/CMakeLists.txt 2013-10-15 11:35:16.688739802 -0400 ++++ b/CMakeLists.txt 2013-10-15 11:53:46.185727620 -0400 +@@ -115,6 +115,7 @@ + message("\tPAM Found") + set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DUSE_PAM") + target_link_libraries(${PROJECT_NAME} ${PAM_LIBRARY}) ++ target_link_libraries(libslim ${PAM_LIBRARY}) + target_link_libraries(slimlock ${PAM_LIBRARY}) + include_directories(${PAM_INCLUDE_DIR}) + else(PAM_FOUND) +@@ -173,7 +174,10 @@ + ) + + target_link_libraries(libslim +- ${JPEG_LIBRARIES} ++ ${RT_LIB} ++ ${X11_Xft_LIB} ++ ${X11_Xrandr_LIB} ++ ${JPEG_LIBRARIES} + ${PNG_LIBRARIES} + ) + +@@ -228,8 +228,8 @@ + SOVERSION ${SLIM_VERSION}) + + install(TARGETS libslim +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + endif (BUILD_SHARED_LIBS) + diff --git a/system/slim/patches/slim-1.3.6-session-chooser.patch b/system/slim/patches/slim-1.3.6-session-chooser.patch new file mode 100644 index 0000000000000..b43c9a3076056 --- /dev/null +++ b/system/slim/patches/slim-1.3.6-session-chooser.patch @@ -0,0 +1,115 @@ +--- a/cfg.cpp 2013-10-01 18:38:05.000000000 -0400 ++++ b/cfg.cpp 2013-10-24 12:12:20.584103253 -0400 +@@ -274,14 +274,14 @@ + while (true) { + string::const_iterator begin = s; + while (*s != c && s != str.end()) { ++s; } +- tmp = string(begin, s); +- if (useEmpty || tmp.size() > 0) ++ tmp = string(begin, s); ++ if (useEmpty || tmp.size() > 0) + v.push_back(tmp); + if (s == str.end()) { + break; + } + if (++s == str.end()) { +- if (useEmpty) ++ if (useEmpty) + v.push_back(""); + break; + } +@@ -289,6 +289,7 @@ + } + + void Cfg::fillSessionList(){ ++ string strSessionList = getOption("sessions"); + string strSessionDir = getOption("sessiondir"); + + sessions.clear(); +@@ -307,29 +308,29 @@ + struct stat oFileStat; + + if (stat(strFile.c_str(), &oFileStat) == 0) { +- if (S_ISREG(oFileStat.st_mode) && +- access(strFile.c_str(), R_OK) == 0){ +- ifstream desktop_file( strFile.c_str() ); +- if (desktop_file){ +- string line, session_name = "", session_exec = ""; +- while (getline( desktop_file, line )) { +- if (line.substr(0, 5) == "Name=") { +- session_name = line.substr(5); +- if (!session_exec.empty()) +- break; +- } else +- if (line.substr(0, 5) == "Exec=") { +- session_exec = line.substr(5); +- if (!session_name.empty()) +- break; +- } +- } +- desktop_file.close(); +- pair<string,string> session(session_name,session_exec); +- sessions.push_back(session); +- cout << session_exec << " - " << session_name << endl; +- } +- ++ if (S_ISREG(oFileStat.st_mode) && ++ access(strFile.c_str(), R_OK) == 0){ ++ ifstream desktop_file( strFile.c_str() ); ++ if (desktop_file){ ++ string line, session_name = "", session_exec = ""; ++ while (getline( desktop_file, line )) { ++ if (line.substr(0, 5) == "Name=") { ++ session_name = line.substr(5); ++ if (!session_exec.empty()) break; ++ } else if (line.substr(0, 5) == "Exec=") { ++ session_exec = line.substr(5); ++ if (!session_name.empty()) break; ++ } ++ } ++ desktop_file.close(); ++ if (!session_name.empty() && !session_exec.empty()) { ++ pair<string,string> session(session_name,session_exec); ++ sessions.push_back(session); ++ } else if (access(strFile.c_str(), X_OK) == 0) { ++ pair<string,string> session(string(pDirent->d_name),strFile); ++ sessions.push_back(session); ++ } ++ } + } + } + } +@@ -338,8 +339,18 @@ + } + + if (sessions.empty()){ +- pair<string,string> session("",""); +- sessions.push_back(session); ++ if (strSessionList.empty()) { ++ pair<string,string> session("",""); ++ sessions.push_back(session); ++ } else { ++ // iterate through the split of the session list ++ vector<string> sessit; ++ split(sessit,strSessionList,',',false); ++ for (vector<string>::iterator it = sessit.begin(); it != sessit.end(); ++it) { ++ pair<string,string> session(*it,*it); ++ sessions.push_back(session); ++ } ++ } + } + } + +--- a/app.cpp 2013-10-24 12:16:59.870111072 -0400 ++++ b/app.cpp 2013-10-24 12:29:59.899132910 -0400 +@@ -377,10 +377,6 @@ + LoginPanel->SetName(cfg->getOption("default_user") ); + } + +- if (firstloop) { +- LoginPanel->SwitchSession(); +- } +- + if (!AuthenticateUser(focuspass && firstloop)){ + panelclosed = 0; + firstloop = false; diff --git a/system/slim/patches/slim-1.3.6_freetype-2.5.1.diff b/system/slim/patches/slim-1.3.6_freetype-2.5.1.diff new file mode 100644 index 0000000000000..7f4f48a9f9cda --- /dev/null +++ b/system/slim/patches/slim-1.3.6_freetype-2.5.1.diff @@ -0,0 +1,22 @@ +From 98822d549689f09bd454b1cf462aae231931f64d Mon Sep 17 00:00:00 2001 +From: mancha <mancha1 AT zoho DOT com> +Date: Sat, 14 Feb 2015 +Subject: Fix compile with FreeType 2.5.1+ + +FREETYPE_INCLUDE_DIR_freetype2 & FREETYPE_INCLUDE_DIR_ft2build +might differ. Include both. + +--- + CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -171,6 +171,7 @@ include_directories( + ${X11_Xrender_INCLUDE_PATH} + ${X11_Xrandr_INCLUDE_PATH} + ${FREETYPE_INCLUDE_DIR_freetype2} ++ ${FREETYPE_INCLUDE_DIR_ft2build} + ${X11_Xmu_INCLUDE_PATH} + ${ZLIB_INCLUDE_DIR} + ${JPEG_INCLUDE_DIR} |