blob: ab12f13e2127782bf5475c8cf3f1471fab39bced (
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/windowmaker-0.92.0-r1.ebuild,v 1.2 2005/12/28 22:31:26 halcy0n Exp $
inherit eutils gnustep-funcs flag-o-matic multilib
S=${WORKDIR}/${P/windowm/WindowM}
DESCRIPTION="The fast and light GNUstep window manager"
SRC_URI="ftp://ftp.windowmaker.org/pub/source/release/${P/windowm/WindowM}.tar.gz
http://www.windowmaker.org/pub/source/release/WindowMaker-extra-0.1.tar.gz"
HOMEPAGE="http://www.windowmaker.org/"
IUSE="gif gnustep jpeg nls png tiff modelock xinerama"
DEPEND="x11-base/xorg-x11
media-libs/fontconfig
gif? ( >=media-libs/giflib-4.1.0-r3 )
png? ( >=media-libs/libpng-1.2.1 )
jpeg? ( >=media-libs/jpeg-6b-r2 )
tiff? ( >=media-libs/tiff-3.6.1-r2 )
gnustep? ( gnustep-base/gnustep-make )"
RDEPEND="${DEPEND}
nls? ( >=sys-devel/gettext-0.10.39 )"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~x86 ~ppc ~sparc ~amd64 ~mips ~alpha"
if use gnustep; then
egnustep_install_domain "Local"
fi
src_unpack() {
is-flag -fstack-protector && filter-flags -fstack-protector \
&& ewarn "CFLAG -fstack-protector has been disabled, as it is known to cause bugs with WindowMaker (bug #78051)" && ebeep 2
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${PV/0.92/0.91}/singleclick-shadeormaxopts-0.9x.patch2 || die "single click and shade-or-maximize-options patch failed"
epatch "${FILESDIR}"/${PV/0.92/0.91}/wlist-0.9x.patch || die "window list patch failed"
# epatch ${FILESDIR}/${PV}/64bit+endian-fixes-0.9x.patch || die "64-bit + endian fix patch failed"
epatch "${FILESDIR}"/${PV}/${P}-gcc41.patch
}
src_compile() {
local myconf
local gs_user_postfix
# image format types
# xpm is provided by X itself
myconf="--enable-xpm $(use_enable png) $(use_enable jpeg) $(use_enable gif) $(use_enable tiff)"
# non required X capabilities
myconf="${myconf} $(use_enable modelock) $(use_enable xinerama)"
# integrate with GNUstep environment, or not
if use gnustep ; then
# install WPrefs.app into GS Local Domain after setting up the GS env
egnustep_env
# myconf="${myconf} --with-gnustepdir=$(egnustep_system_root)/Applications"
else
# no change from wm-0.80* ebuilds, as to not pollute things more
myconf="${myconf} --with-gnustepdir=/usr/$(get_libdir)/GNUstep"
fi
if use nls; then
[ -z "$LINGUAS" ] && export LINGUAS="`ls po/*.po | sed 's:po/\(.*\)\.po$:\1:'`"
else
myconf="${myconf} --disable-locale"
fi
# default settings with $myconf appended
econf \
--sysconfdir=/etc/X11 \
--with-x \
--enable-usermenu \
--with-pixmapdir=/usr/share/pixmaps \
${myconf} || die
# # call here needed as some users report breakage with one of the above
# # patches (though patched after autoreconf)
# libtoolize --copy --force
# # don't know if zh_TW is still non-functional, but leaving it out still
# # for now
# cd ${S}/po
# cp Makefile Makefile.orig
# sed 's:zh_TW.*::' \
# Makefile.orig > Makefile
# cd ${S}/WPrefs.app/po
# cp Makefile Makefile.orig
# sed 's:zh_TW.*::' \
# Makefile.orig > Makefile
cd ${S}
for file in ${S}/WindowMaker/*menu*; do
if [ -r $file ]; then
if use gnustep ; then
# sed -e "s/\/usr\/local\/GNUstep/`cat ${TMP}/sed.gs_prefix`System/g;
# s/XXX_SED_FSLASH/\//g;" < $file > $file.tmp
sed -e "s:/usr/local/GNUstep:`cat ${TMP}/sed.gs_prefix`System:g;" \
-e "s:XXX_SED_FSLASH:/:g;" < $file > $file.tmp
else
# sed -e 's/\/usr\/local\/GNUstep/\/usr\/lib\/GNUstep/g;' < $file > $file.tmp
sed -e "s:/usr/local/GNUstep:/usr/$(get_libdir)/GNUstep:g;" < $file > $file.tmp
fi
mv $file.tmp $file;
# sed -e 's/\/usr\/local\/share\/WindowMaker/\/usr\/share\/WindowMaker/g;' < $file > $file.tmp;
sed -e 's:/usr/local/share/WindowMaker:/usr/share/WindowMaker:g;' < $file > $file.tmp;
mv $file.tmp $file;
fi;
done;
# amd64 and mmx don't play nice together (yet)
use amd64 && sed -i -e '/ASM_X86/ d' "${S}/src/config.h"
cd ${S}
emake -j1 || die "windowmaker: make has failed"
cd ${S}
for file in ${S}/WindowMaker/Defaults/W*; do
if [ -r $file ]; then
if use gnustep; then
sed -e "s/\$HOME\/GNUstep\//\$HOME`cat ${TMP}/sed.gs_user_root_suffix`/g;
s/XXX_SED_FSLASH/\//g;" < $file > $file.tmp
mv $file.tmp $file;
sed -e "s/~\/GNUstep\//~`cat ${TMP}/sed.gs_user_root_suffix`/g;
s/XXX_SED_FSLASH/\//g;" < $file > $file.tmp
mv $file.tmp $file;
fi
fi
done;
# WindowMaker Extra Package (themes and icons)
cd ../WindowMaker-extra-0.1
econf || die "windowmaker-extra: configure has failed"
emake || die "windowmaker-extra: make has failed"
}
src_install() {
emake install DESTDIR=${D} || die "windowmaker: install has failed."
dodoc AUTHORS BUGFORM BUGS ChangeLog COPYING* INSTALL* FAQ* \
MIRRORS README* NEWS TODO
# WindowMaker Extra
cd ../WindowMaker-extra-0.1
emake install DESTDIR=${D} || die "windowmaker-extra: install failed"
newdoc README README.extra
# create wmaker session shell script
echo "#!/bin/bash" > wmaker
echo "/usr/bin/wmaker" >> wmaker
exeinto /etc/X11/Sessions/
doexe wmaker
insinto /etc/X11/dm/Sessions
doins ${FILESDIR}/wmaker.desktop
make_desktop_entry /usr/bin/wmaker
}
pkg_postinst() {
if use gnustep ; then
einfo "WPrefs.app is installed in you GNUstep Local Domain Applications directory."
fi
}
|