Skip to content

Commit

Permalink
Updated x11/slim to 1.4.0
Browse files Browse the repository at this point in the history
1.4.0 - 2023.01.21
  * - BREAKING CONFIG CHANGE - the position of the passwd_feedback in slim
    is now relative to the screen, not the panel. This is now consistent
    with slimlock and with the session and other messages.
  * The selected session is now preserved over failed logins
  * When testing themes with the -p option, the size of the window can now
    be specified, and the theme is previewed correctly for that size.
  * On exit from theme test, the "test message" now reports user and session
  * Failed login feedback is now disabled by default or if position negative
  * Applied some Devuan patches
    - Set the XDG_SESSION_CLASS. This fixes Gentoo bug #727544 - failure to
      register sessions with elogind in some instances. The (incorrect) bug
      note in the man page has therefore been removed again.
    - Use $DISPLAY instead of hardcoding :0.0 in sessionstart/stop commands
    - No longer always builds slimlock if using PAM - it must be explicitly
      enabled
    - Fixed formatting in slimlock man page
    - A couple of typos fixed in strings
  * Updated the README and encoded in UTF-8
  * Corrected the handling of the -n / -nodaemon option so that it doesn't
    swallow the next option if given as -n
  * Bug fixes in slimlock
    - The active entry is for password, so show the password prompt, not the
      username one
    - Don't react to F1, as it isn't appropriate and used to blank the
      screen
    - Keep it all on one screen even when the WM hasn't set a "primary" for
      RandR purposes
  * Fix ticket #4 - the config parser now works properly. Previously it got
    confused by option names that were substrings of other option names
  * Themes with "background_style color" no longer need a redundant image
    file to make them work.
    - This needed a bit of a re-write of the image handling, which also
      improves efficiency
  * New default theme - the old one is retained as "original"
  * Some general documentation improvements (man pages, comments in example
    files)

1.3.9 - 2022.11.18
* Changed the handling of the "auth failed" message in DM mode so that it
remains on display until a key is pressed.
* Added a command line option to specify the configuration file
* Allow the logfile to be specified as "stderr" to write to stderr
Also now writes all log messages to stderr if they are printed before
the log file is open, including when using the -p option.
* Added a configuration option to retain the user name if authentication
fails (which is probably more helpful if you just mistype your password)
* Applied a modified version of the "wait for the X server" patch from guix
* No longer unnecessarily re-opens an already open X display interface.
Similarly removed a redundant "get root window" call
* Deleted some unused member variables and methods. Various other internal
clean-up
* Reverted the install location definition for the configuration file, as
the CMAKE_INSTALL_SYSCONFDIR wasn't right
* Added a "bug" note to the man page, for the reliance on sessreg, which
causes occasional misbehaviour for some people.

1.3.8 - 2022.03.01
  * Fixed some bugs listed on bugs.gentoo.org:
      832303 - failed to build with clang, Invalid suffix on string literal
      580458 - open fd on /var/log/slim.log passed to session
  * Fixed handling of log stream so that all the code uses the same instance
  * Handle return values from calls, to clean up warn-unused-result warnings
  * Fixed "sessions" config option (the earlier patch was incomplete)
  * Several QA improvements
  * Updated cmake config - use standard install paths, don't force options

1.3.7 - 2022.01.30
  * Imported several bug fixes from the Gentoo package:
          libslim-cmake-fixes
          disable-ck-for-systemd
          reinstate sessions config option as an alternative to sessiondir
          systemd session compatibility
          remove zlib dependency
          envcpy-bad-pointer-arithmetic patch
          add-missing-libgen_h
          wrong comparison for XCreateGC error return (GCC11 needs it fixed!)
  * Fixed a bug in handling expired user accounts with PAM
  * Show a message on login failure (using the same method as slimlock)
  • Loading branch information
abs committed Jun 14, 2023
1 parent c3356b2 commit f44b745
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 91 deletions.
11 changes: 7 additions & 4 deletions x11/slim/DESCR
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
SLiM (Simple Login Manager) is a graphical login manager for X11.
It aims to be simple, fast and independent from the various
desktop environments.
SLiM is based on latest stable release of Login.app by Per Liden.
SLiM is an acronym for Simple Login Manager. SLiM is lightweight
and easy to configure, and requires minimal dependencies - none of
the GNOME or KDE desktop environments or their corresponding
toolkits.

It thus contributes to a lightweight system for users who also like
to use lightweight desktops such as IceWM, Xfce, Openbox, or Fluxbox.
26 changes: 16 additions & 10 deletions x11/slim/Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
# $NetBSD: Makefile,v 1.17 2023/03/25 22:54:22 gutteridge Exp $
# $NetBSD: Makefile,v 1.18 2023/06/14 09:43:50 abs Exp $

DISTNAME= slim-1.3.6
PKGREVISION= 11
DISTNAME= slim-1.4.0
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=slim.berlios/}
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=slim-fork/}

MAINTAINER= youri@NetBSD.org
HOMEPAGE= https://github.com/iwamatsu/slim
HOMEPAGE= https://slim-fork.sourceforge.io/
COMMENT= Simple login manager
LICENSE= gnu-gpl-v2

Expand All @@ -32,14 +31,21 @@ SUBST_VARS.paths+= X11BASE

.include "../../mk/bsd.prefs.mk"

# Possible todos
# - Install adjusted xinitrc.sample which uses ~/.xsession if present
# - Adjust CMakeLists.txt to find fontconfig

post-install:
${INSTALL_DATA} ${WRKSRC}/xinitrc.sample ${DESTDIR}${PREFIX}/share/examples/slim

.if ${OPSYS} == "NetBSD"
# Drops the ability to pass theme as %session param to .xinitrc
SLIM_LOGIN_CMD?= /bin/sh - /etc/X11/xdm/Xsession
SLIM_XSERVER_ARGUMENTS?=vt05 -noretro
SLIM_LOGIN_CMD?= /bin/sh - /etc/X11/xdm/Xsession
SLIM_XSERVER_ARGUMENTS?= vt05 -noretro -nolisten tcp
.else
DEPENDS+= bash-[0-9]*:../../shells/bash
SLIM_LOGIN_CMD?= @PREFIX@/bin/bash -login ~/.xinitrc %session
SLIM_XSERVER_ARGUMENTS?=
DEPENDS+= bash-[0-9]*:../../shells/bash
SLIM_LOGIN_CMD?= @PREFIX@/bin/bash -login ~/.xinitrc %session
SLIM_XSERVER_ARGUMENTS?= -nolisten tcp
.endif

CONF_FILES+= share/examples/slim/slim.conf \
Expand Down
7 changes: 5 additions & 2 deletions x11/slim/PLIST
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
@comment $NetBSD: PLIST,v 1.1 2018/05/18 14:51:17 youri Exp $
@comment $NetBSD: PLIST,v 1.2 2023/06/14 09:43:50 abs Exp $
bin/slim
lib/libslim.so
lib/libslim.so.${PKGVERSION}
man/man1/slim.1
man/man1/slimlock.1
share/examples/slim/slim.conf
share/examples/slim/xinitrc.sample
share/slim/themes/default/background.jpg
share/slim/themes/default/panel.png
share/slim/themes/default/slim.theme
share/slim/themes/original/background.jpg
share/slim/themes/original/panel.png
share/slim/themes/original/slim.theme
13 changes: 6 additions & 7 deletions x11/slim/distinfo
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
$NetBSD: distinfo,v 1.10 2023/03/15 13:39:16 abs Exp $
$NetBSD: distinfo,v 1.11 2023/06/14 09:43:50 abs Exp $

BLAKE2s (slim-1.3.6.tar.gz) = 45b562196e1253a1a341b821c866f4d0db9c747c73fda215cac52097af77ed2c
SHA512 (slim-1.3.6.tar.gz) = 345b1dee5d6f0c3716dfa7c5c16274adbf18586bdaaa6af4f310e24c5a61f79a297ffac921a5ba545523317e9fe120916df226c36b9c9b49c2ac9c1ca21dee0c
Size (slim-1.3.6.tar.gz) = 232547 bytes
SHA1 (patch-CMakeLists.txt) = 8eaeba1bb48bcdb825a3809feefb62b7182fde42
SHA1 (patch-panel.cpp) = 51f87c90214cbc55fd5628f7d852d6287d763903
SHA1 (patch-slim.conf) = 3bc88e703e002801e757c27c778b0e79f0cb0ad6
BLAKE2s (slim-1.4.0.tar.gz) = 92dcdcdab082c4aaaeecffe62b2dba939959fef4983232df0b2258542927b48e
SHA512 (slim-1.4.0.tar.gz) = 2ef38d39e2d5186f9342161d99740b0c8cd87f234deaf550ca1528c9a61c052d26123c7da26f4a0a5e658d01cb200b115cf7879d349ed51a6e8c729ee3fdf77f
Size (slim-1.4.0.tar.gz) = 530318 bytes
SHA1 (patch-CMakeLists.txt) = c922b9cbf6293d21a0f9ab9b3bf2c54c657a2879
SHA1 (patch-slim.conf) = d2b80700fd4227c350d63eba02e093099437ab25
48 changes: 16 additions & 32 deletions x11/slim/patches/patch-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,61 +1,45 @@
$NetBSD: patch-CMakeLists.txt,v 1.2 2018/10/08 17:46:07 abs Exp $
$NetBSD: patch-CMakeLists.txt,v 1.3 2023/06/14 09:43:50 abs Exp $

Fix build.

--- CMakeLists.txt.orig 2013-10-01 22:38:05.000000000 +0000
--- CMakeLists.txt.orig 2023-01-21 19:54:32.000000000 +0000
+++ CMakeLists.txt
@@ -21,11 +21,11 @@ set(SLIM_VERSION_MINOR "3")
set(SLIM_VERSION_PATCH "6")
@@ -23,7 +23,7 @@ set(SLIM_VERSION_PATCH "0")
set(SLIM_VERSION "${SLIM_VERSION_MAJOR}.${SLIM_VERSION_MINOR}.${SLIM_VERSION_PATCH}")

-set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory")
+set(CMAKE_INSTALL_PREFIX "@PREFIX@" CACHE PATH "Installation Directory")
set(PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/slim")
set(PKGDATADIR "${CMAKE_INSTALL_FULL_DATADIR}/slim")
-set(SYSCONFDIR "/etc")
+set(SYSCONFDIR "@PKG_SYSCONFDIR@")
set(LIBDIR "/lib")
-set(MANDIR "${CMAKE_INSTALL_PREFIX}/share/man")
+set(MANDIR "${CMAKE_INSTALL_PREFIX}/man")

set(SLIM_DEFINITIONS)
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
@@ -104,13 +104,13 @@ find_package(PNG REQUIRED)
find_package(ZLIB REQUIRED)
@@ -96,13 +96,13 @@ find_package(JPEG REQUIRED)
find_package(PNG REQUIRED)

# Fontconfig
-set(FONTCONFIG_DIR ${CMAKE_MODULE_PATH})
-find_package(FONTCONFIG REQUIRED)
-if(FONTCONFIG_FOUND)
- message("\tFontConfig Found")
- target_link_libraries(${PROJECT_NAME} ${FONTCONFIG_LIBRARY})
- target_link_libraries(slim ${FONTCONFIG_LIBRARY})
- include_directories(${FONTCONFIG_INCLUDE_DIR})
-endif(FONTCONFIG_FOUND)
+#set(FONTCONFIG_DIR ${CMAKE_MODULE_PATH})
+#find_package(FONTCONFIG REQUIRED)
+#if(FONTCONFIG_FOUND)
+ #message("\tFontConfig Found")
+ #target_link_libraries(${PROJECT_NAME} ${FONTCONFIG_LIBRARY})
+ #include_directories(${FONTCONFIG_INCLUDE_DIR})
+# message("\tFontConfig Found")
+# target_link_libraries(slim ${FONTCONFIG_LIBRARY})
+# include_directories(${FONTCONFIG_INCLUDE_DIR})
+#endif(FONTCONFIG_FOUND)

# PAM
if(USE_PAM)
@@ -221,7 +221,9 @@ endif(BUILD_SLIMLOCK)
####### install
# slim
install(TARGETS slim RUNTIME DESTINATION bin)
+if(BUILD_SLIMLOCK)
install(TARGETS slimlock RUNTIME DESTINATION bin)
+endif(BUILD_SLIMLOCK)
@@ -235,7 +235,7 @@ endif (BUILD_SHARED_LIBS)
install(FILES slim.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)

if (BUILD_SHARED_LIBS)
set_target_properties(libslim PROPERTIES
@@ -238,7 +240,7 @@ endif (BUILD_SHARED_LIBS)
install(FILES slim.1 DESTINATION ${MANDIR}/man1/)
install(FILES slimlock.1 DESTINATION ${MANDIR}/man1/)
# configure
# configure - in theory we should use CMAKE_INSTALL_SYSCONFDIR but that doesn't work
-install(FILES slim.conf DESTINATION ${SYSCONFDIR})
+install(FILES slim.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/slim/)
# systemd service file
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(FILES slim.service DESTINATION ${LIBDIR}/systemd/system)

# systemd service file - commented out as broken - not all Linux uses systemd!
#if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
15 changes: 0 additions & 15 deletions x11/slim/patches/patch-panel.cpp

This file was deleted.

71 changes: 50 additions & 21 deletions x11/slim/patches/patch-slim.conf
Original file line number Diff line number Diff line change
@@ -1,35 +1,40 @@
$NetBSD: patch-slim.conf,v 1.5 2023/03/15 13:39:16 abs Exp $
$NetBSD: patch-slim.conf,v 1.6 2023/06/14 09:43:50 abs Exp $

Adjust for NetBSD

--- slim.conf.orig 2013-10-01 22:38:05.000000000 +0000
--- slim.conf.orig 2023-01-14 11:47:23.000000000 +0000
+++ slim.conf
@@ -1,17 +1,18 @@
@@ -1,13 +1,14 @@
# Path, X server and arguments (if needed)
# Note: -xauth $authfile is automatically appended
# Note: -xauth $authfile is automatically appended, vt07 appended if no
# vtxx argument given.
-default_path /bin:/usr/bin:/usr/local/bin
-default_xserver /usr/bin/X
+default_path /bin:/usr/bin:@X11BASE@/bin:@PREFIX@/bin
+default_path /bin:/usr/bin:/usr/local/bin:@X11BASE@/bin:@PREFIX@/bin
+default_xserver @X11BASE@/bin/X
#xserver_arguments -dpi 75
-xserver_arguments -nolisten tcp -deferglyphs 16
+#xserver_arguments -nolisten tcp -deferglyphs 16
+xserver_arguments @SLIM_XSERVER_ARGUMENTS@

# Full path to the xauth binary
-xauth_path /usr/bin/xauth
+xauth_path @X11BASE@/bin/xauth

# Xauth file for server
authfile /var/run/slim.auth
@@ -16,7 +17,7 @@ authfile /var/run/slim.auth
# Commands for halt, login, etc.
halt_cmd /sbin/shutdown -h now
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"
+console_cmd @X11BASE@/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /usr/bin/login"
#suspend_cmd /usr/sbin/suspend

# Full path to the xauth binary
-xauth_path /usr/bin/xauth
+xauth_path @X11BASE@/bin/xauth

# Xauth file for server
authfile /var/run/slim.auth
@@ -33,7 +34,9 @@ authfile /var/run/slim.auth
# to adjust the command according to your preferred shell,
# i.e. for freebsd use:
# Activate numlock when slim starts. Valid values: on|off
@@ -35,7 +36,9 @@ console_cmd /usr/bin/xterm -C -f
# NOTE: if your system does not have bash you need to adjust the command
# according to your preferred shell, e.g. for freebsd use:
# login_cmd exec /bin/sh - ~/.xinitrc %session
-login_cmd exec /bin/bash -login ~/.xinitrc %session
+# original package default:
Expand All @@ -38,12 +43,36 @@ Adjust for NetBSD

# Commands executed when starting and exiting a session.
# They can be used for registering a X11 session with
@@ -51,7 +54,7 @@ login_cmd exec /bin/bash -logi
# The current chosen session name is replaced in the login_cmd
# above, so your login command can handle different sessions.
# see the xinitrc.sample file shipped with slim sources
-sessions xfce4,icewm-session,wmaker,blackbox
+sessions xfce4,mate,icewm-session,wmaker,blackbox
@@ -43,8 +46,8 @@ login_cmd exec /bin/bash -logi
#
# sessionstart_cmd some command
# sessionstop_cmd some command
-sessionstart_cmd /usr/bin/sessreg -a -l "$DISPLAY" %user
-sessionstop_cmd /usr/bin/sessreg -d -l "$DISPLAY" %user
+sessionstart_cmd @X11BASE@/sessreg -a -l "$DISPLAY" %user
+sessionstop_cmd @X11BASE@/sessreg -d -l "$DISPLAY" %user

# Start in daemon mode. Valid values: yes | no
# Note that this can be overridden by the command line options "-d" and "-n"
@@ -64,7 +67,7 @@ daemon yes
# displayed is the Name= value and the string substutited in place of
# %session is the Exec= value -- note that this may provide a full
# path to the session executable!
-#sessiondir /usr/share/xsessions
+#sessiondir @PREFIX@/share/xsessions


# Executed when pressing F11 (requires imagemagick)
screenshot_cmd import -window root /slim.png
@@ -100,10 +103,10 @@ wrong_passwd_timeout 0

# current theme, use comma separated list to specify a set to
# randomly choose from
-current_theme default
+current_theme original

# Lock file
-lockfile /run/slim.pid
+lockfile /var/run/slim.pid

# Log file - full path for a file, or just stderr (or /dev/stderr) to send
# all log messages to stderr.

0 comments on commit f44b745

Please sign in to comment.