summaryrefslogtreecommitdiff
blob: d08f302e15b0338e62ccb1f81a33af79417bfcd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Copyright 2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2
# Author: Seemant Kulleen <seemant@gentoo.org>
# $Header: /var/cvsroot/gentoo-x86/eclass/commonbox.eclass,v 1.6 2002/07/29 17:34:12 seemant Exp $

# The commonbox eclass is designed to allow easier installation of the box
# window managers such as blackbox and fluxbox and commonbox
# The common utilities of those window managers get installed in the
# commonbox-utils dependency, and default styles with the commonbox-styles
# utility.  They all share the /usr/share/commonbox directory now.

ECLASS=commonbox
INHERITED="$INHERITED $ECLASS"

EXPORT_FUNCTIONS commonify src_compile src_install pkg_postinst

DEPEND="x11-misc/commonbox-utils
	x11-themes/commonbox-styles"

RDEPEND="nls? ( sys-devel/gettext )"
PROVIDE="virtual/blackbox"

myconf=""
mydoc=""
MYBIN=""

commonbox_commonify() {
	cd ${S}

	cp Makefile Makefile.orig
	sed -e "s:\(SUBDIRS = \).*:\1doc nls src:" \
		Makefile.orig > Makefile

	cd ${S}/doc

	cp Makefile Makefile.orig
	sed -e "s:bsetroot.1::" \
		-e "s:bsetbg.1::" \
		Makefile.orig > Makefile

	cd ${S}/src
	cp Makefile Makefile.orig
#	sed -e 's:$(pkgdatadir)/menu:\\"/usr/share/commonbox/menu\\":' \
#		-e 's:$(pkgdatadir)/styles:\\"/usr/share/commonbox/styles:' \
#		-e 's:\(DEFAULT_INITFILE\).*:\1=\\"/usr/share/commonbox/init\\":' \
#		Makefile.orig > Makefile

	cd ${S}

}

commonbox_src_compile() {

	use nls \
		&& myconf="${myconf} --enable-nls" \
		|| myconf="${myconf} --disable-nls"

	use kde \
		&& myconf="${myconf} --enable-kde" \
		|| myconf="${myconf} --disable-kde"

	use gnome \
		&& myconf="${myconf} --enable-gnome" \
		|| myconf="${myconf} --disable-gnome"

	econf \
		--sysconfdir=/etc/X11/${PN} \
		--datadir=/usr/share/commonbox \
		${myconf} || die
	
	commonify || die
	emake \
		pkgdatadir="/usr/share/commonbox" || die
}


commonbox_src_install() {

	dodir /usr/share/commonbox
	einstall \
		pkgdatadir="${D}/usr/share/commonbox" || die

	dodoc README* AUTHORS TODO* ${mydoc}

	if [ -z "${MYBIN}" ]
	then
		MYBIN=${PN}
	fi

	# move nls stuff
	use nls && ( \
		dodir /usr/share/commonbox/${MYBIN}
		mv ${D}/usr/share/${MYBIN}/nls ${D}/usr/share/commonbox/${MYBIN}
	)
	
	rmdir ${D}/usr/share/${MYBIN}
	
	dodir /etc/X11/Sessions
	echo "/usr/bin/${MYBIN}" > ${D}/etc/X11/Sessions/${MYBIN}
	fperms a+x /etc/X11/Sessions/${MYBIN}
}

commonbox_pkg_postinst() {
	#notify user about the new share dir
	if [ -d /usr/share/commonbox ]
	then
		einfo
		einfo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
		einfo "! ${PN} no longer uses /usr/share/${PN} as the          !"
		einfo "! default share directory to contain styles and menus.  !"
		einfo "! The default directory is now /usr/share/commonbox     !"
		einfo "! Please move any files in /usr/share/${PN} that you    !"
		einfo "! wish to keep (personal styles and your menu) into the !"
		einfo "! new directory and modify your menu files to point all !"
		einfo "! listed paths to the new directory.				       !"
		einfo "! Also, be sure to update the paths in each user's	   !"
		einfo "! config file found in their home directory.	           !"
		einfo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
		einfo
	fi
}