From 6ed17593f36c201df3d4164af15401d658f1b8ab Mon Sep 17 00:00:00 2001 From: Edwin Groothuis Date: Sun, 8 Jan 2006 21:48:57 +0000 Subject: [PATCH] [NEW PORT] x11/slim - a login manager derived from login.app SLiM is a desktop-independent graphical login manager for X11, derived from Login.app by Per Liden. It aims to be light and simple, although completely configurable through themes and an option file; is suitable for machines on which remote login functionalities are not needed. Author: Simone Rota and Johannes Winkelmann WWW: http://slim.berlios.de/ PR: ports/91511 Submitted by: Tobias Roth --- x11/Makefile | 1 + x11/slim/Makefile | 51 +++++++++++++++++++++++++++ x11/slim/distinfo | 3 ++ x11/slim/files/patch-Makefile.freebsd | 26 ++++++++++++++ x11/slim/files/patch-panel.cpp | 10 ++++++ x11/slim/files/patch-slim.conf | 51 +++++++++++++++++++++++++++ x11/slim/files/slim.sh.in | 25 +++++++++++++ x11/slim/pkg-descr | 9 +++++ x11/slim/pkg-plist | 10 ++++++ 9 files changed, 186 insertions(+) create mode 100644 x11/slim/Makefile create mode 100644 x11/slim/distinfo create mode 100644 x11/slim/files/patch-Makefile.freebsd create mode 100644 x11/slim/files/patch-panel.cpp create mode 100644 x11/slim/files/patch-slim.conf create mode 100644 x11/slim/files/slim.sh.in create mode 100644 x11/slim/pkg-descr create mode 100644 x11/slim/pkg-plist diff --git a/x11/Makefile b/x11/Makefile index 99bd5a6a134c..bccba91ed1a6 100644 --- a/x11/Makefile +++ b/x11/Makefile @@ -173,6 +173,7 @@ SUBDIR += settitle SUBDIR += silo SUBDIR += sisctrl + SUBDIR += slim SUBDIR += startup-notification SUBDIR += sxpc SUBDIR += temperature.app diff --git a/x11/slim/Makefile b/x11/slim/Makefile new file mode 100644 index 000000000000..1291c8aee525 --- /dev/null +++ b/x11/slim/Makefile @@ -0,0 +1,51 @@ +# New ports collection makefile for: slim +# Date created: 8 Jan 2006 +# Whom: Tobias Roth +# +# $FreeBSD$ +# + +PORTNAME= slim +PORTVERSION= 1.2.3 +CATEGORIES= x11 +MASTER_SITES= http://download.berlios.de/slim/ \ + http://depot.fsck.ch/mirror/distfiles/ + +MAINTAINER= ports@fsck.ch +COMMENT= Graphical login manager for X11, derived from Login.app + +LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \ + png.5:${PORTSDIR}/graphics/png \ + freetype:${PORTSDIR}/print/freetype2 +RUN_DEPENDS= ${X11BASE}/bin/X:${X_SERVER_PORT} +BUILD_DEPENDS= ${X11BASE}/include/X11/Xft/Xft.h:${PORTSDIR}/x11-fonts/libXft + +USE_X_PREFIX= yes +USE_XLIB= yes +USE_REINPLACE= yes +USE_RC_SUBR= slim.sh + +MAN1= slim.1 + +MAKEFILE= Makefile.freebsd + +pre-build: + @${REINPLACE_CMD} -e 's|%%X11BASE%%|${X11BASE}|g' \ + ${WRKSRC}/Makefile.freebsd \ + ${WRKSRC}/slim.conf + +do-install: + @${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${X11BASE}/bin + @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.conf ${X11BASE}/etc/${PORTNAME}.conf.sample + @${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${X11BASE}/man/man1 + @${MKDIR} ${DATADIR}/themes/default + @${INSTALL_DATA} ${WRKSRC}/themes/default/${PORTNAME}.theme ${DATADIR}/themes/default + @${INSTALL_DATA} ${WRKSRC}/themes/default/panel.png ${DATADIR}/themes/default + @${INSTALL_DATA} ${WRKSRC}/themes/default/background.jpg ${DATADIR}/themes/default + +post-install: + @if [ ! -f ${X11BASE}/etc/slim.conf ]; then \ + ${CP} -p ${X11BASE}/etc/slim.conf.sample ${X11BASE}/etc/slim.conf ; \ + fi + +.include diff --git a/x11/slim/distinfo b/x11/slim/distinfo new file mode 100644 index 000000000000..b93124ec10f9 --- /dev/null +++ b/x11/slim/distinfo @@ -0,0 +1,3 @@ +MD5 (slim-1.2.3.tar.gz) = 39cb83307dd501e1d5cc78f820a3f8e6 +SHA256 (slim-1.2.3.tar.gz) = 9fae9489ae53930dbc7f3511324cb35db1fea122397da8d6bb506709b08d8584 +SIZE (slim-1.2.3.tar.gz) = 212024 diff --git a/x11/slim/files/patch-Makefile.freebsd b/x11/slim/files/patch-Makefile.freebsd new file mode 100644 index 000000000000..20f9fd87e32e --- /dev/null +++ b/x11/slim/files/patch-Makefile.freebsd @@ -0,0 +1,26 @@ +--- Makefile.freebsd.orig Sun Sep 11 18:50:36 2005 ++++ Makefile.freebsd Sun Jan 8 12:17:45 2006 +@@ -3,15 +3,15 @@ + # Edit the following section to adjust the options + # to fit into your operating system / distribution + ####################################################### +-CXX=/usr/bin/g++ +-CC=/usr/bin/gcc +-CFLAGS=-I. -I/usr/X11R6/include -I/usr/local/include/freetype2 -I/usr/local/include/freetype2/config -I/usr/local/include/libpng -I/usr/local/include -I/usr/include +-CXXLAGS=$(CFLAGS) +-LDFLAGS=-L/usr/X11R6/lib -L/usr/local/lib -lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng -lz -lm -lcrypt -lXpm -lXmu -lpng -ljpeg ++CXX?=/usr/bin/g++ ++CC?=/usr/bin/gcc ++CFLAGS+=-I%%X11BASE%%/include `freetype-config --cflags` `libpng-config --cflags` ++CXXLAGS+=$(CFLAGS) ++LDFLAGS=-L%%X11BASE%%/lib `freetype-config --libs` `libpng-config --libs` -lXft -lX11 -lXrender -lfontconfig -lz -lm -lcrypt -lXpm -lXmu -ljpeg + CUSTOM=-DNEEDS_BASENAME +-PREFIX=/usr +-CFGDIR=/etc +-MANDIR=/usr/share/man ++PREFIX=%%X11BASE%% ++CFGDIR=%%X11BASE%%/etc ++MANDIR=%%X11BASE%%/man + DESTDIR= + ####################################################### + diff --git a/x11/slim/files/patch-panel.cpp b/x11/slim/files/patch-panel.cpp new file mode 100644 index 000000000000..cc8151c80f11 --- /dev/null +++ b/x11/slim/files/patch-panel.cpp @@ -0,0 +1,10 @@ +--- panel.cpp.orig Thu May 19 22:46:22 2005 ++++ panel.cpp Thu May 19 22:47:12 2005 +@@ -10,6 +10,7 @@ + */ + + #include ++#include + #include "panel.h" + + using namespace std; diff --git a/x11/slim/files/patch-slim.conf b/x11/slim/files/patch-slim.conf new file mode 100644 index 000000000000..7db10834955a --- /dev/null +++ b/x11/slim/files/patch-slim.conf @@ -0,0 +1,51 @@ +--- slim.conf.orig Sun Sep 11 18:50:36 2005 ++++ slim.conf Sun Jan 8 14:32:02 2006 +@@ -1,13 +1,15 @@ + # Path, X server and arguments (if needed) + default_path ./:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin + default_xserver /usr/X11R6/bin/X +-#xserver_arguments -dpi 75 ++# The X server needs to be started on an unused virtual terminal, ++# for FreeBSD in a default configuration, the first one of those is #09 ++xserver_arguments vt09 + + # Commands for halt, login, etc. +-halt_cmd /sbin/shutdown -h now ++halt_cmd /sbin/shutdown -p now + reboot_cmd /sbin/shutdown -r now +-console_cmd /usr/X11R6/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 ++console_cmd /usr/X11R6/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/motd; exec /bin/login" ++suspend_cmd /usr/sbin/acpiconf -s 3 + + # This command is executed after a succesful login. + # you can place the %session and %theme variables +@@ -17,8 +19,8 @@ + # NOTE: if your system does not have bash you need + # 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/sh - ~/.xinitrc %session ++#login_cmd exec /bin/bash -login ~/.xinitrc %session + + # Available sessions (first one is the default). + # The current chosen session name is replaced in the login_cmd +@@ -33,7 +35,7 @@ + welcome_msg Welcome to %host + + # shutdown / reboot messages +-shutdown_msg The system is halting... ++shutdown_msg The system is powering down... + reboot_msg The system is rebooting... + + # default user, leave blank or remove this line +@@ -45,7 +47,7 @@ + current_theme default + + # Lock file +-lockfile /var/run/slim.lock ++lockfile /var/run/slim.pid + + # Log file + logfile /var/log/slim.log diff --git a/x11/slim/files/slim.sh.in b/x11/slim/files/slim.sh.in new file mode 100644 index 000000000000..c4cf8348df00 --- /dev/null +++ b/x11/slim/files/slim.sh.in @@ -0,0 +1,25 @@ +#!/bin/sh + +# PROVIDE: slim +# REQUIRE: LOGIN + +# +# Add the following lines to /etc/rc.conf to enable slim: +# slim_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable slim +# + +. %%RC_SUBR%% + +name="slim" +rcvar=`set_rcvar` + +load_rc_config $name + +: ${slim_enable="NO"} + +command=%%X11BASE%%/bin/slim +command_args="-d" +pidfile=/var/run/slim.pid + +run_rc_command "$1" diff --git a/x11/slim/pkg-descr b/x11/slim/pkg-descr new file mode 100644 index 000000000000..671173c33823 --- /dev/null +++ b/x11/slim/pkg-descr @@ -0,0 +1,9 @@ +SLiM is a desktop-independent graphical login manager for X11, derived from +Login.app by Per Liden. + +It aims to be light and simple, although completely configurable through +themes and an option file; is suitable for machines on which remote login +functionalities are not needed. + +Author: Simone Rota and Johannes Winkelmann +WWW: http://slim.berlios.de/ diff --git a/x11/slim/pkg-plist b/x11/slim/pkg-plist new file mode 100644 index 000000000000..2b9f440e8179 --- /dev/null +++ b/x11/slim/pkg-plist @@ -0,0 +1,10 @@ +bin/slim +%%DATADIR%%/themes/default/background.jpg +%%DATADIR%%/themes/default/panel.png +%%DATADIR%%/themes/default/slim.theme +@dirrm %%DATADIR%%/themes/default +@dirrm %%DATADIR%%/themes +@dirrm %%DATADIR%% +@unexec if cmp -s %D/etc/slim.conf.sample %D/etc/slim.conf; then rm -f %D/etc/slim.conf; fi +etc/slim.conf.sample +@exec if [ ! -f %D/etc/slim.conf ] ; then cp -p %D/%F %B/slim.conf; fi