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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/maya/maya-6.0.ebuild,v 1.6 2004/08/18 10:59:32 eradicator Exp $
# Note that this ebuild requires you to set the MAYA_INSTALL_LOC environment
# variable to the location of your maya RPMS and documentation:
# MAYA_INSTALL_LOC=/mnt/cdrom/LINUX is default
#
# This directory should contain something files that look like this:
# -r--r--r-- 1 nobody cdrom 1299763 Apr 13 11:08 AWCommon-6.0-1.i686.rpm
# -r--r--r-- 1 nobody cdrom 389544 Apr 13 11:08 AWCommon-server-6.0-1.i686.rpm
# dr-xr-xr-x 2 nobody cdrom 2048 Apr 13 11:09 License_Support
# -r--r--r-- 1 nobody cdrom 96007715 Apr 13 11:08 Maya6_0-6.0-116.i686.rpm
# -r--r--r-- 1 nobody cdrom 28232 Apr 13 11:09 README.html
# dr-xr-xr-x 3 nobody cdrom 2048 Apr 13 11:09 documentation
# -r-xr-xr-x 1 nobody cdrom 2425 Apr 13 11:08 installDocs.sh
# dr-xr-xr-x 3 nobody cdrom 2048 Apr 13 11:09 support
inherit rpm eutils
IUSE="bundled-libs"
S="${WORKDIR}"
DESCRIPTION="Alias Wavefront's Maya. Commercial modeling and animation package."
HOMEPAGE="http://www.alias.com/eng/products-services/maya/index.shtml"
# Patches to download go into SRC_URI
#SRC_URI="myr_maya501_gold_linux_update.tgz myr_TechDocs.zip"
SRC_URI=""
RESTRICT="fetch nouserpriv"
# RPM versions within the tarballs which will get installed
AWCOMMON="6.0-1.i686"
AWCOMMON_SERVER="6.0-1.i686"
MAYA6_0="6.0-116.i686"
SLOT="6.0"
LICENSE="maya-5.0 mayadoc-5.0"
# Still having trouble getting the docs working right.
KEYWORDS="-x86 -amd64"
DEPEND="app-arch/unzip"
RDEPEND="|| ( app-shells/tcsh app-shells/csh )
x86? ( >=sys-libs/lib-compat-1.3
!bundled-libs? ( =x11-libs/qt-3*
>=sys-devel/gcc-3*
>=x11-libs/openmotif-2.1.30 ) )
amd64? ( app-emulation/emul-linux-x86-baselibs
app-emulation/emul-linux-x86-xlibs
app-emulation/emul-linux-x86-qtlibs )
virtual/jre
virtual/opengl"
pkg_nofetch() {
# einfo "Please place the required files and place them in ${DISTDIR}:"
# einfo
# einfo "Downloads from Alias's support server:"
# einfo "http://aliaswavefront.topdownloads.com/pub/bws/bws_107/myr_maya501_gold_linux_update.tgz"
# einfo "http://aliaswavefront.topdownloads.com/pub/bws/bws_79/myr_TechDocs.zip"
# einfo
einfo "You need to place the Maya 6 CD in the CD drive (we expect /mnt/cdrom)."
einfo "If you don't use /mnt/cdrom or you have network installation files, then you need to set"
einfo "the environment variable 'MAYA_INSTALL_LOC' to the directory containing AWCommon-6.0-1.i686.rpm,"
einfo "AWCommon-server-6.0-1.i686.rpm, Maya6_0-6.0-116.i686.rpm, and documentation."
einfo
}
src_unpack() {
einfo ${MAYA_INSTALL_LOC}
if [ -z "${MAYA_INSTALL_LOC}" ]; then
cdrom_get_cds LINUX/AWCommon-${AWCOMMON}.rpm
MAYA_INSTALL_LOC=${CDROM_ROOT}/LINUX
fi
if [ ! -d "${MAYA_INSTALL_LOC}" ]; then
eerror "MAYA_INSTALL_LOC is not set to a valid location. ${MAYA_INSTALL_LOC} is not a directory."
die "Failure finding maya install files."
fi
cd ${MAYA_INSTALL_LOC}
ebegin "Checking md5sum of files in ${MAYA_INSTALL_LOC}"
md5sum -c ${FILESDIR}/${P}.md5sum
if [ $? -ne 0 ]; then
eend 1
die "Failure checking md5sum of files in ${MAYA_INSTALL_LOC}. If you are certain your CD is not corrupt, file a bug at http://bugs.gentoo.org, comment out the md5sum checking in the ebuild, and proceed at your own risk."
fi
eend 0
mkdir ${S}/RPMS
cd ${S}/RPMS
# Unpack downloaded tarballs containing RPMs
# unpack myr_maya501_gold_linux_update.tgz
# rpm_unpack unpacks in ${WORKDIR} no matter what we try... so get it out of the way...
cd ${S}
rpm_unpack ${MAYA_INSTALL_LOC}/AWCommon-${AWCOMMON}.rpm
rpm_unpack ${MAYA_INSTALL_LOC}/AWCommon-server-${AWCOMMON_SERVER}.rpm
rpm_unpack ${MAYA_INSTALL_LOC}/Maya6_0-${MAYA6_0}.rpm
# Unpack updated RPMs
# rpm_unpack ${S}/RPMS/Maya5_0-${MAYA5_0}.rpm
mkdir ${S}/insroot
mv ${S}/usr ${S}/insroot
# Don't need their init script
rm -rf etc
cp -a ${MAYA_INSTALL_LOC}/documentation ${MAYA_INSTALL_LOC}/README.html ${S}
# Remove unneeded libs (provided by DEPEND).
if ! use bundled-libs; then
rm -f ${S}/insroot/usr/aw/COM/lib/libXm.so.2.1
rm -f ${S}/insroot/usr/aw/maya6.0/lib/libgcc_s.so.1
rm -f ${S}/insroot/usr/aw/maya6.0/lib/libstdc++.so.5.0.5
# We keep this one because of possible C++ ABI changes...
# Maya 6 was compiled with gcc 3.0
# rm -f ${S}/insroot/usr/aw/maya6.0/lib/libqt.so.3
rm -f ${S}/insroot/usr/aw/maya6.0/lib/libXm.so.2
# Use our own jre... chmod first as it might be RO from being on CD
chmod 755 ${S}/documentation/Linux_MayaDocs_Installer/Linux_installMayaDocServer.bin
sed -i 's:^\(JRESTART=.*\)$:#\1:' ${S}/documentation/Linux_MayaDocs_Installer/Linux_installMayaDocServer.bin
fi
# Documentation update
# mkdir ${S}/docs.upgrade
# cd ${S}/docs.upgrade
# unpack myr_TechDocs.zip
}
src_install() {
dohtml README.html
cd ${S}/insroot
cp -a . ${D}
# What follows is modified from rpm -qp --scripts RPMS/AWCommon-5.3-5.i686.rpm
for lmexec in lmcksum lmdiag lmdown lmhostid lmremove lmreread lmstat lmver; do
dosym lmutil /usr/aw/COM/bin/${lmexec}
done
# We use our own Motif runtime unless USE=bundled-libs
if use bundled-libs; then
dosym libXm.so.2.1 libXm.so
dosym libXm.so.2.1 libXm.so.2
fi
dosym COM /usr/aw/COM2
# End rpm -qp --scripts RPMS/AWCommon-5.3-5.i686.rpm
# What follows is modified from rpm -qp --scripts RPMS/Maya5_0-5.0.1-135.i686.rpm
keepdir /var/flexlm
fperms ugo+w /var/flexlm
dosym maya6.0 /usr/aw/maya
# The RPM puts these in /usr/local/bin
keepdir /usr/bin
dosym /usr/aw/maya6.0/bin/Maya6.0 /usr/aw/maya6.0/bin/maya
for mayaexec in Render fcheck imgcvt maya; do
dosym /usr/aw/maya6.0/bin/${mayaexec} /usr/bin/${mayaexec}
done
dosym Mayatomr.so /usr/aw/maya6.0/bin/plug-ins/Mayatomr.sog
# We use our own gcc3 runtime unless USE=bundled-libs
if use bundled-libs; then
dosym libgcc_s.so.1 /usr/aw/maya6.0/lib/libgcc_s.so
dosym libstdc++.so.5.0.5 /usr/aw/maya6.0/lib/libstdc++.so.5
dosym libstdc++.so.5.0.5 /usr/aw/maya6.0/lib/libstdc++.so
fi
# update the mental ray configuration files in place
dosed "/\[PREFIX\]/s//\/usr/" /usr/aw/maya6.0/mentalray/maya.rayrc
dosed "/\[PREFIX\]/s//\/usr/" /usr/aw/maya6.0/bin/mayarender_with_mr
dosed "/\[PREFIX\]/s//\/usr/" /usr/aw/maya6.0/bin/mentalrayrender
dosed "/\[PREFIX\]/s//\/usr/" /usr/aw/maya6.0/bin/mayaexport_with_mr
fperms 755 /usr/aw/maya6.0/bin/mayarender_with_mr /usr/aw/maya6.0/bin/mentalrayrender
# links for pcw
dosym /usr/aw/maya6.0/lib/libawcsprt.so.1 /usr/aw/maya6.0/lib/libawcsprt.so
dosym /usr/aw/maya6.0/lib/libpcw_opa.so.1 /usr/aw/maya6.0/lib/libpcw_opa.so
dosym /usr/aw/maya6.0/lib/libpcwfindkey.so.1 /usr/aw/maya6.0/lib/libpcwfindkey.so
dosym /usr/aw/maya6.0/lib/libpcwxml.so.1 /usr/aw/maya6.0/lib/libpcwxml.so
# End rpm -qp --scripts RPMS/Maya5_0-5.0.1-135.i686.rpm
exeinto /etc/init.d
doexe ${FILESDIR}/maya-docs ${FILESDIR}/aw_flexlm
insinto /etc/conf.d
newins ${FILESDIR}/aw_flexlm.conf.d aw_flexlm
# Now for the docs stuff...
cd ${S}/documentation
addpredict /var/.com.zerog.registry.lock
addwrite /var/.com.zerog.registry.xml
einfo "Starting Maya 6.0 DocServer installation..."
./Linux_MayaDocs_Installer/Linux_installMayaDocServer.bin -DUSER_INSTALL_DIR="${D}/usr/aw/maya6.0/docs" -i silent
# ./Linux_Maya50Docs_Installer/installMayaDocServer.bin -DUSER_INSTALL_DIR="${D}/usr/aw/maya6.0/docs" -i silent
# einfo "Starting Maya 6.0 English Documentation installation..."
# ./Linux_M5en_US_Installer/install_en_US_docs.bin -DUSER_INSTALL_DIR="${D}/usr/aw/maya6.0/docs/Documents" -i silent
# And now the doc update
# cd ${S}/docs.upgrade
# insinto /usr/aw/maya6.0/docs/Documents/Maya6.0/en_US
# doins *.zip
# cd ${S}/docs.upgrade/style
# insinto /usr/aw/maya6.0/docs/Documents/Maya6.0/en_US/style
# doins *
# Fix permissions
find ${D}/usr/aw -type d -exec chmod 755 {} \;
}
pkg_postinst() {
# What follows is modified from rpm -qp --scripts RPMS/Maya5_0-5.0.1-135.i686.rpm
cp /etc/services /tmp/services.maya_save
awk '/mi-ray3_2maya5_0/ { found++; print ; next } {print} END {if (0==found) print "mi-ray3_2maya5_0 7054/tcp" }' /tmp/services.maya_save > /etc/service
# update the magic file
if [ -e /usr/share/magic ]; then
mv /usr/share/magic /tmp/magic.rpmsave
awk '/Alias.Wavefront Maya files. begin/ {p=1} /Alias.Wavefront Maya files. end/ {p=2} {if (p==2) { p=0} else if (p==0) print }' /tmp/magic.rpmsave > /usr/share/magic
cat /usr/aw/maya6.0/.tmpdata/awmagic >> /usr/share/magic;
# get file to rebuild the cache
file -C > /dev/null 2>&1
rm -Rf /usr/aw/maya6.0/.tmpdata/awmagic 2>&1 > /dev/null
fi
# End rpm -qp --scripts RPMS/Maya5_0-5.0.1-135.i686.rpm
einfo "There may be a more recent license for this workstation available on the Alias|Wavefront"
einfo "web site. Please visit the following URL to check for updated licenses:"
einfo "http://www.aliaswavefront.com/en/Community/Special/keys/maya/"
einfo
einfo "To install your key, either place aw.dat in /var/flexlm or run the following command from an X session:"
einfo "/usr/aw/COM/bin/installKey -input /usr/aw/maya6.0/license_data/maya_prekey_data"
einfo
einfo "Two init scripts have been installed:"
einfo "maya-docs is for the document server (help system)."
einfo "aw_flexlm is for the license server"
einfo
einfo "Maya 6.0 was compiled with gcc 3.0 and origionally linked against glibc 2.1.3. If you intend to compile"
einfo "plugins for Maya, you will need to 'emerge \=sys-devel/gcc-3.0*' and use gcc-config to switch compilers."
einfo "The Maya SDK headers are located in /usr/aw/maya/include, and libs are in /usr/aw/maya/lib."
einfo
# http://www.highend2d.com/boards/showthreaded.php?Cat=&Board=linuxforum&Number=174726&page=&view=&sb=&o=
ewarn "You should disable klipper, xfce4-clipman, and any other clipboard"
ewarn "utilities as they have been shown to cause maya-5.0.1 to crash."
ewarn "Feedback on whether or not this is still true ion Maya 6 would be"
ewarn "appreciated at http://bugs.gentoo.org"
}
|