# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit games toolchain-funcs MY_PV="${PV/*_rc/RC-${PV/_rc}}" DESCRIPTION="A 3D MMORPG virtual world entirely built and owned by its residents" HOMEPAGE="http://secondlife.com/" SRC_URI="http://secondlife.com/developers/opensource/downloads/2007/11/slviewer-src-${MY_PV}.tar.gz http://secondlife.com/developers/opensource/downloads/2007/11/slviewer-artwork-${MY_PV}.zip http://secondlife.com/developers/opensource/downloads/2007/11/slviewer-linux-libs-${MY_PV}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="debug elfio fmod gstreamer" #IUSE="debug elfio fmod gstreamer kdu mozlib" RESTRICT="mirror" RDEPEND=">=x11-libs/gtk+-2 =dev-libs/apr-1* =dev-libs/apr-util-1* dev-libs/boost >=net-misc/curl-7.15.4 dev-libs/openssl media-libs/freetype media-libs/jpeg media-libs/libsdl media-libs/mesa media-libs/libogg media-libs/libvorbis fmod? ( x86? ( =media-libs/fmod-3.75* ) ) =sys-libs/db-4.2* dev-libs/expat sys-libs/zlib >=dev-libs/xmlrpc-epi-0.51 elfio? ( dev-libs/elfio ) >=media-libs/openjpeg-1.1.1 media-fonts/kochi-substitute net-dns/c-ares gstreamer? ( >=media-libs/gst-plugins-base-0.10 ) debug? ( dev-libs/google-perftools )" # mozlib? ( net-libs/llmozlib-xulrunner ) DEPEND="${RDEPEND} >=dev-util/scons-0.97 dev-util/pkgconfig sys-devel/flex sys-devel/bison" S="${WORKDIR}/linden/indra" dir="${GAMES_DATADIR}/${PN}" pkg_config() { if [ "${ARCH}" != "x86" ] ; then if use fmod ; then ewarn "fmod USE flag is only available on x86." fi # if use kdu ; then # ewarn "kdu USE flag is only available on x86." # fi # if use mozlib ; then # ewarn "mozlib USE flag is only available on x86." # fi fi } src_unpack() { # check if eselect opengl is set to xorg-x11 # http://forums.gentoo.org/viewtopic-t-579444.html if ! eselect opengl show | grep -q xorg-x11; then die "eselect opengl show: needs to say xorg-x11\ I got `eselect opengl show`\ Changing it could break X, but once this package builds,\ you can change it back.\ If you are feeling brave, try eselect opengl set xorg-x11" fi # unpack font files unpack slviewer-linux-libs-${MY_PV}.tar.gz # if use kdu ; then # find linden/libraries -type f -a ! -name '*kdu*' | xargs rm -f || die # else rm -rf linden/libraries # fi # if ! use mozlib ; then rm -rf linden/indra/newview/app_settings # fi unpack slviewer-src-${MY_PV}.tar.gz unpack slviewer-artwork-${MY_PV}.zip cd "${S}" epatch "${FILESDIR}"/${PN}-${MY_PV}-gentoo.patch epatch "${FILESDIR}"/${PN}-1.17.2.0-size_t.patch epatch "${FILESDIR}"/${PN}-vwr-3813-gtk-api-change-1.18.6.1.patch sed -i \ -e "s|gcc_bin = .*$|gcc_bin = '$(tc-getCXX)'|" \ -e "/_cflags =/s|-O2|${CFLAGS}|" \ -e "/_cxxflags =/s|-O2|${CXXFLAGS}|" \ "${S}"/SConstruct || die # "${S}"/newview/viewer_manifest.py touch "${S}"/newview/gridargs.dat } src_compile() { local myarch local myopts="BUILD=release BTARGET=client DISTCC=no" if use debug ; then myopts="${myopts} BUILD=debug" else myopts="${myopts} BUILD=release" fi if use elfio ; then myopts="${myopts} ELFIO=yes" else myopts="${myopts} ELFIO=no" fi if use gstreamer ; then myopts="${myopts} GSTREAMER=yes" else myopts="${myopts} GSTREAMER=no" fi case ${ARCH} in x86) myopts="${myopts} ARCH=i686" ;; amd64) myopts="${myopts} ARCH=x86_64" ;; ppc|ppc64) myopts="${myopts} ARCH=powerpc" ;; *) myopts="${myopts} ARCH=i686" ;; esac if [ "${ARCH}" == "x86" ] ; then if use fmod; then myopts="${myopts} FMOD=yes OPENSOURCE=no" else myopts="${myopts} FMOD=no OPENSOURCE=yes" fi # if use mozlib ; then # myopts="${myopts} MOZLIB=yes STANDALONE=no" # else myopts="${myopts} MOZLIB=no STANDALONE=yes" # fi else myopts="${myopts} FMOD=no MOZLIB=no STANDALONE=yes OPENSOURCE=yes" fi TEMP_BUILD_DIR= scons ${myopts} || die } src_install() { cd "${S}"/newview/ insinto "${dir}" doins gpu_table.txt gridargs.dat secondlife-i686.supp featuretable_linux.txt || die doins -r app_settings character fonts skins res-sdl || die doins lsl_guide.html releasenotes.txt || die newins licenses-linux.txt licenses.txt || die newins linux_tools/client-readme.txt README-linux.txt || die newins res/ll_icon.ico secondlife.ico || die insinto "${dir}"/app_settings/ doins "${WORKDIR}"/linden/scripts/messages/message_template.msg || die doins "${WORKDIR}"/linden/etc/message.xml || die exeinto "${dir}" doexe linux_tools/launch_url.sh || die newexe linux_tools/wrapper.sh secondlife || die newexe ../linux_crash_logger/linux-crash-logger-*-bin* linux-crash-logger.bin || die exeinto "${dir}"/bin/ newexe secondlife-*-bin do-not-directly-run-secondlife-bin || die exeinto "${dir}"/lib doexe ../lib_*_client/*-linux/lib* || die dosym /usr/share/fonts/kochi-substitute/kochi-mincho-subst.ttf /usr/share/games/secondlife/unicode.ttf games_make_wrapper secondlife ./secondlife "${dir}" newicon res/ll_icon.ico secondlife.ico || die make_desktop_entry secondlife "Second Life" secondlife.ico dodoc releasenotes.txt newdoc licenses-linux.txt licenses.txt newdoc linux_tools/client-readme.txt README-linux.txt dohtml lsl_guide.html prepgamesdirs }