gnu: slim: Upgrade to 1.3.6; allow the choice of a config file at run time.
* gnu/packages/slim.scm (slim): Upgrade to 1.3.6. Add patches. Comment out systemd-related stuff from CMakeLists.txt. Add "-DBUILD_SHARED_LIBS=OFF" and "-DCMAKE_SKIP_BUILD_RPATH=ON" to #:configure-flags. Adjust 'home-page' field. * gnu/packages/patches/slim-config.patch, gnu/packages/patches/slim-session.patch: New files. * gnu-system.am (dist_patch_DATA): Add them.
This commit is contained in:
parent
1d07e9316a
commit
16686a9022
|
@ -296,6 +296,8 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/readline-link-ncurses.patch \
|
gnu/packages/patches/readline-link-ncurses.patch \
|
||||||
gnu/packages/patches/ripperx-libm.patch \
|
gnu/packages/patches/ripperx-libm.patch \
|
||||||
gnu/packages/patches/scheme48-tests.patch \
|
gnu/packages/patches/scheme48-tests.patch \
|
||||||
|
gnu/packages/patches/slim-session.patch \
|
||||||
|
gnu/packages/patches/slim-config.patch \
|
||||||
gnu/packages/patches/tcsh-fix-autotest.patch \
|
gnu/packages/patches/tcsh-fix-autotest.patch \
|
||||||
gnu/packages/patches/teckit-cstdio.patch \
|
gnu/packages/patches/teckit-cstdio.patch \
|
||||||
gnu/packages/patches/valgrind-glibc.patch \
|
gnu/packages/patches/valgrind-glibc.patch \
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
Allow the configuration file and theme directory to be specified at run time.
|
||||||
|
Patch by Eelco Dolstra, from Nixpkgs.
|
||||||
|
|
||||||
|
--- 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);
|
||||||
|
string themebase = "";
|
||||||
|
string themefile = "";
|
||||||
|
string themedir = "";
|
||||||
|
@@ -208,7 +210,9 @@
|
||||||
|
if (testing) {
|
||||||
|
themeName = testtheme;
|
||||||
|
} else {
|
||||||
|
- themebase = string(THEMESDIR) + "/";
|
||||||
|
+ 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) {
|
|
@ -0,0 +1,17 @@
|
||||||
|
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) {
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013 Guy Grant <gzg@riseup.net>
|
;;; Copyright © 2013 Guy Grant <gzg@riseup.net>
|
||||||
|
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -23,6 +24,7 @@
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
#:use-module (gnu packages libpng)
|
#:use-module (gnu packages libpng)
|
||||||
|
@ -34,13 +36,17 @@
|
||||||
(define-public slim
|
(define-public slim
|
||||||
(package
|
(package
|
||||||
(name "slim")
|
(name "slim")
|
||||||
(version "1.3.3")
|
(version "1.3.6")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://sourceforge/project/slim.berlios/slim-"
|
;; Used to be available from
|
||||||
|
;; mirror://sourceforge/project/slim.berlios/.
|
||||||
|
(uri (string-append "http://download.berlios.de/slim/slim-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1fdvipj3658s8dm78djmfr8xhg6l8rr7kc4qcb34bjrnkkclhln1"))))
|
(base32 "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"))
|
||||||
|
(patches (map search-patch
|
||||||
|
(list "slim-config.patch" "slim-session.patch")))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(inputs `(("linux-pam" ,linux-pam)
|
(inputs `(("linux-pam" ,linux-pam)
|
||||||
("libpng" ,libpng)
|
("libpng" ,libpng)
|
||||||
|
@ -62,12 +68,23 @@
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "CMakeLists.txt"
|
(substitute* "CMakeLists.txt"
|
||||||
(("/etc")
|
(("/etc")
|
||||||
(string-append
|
(string-append (assoc-ref %outputs "out") "/etc"))
|
||||||
(assoc-ref %outputs "out") "/etc"))))
|
(("install.*systemd.*")
|
||||||
|
;; The build system's logic here is: if "Linux", then
|
||||||
|
;; "systemd". Strip that.
|
||||||
|
"")))
|
||||||
%standard-phases)
|
%standard-phases)
|
||||||
#:configure-flags '("-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no")
|
#:configure-flags '("-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no"
|
||||||
|
|
||||||
|
;; Don't build libslim.so, because then the build
|
||||||
|
;; system is unable to set the right RUNPATH on the
|
||||||
|
;; 'slim' binary.
|
||||||
|
"-DBUILD_SHARED_LIBS=OFF"
|
||||||
|
|
||||||
|
;; Leave a valid RUNPATH upon install.
|
||||||
|
"-DCMAKE_SKIP_BUILD_RPATH=ON")
|
||||||
#:tests? #f))
|
#:tests? #f))
|
||||||
(home-page "http://www.slim.berlios.de/")
|
(home-page "http://slim.berlios.de/")
|
||||||
(synopsis "Desktop-independent graphcal login manager for X11")
|
(synopsis "Desktop-independent graphcal login manager for X11")
|
||||||
(description
|
(description
|
||||||
"SLiM is a Desktop-independent graphical login manager for X11, derived
|
"SLiM is a Desktop-independent graphical login manager for X11, derived
|
||||||
|
|
Loading…
Reference in New Issue