summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/display-managers/slim
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2007-02-25 22:25:25 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2007-02-25 22:25:25 +0000
commit3a37abc3cef1e3f63c7333511043d5e7c3975cfa (patch)
treeb1c6ffe898babd3c0fc0ed134b8471449db20caa /pkgs/applications/display-managers/slim
parent9a457db61d5836e72b989336c9a8129fc611bb57 (diff)
* SLiM, a lightweight display manager.
svn path=/nixpkgs/trunk/; revision=8044
Diffstat (limited to 'pkgs/applications/display-managers/slim')
-rw-r--r--pkgs/applications/display-managers/slim/default.nix15
-rw-r--r--pkgs/applications/display-managers/slim/runtime-paths.patch41
2 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
new file mode 100644
index 000000000000..748e0947a640
--- /dev/null
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -0,0 +1,15 @@
+{stdenv, fetchurl, x11, libjpeg, libpng, libXmu, freetype}:
+
+stdenv.mkDerivation {
+ name = "slim-1.2.6";
+ src = fetchurl {
+ url = http://download.berlios.de/slim/slim-1.2.6.tar.gz;
+ sha256 = "0plcmm955rnv67sx67ka6dccanr4rfzwzvsj6lnr8kqdip4522jg";
+ };
+ patches = [./runtime-paths.patch];
+ buildInputs = [x11 libjpeg libpng libXmu freetype];
+ NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
+ preBuild = "
+ makeFlagsArray=(CC=gcc CXX=g++ PREFIX=$out MANDIR=$out/share/man CFGDIR=$out/etc)
+ ";
+}
diff --git a/pkgs/applications/display-managers/slim/runtime-paths.patch b/pkgs/applications/display-managers/slim/runtime-paths.patch
new file mode 100644
index 000000000000..b59b32f31114
--- /dev/null
+++ b/pkgs/applications/display-managers/slim/runtime-paths.patch
@@ -0,0 +1,41 @@
+diff -rc slim-1.2.6-orig/app.cpp slim-1.2.6/app.cpp
+*** slim-1.2.6-orig/app.cpp Fri Sep 15 23:00:37 2006
+--- slim-1.2.6/app.cpp Sun Feb 25 17:30:50 2007
+***************
+*** 113,119 ****
+
+ // Read configuration and theme
+ cfg = new Cfg;
+! cfg->readConf(CFGFILE);
+ string themebase = "";
+ string themefile = "";
+ string themedir = "";
+--- 113,121 ----
+
+ // Read configuration and theme
+ cfg = new Cfg;
+! char *cfgfile = getenv("SLIM_CFGFILE");
+! if (!cfgfile) cfgfile = CFGFILE;
+! cfg->readConf(cfgfile);
+ string themebase = "";
+ string themefile = "";
+ string themedir = "";
+***************
+*** 121,127 ****
+ if (testing) {
+ themeName = testtheme;
+ } else {
+! themebase = string(THEMESDIR) + "/";
+ themeName = cfg->getOption("current_theme");
+ string::size_type pos;
+ if ((pos = themeName.find(",")) != string::npos) {
+--- 123,131 ----
+ if (testing) {
+ themeName = testtheme;
+ } else {
+! 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) {