# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/media-gfx/maya/maya-7.0.ebuild,v 1.13 # 2005/07/30 21:34:14 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/ is default. Where relevant maya RPMS exists. # This ebuild is built from Maya-5.0-r1.ebuild inherit rpm eutils IUSE="bundled-libs doc" S="${WORKDIR}" DESCRIPTION="Alias Wavefront's Maya. Commercial modeling and animation package." HOMEPAGE="http://www.alias.com/eng/products-services/maya/index.shtml" # No source online fetching. SRC_URI="" RESTRICT="fetch nousepriv" # RPM versions within the tarballs which will get installed AWCOMMON="9.5-1.i686" AWCOMMON_SERVER="9.5-1.i686" MAYA7_0="7.0-374.i686" MAYA_DOCSERVER="7.0-380.i686" SLOT="7.0" LICENSE="maya-7.0 mayadoc-7.0" 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-2.1.4 app-emulation/emul-linux-x86-xlibs app-emulation/emul-linux-x86-qtlibs ) virtual/opengl" pkg_nofetch() { einfo einfo "You need to place the Maya 7 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-9.5-1.i686.rpm" einfo "AWCommon-server-9.5-1.i686.rpm, Maya7_0-7.0-347.i686.rpm, and documentation." einfo } src_unpack() { if [ -z "${MAYA_INSTALL_LOC}" ]; then cdrom_get_cds AWCommon-${AWCOMMON}.rpm MAYA_INSTALL_LOC=${CDROM_ROOT} 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}" if use doc; then md5sum -c ${FILESDIR}/${P}.md5sum else md5sum -c ${FILESDIR}/${P}-nodocs.md5sum fi 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 einfo "RPM's are good, now will unpack (be patient)" # 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}/Maya7_0-${MAYA7_0}.rpm if use doc; then rpm_unpack ${MAYA_INSTALL_LOC}/Maya7_0-docs_en_US-7.0-380.i686.rpm rpm_unpack ${MAYA_INSTALL_LOC}/Maya7_0-docserver-7.0-380.i686.rpm fi mkdir ${S}/insroot mv ${S}/usr ${S}/insroot # Don't need their init script rm -rf etc # 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/maya7.0/lib/libgcc_s.so.1 rm -f ${S}/insroot/usr/aw/maya7.0/lib/libstdc++.so.5.0.2 rm -f ${S}/insroot/usr/aw/maya7.0/lib/libqt.so.3 rm -f ${S}/insroot/usr/aw/maya7.0/lib/libXm.so.2 fi } src_install() { dohtml README.html cd ${S}/insroot cp -a . ${D} 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 keepdir /var/flexlm fperms ugo+w /var/flexlm dosym maya7.0 /usr/aw/maya # The RPM puts these in /usr/local/bin keepdir /usr/bin dosym /usr/aw/maya7.0/bin/Maya7.0 /usr/aw/maya7.0/bin/maya for mayaexec in Render fcheck imgcvt maya; do dosym /usr/aw/maya7.0/bin/${mayaexec} /usr/bin/${mayaexec} done dosym Mayatomr.so /usr/aw/maya7.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/maya7.0/lib/libgcc_s.so dosym libstdc++.so.5.0.2 /usr/aw/maya7.0/lib/libstdc++.so.5 dosym libstdc++.so.5.0.2 /usr/aw/maya7.0/lib/libstdc++.so fi # update the mental ray configuration files in place dosed "/\[PREFIX\]/s//\/usr/" /usr/aw/maya7.0/mentalray/maya.rayrc dosed "/\[PREFIX\]/s//\/usr/" /usr/aw/maya7.0/bin/mayarender_with_mr dosed "/\[PREFIX\]/s//\/usr/" /usr/aw/maya7.0/bin/mentalrayrender dosed "/\[PREFIX\]/s//\/usr/" /usr/aw/maya7.0/bin/mayaexport_with_mr #(humpback) could not find these files. There is a mayarender_wi_mt in maya7.0/bin/unsupported/ # also this should be fixed to proper perms and not modes fperms 755 /usr/aw/maya7.0/bin/mayarender_with_mr /usr/aw/maya7.0/bin/mentalrayrender #this also needs work, if we are not using bundle libs we should remove the #included jre and change the script if use doc; then fperms 755 /usr/aw/maya/docs/startDocServer.sh fperms 755 /usr/aw/maya/docs/shutdownDocServer.sh /usr/aw/maya/docs/jre/bin/java exeinto /etc/init.d newexe ${FILESDIR}/maya-docs-r1 maya-docs fi # insinto /etc/conf.d # newins ${FILESDIR}/aw_flexlm.conf.d aw_flexlm # And now the doc update cd ${S}/docs.upgrade insinto /usr/aw/maya7.0/docs/Documents/Maya7.0/en_US doins *.zip cd ${S}/docs.upgrade/style insinto /usr/aw/maya7.0/docs/Documents/Maya7.0/en_US/style doins * # Fix permissions find ${D}/usr/aw -type d -exec chmod 755 {} \; # Actually place everything in /opt since this is a binary package dodir /opt mv ${D}/usr/aw ${D}/opt dosym ../opt/aw /usr/aw make_desktop_entry maya "Maya 7" /usr/aw/maya/icons/mayaIcon.xpm } 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_2maya7_0/ { found++; print ; next } {print} END {if (0==found) print "mi-ray3_2maya7_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/maya7.0/.tmpdata/awmagic >> /usr/share/magic; # get file to rebuild the cache file -C > /dev/null 2>&1 rm -Rf /usr/aw/maya7.0/.tmpdata/awmagic 2>&1 > /dev/null fi 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/maya7.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 7.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 to crash." ewarn "You need to have a linuxthreads (without tls) glibc installed to" ewarn "use this package. In otherwords, you need to NOT have linuxthreads-tls" ewarn "or nptlonly in your USE flags when you emerge glibc. If you use nptl," ewarn "you'll need to start maya with 'LD_ASSUME_KERNEL=2.4.1 maya'" }