blob: e364732e6d7aa4bba1c14cc561d3510503ddcc00 (
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
|
# Copyright 1999-2010 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-r10.ebuild,v 1.3 2010/12/01 17:54:34 grobian Exp $
EAPI=3
inherit autotools eutils gnustep-base flag-o-matic
# note: patchset is in gentoo/src/patchsets/windowmaker
PATCHVER=4
S=${WORKDIR}/${P/windowm/WindowM}
DESCRIPTION="The fast and light GNUstep window manager"
SRC_URI="ftp://ftp.windowmaker.info/pub/source/release/${P/windowm/WindowM}.tar.gz
http://www.windowmaker.info/pub/source/release/WindowMaker-extra-0.1.tar.gz
mirror://gentoo/${P}-patchset-${PATCHVER}.tar.bz2"
HOMEPAGE="http://www.windowmaker.info/"
IUSE="gif gnustep jpeg nls png tiff modelock +vdesktop xinerama"
DEPEND="x11-libs/libXv
>=x11-libs/libXft-2.1.0
x11-libs/libXt
media-libs/fontconfig
gif? ( >=media-libs/giflib-4.1.0-r3 )
png? ( >=media-libs/libpng-1.2.1 )
jpeg? ( virtual/jpeg )
tiff? ( >=media-libs/tiff-3.6.1-r2 )
gnustep? ( >=gnustep-base/gnustep-make-2.0 )
xinerama? ( x11-libs/libXinerama )"
RDEPEND="${DEPEND}
nls? ( >=sys-devel/gettext-0.10.39 )"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
src_prepare() {
local psd="${WORKDIR}"/${P}-patchset-${PATCHVER}
epatch "${psd}"/WindowMaker-0.92.0-cvs20060123.patch
epatch "${psd}"/WindowMaker-0.92.0-cvs-gcc41.patch
epatch "${psd}"/wlist-0.9x.patch
epatch "${psd}"/${P}-gif-before-ungif.patch
epatch "${psd}"/${P}-math_h.patch
epatch "${psd}"/${P}-gettext.patch
epatch "${psd}"/${P}-libpng14.patch
# Patches from upstream HG
epatch "${psd}"/${P}-composite-non-24bit-depth.patch
epatch "${psd}"/${P}-mouse-window-focus.patch
epatch "${psd}"/${P}-maximise-borderless-too-small.patch
epatch "${psd}"/${P}-xinerama-switchpanel-corruption.patch
epatch "${psd}"/${P}-dialog-history.patch
epatch "${psd}"/${P}-single-click-dockapp-start.patch
epatch "${psd}"/${P}-no-pop-empty-array.patch
epatch "${psd}"/${P}-empty-command-fatal-error.patch
epatch "${psd}"/${P}-findfile-overflow.patch
epatch "${psd}"/${P}-pointer-integer-warn-fix.patch
epatch "${psd}"/${P}-workspace-change-crash.patch
epatch "${psd}"/${P}-app-icon-fix.patch
epatch "${psd}"/${P}-xchangeproperty-64bits-fix.patch
# Patches from altlinux
epatch "${psd}"/WindowMaker-0.91.0-alt-session.patch
epatch "${psd}"/WindowMaker-0.91.0-alt-restartscrpt.patch
epatch "${psd}"/WindowMaker-0.91.0-alt-menutrans.patch
epatch "${psd}"/WindowMaker-0.91.0-alt-titlebar.patch
epatch "${psd}"/${P}-no-clip-title.patch
epatch "${psd}"/WindowMaker-0.91.0-alt-mmx.patch
epatch "${psd}"/WindowMaker-0.91.0-alt-focus.patch
epatch "${psd}"/WindowMaker-0.92.0-alt-alloca.patch
# New features (cool!)
epatch "${psd}"/${P}-doubleclick-maximise.patch
epatch "${psd}"/WindowMaker-0.91.0-alt-dockhotkeys.patch
epatch "${psd}"/WindowMaker-0.91.0-alt-vlaad-trance.patch
epatch "${psd}"/WindowMaker-0.91.0-alt-vlaad-newbuttons.patch
epatch "${psd}"/WindowMaker-0.91.0-hmepas-minimizeall.patch
epatch "${psd}"/WindowMaker-0.91.0-hmepas-swmenu_rclick.patch
epatch "${psd}"/WindowMaker-0.91.0-sga-moving-add.patch
epatch "${psd}"/WindowMaker-0.91.0-peter-newappicon.patch
epatch "${psd}"/WindowMaker-0.91.0-peter-mouse-placement.patch
epatch "${psd}"/WindowMaker-0.91.0-peter-appicon-bouncer2.patch
epatch "${psd}"/WindowMaker-0.91.0-sga-swpanel-customization.patch
epatch "${psd}"/WindowMaker-0.92.0-alt-newpo.patch
[[ ${CHOST} == *-interix* ]] && epatch "${psd}"/${P}-interix3.patch
epatch "${psd}"/${P}-darwin-setlocale.patch
epatch "${psd}"/${P}-nls.patch
# Add UK localisation
cp "${psd}"/WindowMaker-uk.po po/uk.po
cp "${psd}"/WPrefs-uk.po WPrefs.app/po/uk.po
# Add newbuttons resources
cp "${psd}"/WindowMaker-newbuttons.nextstyle.tiff \
WPrefs.app/tiff/nextstyle.tiff
cp "${psd}"/WindowMaker-newbuttons.oldstyle.tiff \
WPrefs.app/tiff/oldstyle.tiff
cp "${psd}"/WindowMaker-newbuttons.nextstyle.xpm \
WPrefs.app/xpm/nextstyle.xpm
# Fix some paths
if use gnustep; then
egnustep_env
fi
for file in "${S}"/WindowMaker/*menu*; do
if [[ -r $file ]] ; then
if use gnustep ; then
sed -i -e "s:/usr/local/GNUstep/Applications:${GNUSTEP_SYSTEM_APPS}:g" "$file" || die
else
sed -i -e "s:/usr/local/GNUstep/Applications/WPrefs.app:${EPREFIX}/usr/bin/:g;" "$file" || die
fi
sed -i -e 's:/usr/local/share/WindowMaker:${EPREFIX}/usr/share/WindowMaker:g;' "$file" || die
sed -i -e 's:/opt/share/WindowMaker:${EPREFIX}/usr/share/WindowMaker:g;' "$file" || die
fi;
done;
eautoreconf || die "eautoreconf failed"
}
src_configure() {
local myconf
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
replace-flags "-Os" "-O2"
replace-flags "-O3" "-O2"
# 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)"
if use gnustep ; then
egnustep_env
# Gentoo installs everything in System, make sure configure
# honors that. Don't set --with-gnustepdir, configure is
# borked, and GNUSTEP_LOCAL_ROOT takes precedence anyway.
export GNUSTEP_LOCAL_ROOT=${GNUSTEP_SYSTEM_ROOT}
fi
if use nls; then
[[ -z $LINGUAS ]] && export LINGUAS="`ls po/*.po | sed 's:po/\(.*\)\.po$:\1:'`"
else
myconf="${myconf} --disable-locale"
fi
# enable new features, need to be done via defines
append-flags -DBOUNCE_APP -DNEWAPPICON
use vdesktop && append-flags -DVIRTUAL_DESKTOP
# default settings with $myconf appended
econf \
--sysconfdir="${EPREFIX}"/etc/X11 \
--with-x \
--enable-usermenu \
--with-pixmapdir="${EPREFIX}"/usr/share/pixmaps \
--with-nlsdir="${EPREFIX}"/usr/share/locale \
${myconf} || die
cd ../WindowMaker-extra-0.1
econf || die "windowmaker-extra: configure has failed"
}
src_compile() {
emake || die "windowmaker: make has failed"
# WindowMaker Extra Package (themes and icons)
cd ../WindowMaker-extra-0.1
emake || die "windowmaker-extra: make has failed"
}
src_install() {
emake DESTDIR="${D}" install || 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 DESTDIR="${D}" install || die "windowmaker-extra: install failed"
newdoc README README.extra
# create wmaker session shell script
echo "#!/usr/bin/env bash" > wmaker
echo "${EPREFIX}/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
}
|