blob: 5edcbd0eac7919b797d9ebffd0d828f9dc5735f8 (
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
|
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/httpd/cvsroot/gentoo-x86/app-emulation/winex-cvs/Attic/winex-cvs-3.1.ebuild,v 1.5 2003/07/29 06:55:55 coronalvr dead $
IUSE="cups opengl nptl"
inherit eutils
# Dont modify the ECVS_BRANCH setting yourself.
# Instead, make a backup of this ebuild and rename it to
# winex-[your branch].ebuild.
#
# Example:
# winex-kohan-2.1.ebuild
#
# You can find more branches on
# http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/winex/wine/
ECVS_SERVER="cvs.winex.sourceforge.net:/cvsroot/winex"
ECVS_MODULE="wine"
ECVS_BRANCH=${PN/cvs/}${PV//./-}
ECVS_BRANCH=${ECVS_BRANCH/pre/pre-}
ECVS_BRANCH=${ECVS_BRANCH/_/-}
ECVS_TOP_DIR="${DISTDIR}/cvs-src/${ECVS_BRANCH}"
inherit cvs
S=${WORKDIR}/${ECVS_MODULE}
#echo ${ECVS_BRANCH}
DESCRIPTION="WineX is a distribution of Wine with enhanced DirectX for gaming.
This ebuild will fetch the newest cvs sources from the cvs-server."
HOMEPAGE="http://www.transgaming.com/"
SLOT="0"
KEYWORDS="x86 -ppc"
LICENSE="Aladdin"
newdepend "sys-devel/gcc
sys-devel/flex
dev-util/yacc
>=media-libs/freetype-2.0.0
X? ( virtual/x11
dev-lang/tcl
dev-lang/tk )
opengl? ( virtual/opengl )
cups? ( net-print/cups )
!>=sys-libs/glibc-2.3.2"
src_unpack() {
if ! [ -z "`perl -V:archname 2> /dev/null | grep 'thread-multi'`" ]
then
eerror "Sorry - can't build winex against threaded perl!"
eerror "Please remerge perl and libperl WITHOUT 'USE=threads'"
die "Not compatible with threaded perl"
fi
cvs_src_unpack
}
src_compile() {
cd ${S}
local myconf
use opengl && myconf="--enable-opengl" || myconf="--disable-opengl"
[ -z $DEBUG ] && myconf="$myconf --disable-trace --disable-debug" || myconf="$myconf --enable-trace --enable-debug"
# for nptl threads
use nptl && myconf="$myconf --enable-pthreads"
# patching winex to not compile wcmd
epatch ${FILESDIR}/winex-cvs-3.0_pre1.patch
# the folks at #winehq were really angry about custom optimization
unset CFLAGS
unset CXXFLAGS
./configure --prefix=/usr/lib/winex-cvs \
--sysconfdir=/etc/winex-cvs \
--host=${CHOST} \
--enable-curses \
--with-x \
${myconf} || die "configure failed"
# Fixes a winetest issue
cd ${S}/programs/winetest
cp Makefile 1
sed -e 's:wine.pm:include/wine.pm:' 1 > Makefile
# This persuades wineshelllink that "winex-cvs" is a better loader :)
cd ${S}/tools
cp wineshelllink 1
sed -e 's/\(WINE_LOADER=\)\(\${WINE_LOADER:-wine}\)/\1winex-cvs/' 1 > wineshelllink
cd ${S}
make depend all || die "make depend all failed"
cd programs && gmake || die "emake died"
}
src_install () {
local WINEXMAKEOPTS="prefix=${D}/usr/lib/winex-cvs"
# Installs winex to /usr/lib/winex-cvs
cd ${S}
make ${WINEXMAKEOPTS} install || die "make install failed"
cd ${S}/programs
make ${WINEXMAKEOPTS} install || die "make install failed"
# Creates /usr/lib/winex-cvs/.data with fake_windows in it
# This is needed for our new winex-cvs wrapper script
dodir /usr/lib/winex-cvs/.data
pushd ${D}/usr/lib/winex-cvs/.data
tar jxvf ${FILESDIR}/${PN}-fake_windows.tar.bz2
popd
cp ${S}/documentation/samples/config ${S}/documentation/samples/config.orig
sed -e 's/.transgaming\/c_drive/.winex-cvs\/fake_windows/' \
${S}/documentation/samples/config.orig > ${S}/documentation/samples/config
cp ${S}/documentation/samples/config ${D}/usr/lib/winex-cvs/.data/config
cp ${WORKDIR}/wine/winedefault.reg ${D}/usr/lib/winex-cvs/.data/winedefault.reg
# Install the wrapper script
dodir /usr/bin
cp ${FILESDIR}/${PN}-winex ${D}/usr/bin/winex-cvs
cp ${FILESDIR}/${PN}-regedit ${D}/usr/bin/regedit-winex-cvs
# Take care of the other stuff
cd ${S}
dodoc ANNOUNCE AUTHORS BUGS ChangeLog DEVELOPERS-HINTS LICENSE README
insinto /usr/lib/winex-cvs/.data/fake_windows/Windows
doins documentation/samples/system.ini
doins documentation/samples/generic.ppd
# Manpage setup
cp ${D}/usr/lib/${PN}/man/man1/wine.1 ${D}/usr/lib/${PN}/man/man1/${PN}.1
doman ${D}/usr/lib/${PN}/man/man1/${PN}.1
rm ${D}/usr/lib/${PN}/man/man1/${PN}.1
doman ${D}/usr/lib/${PN}/man/man5/wine.conf.5
rm ${D}/usr/lib/${PN}/man/man5/wine.conf.5
# Remove the executable flag from those libraries.
cd ${D}/usr/lib/winex-cvs/bin
chmod a-x *.so
}
pkg_postinst() {
einfo "Use /usr/bin/winex-cvs to start winex."
einfo "This is a wrapper-script which will take care of everything"
einfo "else. If you have further questions, enhancements or patches"
einfo "send an email to phoenix@gentoo.org"
einfo ""
einfo "Manpage has been installed to the system."
einfo "\"man winex-cvs\" should show it."
}
|