# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-misc/nx/nx-3.5.0.ebuild,v 1.1 2011/05/22 14:33:10 voyageur Exp $ EAPI=4 inherit autotools eutils multilib DESCRIPTION="NX compression technology core libraries" HOMEPAGE="http://www.nomachine.com/developers.php" URI_BASE="http://web04.nomachine.com/download/${PV}/sources" SRC_NX_X11="nx-X11-$PV-2.tar.gz" SRC_NXAGENT="nxagent-$PV-9.tar.gz" SRC_NXAUTH="nxauth-$PV-1.tar.gz" SRC_NXCOMP="nxcomp-$PV-2.tar.gz" SRC_NXCOMPEXT="nxcompext-$PV-1.tar.gz" SRC_NXCOMPSHAD="nxcompshad-$PV-2.tar.gz" SRC_NXPROXY="nxproxy-$PV-1.tar.gz" SRC_URI="$URI_BASE/$SRC_NX_X11 $URI_BASE/$SRC_NXAGENT $URI_BASE/$SRC_NXPROXY $URI_BASE/$SRC_NXAUTH $URI_BASE/$SRC_NXCOMPEXT $URI_BASE/$SRC_NXCOMPSHAD $URI_BASE/$SRC_NXCOMP" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~x86" IUSE="elibc_glibc" RDEPEND="elibc_glibc? ( || ( net-libs/libtirpc =media-libs/libpng-1.2.8 >=sys-libs/zlib-1.2.3 virtual/jpeg" DEPEND="${RDEPEND} x11-misc/gccmakedep x11-misc/imake x11-proto/inputproto" S=${WORKDIR}/${PN}-X11 src_prepare() { # For nxcl/qtnx cd "${WORKDIR}"/nxproxy epatch "${FILESDIR}"/${PN}-3.2.0-nxproxy_read_from_stdin.patch # Quiet some warnings cd "${WORKDIR}"/nxcomp #epatch "${FILESDIR}"/${PN}-2.1.0-invalid-options.patch epatch "${FILESDIR}"/sa_restorer.patch epatch "${FILESDIR}"/byerace.patch cd "${WORKDIR}" # Fix sandbox violation epatch "${FILESDIR}"/nx-x11-1.5.0-tmp-exec.patch # -fPIC epatch "${FILESDIR}"/nxcomp-1.5.0-pic.patch # Respect CFLAGS/CXXFLAGS epatch "${FILESDIR}"/${PN}-3.3.0-cflags.patch epatch "${FILESDIR}"/nxcompshad-3.3.0-Xext.patch #UF epatch "${FILESDIR}"/nx-X11-utf8_copy_clipboard.patch epatch "${FILESDIR}"/nx-X11-dimbor.patch epatch "${FILESDIR}"/nxagent.MotifWMHints_Utf8Names.dimbor.patch epatch "${FILESDIR}"/nxa_wine_close_delay.patch epatch "${FILESDIR}"/nx-X11-dimbor_x64.patch epatch "${FILESDIR}"/createpixmap_bounds_check.patch # epatch "${FILESDIR}"91_enable_debug.patch epatch "${FILESDIR}"/93_export_remote_keyboard_config.patch epatch "${FILESDIR}"/nx-libpng15.patch epatch "${FILESDIR}"/nxagent_repaint-solidpict.full.patch # Run autoreconf in all neeed folders for i in nxcomp nxcompext nxcompshad nxproxy; do cd "${WORKDIR}"/${i} eautoreconf ${i} cd "${WORKDIR}" done NX_ROOT=/usr/$(get_libdir)/NX # From xorg-x11-6.9.0-r3.ebuild cd "${S}" HOSTCONF="config/cf/host.def" echo "#define CcCmd $(tc-getCC)" >> ${HOSTCONF} echo "#define OptimizedCDebugFlags ${CFLAGS} GccAliasingArgs" >> ${HOSTCONF} echo "#define OptimizedCplusplusDebugFlags ${CXXFLAGS} GccAliasingArgs" >> ${HOSTCONF} # Respect LDFLAGS echo "#define ExtraLoadFlags ${LDFLAGS}" >> ${HOSTCONF} echo "#define SharedLibraryLoadFlags -shared ${LDFLAGS}" >> ${HOSTCONF} echo "#define ProjectRoot ${NX_ROOT}" >> ${HOSTCONF} echo "#define LibDir ${NX_ROOT}/$(get_libdir)/X11" >> ${HOSTCONF} echo "#define MotifDir ${NX_ROOT}" >> ${HOSTCONF} echo "#define XPrintDir ${NX_ROOT}/server" >> ${HOSTCONF} } src_configure() { for i in nxcomp nxcompshad nxproxy nxcompext ; do cd "${WORKDIR}"/${i} econf done } src_compile() { for i in nxcomp nxcompshad nxproxy; do cd "${WORKDIR}"/${i} emake done cd "${S}" || die "No nx-X11 directory found" # Again, from xorg-x11-6.9.0-r3.ebuild unset MAKE_OPTS FAST=1 emake World WORLDOPTS="" MAKE="make" || die "nx-X11 emake failed" cd "${WORKDIR}"/nxcompext || die "No nxcompext directory found" emake || die "nxcompext emake failed" } src_install() { NX_ROOT=/usr/$(get_libdir)/NX for x in nxagent nxauth nxproxy; do make_wrapper $x ./$x ${NX_ROOT}/bin ${NX_ROOT}/$(get_libdir) || die " $x wrapper creation failed" done into ${NX_ROOT} dobin "${S}"/programs/Xserver/nxagent dobin "${S}"/programs/nxauth/nxauth dobin "${WORKDIR}"/nxproxy/nxproxy for lib in X11 Xcomposite Xdamage Xext Xfixes Xpm Xrandr Xrender Xtst; do dolib.so "${S}"/lib/${lib}/lib${lib}.so* done dolib.so "${S}"/lib/freetype2/libfreetype.so* dolib.so "${WORKDIR}"/nxcomp/libXcomp.so* dolib.so "${WORKDIR}"/nxcompext/libXcompext.so* dolib.so "${WORKDIR}"/nxcompshad/libXcompshad.so* # make symbolic links to existing locale data loc_dir="${NX_ROOT}/$(get_libdir)/X11/locale" dodir "${loc_dir}" for ffn in /usr/share/X11/locale/* ; do dosym ${ffn} ${loc_dir}/$(basename ${ffn}) done dosym /usr/share/X11/xkb "${NX_ROOT}/$(get_libdir)/X11/xkb" loc_lib_dir="${loc_dir}/$(get_libdir)/common" dodir "${loc_lib_dir}" insinto "${loc_lib_dir}" newins "${S}"/lib/X11/xlibi18n/im/ximcp/libximcp.so.2 ximcp.so.2 newins "${S}"/lib/X11/xlibi18n/lc/def/libxlcDef.so.2 xlcDef.so.2 newins "${S}"/lib/X11/xlibi18n/lc/Utf8/libxlcUTF8Load.so.2 xlcUTF8Load.so.2 newins "${S}"/lib/X11/xlibi18n/lc/gen/libxlibi18n.so.2 xlibi18n.so.2 newins "${S}"/lib/X11/xlibi18n/lc/xlocale/libxlocale.so.2 xlocale.so.2 newins "${S}"/lib/X11/xlibi18n/om/generic/libxomGeneric.so.2 xomGeneric.so.2 # Default SecurityPolicy file pol_dir="${NX_ROOT}/$(get_libdir)/X11/xserver" dodir "${pol_dir}" insinto "${pol_dir}" doins "${S}/programs/Xserver/Xext/SecurityPolicy" }